@waniwani/sdk 0.1.20-beta.30 → 0.1.20-beta.32

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.
@@ -76,8 +76,6 @@ interface ChatBaseProps {
76
76
  onResponseReceived?: () => void;
77
77
  /** Endpoint URL for fetching MCP app resources (HTML widgets). Defaults to "/api/mcp/resource" */
78
78
  resourceEndpoint?: string;
79
- /** Static suggestions shown before the user sends their first message */
80
- initialSuggestions?: string[];
81
79
  /**
82
80
  * Enable AI-generated suggestions after each response.
83
81
  * `true` enables with defaults (3 suggestions), object allows config, `false`/undefined disables.
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import{a as To,b as Fo,c as Bo,d as ve,e as De,f as wt,g as Ro,h as Mo,i as vo,j as Do,k as It,l as _o,m as ba,n as Eo,o as No,p as _e,u as Pa}from"../chunk-HVAT4SNH.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Qd,useCallback as ya,useEffect as sn,useImperativeHandle as Kd,useRef as nn,useState as yo}from"react";import{forwardRef as fn,createElement as cn}from"react";var Ct=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var qo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Oo=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Aa=e=>{let t=Oo(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as dn,createElement as Go}from"react";var Ho={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 Uo=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Wo=dn(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...u},l)=>Go("svg",{ref:l,...Ho,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Ct("lucide",r),...!s&&!Uo(u)&&{"aria-hidden":"true"},...u},[...n.map(([i,f])=>Go(i,f)),...Array.isArray(s)?s:[s]]));var E=(e,t)=>{let a=fn(({className:o,...r},s)=>cn(Wo,{ref:s,iconNode:t,className:Ct(`lucide-${qo(Aa(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Aa(e),a};var pn=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ze=E("arrow-down",pn);var mn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Ve=E("arrow-up",mn);var hn=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],ge=E("braces",hn);var gn=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],je=E("check",gn);var Ln=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],$e=E("chevron-down",Ln);var xn=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Xe=E("chevron-right",xn);var wn=[["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"}]],Qe=E("clipboard-copy",wn);var In=[["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"}]],Ke=E("file",In);var Cn=[["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"}]],Je=E("loader",Cn);var Sn=[["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"}]],Ze=E("paperclip",Sn);var yn=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ye=E("square",yn);var kn=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Se=E("x",kn);import{useCallback as Un}from"react";import{useCallback as Le,useMemo as bn,useRef as Pn,useState as Ta}from"react";var An={damping:.7,stiffness:.05,mass:1.25},Tn=70,Fn=1e3/60,Bn=350,St=!1;globalThis.document?.addEventListener("mousedown",()=>{St=!0});globalThis.document?.addEventListener("mouseup",()=>{St=!1});globalThis.document?.addEventListener("click",()=>{St=!1});var Vo=(e={})=>{let[t,a]=Ta(!1),[o,r]=Ta(e.initial!==!1),[s,n]=Ta(!1),u=Pn(null);u.current=e;let l=Le(()=>{if(!St)return!1;let L=window.getSelection();if(!L||!L.rangeCount)return!1;let m=L.getRangeAt(0);return m.commonAncestorContainer.contains(x.current)||x.current?.contains(m.commonAncestorContainer)},[]),i=Le(L=>{d.isAtBottom=L,r(L)},[]),f=Le(L=>{d.escapedFromLock=L,a(L)},[]),d=bn(()=>{let L;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(m){x.current&&(x.current.scrollTop=m,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!g.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!g.current)return 0;let{targetScrollTop:m}=this;if(!e.targetScrollTop)return m;if(L?.targetScrollTop===m)return L.calculatedScrollTop;let w=Math.max(Math.min(e.targetScrollTop(m,{scrollElement:x.current,contentElement:g.current}),m),0);return L={targetScrollTop:m,calculatedScrollTop:w},requestAnimationFrame(()=>{L=void 0}),w},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Tn}}},[]),p=Le((L={})=>{typeof L=="string"&&(L={animation:L}),L.preserveScrollPosition||i(!0);let m=Date.now()+(Number(L.wait)||0),w=Ba(u.current,L.animation),{ignoreEscapes:S=!1}=L,y,C=d.calculatedTargetScrollTop;L.duration instanceof Promise?L.duration.finally(()=>{y=Date.now()}):y=m+(L.duration??0);let P=async()=>{let D=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:B}=d,R=performance.now(),M=(R-(d.lastTick??R))/Fn;if(d.animation||(d.animation={behavior:w,promise:D,ignoreEscapes:S}),d.animation.behavior===w&&(d.lastTick=R),l()||m>Date.now())return P();if(B<Math.min(C,d.calculatedTargetScrollTop)){if(d.animation?.behavior===w){if(w==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(w.damping*d.velocity+w.stiffness*d.scrollDifference)/w.mass,d.accumulated+=d.velocity*M,d.scrollTop+=d.accumulated,d.scrollTop!==B&&(d.accumulated=0)}return P()}return y>Date.now()?(C=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Ba(u.current,u.current.resize),ignoreEscapes:S,duration:Math.max(0,y-Date.now())||void 0}):d.isAtBottom)});return D.then(B=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),B))};return L.wait!==!0&&(d.animation=void 0),d.animation?.behavior===w?d.animation.promise:P()},[i,l,d]),c=Le(()=>{f(!0),i(!1)},[f,i]),h=Le(({target:L})=>{if(L!==x.current)return;let{scrollTop:m,ignoreScrollToTop:w}=d,{lastScrollTop:S=m}=d;d.lastScrollTop=m,d.ignoreScrollToTop=void 0,w&&w>m&&(S=w),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||m===w)return;if(l()){f(!0),i(!1);return}let y=m>S,C=m<S;if(d.animation?.ignoreEscapes){d.scrollTop=S;return}C&&(f(!0),i(!1)),y&&f(!1),!d.escapedFromLock&&d.isNearBottom&&i(!0)},1)},[f,i,l,d]),I=Le(({target:L,deltaY:m})=>{let w=L;for(;!["scroll","auto"].includes(getComputedStyle(w).overflow);){if(!w.parentElement)return;w=w.parentElement}w===x.current&&m<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),i(!1))},[f,i,d]),x=zo(L=>{x.current?.removeEventListener("scroll",h),x.current?.removeEventListener("wheel",I),L?.addEventListener("scroll",h,{passive:!0}),L?.addEventListener("wheel",I,{passive:!0})},[]),g=zo(L=>{if(d.resizeObserver?.disconnect(),!L)return;let m;d.resizeObserver=new ResizeObserver(([w])=>{let{height:S}=w.contentRect,y=S-(m??S);if(d.resizeDifference=y,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),y>=0){let C=Ba(u.current,m?u.current.resize:u.current.initial);p({animation:C,wait:!0,preserveScrollPosition:!0,duration:C==="instant"?void 0:Bn})}else d.isNearBottom&&(f(!1),i(!0));m=S,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===y&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(L)},[]);return{contentRef:g,scrollRef:x,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function zo(e,t){let a=Le(o=>(a.current=o,e(o)),t);return a}var Fa=new Map;function Ba(...e){let t={...An},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return Fa.has(o)||Fa.set(o,Object.freeze(t)),a?"instant":Fa.get(o)}import*as ye from"react";import{createContext as Rn,useContext as Mn,useEffect as vn,useImperativeHandle as Dn,useLayoutEffect as _n,useMemo as En,useRef as Nn}from"react";var jo=Rn(null),qn=typeof window<"u"?_n:vn;function et({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:u,contextRef:l,...i}){let f=Nn(null),d=ye.useCallback((S,y)=>(w?.targetScrollTop??u)?.(S,y)??S,[u]),p=Vo({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:h,scrollToBottom:I,stopScroll:x,isAtBottom:g,escapedFromLock:L,state:m}=e??p,w=En(()=>({scrollToBottom:I,stopScroll:x,scrollRef:c,isAtBottom:g,escapedFromLock:L,contentRef:h,state:m,get targetScrollTop(){return f.current},set targetScrollTop(S){f.current=S}}),[I,g,h,c,x,L,m]);return Dn(l,()=>w,[w]),qn(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),ye.createElement(jo.Provider,{value:w},ye.createElement("div",{...i},typeof t=="function"?t(w):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=Ra();return ye.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},ye.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(et||(et={}));function Ra(){let e=Mn(jo);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var On=Fo({prefix:"ww"});function b(...e){return On(To(e))}import{jsx as Hn}from"react/jsx-runtime";var ie=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>Hn("button",{type:o,className:b("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:rounded-full",a==="icon-sm"&&"ww:size-7 ww:rounded-full",e),...r});import{jsx as yt}from"react/jsx-runtime";var kt=({className:e,...t})=>yt(et,{className:b("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),bt=({className:e,...t})=>yt(et.Content,{className:b("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}),Pt=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Ra(),r=Un(()=>{o()},[o]);return!a&&yt(ie,{className:b("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:yt(ze,{className:"ww:size-4"})})};import Xo from"crypto";var $o="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Gn=128,ke,Ee,Wn=e=>{!ke||ke.length<e?(ke=Buffer.allocUnsafe(e*Gn),Xo.randomFillSync(ke),Ee=0):Ee+e>ke.length&&(Xo.randomFillSync(ke),Ee=0),Ee+=e};var At=(e=21)=>{Wn(e|=0);let t="";for(let a=Ee-e;a<Ee;a++)t+=$o[ke[a]&63];return t};import{createContext as zn,useCallback as me,useContext as Vn,useEffect as Ma,useMemo as jn,useRef as va,useState as Qo}from"react";import{jsx as le,jsxs as Zo}from"react/jsx-runtime";var $n=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},Ko=zn(null),Jo=()=>{let e=Vn(Ko);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Tt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:u,...l})=>{let i=va(null),f=va(null),[d,p]=Qo([]),c=va(d);Ma(()=>{c.current=d},[d]);let h=me(()=>{i.current?.click()},[]),I=me(S=>{let y=[...S];if(y.length===0)return;let C=D=>s?D.size<=s:!0,P=y.filter(C);p(D=>{let B=typeof r=="number"?Math.max(0,r-D.length):void 0,R=typeof B=="number"?P.slice(0,B):P;return[...D,...R.map(M=>({filename:M.name,id:At(),mediaType:M.type,type:"file",url:URL.createObjectURL(M)}))]})},[r,s]),x=me(S=>{p(y=>{let C=y.find(P=>P.id===S);return C?.url&&URL.revokeObjectURL(C.url),y.filter(P=>P.id!==S)})},[]),g=me(()=>{p(S=>{for(let y of S)y.url&&URL.revokeObjectURL(y.url);return[]})},[]);Ma(()=>()=>{for(let S of c.current)S.url&&URL.revokeObjectURL(S.url)},[]);let L=me(S=>{S.currentTarget.files&&I(S.currentTarget.files),S.currentTarget.value=""},[I]);Ma(()=>{if(!o)return;let S=C=>{C.dataTransfer?.types?.includes("Files")&&C.preventDefault()},y=C=>{C.dataTransfer?.types?.includes("Files")&&C.preventDefault(),C.dataTransfer?.files&&C.dataTransfer.files.length>0&&I(C.dataTransfer.files)};return document.addEventListener("dragover",S),document.addEventListener("drop",y),()=>{document.removeEventListener("dragover",S),document.removeEventListener("drop",y)}},[I,o]);let m=me(async S=>{S.preventDefault();let y=S.currentTarget,P=new FormData(y).get("message")||"";y.reset();let D=await Promise.all(d.map(async({id:B,...R})=>{if(R.url?.startsWith("blob:")){let M=await $n(R.url);return{...R,url:M??R.url}}return R}));try{let B=n({files:D,text:P},S);B instanceof Promise&&await B,g()}catch{}},[d,n,g]),w=jn(()=>({add:I,clear:g,files:d,openFileDialog:h,remove:x}),[d,I,x,g,h]);return Zo(Ko.Provider,{value:w,children:[le("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:L,ref:i,title:"Upload files",type:"file"}),le("form",{className:b("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:m,ref:f,...l,children:u})]})};var Ft=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Jo(),[n,u]=Qo(!1),l=me(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),i=me(f=>{let d=f.clipboardData?.items;if(!d)return;let p=[];for(let c of d)if(c.kind==="file"){let h=c.getAsFile();h&&p.push(h)}p.length>0&&(f.preventDefault(),s.add(p))},[s]);return le("textarea",{className:b("ww:field-sizing-content ww:max-h-48 ww:min-h-16 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-3 ww:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>u(!1),onCompositionStart:()=>u(!0),onKeyDown:l,onPaste:i,placeholder:o,onChange:e,...r})},Bt=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",u=le(Ve,{className:"ww:size-4"});t==="submitted"?u=le(Je,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(u=le(Ye,{className:"ww:size-4"}));let l=me(i=>{if(n&&a){i.preventDefault(),a();return}o?.(i)},[n,a,o]);return le(ie,{"aria-label":n?"Stop":"Submit",className:b("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??u})},Rt=({className:e,children:t,...a})=>{let o=Jo();return o.files.length>0?Zo(ie,{className:b("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[le("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}),le(Se,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):le(ie,{className:b(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??le(Ze,{className:"ww:size-4"})})};import{memo as Xn,useCallback as Qn}from"react";import{jsx as Ne}from"react/jsx-runtime";var Yo=({className:e,...t})=>Ne("div",{className:b("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),er=({className:e,...t})=>Ne("li",{className:b("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}),tr=({className:e,...t})=>Ne("span",{className:b("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),ar=({className:e,...t})=>Ne("span",{className:b("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),or=({className:e,...t})=>Ne("div",{className:b("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),rr=({className:e,...t})=>Ne(ie,{className:b("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 be,jsxs as Da}from"react/jsx-runtime";var sr=Xn(({message:e,onRemove:t})=>{let a=Qn(()=>t(e.id),[t,e.id]);return Da(er,{children:[be(tr,{}),be(ar,{children:e.text||"(attachment)"}),be(or,{children:be(rr,{"aria-label":"Remove from queue",onClick:a,children:be(Se,{className:"ww:size-3"})})})]})});sr.displayName="ChatQueueItem";function Mt({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:Da(Yo,{className:b("ww:border-t ww:border-border",a),children:[Da("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),be("ul",{children:e.map(o=>be(sr,{message:o,onRemove:t},o.id))})]})}import{jsx as tt,jsxs as Jn}from"react/jsx-runtime";var nr=({files:e,className:t,...a})=>e.length===0?null:tt("div",{className:b("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>tt(Kn,{file:o},r))});function Kn({file:e}){return e.mediaType?.startsWith("image/")&&e.url?tt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Jn("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:[tt(Ke,{className:"ww:size-3 ww:shrink-0"}),tt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as lr}from"react/jsx-runtime";var _a=({className:e,size:t=5,...a})=>lr("div",{className:b("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>lr("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var $={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 de={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 te={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 ur(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 ir(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function dr(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 fr(e){return ur(e)?"ambiguous":ir(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":dr(e)?"wide":"neutral"}function Zn(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function cr(e){return Zn(e),fr(e)}var Yn=Object.defineProperty,el=(e,t,a)=>t in e?Yn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,tl=(e,t,a)=>el(e,typeof t!="symbol"?t+"":t,a);function al(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function ol(e){if(!e||e<4352)return!1;switch(cr(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!al(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 rl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function sl(e){return e!==null&&e>=65024&&e<=65038}var nl=pr(/\p{P}|\p{S}/u),ll=pr(/\s/);function pr(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 xe(e){if(e===$.eof||Bo(e)||ll(e))return de.characterGroupWhitespace;let t=0;if(e>=4352){if(sl(e))return ae.nonEmojiGeneralUseVS;switch(ol(e)){case null:return ae.ivs;case!0:t|=ae.cjk;break}}return nl(e)&&(t|=de.characterGroupPunctuation),t}function vt(e,t,a){if(!il(e))return e;let o=t(),r=xe(o);return!o||Pe(r)?e:rl(o,a)?ae.cjkPunctuation:ul(r)}function ul(e){return e&~ae.ivs}function Pe(e){return!!(e&de.characterGroupWhitespace)}function qe(e){return(e&ae.cjkPunctuation)===de.characterGroupPunctuation}function at(e){return!!(e&ae.cjk)}function mr(e){return e===ae.ivs}function hr(e){return!!(e&ae.cjkOrIvs)}function il(e){return e===ae.nonEmojiGeneralUseVS}function Ea(e){return!!(e&ae.spaceOrPunctuation)}function Dt(e){return!!(e&&e>=55296&&e<=56319)}function _t(e){return!!(e&&e>=56320&&e<=57343)}function Et(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function dl(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,s=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),n=s.charCodeAt(s.length-1);if(Number.isNaN(n))return null;if(s.length<2||n<56320||57343<n)return n;let u=s.codePointAt(0);return u&&u>=65536?u:n}var Nt=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,tl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=dl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function qt(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Na={name:"attention",resolveAll:fl,tokenize:cl};function fl(e,t){let a=-1,o,r,s,n,u,l,i,f;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};gr(d,-l),gr(p,l),n={type:l>1?te.strongSequence:te.emphasisSequence,start:d,end:{...e[o][1].end}},u={type:l>1?te.strongSequence:te.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?te.strongText:te.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?te.strong:te.emphasis,start:{...n.start},end:{...u.end}},e[o][1].end={...n.start},e[a][1].start={...u.end},i=[],e[o][1].end.offset-e[o][1].start.offset&&(i=De(i,[["enter",e[o][1],t],["exit",e[o][1],t]])),i=De(i,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,i=De(i,wt(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),i=De(i,[["exit",s,t],["enter",u,t],["exit",u,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,i=De(i,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,ve(e,o-1,a-o+3,i),a=o+i.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function cl(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=_t(s)?Et(s,o(),r):s,u=xe(n),l=new Nt(n,o(),r),i=vt(u,l.value.bind(l),n),f;return d;function d(c){return c===$.asterisk||$.underscore,f=c,e.enter("attentionSequence"),p(c)}function p(c){if(c===f)return e.consume(c),p;let h=e.exit("attentionSequence"),I=Dt(c)?qt(c,o(),r):c,x=xe(I);let g=qe(i),L=g||Pe(i),m=qe(x),w=m||Pe(x),S=hr(i),y=!w||m&&(L||S)||a.includes(c),C=!L||g&&(w||at(x))||a.includes(n);return h._open=!!(f===$.asterisk?y:y&&(Ea(i)||!C)),h._close=!!(f===$.asterisk?C:C&&(Ea(x)||!y)),t(c)}}function gr(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Lr(){return{text:{[$.asterisk]:Na,[$.underscore]:Na},insideSpan:{null:[Na]}}}function xr(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Lr())}function wr(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[$.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[$.tilde]}};function r(n,u){let l=-1;for(;++l<n.length;)if(n[l][0]==="enter"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._close){let i=l;for(;i--;)if(n[i][0]==="exit"&&n[i][1].type==="strikethroughSequenceTemporary"&&n[i][1]._open&&n[l][1].end.offset-n[l][1].start.offset===n[i][1].end.offset-n[i][1].start.offset){n[l][1].type="strikethroughSequence",n[i][1].type="strikethroughSequence";let f={type:"strikethrough",start:Object.assign({},n[i][1].start),end:Object.assign({},n[l][1].end)},d={type:"strikethroughText",start:Object.assign({},n[i][1].end),end:Object.assign({},n[l][1].start)},p=[["enter",f,u],["enter",n[i][1],u],["exit",n[i][1],u],["enter",d,u]],c=u.parser.constructs.insideSpan.null;c&&ve(p,p.length,0,wt(c,n.slice(i+1,l),u)),ve(p,p.length,0,[["exit",d,u],["enter",n[l][1],u],["exit",n[l][1],u],["exit",f,u]]),ve(n,i-1,l-i+3,p),l=i+p.length-2;break}}for(l=-1;++l<n.length;)n[l][1].type==="strikethroughSequenceTemporary"&&(n[l][1].type=te.data);return n}function s(n,u,l){let{now:i,sliceSerialize:f,previous:d}=this,p=_t(d)?Et(d,i(),f):d,c=xe(p),h=new Nt(p,i(),f),I=vt(c,h.value.bind(h),p),x=this.events,g=0;return L;function L(w){return $.tilde,p===$.tilde&&x[x.length-1][1].type!==te.characterEscape?l(w):(n.enter("strikethroughSequenceTemporary"),m(w))}function m(w){let S=xe(p);if(w===$.tilde)return g>1?l(w):(n.consume(w),g++,m);if(g<2&&!a)return l(w);let y=n.exit("strikethroughSequenceTemporary"),C=Dt(w)?qt(w,i(),f):w,P=xe(C),B=qe(I)||Pe(I),M=qe(P)||Pe(P),U=at(I)||mr(S);return y._open=!M||P===de.attentionSideAfter&&(B||U),y._close=!B||S===de.attentionSideAfter&&(M||at(P)),u(w)}}}function Ir(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(wr(e))}var pl=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),ml=/^(https?:\/\/|mailto:|www\.)/i,hl=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},gl=e=>{let t=0;for(let a of e){if(pl.has(a))return t;t+=a.length}return null},Ll=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),xl=e=>({type:"text",value:e}),wl=()=>e=>{Ro(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!hl(t)||!ml.test(t.url))return;let r=gl(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),u=Ll(s,t),l=xl(n);return o.children.splice(a,1,u,l),a+1})};function Il(){let e=[xr],t=[wl,Ir],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Cr=Il();var O=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Cl(e){return $a(e)}function $a(e){return Array.isArray(e)?Sl(e):e instanceof RegExp?e:typeof e=="object"?yl(e):e}function Sl(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=$a(e[a]);return t}function yl(e){let t={};for(let a in e)t[a]=$a(e[a]);return t}function Br(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Rr(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Rr(e.substring(0,e.length-1)):e.substr(~t+1)}var qa=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ot=class{static hasCaptures(e){return e===null?!1:(qa.lastIndex=0,qa.test(e))}static replaceCaptures(e,t,a){return e.replace(qa,(o,r,s,n)=>{let u=a[parseInt(r||s,10)];if(u){let l=t.substring(u.start,u.end);for(;l[0]===".";)l=l.substring(1);switch(n){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function Mr(e,t){return e<t?-1:e>t?1:0}function vr(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let s=Mr(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function Sr(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 Dr(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var _r=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}},st=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Pl(e),t)}static createFromParsedTheme(e,t){return Tl(e,t)}_cachedMatchRoot=new _r(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,o=this._cachedMatchRoot.get(t).find(r=>kl(e.parent,r.parentScopes));return o?new Er(o.fontStyle,o.foreground,o.background):null}},Oa=class Ht{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new Ht(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new Ht(a,t[o]);return a}push(t){return new Ht(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function kl(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!bl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function bl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Er=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Pl(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,s=t.length;r<s;r++){let n=t[r];if(!n.settings)continue;let u;if(typeof n.scope=="string"){let d=n.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),u=d.split(",")}else Array.isArray(n.scope)?u=n.scope:u=[""];let l=-1;if(typeof n.settings.fontStyle=="string"){l=0;let d=n.settings.fontStyle.split(" ");for(let p=0,c=d.length;p<c;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 i=null;typeof n.settings.foreground=="string"&&Sr(n.settings.foreground)&&(i=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&Sr(n.settings.background)&&(f=n.settings.background);for(let d=0,p=u.length;d<p;d++){let h=u[d].trim().split(" "),I=h[h.length-1],x=null;h.length>1&&(x=h.slice(0,h.length-1),x.reverse()),a[o++]=new Al(I,x,r,l,i,f)}}return a}var Al=class{constructor(e,t,a,o,r,s){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=s}},X=(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))(X||{});function Tl(e,t){e.sort((l,i)=>{let f=Mr(l.scope,i.scope);return f!==0||(f=vr(l.parentScopes,i.parentScopes),f!==0)?f:l.index-i.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let s=new Fl(t),n=new Er(a,s.getId(o),s.getId(r)),u=new Rl(new Ua(0,null,-1,0,0),[]);for(let l=0,i=e.length;l<i;l++){let f=e[l];u.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new st(s,n,u)}var Fl=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)}},Bl=Object.freeze([]),Ua=class Nr{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||Bl,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new Nr(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},Rl=class Ga{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let s=a.parentScopes[r].length-t.parentScopes[o].length;if(s!==0)return s;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,s;if(o===-1?(r=t,s=""):(r=t.substring(0,o),s=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(s)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Ga._cmpBySpecificity),a}insert(t,a,o,r,s,n){if(a===""){this._doInsertHere(t,o,r,s,n);return}let u=a.indexOf("."),l,i;u===-1?(l=a,i=""):(l=a.substring(0,u),i=a.substring(u+1));let f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Ga(this._mainRule.clone(),Ua.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.insert(t+1,i,o,r,s,n)}_doInsertHere(t,a,o,r,s){if(a===null){this._mainRule.acceptOverwrite(t,o,r,s);return}for(let n=0,u=this._rulesWithParentScopes.length;n<u;n++){let l=this._rulesWithParentScopes[n];if(vr(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,s);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new Ua(t,a,o,r,s))}},Te=class se{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=se.getLanguageId(t),o=se.getTokenType(t),r=se.getFontStyle(t),s=se.getForeground(t),n=se.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:s,background:n})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,o,r,s,n,u){let l=se.getLanguageId(t),i=se.getTokenType(t),f=se.containsBalancedBrackets(t)?1:0,d=se.getFontStyle(t),p=se.getForeground(t),c=se.getBackground(t);return a!==0&&(l=a),o!==8&&(i=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(p=n),u!==0&&(c=u),(l<<0|i<<8|f<<10|d<<11|p<<15|c<<24)>>>0}};function Gt(e,t){let a=[],o=Ml(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let i=n();if(a.push({matcher:i,priority:l}),r!==",")break;r=o.next()}return a;function s(){if(r==="-"){r=o.next();let l=s();return i=>!!l&&!l(i)}if(r==="("){r=o.next();let l=u();return r===")"&&(r=o.next()),l}if(yr(r)){let l=[];do l.push(r),r=o.next();while(yr(r));return i=>t(l,i)}return null}function n(){let l=[],i=s();for(;i;)l.push(i),i=s();return f=>l.every(d=>d(f))}function u(){let l=[],i=n();for(;i&&(l.push(i),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");i=n()}return f=>l.some(d=>d(f))}}function yr(e){return!!e&&!!e.match(/[\w\.:]+/)}function Ml(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function qr(e){typeof e.dispose=="function"&&e.dispose()}var nt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},vl=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Dl=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))}},_l=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new nt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Dl;for(let a of e)El(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof nt){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 El(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let s=a.lookup(t);e instanceof nt?Ut({baseGrammar:s,selfGrammar:r},o):Wa(e.ruleName,{baseGrammar:s,selfGrammar:r,repository:r.repository},o);let n=a.injections(e.scopeName);if(n)for(let u of n)o.add(new nt(u))}function Wa(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];Wt([o],t,a)}}function Ut(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Wt(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Wt(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Wt(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Br({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&Wt(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Or(s);switch(n.kind){case 0:Ut({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ut(t,a);break;case 2:Wa(n.ruleName,{...t,repository:r},a);break;case 3:case 4:let u=n.scopeName===t.selfGrammar.scopeName?t.selfGrammar:n.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(u){let l={baseGrammar:t.baseGrammar,selfGrammar:u,repository:r};n.kind===4?Wa(n.ruleName,l,a):Ut(l,a)}else n.kind===4?a.add(new vl(n.scopeName,n.ruleName)):a.add(new nt(n.scopeName));break}}}var Nl=class{kind=0},ql=class{kind=1},Ol=class{constructor(e){this.ruleName=e}kind=2},Hl=class{constructor(e){this.scopeName=e}kind=3},Ul=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Or(e){if(e==="$base")return new Nl;if(e==="$self")return new ql;let t=e.indexOf("#");if(t===-1)return new Hl(e);if(t===0)return new Ol(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new Ul(a,o)}}var Gl=/\\(\d+)/,kr=/\\(\d+)/g;var Wl=-1,Hr=-2;var it=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ot.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Ot.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Rr(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:Ot.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ot.replaceCaptures(this._contentName,e,t)}},zl=class extends it{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},Vl=class extends it{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new lt(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ut,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},br=class extends it{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ut,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},za=class extends it{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,s,n,u,l,i){super(e,t,a,o),this._begin=new lt(r,this.id),this.beginCaptures=s,this._end=new lt(n||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=u,this.applyEndPatternLast=l||!1,this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ut;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}},zt=class extends it{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,s,n,u,l){super(e,t,a,o),this._begin=new lt(r,this.id),this.beginCaptures=s,this.whileCaptures=u,this._while=new lt(n,Hr),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ut;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new ut,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Ur=class K{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new zl(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new Vl(t.$vscodeTextmateLocation,t.id,t.name,t.match,K._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Br({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new br(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,K._compilePatterns(s,a,o))}return t.while?new zt(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,K._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,K._compileCaptures(t.whileCaptures||t.captures,a,o),K._compilePatterns(t.patterns,a,o)):new za(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,K._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,K._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,K._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let s=0;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let u=parseInt(n,10);u>s&&(s=u)}for(let n=0;n<=s;n++)r[n]=null;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let u=parseInt(n,10),l=0;t[n].patterns&&(l=K.getCompiledRuleId(t[n],a,o)),r[u]=K.createCaptureRule(a,t[n].$vscodeTextmateLocation,t[n].name,t[n].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let s=0,n=t.length;s<n;s++){let u=t[s],l=-1;if(u.include){let i=Or(u.include);switch(i.kind){case 0:case 1:l=K.getCompiledRuleId(o[u.include],a,o);break;case 2:let f=o[i.ruleName];f&&(l=K.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=i.scopeName,p=i.kind===4?i.ruleName:null,c=a.getExternalGrammar(d,o);if(c)if(p){let h=c.repository[p];h&&(l=K.getCompiledRuleId(h,a,c.repository))}else l=K.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=K.getCompiledRuleId(u,a,o);if(l!==-1){let i=a.getRule(l),f=!1;if((i instanceof br||i instanceof za||i instanceof zt)&&i.hasMissingPatterns&&i.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},lt=class Gr{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,s=[],n=!1;for(let u=0;u<o;u++)if(t.charAt(u)==="\\"&&u+1<o){let i=t.charAt(u+1);i==="z"?(s.push(t.substring(r,u)),s.push("$(?!\\n)(?<!\\n)"),r=u+2):(i==="A"||i==="G")&&(n=!0),u++}this.hasAnchor=n,r===0?this.source=t:(s.push(t.substring(r,o)),this.source=s.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=Gl.test(this.source):this.hasBackReferences=!1}clone(){return new Gr(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let o=a.map(r=>t.substring(r.start,r.end));return kr.lastIndex=0,this.source.replace(kr,(r,s)=>Dr(o[parseInt(s,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],o=[],r=[],s,n,u,l;for(s=0,n=this.source.length;s<n;s++)u=this.source.charAt(s),t[s]=u,a[s]=u,o[s]=u,r[s]=u,u==="\\"&&s+1<n&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",a[s+1]="\uFFFF",o[s+1]="A",r[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",a[s+1]="G",o[s+1]="\uFFFF",r[s+1]="G"):(t[s+1]=l,a[s+1]=l,o[s+1]=l,r[s+1]=l),s++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},ut=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 Pr(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let o=this._items.map(r=>r.resolveAnchors(t,a));return new Pr(e,o,this._items.map(r=>r.ruleId))}},Pr=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(`
2
+ import{a as To,b as Fo,c as Bo,d as ve,e as De,f as wt,g as Ro,h as Mo,i as vo,j as Do,k as It,l as _o,m as ba,n as Eo,o as No,p as _e,u as Pa}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Qd,useCallback as ya,useEffect as sn,useImperativeHandle as Kd,useRef as nn,useState as yo}from"react";import{forwardRef as fn,createElement as cn}from"react";var Ct=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var qo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Oo=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Aa=e=>{let t=Oo(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as dn,createElement as Go}from"react";var Ho={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 Uo=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Wo=dn(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...u},l)=>Go("svg",{ref:l,...Ho,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Ct("lucide",r),...!s&&!Uo(u)&&{"aria-hidden":"true"},...u},[...n.map(([i,f])=>Go(i,f)),...Array.isArray(s)?s:[s]]));var E=(e,t)=>{let a=fn(({className:o,...r},s)=>cn(Wo,{ref:s,iconNode:t,className:Ct(`lucide-${qo(Aa(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Aa(e),a};var pn=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ze=E("arrow-down",pn);var mn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Ve=E("arrow-up",mn);var hn=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],ge=E("braces",hn);var gn=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],je=E("check",gn);var Ln=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],$e=E("chevron-down",Ln);var xn=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Xe=E("chevron-right",xn);var wn=[["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"}]],Qe=E("clipboard-copy",wn);var In=[["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"}]],Ke=E("file",In);var Cn=[["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"}]],Je=E("loader",Cn);var Sn=[["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"}]],Ze=E("paperclip",Sn);var yn=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ye=E("square",yn);var kn=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Se=E("x",kn);import{useCallback as Un}from"react";import{useCallback as Le,useMemo as bn,useRef as Pn,useState as Ta}from"react";var An={damping:.7,stiffness:.05,mass:1.25},Tn=70,Fn=1e3/60,Bn=350,St=!1;globalThis.document?.addEventListener("mousedown",()=>{St=!0});globalThis.document?.addEventListener("mouseup",()=>{St=!1});globalThis.document?.addEventListener("click",()=>{St=!1});var Vo=(e={})=>{let[t,a]=Ta(!1),[o,r]=Ta(e.initial!==!1),[s,n]=Ta(!1),u=Pn(null);u.current=e;let l=Le(()=>{if(!St)return!1;let L=window.getSelection();if(!L||!L.rangeCount)return!1;let m=L.getRangeAt(0);return m.commonAncestorContainer.contains(x.current)||x.current?.contains(m.commonAncestorContainer)},[]),i=Le(L=>{d.isAtBottom=L,r(L)},[]),f=Le(L=>{d.escapedFromLock=L,a(L)},[]),d=bn(()=>{let L;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(m){x.current&&(x.current.scrollTop=m,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!g.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!g.current)return 0;let{targetScrollTop:m}=this;if(!e.targetScrollTop)return m;if(L?.targetScrollTop===m)return L.calculatedScrollTop;let w=Math.max(Math.min(e.targetScrollTop(m,{scrollElement:x.current,contentElement:g.current}),m),0);return L={targetScrollTop:m,calculatedScrollTop:w},requestAnimationFrame(()=>{L=void 0}),w},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Tn}}},[]),p=Le((L={})=>{typeof L=="string"&&(L={animation:L}),L.preserveScrollPosition||i(!0);let m=Date.now()+(Number(L.wait)||0),w=Ba(u.current,L.animation),{ignoreEscapes:S=!1}=L,y,C=d.calculatedTargetScrollTop;L.duration instanceof Promise?L.duration.finally(()=>{y=Date.now()}):y=m+(L.duration??0);let P=async()=>{let D=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:B}=d,R=performance.now(),M=(R-(d.lastTick??R))/Fn;if(d.animation||(d.animation={behavior:w,promise:D,ignoreEscapes:S}),d.animation.behavior===w&&(d.lastTick=R),l()||m>Date.now())return P();if(B<Math.min(C,d.calculatedTargetScrollTop)){if(d.animation?.behavior===w){if(w==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(w.damping*d.velocity+w.stiffness*d.scrollDifference)/w.mass,d.accumulated+=d.velocity*M,d.scrollTop+=d.accumulated,d.scrollTop!==B&&(d.accumulated=0)}return P()}return y>Date.now()?(C=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Ba(u.current,u.current.resize),ignoreEscapes:S,duration:Math.max(0,y-Date.now())||void 0}):d.isAtBottom)});return D.then(B=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),B))};return L.wait!==!0&&(d.animation=void 0),d.animation?.behavior===w?d.animation.promise:P()},[i,l,d]),c=Le(()=>{f(!0),i(!1)},[f,i]),h=Le(({target:L})=>{if(L!==x.current)return;let{scrollTop:m,ignoreScrollToTop:w}=d,{lastScrollTop:S=m}=d;d.lastScrollTop=m,d.ignoreScrollToTop=void 0,w&&w>m&&(S=w),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||m===w)return;if(l()){f(!0),i(!1);return}let y=m>S,C=m<S;if(d.animation?.ignoreEscapes){d.scrollTop=S;return}C&&(f(!0),i(!1)),y&&f(!1),!d.escapedFromLock&&d.isNearBottom&&i(!0)},1)},[f,i,l,d]),I=Le(({target:L,deltaY:m})=>{let w=L;for(;!["scroll","auto"].includes(getComputedStyle(w).overflow);){if(!w.parentElement)return;w=w.parentElement}w===x.current&&m<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),i(!1))},[f,i,d]),x=zo(L=>{x.current?.removeEventListener("scroll",h),x.current?.removeEventListener("wheel",I),L?.addEventListener("scroll",h,{passive:!0}),L?.addEventListener("wheel",I,{passive:!0})},[]),g=zo(L=>{if(d.resizeObserver?.disconnect(),!L)return;let m;d.resizeObserver=new ResizeObserver(([w])=>{let{height:S}=w.contentRect,y=S-(m??S);if(d.resizeDifference=y,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),y>=0){let C=Ba(u.current,m?u.current.resize:u.current.initial);p({animation:C,wait:!0,preserveScrollPosition:!0,duration:C==="instant"?void 0:Bn})}else d.isNearBottom&&(f(!1),i(!0));m=S,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===y&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(L)},[]);return{contentRef:g,scrollRef:x,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function zo(e,t){let a=Le(o=>(a.current=o,e(o)),t);return a}var Fa=new Map;function Ba(...e){let t={...An},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return Fa.has(o)||Fa.set(o,Object.freeze(t)),a?"instant":Fa.get(o)}import*as ye from"react";import{createContext as Rn,useContext as Mn,useEffect as vn,useImperativeHandle as Dn,useLayoutEffect as _n,useMemo as En,useRef as Nn}from"react";var jo=Rn(null),qn=typeof window<"u"?_n:vn;function et({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:u,contextRef:l,...i}){let f=Nn(null),d=ye.useCallback((S,y)=>(w?.targetScrollTop??u)?.(S,y)??S,[u]),p=Vo({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:h,scrollToBottom:I,stopScroll:x,isAtBottom:g,escapedFromLock:L,state:m}=e??p,w=En(()=>({scrollToBottom:I,stopScroll:x,scrollRef:c,isAtBottom:g,escapedFromLock:L,contentRef:h,state:m,get targetScrollTop(){return f.current},set targetScrollTop(S){f.current=S}}),[I,g,h,c,x,L,m]);return Dn(l,()=>w,[w]),qn(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),ye.createElement(jo.Provider,{value:w},ye.createElement("div",{...i},typeof t=="function"?t(w):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=Ra();return ye.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},ye.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(et||(et={}));function Ra(){let e=Mn(jo);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var On=Fo({prefix:"ww"});function b(...e){return On(To(e))}import{jsx as Hn}from"react/jsx-runtime";var ie=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>Hn("button",{type:o,className:b("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:rounded-full",a==="icon-sm"&&"ww:size-7 ww:rounded-full",e),...r});import{jsx as yt}from"react/jsx-runtime";var kt=({className:e,...t})=>yt(et,{className:b("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),bt=({className:e,...t})=>yt(et.Content,{className:b("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}),Pt=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Ra(),r=Un(()=>{o()},[o]);return!a&&yt(ie,{className:b("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:yt(ze,{className:"ww:size-4"})})};import Xo from"crypto";var $o="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Gn=128,ke,Ee,Wn=e=>{!ke||ke.length<e?(ke=Buffer.allocUnsafe(e*Gn),Xo.randomFillSync(ke),Ee=0):Ee+e>ke.length&&(Xo.randomFillSync(ke),Ee=0),Ee+=e};var At=(e=21)=>{Wn(e|=0);let t="";for(let a=Ee-e;a<Ee;a++)t+=$o[ke[a]&63];return t};import{createContext as zn,useCallback as me,useContext as Vn,useEffect as Ma,useMemo as jn,useRef as va,useState as Qo}from"react";import{jsx as le,jsxs as Zo}from"react/jsx-runtime";var $n=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},Ko=zn(null),Jo=()=>{let e=Vn(Ko);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Tt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:u,...l})=>{let i=va(null),f=va(null),[d,p]=Qo([]),c=va(d);Ma(()=>{c.current=d},[d]);let h=me(()=>{i.current?.click()},[]),I=me(S=>{let y=[...S];if(y.length===0)return;let C=D=>s?D.size<=s:!0,P=y.filter(C);p(D=>{let B=typeof r=="number"?Math.max(0,r-D.length):void 0,R=typeof B=="number"?P.slice(0,B):P;return[...D,...R.map(M=>({filename:M.name,id:At(),mediaType:M.type,type:"file",url:URL.createObjectURL(M)}))]})},[r,s]),x=me(S=>{p(y=>{let C=y.find(P=>P.id===S);return C?.url&&URL.revokeObjectURL(C.url),y.filter(P=>P.id!==S)})},[]),g=me(()=>{p(S=>{for(let y of S)y.url&&URL.revokeObjectURL(y.url);return[]})},[]);Ma(()=>()=>{for(let S of c.current)S.url&&URL.revokeObjectURL(S.url)},[]);let L=me(S=>{S.currentTarget.files&&I(S.currentTarget.files),S.currentTarget.value=""},[I]);Ma(()=>{if(!o)return;let S=C=>{C.dataTransfer?.types?.includes("Files")&&C.preventDefault()},y=C=>{C.dataTransfer?.types?.includes("Files")&&C.preventDefault(),C.dataTransfer?.files&&C.dataTransfer.files.length>0&&I(C.dataTransfer.files)};return document.addEventListener("dragover",S),document.addEventListener("drop",y),()=>{document.removeEventListener("dragover",S),document.removeEventListener("drop",y)}},[I,o]);let m=me(async S=>{S.preventDefault();let y=S.currentTarget,P=new FormData(y).get("message")||"";y.reset();let D=await Promise.all(d.map(async({id:B,...R})=>{if(R.url?.startsWith("blob:")){let M=await $n(R.url);return{...R,url:M??R.url}}return R}));try{let B=n({files:D,text:P},S);B instanceof Promise&&await B,g()}catch{}},[d,n,g]),w=jn(()=>({add:I,clear:g,files:d,openFileDialog:h,remove:x}),[d,I,x,g,h]);return Zo(Ko.Provider,{value:w,children:[le("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:L,ref:i,title:"Upload files",type:"file"}),le("form",{className:b("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:m,ref:f,...l,children:u})]})};var Ft=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Jo(),[n,u]=Qo(!1),l=me(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),i=me(f=>{let d=f.clipboardData?.items;if(!d)return;let p=[];for(let c of d)if(c.kind==="file"){let h=c.getAsFile();h&&p.push(h)}p.length>0&&(f.preventDefault(),s.add(p))},[s]);return le("textarea",{className:b("ww:field-sizing-content ww:max-h-48 ww:min-h-16 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-3 ww:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>u(!1),onCompositionStart:()=>u(!0),onKeyDown:l,onPaste:i,placeholder:o,onChange:e,...r})},Bt=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",u=le(Ve,{className:"ww:size-4"});t==="submitted"?u=le(Je,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(u=le(Ye,{className:"ww:size-4"}));let l=me(i=>{if(n&&a){i.preventDefault(),a();return}o?.(i)},[n,a,o]);return le(ie,{"aria-label":n?"Stop":"Submit",className:b("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??u})},Rt=({className:e,children:t,...a})=>{let o=Jo();return o.files.length>0?Zo(ie,{className:b("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[le("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}),le(Se,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):le(ie,{className:b(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??le(Ze,{className:"ww:size-4"})})};import{memo as Xn,useCallback as Qn}from"react";import{jsx as Ne}from"react/jsx-runtime";var Yo=({className:e,...t})=>Ne("div",{className:b("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),er=({className:e,...t})=>Ne("li",{className:b("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}),tr=({className:e,...t})=>Ne("span",{className:b("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),ar=({className:e,...t})=>Ne("span",{className:b("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),or=({className:e,...t})=>Ne("div",{className:b("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),rr=({className:e,...t})=>Ne(ie,{className:b("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 be,jsxs as Da}from"react/jsx-runtime";var sr=Xn(({message:e,onRemove:t})=>{let a=Qn(()=>t(e.id),[t,e.id]);return Da(er,{children:[be(tr,{}),be(ar,{children:e.text||"(attachment)"}),be(or,{children:be(rr,{"aria-label":"Remove from queue",onClick:a,children:be(Se,{className:"ww:size-3"})})})]})});sr.displayName="ChatQueueItem";function Mt({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:Da(Yo,{className:b("ww:border-t ww:border-border",a),children:[Da("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),be("ul",{children:e.map(o=>be(sr,{message:o,onRemove:t},o.id))})]})}import{jsx as tt,jsxs as Jn}from"react/jsx-runtime";var nr=({files:e,className:t,...a})=>e.length===0?null:tt("div",{className:b("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>tt(Kn,{file:o},r))});function Kn({file:e}){return e.mediaType?.startsWith("image/")&&e.url?tt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Jn("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:[tt(Ke,{className:"ww:size-3 ww:shrink-0"}),tt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as lr}from"react/jsx-runtime";var _a=({className:e,size:t=5,...a})=>lr("div",{className:b("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>lr("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var $={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 de={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 te={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 ur(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 ir(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function dr(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 fr(e){return ur(e)?"ambiguous":ir(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":dr(e)?"wide":"neutral"}function Zn(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function cr(e){return Zn(e),fr(e)}var Yn=Object.defineProperty,el=(e,t,a)=>t in e?Yn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,tl=(e,t,a)=>el(e,typeof t!="symbol"?t+"":t,a);function al(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function ol(e){if(!e||e<4352)return!1;switch(cr(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!al(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 rl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function sl(e){return e!==null&&e>=65024&&e<=65038}var nl=pr(/\p{P}|\p{S}/u),ll=pr(/\s/);function pr(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 xe(e){if(e===$.eof||Bo(e)||ll(e))return de.characterGroupWhitespace;let t=0;if(e>=4352){if(sl(e))return ae.nonEmojiGeneralUseVS;switch(ol(e)){case null:return ae.ivs;case!0:t|=ae.cjk;break}}return nl(e)&&(t|=de.characterGroupPunctuation),t}function vt(e,t,a){if(!il(e))return e;let o=t(),r=xe(o);return!o||Pe(r)?e:rl(o,a)?ae.cjkPunctuation:ul(r)}function ul(e){return e&~ae.ivs}function Pe(e){return!!(e&de.characterGroupWhitespace)}function qe(e){return(e&ae.cjkPunctuation)===de.characterGroupPunctuation}function at(e){return!!(e&ae.cjk)}function mr(e){return e===ae.ivs}function hr(e){return!!(e&ae.cjkOrIvs)}function il(e){return e===ae.nonEmojiGeneralUseVS}function Ea(e){return!!(e&ae.spaceOrPunctuation)}function Dt(e){return!!(e&&e>=55296&&e<=56319)}function _t(e){return!!(e&&e>=56320&&e<=57343)}function Et(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function dl(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,s=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),n=s.charCodeAt(s.length-1);if(Number.isNaN(n))return null;if(s.length<2||n<56320||57343<n)return n;let u=s.codePointAt(0);return u&&u>=65536?u:n}var Nt=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,tl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=dl(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function qt(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Na={name:"attention",resolveAll:fl,tokenize:cl};function fl(e,t){let a=-1,o,r,s,n,u,l,i,f;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};gr(d,-l),gr(p,l),n={type:l>1?te.strongSequence:te.emphasisSequence,start:d,end:{...e[o][1].end}},u={type:l>1?te.strongSequence:te.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?te.strongText:te.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?te.strong:te.emphasis,start:{...n.start},end:{...u.end}},e[o][1].end={...n.start},e[a][1].start={...u.end},i=[],e[o][1].end.offset-e[o][1].start.offset&&(i=De(i,[["enter",e[o][1],t],["exit",e[o][1],t]])),i=De(i,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,i=De(i,wt(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),i=De(i,[["exit",s,t],["enter",u,t],["exit",u,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,i=De(i,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,ve(e,o-1,a-o+3,i),a=o+i.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function cl(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=_t(s)?Et(s,o(),r):s,u=xe(n),l=new Nt(n,o(),r),i=vt(u,l.value.bind(l),n),f;return d;function d(c){return c===$.asterisk||$.underscore,f=c,e.enter("attentionSequence"),p(c)}function p(c){if(c===f)return e.consume(c),p;let h=e.exit("attentionSequence"),I=Dt(c)?qt(c,o(),r):c,x=xe(I);let g=qe(i),L=g||Pe(i),m=qe(x),w=m||Pe(x),S=hr(i),y=!w||m&&(L||S)||a.includes(c),C=!L||g&&(w||at(x))||a.includes(n);return h._open=!!(f===$.asterisk?y:y&&(Ea(i)||!C)),h._close=!!(f===$.asterisk?C:C&&(Ea(x)||!y)),t(c)}}function gr(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Lr(){return{text:{[$.asterisk]:Na,[$.underscore]:Na},insideSpan:{null:[Na]}}}function xr(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Lr())}function wr(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[$.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[$.tilde]}};function r(n,u){let l=-1;for(;++l<n.length;)if(n[l][0]==="enter"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._close){let i=l;for(;i--;)if(n[i][0]==="exit"&&n[i][1].type==="strikethroughSequenceTemporary"&&n[i][1]._open&&n[l][1].end.offset-n[l][1].start.offset===n[i][1].end.offset-n[i][1].start.offset){n[l][1].type="strikethroughSequence",n[i][1].type="strikethroughSequence";let f={type:"strikethrough",start:Object.assign({},n[i][1].start),end:Object.assign({},n[l][1].end)},d={type:"strikethroughText",start:Object.assign({},n[i][1].end),end:Object.assign({},n[l][1].start)},p=[["enter",f,u],["enter",n[i][1],u],["exit",n[i][1],u],["enter",d,u]],c=u.parser.constructs.insideSpan.null;c&&ve(p,p.length,0,wt(c,n.slice(i+1,l),u)),ve(p,p.length,0,[["exit",d,u],["enter",n[l][1],u],["exit",n[l][1],u],["exit",f,u]]),ve(n,i-1,l-i+3,p),l=i+p.length-2;break}}for(l=-1;++l<n.length;)n[l][1].type==="strikethroughSequenceTemporary"&&(n[l][1].type=te.data);return n}function s(n,u,l){let{now:i,sliceSerialize:f,previous:d}=this,p=_t(d)?Et(d,i(),f):d,c=xe(p),h=new Nt(p,i(),f),I=vt(c,h.value.bind(h),p),x=this.events,g=0;return L;function L(w){return $.tilde,p===$.tilde&&x[x.length-1][1].type!==te.characterEscape?l(w):(n.enter("strikethroughSequenceTemporary"),m(w))}function m(w){let S=xe(p);if(w===$.tilde)return g>1?l(w):(n.consume(w),g++,m);if(g<2&&!a)return l(w);let y=n.exit("strikethroughSequenceTemporary"),C=Dt(w)?qt(w,i(),f):w,P=xe(C),B=qe(I)||Pe(I),M=qe(P)||Pe(P),U=at(I)||mr(S);return y._open=!M||P===de.attentionSideAfter&&(B||U),y._close=!B||S===de.attentionSideAfter&&(M||at(P)),u(w)}}}function Ir(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(wr(e))}var pl=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),ml=/^(https?:\/\/|mailto:|www\.)/i,hl=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},gl=e=>{let t=0;for(let a of e){if(pl.has(a))return t;t+=a.length}return null},Ll=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),xl=e=>({type:"text",value:e}),wl=()=>e=>{Ro(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!hl(t)||!ml.test(t.url))return;let r=gl(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),u=Ll(s,t),l=xl(n);return o.children.splice(a,1,u,l),a+1})};function Il(){let e=[xr],t=[wl,Ir],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Cr=Il();var O=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Cl(e){return $a(e)}function $a(e){return Array.isArray(e)?Sl(e):e instanceof RegExp?e:typeof e=="object"?yl(e):e}function Sl(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=$a(e[a]);return t}function yl(e){let t={};for(let a in e)t[a]=$a(e[a]);return t}function Br(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Rr(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Rr(e.substring(0,e.length-1)):e.substr(~t+1)}var qa=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ot=class{static hasCaptures(e){return e===null?!1:(qa.lastIndex=0,qa.test(e))}static replaceCaptures(e,t,a){return e.replace(qa,(o,r,s,n)=>{let u=a[parseInt(r||s,10)];if(u){let l=t.substring(u.start,u.end);for(;l[0]===".";)l=l.substring(1);switch(n){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function Mr(e,t){return e<t?-1:e>t?1:0}function vr(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let s=Mr(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function Sr(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 Dr(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var _r=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}},st=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Pl(e),t)}static createFromParsedTheme(e,t){return Tl(e,t)}_cachedMatchRoot=new _r(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,o=this._cachedMatchRoot.get(t).find(r=>kl(e.parent,r.parentScopes));return o?new Er(o.fontStyle,o.foreground,o.background):null}},Oa=class Ht{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new Ht(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new Ht(a,t[o]);return a}push(t){return new Ht(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function kl(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!bl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function bl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Er=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Pl(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,s=t.length;r<s;r++){let n=t[r];if(!n.settings)continue;let u;if(typeof n.scope=="string"){let d=n.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),u=d.split(",")}else Array.isArray(n.scope)?u=n.scope:u=[""];let l=-1;if(typeof n.settings.fontStyle=="string"){l=0;let d=n.settings.fontStyle.split(" ");for(let p=0,c=d.length;p<c;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 i=null;typeof n.settings.foreground=="string"&&Sr(n.settings.foreground)&&(i=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&Sr(n.settings.background)&&(f=n.settings.background);for(let d=0,p=u.length;d<p;d++){let h=u[d].trim().split(" "),I=h[h.length-1],x=null;h.length>1&&(x=h.slice(0,h.length-1),x.reverse()),a[o++]=new Al(I,x,r,l,i,f)}}return a}var Al=class{constructor(e,t,a,o,r,s){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=s}},X=(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))(X||{});function Tl(e,t){e.sort((l,i)=>{let f=Mr(l.scope,i.scope);return f!==0||(f=vr(l.parentScopes,i.parentScopes),f!==0)?f:l.index-i.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let s=new Fl(t),n=new Er(a,s.getId(o),s.getId(r)),u=new Rl(new Ua(0,null,-1,0,0),[]);for(let l=0,i=e.length;l<i;l++){let f=e[l];u.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new st(s,n,u)}var Fl=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)}},Bl=Object.freeze([]),Ua=class Nr{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||Bl,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new Nr(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},Rl=class Ga{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let s=a.parentScopes[r].length-t.parentScopes[o].length;if(s!==0)return s;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,s;if(o===-1?(r=t,s=""):(r=t.substring(0,o),s=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(s)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Ga._cmpBySpecificity),a}insert(t,a,o,r,s,n){if(a===""){this._doInsertHere(t,o,r,s,n);return}let u=a.indexOf("."),l,i;u===-1?(l=a,i=""):(l=a.substring(0,u),i=a.substring(u+1));let f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Ga(this._mainRule.clone(),Ua.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.insert(t+1,i,o,r,s,n)}_doInsertHere(t,a,o,r,s){if(a===null){this._mainRule.acceptOverwrite(t,o,r,s);return}for(let n=0,u=this._rulesWithParentScopes.length;n<u;n++){let l=this._rulesWithParentScopes[n];if(vr(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,s);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new Ua(t,a,o,r,s))}},Te=class se{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=se.getLanguageId(t),o=se.getTokenType(t),r=se.getFontStyle(t),s=se.getForeground(t),n=se.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:s,background:n})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,o,r,s,n,u){let l=se.getLanguageId(t),i=se.getTokenType(t),f=se.containsBalancedBrackets(t)?1:0,d=se.getFontStyle(t),p=se.getForeground(t),c=se.getBackground(t);return a!==0&&(l=a),o!==8&&(i=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(p=n),u!==0&&(c=u),(l<<0|i<<8|f<<10|d<<11|p<<15|c<<24)>>>0}};function Gt(e,t){let a=[],o=Ml(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let i=n();if(a.push({matcher:i,priority:l}),r!==",")break;r=o.next()}return a;function s(){if(r==="-"){r=o.next();let l=s();return i=>!!l&&!l(i)}if(r==="("){r=o.next();let l=u();return r===")"&&(r=o.next()),l}if(yr(r)){let l=[];do l.push(r),r=o.next();while(yr(r));return i=>t(l,i)}return null}function n(){let l=[],i=s();for(;i;)l.push(i),i=s();return f=>l.every(d=>d(f))}function u(){let l=[],i=n();for(;i&&(l.push(i),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");i=n()}return f=>l.some(d=>d(f))}}function yr(e){return!!e&&!!e.match(/[\w\.:]+/)}function Ml(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function qr(e){typeof e.dispose=="function"&&e.dispose()}var nt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},vl=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Dl=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))}},_l=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new nt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Dl;for(let a of e)El(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof nt){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 El(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let s=a.lookup(t);e instanceof nt?Ut({baseGrammar:s,selfGrammar:r},o):Wa(e.ruleName,{baseGrammar:s,selfGrammar:r,repository:r.repository},o);let n=a.injections(e.scopeName);if(n)for(let u of n)o.add(new nt(u))}function Wa(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];Wt([o],t,a)}}function Ut(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Wt(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Wt(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Wt(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Br({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&Wt(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Or(s);switch(n.kind){case 0:Ut({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ut(t,a);break;case 2:Wa(n.ruleName,{...t,repository:r},a);break;case 3:case 4:let u=n.scopeName===t.selfGrammar.scopeName?t.selfGrammar:n.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(u){let l={baseGrammar:t.baseGrammar,selfGrammar:u,repository:r};n.kind===4?Wa(n.ruleName,l,a):Ut(l,a)}else n.kind===4?a.add(new vl(n.scopeName,n.ruleName)):a.add(new nt(n.scopeName));break}}}var Nl=class{kind=0},ql=class{kind=1},Ol=class{constructor(e){this.ruleName=e}kind=2},Hl=class{constructor(e){this.scopeName=e}kind=3},Ul=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Or(e){if(e==="$base")return new Nl;if(e==="$self")return new ql;let t=e.indexOf("#");if(t===-1)return new Hl(e);if(t===0)return new Ol(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new Ul(a,o)}}var Gl=/\\(\d+)/,kr=/\\(\d+)/g;var Wl=-1,Hr=-2;var it=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ot.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Ot.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Rr(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:Ot.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ot.replaceCaptures(this._contentName,e,t)}},zl=class extends it{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},Vl=class extends it{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new lt(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ut,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},br=class extends it{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ut,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},za=class extends it{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,s,n,u,l,i){super(e,t,a,o),this._begin=new lt(r,this.id),this.beginCaptures=s,this._end=new lt(n||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=u,this.applyEndPatternLast=l||!1,this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ut;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}},zt=class extends it{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,s,n,u,l){super(e,t,a,o),this._begin=new lt(r,this.id),this.beginCaptures=s,this.whileCaptures=u,this._while=new lt(n,Hr),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ut;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new ut,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Ur=class K{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new zl(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new Vl(t.$vscodeTextmateLocation,t.id,t.name,t.match,K._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Br({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new br(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,K._compilePatterns(s,a,o))}return t.while?new zt(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,K._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,K._compileCaptures(t.whileCaptures||t.captures,a,o),K._compilePatterns(t.patterns,a,o)):new za(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,K._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,K._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,K._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let s=0;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let u=parseInt(n,10);u>s&&(s=u)}for(let n=0;n<=s;n++)r[n]=null;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let u=parseInt(n,10),l=0;t[n].patterns&&(l=K.getCompiledRuleId(t[n],a,o)),r[u]=K.createCaptureRule(a,t[n].$vscodeTextmateLocation,t[n].name,t[n].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let s=0,n=t.length;s<n;s++){let u=t[s],l=-1;if(u.include){let i=Or(u.include);switch(i.kind){case 0:case 1:l=K.getCompiledRuleId(o[u.include],a,o);break;case 2:let f=o[i.ruleName];f&&(l=K.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=i.scopeName,p=i.kind===4?i.ruleName:null,c=a.getExternalGrammar(d,o);if(c)if(p){let h=c.repository[p];h&&(l=K.getCompiledRuleId(h,a,c.repository))}else l=K.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=K.getCompiledRuleId(u,a,o);if(l!==-1){let i=a.getRule(l),f=!1;if((i instanceof br||i instanceof za||i instanceof zt)&&i.hasMissingPatterns&&i.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},lt=class Gr{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,s=[],n=!1;for(let u=0;u<o;u++)if(t.charAt(u)==="\\"&&u+1<o){let i=t.charAt(u+1);i==="z"?(s.push(t.substring(r,u)),s.push("$(?!\\n)(?<!\\n)"),r=u+2):(i==="A"||i==="G")&&(n=!0),u++}this.hasAnchor=n,r===0?this.source=t:(s.push(t.substring(r,o)),this.source=s.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=Gl.test(this.source):this.hasBackReferences=!1}clone(){return new Gr(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let o=a.map(r=>t.substring(r.start,r.end));return kr.lastIndex=0,this.source.replace(kr,(r,s)=>Dr(o[parseInt(s,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],o=[],r=[],s,n,u,l;for(s=0,n=this.source.length;s<n;s++)u=this.source.charAt(s),t[s]=u,a[s]=u,o[s]=u,r[s]=u,u==="\\"&&s+1<n&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",a[s+1]="\uFFFF",o[s+1]="A",r[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",a[s+1]="G",o[s+1]="\uFFFF",r[s+1]="G"):(t[s+1]=l,a[s+1]=l,o[s+1]=l,r[s+1]=l),s++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},ut=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 Pr(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let o=this._items.map(r=>r.resolveAnchors(t,a));return new Pr(e,o,this._items.map(r=>r.ruleId))}},Pr=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
3
  `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Ha=class{constructor(e,t){this.languageId=e,this.tokenType=t}},jl=class Va{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Ha(t,8),this._embeddedLanguagesMatcher=new $l(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Va._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Ha(0,0);_getBasicScopeAttributes=new _r(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Ha(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Va.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/},$l=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,o])=>Dr(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])}},Bp={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Wr=!1,Ar=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function zr(e,t,a,o,r,s,n,u){let l=t.content.length,i=!1,f=-1;if(n){let c=Xl(e,t,a,o,r,s);r=c.stack,o=c.linePos,a=c.isFirstLine,f=c.anchorPosition}let d=Date.now();for(;!i;){if(u!==0&&Date.now()-d>u)return new Ar(r,!0);p()}return new Ar(r,!1);function p(){let c=Ql(e,t,a,o,r,f);if(!c){s.produce(r,l),i=!0;return}let h=c.captureIndices,I=c.matchedRuleId,x=h&&h.length>0?h[0].end>o:!1;if(I===Wl){let g=r.getRule(e);s.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),ot(e,t,a,r,s,g.endCaptures,h),s.produce(r,h[0].end);let L=r;if(r=r.parent,f=L.getAnchorPos(),!x&&L.getEnterPos()===o){r=L,s.produce(r,l),i=!0;return}}else{let g=e.getRule(I);s.produce(r,h[0].start);let L=r,m=g.getName(t.content,h),w=r.contentNameScopesList.pushAttributed(m,e);if(r=r.push(I,o,f,h[0].end===l,null,w,w),g instanceof za){let S=g;ot(e,t,a,r,s,S.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let y=S.getContentName(t.content,h),C=w.pushAttributed(y,e);if(r=r.withContentNameScopesList(C),S.endHasBackReferences&&(r=r.withEndRule(S.getEndWithResolvedBackReferences(t.content,h))),!x&&L.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),i=!0;return}}else if(g instanceof zt){let S=g;ot(e,t,a,r,s,S.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let y=S.getContentName(t.content,h),C=w.pushAttributed(y,e);if(r=r.withContentNameScopesList(C),S.whileHasBackReferences&&(r=r.withEndRule(S.getWhileWithResolvedBackReferences(t.content,h))),!x&&L.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),i=!0;return}}else if(ot(e,t,a,r,s,g.captures,h),s.produce(r,h[0].end),r=r.pop(),!x){r=r.safePop(),s.produce(r,l),i=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function Xl(e,t,a,o,r,s){let n=r.beginRuleCapturedEOL?0:-1,u=[];for(let l=r;l;l=l.pop()){let i=l.getRule(e);i instanceof zt&&u.push({rule:i,stack:l})}for(let l=u.pop();l;l=u.pop()){let{ruleScanner:i,findOptions:f}=Zl(l.rule,e,l.stack.endRule,a,o===n),d=i.findNextMatchSync(t,o,f);if(d){if(d.ruleId!==Hr){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),ot(e,t,a,l.stack,s,l.rule.whileCaptures,d.captureIndices),s.produce(l.stack,d.captureIndices[0].end),n=d.captureIndices[0].end,d.captureIndices[0].end>o&&(o=d.captureIndices[0].end,a=!1))}else{r=l.stack.pop();break}}return{stack:r,linePos:o,anchorPosition:n,isFirstLine:a}}function Ql(e,t,a,o,r,s){let n=Kl(e,t,a,o,r,s),u=e.getInjections();if(u.length===0)return n;let l=Jl(u,e,t,a,o,r,s);if(!l)return n;if(!n)return l;let i=n.captureIndices[0].start,f=l.captureIndices[0].start;return f<i||l.priorityMatch&&f===i?l:n}function Kl(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:u,findOptions:l}=Vr(n,e,r.endRule,a,o===s),i=u.findNextMatchSync(t,o,l);return i?{captureIndices:i.captureIndices,matchedRuleId:i.ruleId}:null}function Jl(e,t,a,o,r,s,n){let u=Number.MAX_VALUE,l=null,i,f=0,d=s.contentNameScopesList.getScopeNames();for(let p=0,c=e.length;p<c;p++){let h=e[p];if(!h.matcher(d))continue;let I=t.getRule(h.ruleId),{ruleScanner:x,findOptions:g}=Vr(I,t,null,o,r===n),L=x.findNextMatchSync(a,r,g);if(!L)continue;let m=L.captureIndices[0].start;if(!(m>=u)&&(u=m,l=L.captureIndices,i=L.ruleId,f=h.priority,u===r))break}return l?{priorityMatch:f===-1,captureIndices:l,matchedRuleId:i}:null}function Vr(e,t,a,o,r){if(Wr){let n=e.compile(t,a),u=jr(o,r);return{ruleScanner:n,findOptions:u}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function Zl(e,t,a,o,r){if(Wr){let n=e.compileWhile(t,a),u=jr(o,r);return{ruleScanner:n,findOptions:u}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function jr(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function ot(e,t,a,o,r,s,n){if(s.length===0)return;let u=t.content,l=Math.min(s.length,n.length),i=[],f=n[0].end;for(let d=0;d<l;d++){let p=s[d];if(p===null)continue;let c=n[d];if(c.length===0)continue;if(c.start>f)break;for(;i.length>0&&i[i.length-1].endPos<=c.start;)r.produceFromScopes(i[i.length-1].scopes,i[i.length-1].endPos),i.pop();if(i.length>0?r.produceFromScopes(i[i.length-1].scopes,c.start):r.produce(o,c.start),p.retokenizeCapturedWithRuleId){let I=p.getName(u,n),x=o.contentNameScopesList.pushAttributed(I,e),g=p.getContentName(u,n),L=x.pushAttributed(g,e),m=o.push(p.retokenizeCapturedWithRuleId,c.start,-1,!1,null,x,L),w=e.createOnigString(u.substring(0,c.end));zr(e,w,a&&c.start===0,c.start,m,r,!1,0),qr(w);continue}let h=p.getName(u,n);if(h!==null){let x=(i.length>0?i[i.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);i.push(new Yl(x,c.end))}}for(;i.length>0;)r.produceFromScopes(i[i.length-1].scopes,i[i.length-1].endPos),i.pop()}var Yl=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function eu(e,t,a,o,r,s,n,u){return new au(e,t,a,o,r,s,n,u)}function Tr(e,t,a,o,r){let s=Gt(t,Vt),n=Ur.getCompiledRuleId(a,o,r.repository);for(let u of s)e.push({debugSelector:t,matcher:u.matcher,ruleId:n,grammar:r,priority:u.priority})}function Vt(e,t){if(t.length<e.length)return!1;let a=0;return e.every(o=>{for(let r=a;r<t.length;r++)if(tu(t[r],o))return a=r+1,!0;return!1})}function tu(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 au=class{constructor(e,t,a,o,r,s,n,u){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=u,this._basicScopeAttributesProvider=new jl(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=Fr(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let i=Gt(l,Vt);for(let f of i)this._tokenTypeMatchers.push({matcher:f.matcher,type:r[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:r=>r===this._rootScopeName?this._grammar:this.getExternalGrammar(r),injections:r=>this._grammarRepository.injections(r)},t=[],a=this._rootScopeName,o=e.lookup(a);if(o){let r=o.injections;if(r)for(let n in r)Tr(t,n,r[n],this,o);let s=this._grammarRepository.injections(a);s&&s.forEach(n=>{let u=this.getExternalGrammar(n);if(u){let l=u.injectionSelector;l&&Tr(t,l,u,this,u)}})}return t.sort((r,s)=>r.priority-s.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=Fr(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let o=this._tokenize(e,t,!1,a);return{tokens:o.lineTokens.getResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}tokenizeLine2(e,t,a=0){let o=this._tokenize(e,t,!0,a);return{tokens:o.lineTokens.getBinaryResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}_tokenize(e,t,a,o){this._rootId===-1&&(this._rootId=Ur.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===ja.NULL){r=!0;let i=this._basicScopeAttributesProvider.getDefaultAttributes(),f=this.themeProvider.getDefaults(),d=Te.set(0,i.languageId,i.tokenType,null,f.fontStyle,f.foregroundId,f.backgroundId),p=this.getRule(this._rootId).getName(null,null),c;p?c=rt.createRootAndLookUpScopeName(p,d,this):c=rt.createRoot("unknown",d),t=new ja(null,this._rootId,-1,-1,!1,null,c,c)}else r=!1,t.reset();e=e+`
4
4
  `;let s=this.createOnigString(e),n=s.content.length,u=new ru(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=zr(this,s,r,0,t,u,!0,o);return qr(s),{lineLength:n,lineTokens:u,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Fr(e,t){return e=Cl(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 rt=class fe{constructor(t,a,o){this.parent=t,this.scopePath=a,this.tokenAttributes=o}static fromExtension(t,a){let o=t,r=t?.scopePath??null;for(let s of a)r=Oa.push(r,s.scopeNames),o=new fe(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new fe(null,new Oa(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new Oa(null,t),n=o.themeProvider.themeMatch(s),u=fe.mergeAttributes(a,r,n);return new fe(null,s,u)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return fe.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,o){let r=-1,s=0,n=0;return o!==null&&(r=o.fontStyle,s=o.foregroundId,n=o.backgroundId),Te.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return fe._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=fe._pushAttributed(r,s,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),s=t.scopePath.push(a),n=o.themeProvider.themeMatch(s),u=fe.mergeAttributes(t.tokenAttributes,r,n);return new fe(t,s,u)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push({encodedTokenAttributes:o.tokenAttributes,scopeNames:o.scopePath.getExtensionIfDefined(o.parent?.scopePath??null)}),o=o.parent;return o===t?a.reverse():void 0}},ja=class Ae{constructor(t,a,o,r,s,n,u,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=s,this.endRule=n,this.nameScopesList=u,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=o,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new Ae(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:Ae._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?rt.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(){Ae._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,u){return new Ae(this,t,a,o,r,s,n,u)}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 Ae(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let o=rt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new Ae(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,rt.fromExtension(o,a.contentNameScopesList))}},ou=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Gt(a,Vt).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Gt(a,Vt).map(o=>o.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},ru=class{constructor(e,t,a,o){this.balancedBracketSelectors=o,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let s=e?.getScopeNames()??[];for(let n of this._tokenTypeOverrides)n.matcher(s)&&(o=Te.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=Te.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let o=0,r=this._binaryTokens.length;o<r;o++)a[o]=this._binaryTokens[o];return a}},su=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,o,r){if(!this._grammars.has(e)){let s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,eu(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},$r=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new su(st.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(st.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 ou(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new _l(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(n=>this._loadSingleGrammar(n.scopeName)),s.processQueue();return this._grammarForScopeName(e,t,a,o,r)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,o=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,o)}_grammarForScopeName(e,t=0,a=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(e,t,a,o,r)}},jt=ja.NULL;var nu=/["&'<>`]/g,lu=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,uu=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,iu=/[|\\{}()[\]^$+*?.]/g,Xr=new WeakMap;function Qr(e,t){if(e=e.replace(t.subset?du(t.subset):nu,o),t.subset||t.escapeOnly)return e;return e.replace(lu,a).replace(uu,o);function a(r,s,n){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,n.charCodeAt(s+2),t)}function o(r,s,n){return t.format(r.charCodeAt(0),n.charCodeAt(s+1),t)}}function du(e){let t=Xr.get(e);return t||(t=fu(e),Xr.set(e,t)),t}function fu(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(iu,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var cu=/[\dA-Fa-f]/;function Kr(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!cu.test(String.fromCharCode(t))?o:o+";"}var pu=/\d/;function Jr(e,t,a){let o="&#"+String(e);return a&&t&&!pu.test(String.fromCharCode(t))?o:o+";"}var Zr=["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 $t={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 Yr=["cent","copy","divide","gt","lt","not","para","times"];var es={}.hasOwnProperty,Xa={},Xt;for(Xt in $t)es.call($t,Xt)&&(Xa[$t[Xt]]=Xt);var mu=/[^\dA-Za-z]/;function ts(e,t,a,o){let r=String.fromCharCode(e);if(es.call(Xa,r)){let s=Xa[r],n="&"+s;return a&&Zr.includes(s)&&!Yr.includes(s)&&(!o||t&&t!==61&&mu.test(String.fromCharCode(t)))?n:n+";"}return""}function as(e,t,a){let o=Kr(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=ts(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=Jr(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function he(e,t){return Qr(e,Object.assign({format:as},t))}var hu=/^>|^->|<!--|-->|--!>|<!-$/g,gu=[">"],Lu=["<",">"];function os(e,t,a,o){return o.settings.bogusComments?"<?"+he(e.value,Object.assign({},o.settings.characterReferences,{subset:gu}))+">":"<!--"+e.value.replace(hu,r)+"-->";function r(s){return he(s,Object.assign({},o.settings.characterReferences,{subset:Lu}))}}function rs(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var H=ss(1),Qa=ss(-1),xu=[];function ss(e){return t;function t(a,o,r){let s=a?a.children:xu,n=(o||0)+e,u=s[n];if(!r)for(;u&&_e(u);)n+=e,u=s[n];return u}}var wu={}.hasOwnProperty;function Qt(e){return t;function t(a,o,r){return wu.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var dt=Qt({body:Cu,caption:Ka,colgroup:Ka,dd:bu,dt:ku,head:Ka,html:Iu,li:yu,optgroup:Pu,option:Au,p:Su,rp:ns,rt:ns,tbody:Fu,td:ls,tfoot:Bu,th:ls,thead:Tu,tr:Ru});function Ka(e,t,a){let o=H(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&_e(o.value.charAt(0)))}function Iu(e,t,a){let o=H(a,t);return!o||o.type!=="comment"}function Cu(e,t,a){let o=H(a,t);return!o||o.type!=="comment"}function Su(e,t,a){let o=H(a,t);return o?o.type==="element"&&(o.tagName==="address"||o.tagName==="article"||o.tagName==="aside"||o.tagName==="blockquote"||o.tagName==="details"||o.tagName==="div"||o.tagName==="dl"||o.tagName==="fieldset"||o.tagName==="figcaption"||o.tagName==="figure"||o.tagName==="footer"||o.tagName==="form"||o.tagName==="h1"||o.tagName==="h2"||o.tagName==="h3"||o.tagName==="h4"||o.tagName==="h5"||o.tagName==="h6"||o.tagName==="header"||o.tagName==="hgroup"||o.tagName==="hr"||o.tagName==="main"||o.tagName==="menu"||o.tagName==="nav"||o.tagName==="ol"||o.tagName==="p"||o.tagName==="pre"||o.tagName==="section"||o.tagName==="table"||o.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function yu(e,t,a){let o=H(a,t);return!o||o.type==="element"&&o.tagName==="li"}function ku(e,t,a){let o=H(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function bu(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function ns(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Pu(e,t,a){let o=H(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function Au(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function Tu(e,t,a){let o=H(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function Fu(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function Bu(e,t,a){return!H(a,t)}function Ru(e,t,a){let o=H(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function ls(e,t,a){let o=H(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var us=Qt({body:Du,colgroup:_u,head:vu,html:Mu,tbody:Eu});function Mu(e){let t=H(e,-1);return!t||t.type!=="comment"}function vu(e){let t=new Set;for(let o of e.children)if(o.type==="element"&&(o.tagName==="base"||o.tagName==="title")){if(t.has(o.tagName))return!1;t.add(o.tagName)}let a=e.children[0];return!a||a.type==="element"}function Du(e){let t=H(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&_e(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function _u(e,t,a){let o=Qa(a,t),r=H(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Eu(e,t,a){let o=Qa(a,t),r=H(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Kt={name:[[`
5
5
  \f\r &/=>`.split(""),`
@@ -254,8 +254,6 @@ interface NextJsHandlerResult {
254
254
  GET: (request: Request) => Promise<Response>;
255
255
  /** POST handler: proxies chat messages to the WaniWani API */
256
256
  POST: (request: Request) => Promise<Response>;
257
- /** Forces Next.js to treat this route as dynamic (skips static generation caching for GET) */
258
- dynamic: "force-dynamic";
259
257
  }
260
258
 
261
259
  /**
@@ -275,7 +273,7 @@ interface NextJsHandlerResult {
275
273
  *
276
274
  * const wani = waniwani();
277
275
  *
278
- * export const { GET, POST, dynamic } = toNextJsHandler(wani, {
276
+ * export const { GET, POST } = toNextJsHandler(wani, {
279
277
  * chat: {
280
278
  * systemPrompt: "You are a helpful assistant.",
281
279
  * mcpServerUrl: process.env.MCP_SERVER_URL!,
@@ -1,2 +1,2 @@
1
- function b(o,c){return c?(...a)=>console.log(`[waniwani:${o}]`,...a):()=>{}}var y=class extends Error{constructor(a,m){super(a);this.status=m;this.name="WaniWaniError"}};function E(o){let{apiKey:c,baseUrl:a,systemPrompt:m,maxSteps:e,beforeRequest:d,mcpServerUrl:f,resolveConfig:t,debug:p}=o,r=b("chat",p);return async function(g){r("\u2192 POST",g.url);try{let l=await g.json(),n=l.messages??[],i=l.sessionId,h=m;if(r("body parsed \u2014 messages:",n.length,"sessionId:",i??"(none)"),d){r("running beforeRequest hook");try{let u=await d({messages:n,sessionId:i,request:g});u&&(u.messages&&(n=u.messages),u.systemPrompt!==void 0&&(h=u.systemPrompt),u.sessionId!==void 0&&(i=u.sessionId)),r("beforeRequest hook done \u2014 messages:",n.length,"sessionId:",i??"(none)")}catch(u){console.error("[waniwani:chat] beforeRequest hook error:",u);let T=u instanceof y?u.status:400,N=u instanceof Error?u.message:"Request rejected";return r("\u2190 returning",T,"from hook error"),Response.json({error:N},{status:T})}}let v=f??(await t()).mcpServerUrl;r("mcpServerUrl:",v);let w=`${a}/api/mcp/chat`;r("forwarding to",w);let s=await fetch(w,{method:"POST",headers:{"Content-Type":"application/json",...c?{Authorization:`Bearer ${c}`}:{}},body:JSON.stringify({messages:n,mcpServerUrl:v,sessionId:i,systemPrompt:h,maxSteps:e}),signal:g.signal});if(r("upstream response status:",s.status),!s.ok){let u=await s.text().catch(()=>"");return r("\u2190 returning",s.status,"upstream error:",u),new Response(u,{status:s.status,headers:{"Content-Type":s.headers.get("Content-Type")??"application/json"}})}let P=new Headers({"Content-Type":s.headers.get("Content-Type")??"text/event-stream"}),H=s.headers.get("x-session-id");return H&&P.set("x-session-id",H),r("\u2190 streaming response",s.status,"body null?",s.body===null),new Response(s.body,{status:s.status,headers:P})}catch(l){console.error("[waniwani:chat] handler error:",l);let n=l instanceof Error?l.message:"Unknown error occurred",i=l instanceof y?l.status:500;return r("\u2190 returning",i,"from caught error"),Response.json({error:n},{status:i})}}}function S(o){let{mcpServerUrl:c,resolveConfig:a,debug:m}=o,e=b("resource",m);return async function(f){e("\u2192 GET",f.toString());try{let t=f.searchParams.get("uri");if(e("uri:",t??"(missing)"),!t)return e("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let p=c??(await a()).mcpServerUrl;e("mcpServerUrl:",p);let r,C;try{[{createMCPClient:r},{StreamableHTTPClientTransport:C}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),e("MCP deps loaded")}catch(l){return console.error("[waniwani:resource] MCP deps import failed:",l),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}e("creating MCP client for",p);let g=await r({transport:new C(new URL(p))});try{e("reading resource:",t);let l=await g.readResource({uri:t});e("resource contents count:",l.contents.length);let n=l.contents[0];if(!n)return e("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let i;return"text"in n&&typeof n.text=="string"?i=n.text:"blob"in n&&typeof n.blob=="string"&&(i=atob(n.blob)),i?(e("\u2190 200 HTML length:",i.length),new Response(i,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(e("\u2190 404 resource has no content, keys:",Object.keys(n)),Response.json({error:"Resource has no content"},{status:404}))}finally{await g.close(),e("MCP client closed")}}catch(t){console.error("[waniwani:resource] handler error:",t);let p=t instanceof Error?t.message:"Unknown error occurred",r=t instanceof y?t.status:500;return e("\u2190 returning",r,"from caught error"),Response.json({error:p},{status:r})}}}var M=300*1e3;function U(o,c){let a=null,m=null;return async function(){if(a&&Date.now()<a.expiresAt)return a.config;if(m)return m;m=(async()=>{if(!c)throw new y("WANIWANI_API_KEY is required for createChatHandler",401);let d=await fetch(`${o}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${c}`,"Content-Type":"application/json"}});if(!d.ok){let t=await d.text().catch(()=>"");throw new y(`Failed to resolve MCP environment config: ${d.status} ${t}`,d.status)}let f=await d.json();return a={config:f,expiresAt:Date.now()+M},f})();try{return await m}finally{m=null}}}function j(o={}){let{apiKey:c=process.env.WANIWANI_API_KEY,baseUrl:a="https://app.waniwani.ai",systemPrompt:m,maxSteps:e=5,beforeRequest:d,mcpServerUrl:f,debug:t=!1}=o,p=b("router",t),r=U(a,c),C=E({apiKey:c,baseUrl:a,systemPrompt:m,maxSteps:e,beforeRequest:d,mcpServerUrl:f,resolveConfig:r,debug:t}),g=S({mcpServerUrl:f,resolveConfig:r,debug:t});async function l(){return Response.json({debug:t})}async function n(i){p("\u2192 GET",i.url);try{let h=new URL(i.url),w=h.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(p("pathname:",h.pathname,"subRoute:",w),w==="resource"){p("dispatching to resource handler");let s=await g(h);return p("\u2190 resource handler returned",s.status),s}if(w==="config"){p("dispatching to config handler");let s=await l();return p("\u2190 config handler returned",s.status),s}return p("\u2190 404 no matching sub-route for",w),Response.json({error:"Not found"},{status:404})}catch(h){console.error("[waniwani:router] GET handler error:",h);let v=h instanceof Error?h.message:"Unknown error occurred";return p("\u2190 500 from caught error"),Response.json({error:v},{status:500})}}return{handleChat:C,handleResource:g,routeGet:n}}var k;try{k=(await import("next/server")).NextResponse}catch{throw new Error('@waniwani/sdk/next-js requires "next" as a dependency. Install it with: npm install next')}function A(o){return new k(o.body,{status:o.status,statusText:o.statusText,headers:o.headers})}function ne(o,c){let{apiKey:a,baseUrl:m}=o._config,e=c?.debug??process.env.WANIWANI_DEBUG==="1",d=j({...c?.chat,apiKey:a,baseUrl:m,debug:e});return{POST:async f=>A(await d.handleChat(f)),GET:async f=>A(await d.routeGet(f)),dynamic:"force-dynamic"}}export{ne as toNextJsHandler};
1
+ function C(d,i){return i?(...s)=>console.log(`[waniwani:${d}]`,...s):()=>{}}var y=class extends Error{constructor(s,l){super(s);this.status=l;this.name="WaniWaniError"}};function S(d){let{apiKey:i,baseUrl:s,systemPrompt:l,maxSteps:e,beforeRequest:m,mcpServerUrl:f,resolveConfig:t,debug:c}=d,r=C("chat",c);return async function(g){r("\u2192 POST",g.url);try{let u=await g.json(),n=u.messages??[],a=u.sessionId,h=l;if(r("body parsed \u2014 messages:",n.length,"sessionId:",a??"(none)"),m){r("running beforeRequest hook");try{let p=await m({messages:n,sessionId:a,request:g});p&&(p.messages&&(n=p.messages),p.systemPrompt!==void 0&&(h=p.systemPrompt),p.sessionId!==void 0&&(a=p.sessionId)),r("beforeRequest hook done \u2014 messages:",n.length,"sessionId:",a??"(none)")}catch(p){console.error("[waniwani:chat] beforeRequest hook error:",p);let E=p instanceof y?p.status:400,A=p instanceof Error?p.message:"Request rejected";return r("\u2190 returning",E,"from hook error"),Response.json({error:A},{status:E})}}let x=f??(await t()).mcpServerUrl;r("mcpServerUrl:",x);let w=`${s}/api/mcp/chat`;r("forwarding to",w);let o=await fetch(w,{method:"POST",headers:{"Content-Type":"application/json",...i?{Authorization:`Bearer ${i}`}:{}},body:JSON.stringify({messages:n,mcpServerUrl:x,sessionId:a,systemPrompt:h,maxSteps:e}),signal:g.signal});if(r("upstream response status:",o.status),!o.ok){let p=await o.text().catch(()=>"");return r("\u2190 returning",o.status,"upstream error:",p),new Response(p,{status:o.status,headers:{"Content-Type":o.headers.get("Content-Type")??"application/json"}})}let P=new Headers({"Content-Type":o.headers.get("Content-Type")??"text/event-stream"}),H=o.headers.get("x-session-id");return H&&P.set("x-session-id",H),r("\u2190 streaming response",o.status,"body null?",o.body===null),new Response(o.body,{status:o.status,headers:P})}catch(u){console.error("[waniwani:chat] handler error:",u);let n=u instanceof Error?u.message:"Unknown error occurred",a=u instanceof y?u.status:500;return r("\u2190 returning",a,"from caught error"),Response.json({error:n},{status:a})}}}function T(d){let{mcpServerUrl:i,resolveConfig:s,debug:l}=d,e=C("resource",l);return async function(f){e("\u2192 GET",f.toString());try{let t=f.searchParams.get("uri");if(e("uri:",t??"(missing)"),!t)return e("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let c=i??(await s()).mcpServerUrl;e("mcpServerUrl:",c);let r,v;try{[{createMCPClient:r},{StreamableHTTPClientTransport:v}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),e("MCP deps loaded")}catch(u){return console.error("[waniwani:resource] MCP deps import failed:",u),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}e("creating MCP client for",c);let g=await r({transport:new v(new URL(c))});try{e("reading resource:",t);let u=await g.readResource({uri:t});e("resource contents count:",u.contents.length);let n=u.contents[0];if(!n)return e("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let a;return"text"in n&&typeof n.text=="string"?a=n.text:"blob"in n&&typeof n.blob=="string"&&(a=atob(n.blob)),a?(e("\u2190 200 HTML length:",a.length),new Response(a,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(e("\u2190 404 resource has no content, keys:",Object.keys(n)),Response.json({error:"Resource has no content"},{status:404}))}finally{await g.close(),e("MCP client closed")}}catch(t){console.error("[waniwani:resource] handler error:",t);let c=t instanceof Error?t.message:"Unknown error occurred",r=t instanceof y?t.status:500;return e("\u2190 returning",r,"from caught error"),Response.json({error:c},{status:r})}}}var k=300*1e3;function U(d,i){let s=null,l=null;return async function(){if(s&&Date.now()<s.expiresAt)return s.config;if(l)return l;l=(async()=>{if(!i)throw new y("WANIWANI_API_KEY is required for createChatHandler",401);let m=await fetch(`${d}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json"}});if(!m.ok){let t=await m.text().catch(()=>"");throw new y(`Failed to resolve MCP environment config: ${m.status} ${t}`,m.status)}let f=await m.json();return s={config:f,expiresAt:Date.now()+k},f})();try{return await l}finally{l=null}}}function j(d={}){let{apiKey:i=process.env.WANIWANI_API_KEY,baseUrl:s="https://app.waniwani.ai",systemPrompt:l,maxSteps:e=5,beforeRequest:m,mcpServerUrl:f,debug:t=!1}=d,c=C("router",t),r=U(s,i),v=S({apiKey:i,baseUrl:s,systemPrompt:l,maxSteps:e,beforeRequest:m,mcpServerUrl:f,resolveConfig:r,debug:t}),g=T({mcpServerUrl:f,resolveConfig:r,debug:t});async function u(){return Response.json({debug:t})}async function n(a){c("\u2192 GET",a.url);try{let h=new URL(a.url),w=h.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",h.pathname,"subRoute:",w),w==="resource"){c("dispatching to resource handler");let o=await g(h);return c("\u2190 resource handler returned",o.status),o}if(w==="config"){c("dispatching to config handler");let o=await u();return c("\u2190 config handler returned",o.status),o}return c("\u2190 404 no matching sub-route for",w),Response.json({error:"Not found"},{status:404})}catch(h){console.error("[waniwani:router] GET handler error:",h);let x=h instanceof Error?h.message:"Unknown error occurred";return c("\u2190 500 from caught error"),Response.json({error:x},{status:500})}}return{handleChat:v,handleResource:g,routeGet:n}}function re(d,i){let{apiKey:s,baseUrl:l}=d._config,e=i?.debug??process.env.WANIWANI_DEBUG==="1",m=j({...i?.chat,apiKey:s,baseUrl:l,debug:e});return{POST:m.handleChat,GET:m.routeGet}}export{re as toNextJsHandler};
2
2
  //# sourceMappingURL=index.js.map