)(e.mode,t))});_text=(0,Ct.once)(()=>{let e=[];for(let{content:t,isTextSibling:r}of la(this)){if(t instanceof Mt||t instanceof Ft||t instanceof bt){e.push(t);continue}if(t instanceof Me){e.at(-1)instanceof Me?e[e.length-1]=t:e.push(t);continue}if(t.lineBreakBefore===1||t.lineBreakBefore===2&&!r){let i=e[e.length-1];typeof i=="string"&&i&&!i.endsWith(` `)&&(e[e.length-1]=i+` `)}typeof e[e.length-1]=="string"?e[e.length-1]+=t.text:e.push(t.text)}return e});toChatMessage(){let e=this.text.map(t=>{if(typeof t=="string")return{type:be.Raw.ChatCompletionContentPartKind.Text,text:t};if(t instanceof Mt)return{type:be.Raw.ChatCompletionContentPartKind.Image,imageUrl:{url:fa(t.src),detail:t.detail,...t.mimeType?{mediaType:t.mimeType}:{}}};if(t instanceof Ft)return{type:be.Raw.ChatCompletionContentPartKind.Document,documentData:{data:t.data,mediaType:t.mediaType}};if(t instanceof bt)return{type:be.Raw.ChatCompletionContentPartKind.Opaque,value:t.value};if(t instanceof Me)return t.part;throw new Error("Unexpected element type")});if(this.role===be.Raw.ChatRole.System)return{role:this.role,content:e,...this.name?{name:this.name}:{}};if(this.role===be.Raw.ChatRole.Assistant){let t={role:this.role,content:e};return this.name&&(t.name=this.name),this.toolCalls?.length&&(t.toolCalls=this.toolCalls.map(r=>({function:r.function,id:r.id,type:r.type}))),t}else return this.role===be.Raw.ChatRole.User?{role:this.role,content:e,...this.name?{name:this.name}:{}}:this.role===be.Raw.ChatRole.Tool?{role:this.role,content:e,toolCallId:this.toolCallId}:{role:this.role,content:e,name:this.name}}};ge.MaterializedChatMessage=Fe;var bt=class{parent;part;priority;metadata=[];get value(){return this.part.value}constructor(e,t,r=Number.MAX_SAFE_INTEGER){this.parent=e,this.part=t,this.priority=r}upperBoundTokenCount(e){return this.part.tokenUsage&&be.Raw.ChatCompletionContentPartOpaque.usableIn(this.part,e.mode)?this.part.tokenUsage:0}isEmpty=!1};ge.MaterializedChatMessageOpaque=bt;var Me=class{parent;part;metadata=[];priority=Number.MAX_SAFE_INTEGER;constructor(e,t){this.parent=e,this.part=t}upperBoundTokenCount(e){return 0}isEmpty=!1};ge.MaterializedChatMessageBreakpoint=Me;var Mt=class{parent;id;src;priority;metadata;lineBreakBefore;detail;mimeType;constructor(e,t,r,i,s=[],o,a,l){this.parent=e,this.id=t,this.src=r,this.priority=i,this.metadata=s,this.lineBreakBefore=o,this.detail=a,this.mimeType=l}upperBoundTokenCount(e){return this._upperBound(e)}_upperBound=(0,Ct.once)(async e=>e.tokenLength({type:be.Raw.ChatCompletionContentPartKind.Image,imageUrl:{url:fa(this.src),detail:this.detail,mediaType:this.mimeType}}));isEmpty=!1};ge.MaterializedChatMessageImage=Mt;var Ft=class{parent;id;data;mediaType;priority;metadata;lineBreakBefore;constructor(e,t,r,i,s,o=[],a){this.parent=e,this.id=t,this.data=r,this.mediaType=i,this.priority=s,this.metadata=o,this.lineBreakBefore=a}upperBoundTokenCount(e){return this._upperBound(e)}_upperBound=(0,Ct.once)(async e=>e.tokenLength({type:be.Raw.ChatCompletionContentPartKind.Document,documentData:{data:this.data,mediaType:this.mediaType}}));isEmpty=!1};ge.MaterializedChatMessageDocument=Ft;function Tt(n){return n instanceof st||n instanceof Fe}function aa(n){return n instanceof _n||n instanceof Mt||n instanceof Ft||n instanceof bt||n instanceof Me}function w1(n){if(!Tt(n))throw new Error(`Cannot have a text node outside a ChatMessage. Text: "${n.text}"`)}function*la(n,e=!1){for(let t of n.children)t instanceof _n?(yield{content:t,isTextSibling:e},e=!0):t instanceof Mt||t instanceof Ft||t instanceof bt||t instanceof Me?yield{content:t,isTextSibling:!1}:t instanceof bt?yield{content:t,isTextSibling:!0}:(t&&(yield*la(t,e)),e=!1)}function k1(n,e){let t;function r(i,s){if(aa(i))(!t||i.priorityr instanceof Me):n instanceof st&&(t=n.children.some(ua)),ra.set(n,t),t}function R1(n){if(n instanceof Fe)return!0;for(let e=n.parent;e;e=e.parent)if(e instanceof Fe)return!1;return!0}function xi(n,e){let t;if(n instanceof st&&n.has(1)){k1(n,e);return}let r=R1(n),i=n.children.map((s,o)=>({chain:[n],index:o}));for(let s=0;s({chain:u,index:c})))}else if(!t||l.priorityi instanceof Fe?i.role:i.name||"(anonymous)");super(`No lowest priority node found (path: ${r.join(" -> ")})`)}};ge.BudgetExceededError=ar;function ia(n){if(!Tt(n))return-1;let e=Number.MAX_SAFE_INTEGER;for(let t of n.children)e=Math.min(e,t.priority);return e}function*ca(n){yield*n.metadata;for(let e of n.children)Tt(e)?yield*ca(e):yield*e.metadata}function da(n,e,t){for(let r=0;r0;){let t=e.pop();yield t,Tt(t)&&e.push(...t.children)}}function A1(n){let e=n;for(;e.parent;)e=e.parent;return e}function oa(n){return n instanceof st&&n.keepWithId!==void 0}var yi=new Set;function S1(n,e){let t=new Set;for(let r of sa(n))oa(r)&&!yi.has(r.keepWithId)&&t.add(r.keepWithId);if(t.size===0)return!1;for(let r of t)yi.add(r);try{let r=A1(n);for(let i of sa(r))oa(i)&&t.has(i.keepWithId)?bn(i,e):i instanceof Fe&&i.toolCalls&&(i.toolCalls=P1(i.toolCalls,s=>!(s.keepWith&&t.has(s.keepWith.id))),i.isEmpty&&bn(i,e))}finally{for(let r of t)yi.delete(r)}}function Ei(n,e){if(e.id===n)return e;for(let t of e.children)if(Tt(t)){let r=Ei(n,t);if(r)return r}}function bn(n,e){let t=n.parent;if(!t)return;let r=t.children.indexOf(n);r!==-1&&(t.children.splice(r,1),e.push(n),S1(n,e),t.isEmpty?bn(t,e):t.onChunksChange())}function fa(n){let e={"/9j/":"image/jpeg",iVBOR:"image/png",R0lGOD:"image/gif",UklGR:"image/webp"};for(let t of Object.keys(e))if(n.startsWith(t))return`data:${e[t]};base64,${n}`;return n}function P1(n,e){for(let t=0;t{"use strict";function L1(n,e,...t){return{ctor:n,props:e,children:t.flat()}}function pa(){throw new Error("This should not be invoked!")}pa.isFragment=!0;globalThis.vscpp=L1;globalThis.vscppf=pa});var ki=$(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.PromptElement=void 0;ha();var wi=class{props;get priority(){return this.props.priority??Number.MAX_SAFE_INTEGER}get insertLineBreakBefore(){return!0}constructor(e){this.props=e}};lr.PromptElement=wi});var Mi=$(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.LogicalWrapper=W.IfEmpty=W.AbstractKeepWith=W.TokenLimit=W.Expandable=W.Chunk=W.LegacyPrioritization=W.ToolResult=W.PrioritizedList=W.Document=W.Image=W.TextChunk=W.ToolMessage=W.AssistantMessage=W.UserMessage=W.SystemMessage=W.BaseChatMessage=void 0;W.isChatMessagePromptElement=D1;W.useKeepWith=C1;var vn=Fi(),Le=ki();function D1(n){return n instanceof ur||n instanceof cr||n instanceof dr}var Bt=class extends Le.PromptElement{render(){return vscpp(vscppf,null,this.props.children)}};W.BaseChatMessage=Bt;var ur=class extends Bt{constructor(e){e.role=vn.Raw.ChatRole.System,super(e)}};W.SystemMessage=ur;var cr=class extends Bt{constructor(e){e.role=vn.Raw.ChatRole.User,super(e)}};W.UserMessage=cr;var dr=class extends Bt{constructor(e){e.role=vn.Raw.ChatRole.Assistant,super(e)}};W.AssistantMessage=dr;var O1=/\s+/g,Ri=class extends Bt{constructor(e){e.role=vn.Raw.ChatRole.Tool,super(e)}};W.ToolMessage=Ri;var fr=class extends Le.PromptElement{async prepare(e,t,r){let i=this.props.breakOnWhitespace?O1:this.props.breakOn;if(!i)return vscpp(vscppf,null,this.props.children);let s="",o=[];for(let l of this.props.children||[])if(l&&typeof l=="object"){if(typeof l.ctor!="string")throw new Error("TextChunk children must be text literals or intrinsic attributes.");l.ctor==="br"?s+=` `:o.push(l)}else l!=null&&(s+=l);let a=await N1(e,i,s,r);return vscpp(vscppf,null,o,a)}render(e){return e}};W.TextChunk=fr;async function N1(n,e,t,r){if(e instanceof RegExp){if(!e.global)throw new Error(`\`breakOn\` expression must have the global flag set (got ${e})`);e.lastIndex=0}let i="",s=-1;for(;sn.tokenBudget)return i;i=a,s=o}return i}var Ai=class extends Le.PromptElement{constructor(e){super(e)}render(){return vscpp(vscppf,null,this.props.children)}};W.Image=Ai;var Si=class extends Le.PromptElement{constructor(e){super(e)}render(){return vscpp(vscppf,null,this.props.children)}};W.Document=Si;var Pi=class extends Le.PromptElement{render(){let{children:e,priority:t=0,descending:r}=this.props;if(e)return vscpp(vscppf,null,e.map((i,s)=>{if(!i)return;let o=r?t-s:t-e.length+s;return typeof i!="object"?vscpp(fr,{priority:o},i):(i.props??={},i.props.priority=o,i)}))}};W.PrioritizedList=Pi;var Li=class extends Le.PromptElement{render(){return vscpp(vscppf,null,this.props.data.content.map(e=>{if(e&&typeof e.value=="string")return e.value;if(e&&e.value&&typeof e.value.node=="object")return vscpp("elementJSON",{data:e.value})}))}};W.ToolResult=Li;var Di=class extends Le.PromptElement{render(){return vscpp(vscppf,null,this.props.children)}};W.LegacyPrioritization=Di;var Oi=class extends Le.PromptElement{render(){return vscpp(vscppf,null,this.props.children)}};W.Chunk=Oi;var Ni=class extends Le.PromptElement{async render(e,t){return vscpp(vscppf,null,await this.props.value(t))}};W.Expandable=Ni;var Ui=class extends Le.PromptElement{render(){return vscpp(vscppf,null,this.props.children)}};W.TokenLimit=Ui;var pr=class extends Le.PromptElement{};W.AbstractKeepWith=pr;var U1=0;function C1(){let n=U1++;return class extends pr{static id=n;id=n;render(){return vscpp(vscppf,null,this.props.children)}}}var Ci=class extends Le.PromptElement{render(){return vscpp(vscppf,null,vscpp(Tn,null,this.props.alt),vscpp(Tn,{flexGrow:1},this.props.children))}};W.IfEmpty=Ci;var Tn=class extends Le.PromptElement{render(){return vscpp(vscppf,null,this.props.children)}};W.LogicalWrapper=Tn});var ga=$(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.localize=M1;yn.localize2=F1;yn.getConfiguredDefaultLocale=B1;function ma(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,function(r,i){let s=i[0];return typeof e[s]<"u"?e[s]:r}),t}function M1(n,e,...t){return ma(e,t)}function F1(n,e,...t){let r=ma(e,t);return{original:r,value:r}}function B1(n){}});var ji=$(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.isAndroid=v.isEdge=v.isSafari=v.isFirefox=v.isChrome=v.OS=v.setTimeout0=v.setTimeout0IsFaster=v.translationsConfigFile=v.platformLocale=v.locale=v.Language=v.language=v.userAgent=v.platform=v.isCI=v.isMobile=v.isIOS=v.webWorkerOrigin=v.isWebWorker=v.isWeb=v.isElectron=v.isNative=v.isLinuxSnap=v.isLinux=v.isMacintosh=v.isWindows=v.LANGUAGE_DEFAULT=void 0;v.PlatformToString=W1;v.isLittleEndian=j1;v.isBigSurOrNewer=V1;var _a=ga();v.LANGUAGE_DEFAULT="en";var In=!1,wn=!1,En=!1,ya=!1,xa=!1,$i=!1,Ea=!1,Wi=!1,Ia=!1,wa=!1,xn,hr=v.LANGUAGE_DEFAULT,Bi=v.LANGUAGE_DEFAULT,ka,ot,at=globalThis,De;typeof at.vscode<"u"&&typeof at.vscode.process<"u"?De=at.vscode.process:typeof process<"u"&&(De=process);var Ra=typeof De?.versions?.electron=="string",$1=Ra&&De?.type==="renderer";if(typeof De=="object"){In=De.platform==="win32",wn=De.platform==="darwin",En=De.platform==="linux",ya=En&&!!De.env.SNAP&&!!De.env.SNAP_REVISION,Ea=Ra,Ia=!!De.env.CI||!!De.env.BUILD_ARTIFACTSTAGINGDIRECTORY,xn=v.LANGUAGE_DEFAULT,hr=v.LANGUAGE_DEFAULT;let n=De.env.VSCODE_NLS_CONFIG;if(n)try{let e=JSON.parse(n),t=e.availableLanguages["*"];xn=e.locale,Bi=e.osLocale,hr=t||v.LANGUAGE_DEFAULT,ka=e._translationsConfigFile}catch{}xa=!0}else typeof navigator=="object"&&!$1?(ot=navigator.userAgent,In=ot.indexOf("Windows")>=0,wn=ot.indexOf("Macintosh")>=0,Wi=(ot.indexOf("Macintosh")>=0||ot.indexOf("iPad")>=0||ot.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,En=ot.indexOf("Linux")>=0,wa=ot?.indexOf("Mobi")>=0,$i=!0,xn=_a.getConfiguredDefaultLocale(_a.localize({key:"ensureLoaderPluginIsLoaded",comment:["{Locked}"]},"_"))||v.LANGUAGE_DEFAULT,hr=xn,Bi=navigator.language):console.error("Unable to resolve platform.");function W1(n){switch(n){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}var mr=0;wn?mr=1:In?mr=3:En&&(mr=2);v.isWindows=In;v.isMacintosh=wn;v.isLinux=En;v.isLinuxSnap=ya;v.isNative=xa;v.isElectron=Ea;v.isWeb=$i;v.isWebWorker=$i&&typeof at.importScripts=="function";v.webWorkerOrigin=v.isWebWorker?at.origin:void 0;v.isIOS=Wi;v.isMobile=wa;v.isCI=Ia;v.platform=mr;v.userAgent=ot;v.language=hr;var ba;(function(n){function e(){return v.language}n.value=e;function t(){return v.language.length===2?v.language==="en":v.language.length>=3?v.language[0]==="e"&&v.language[1]==="n"&&v.language[2]==="-":!1}n.isDefaultVariant=t;function r(){return v.language==="en"}n.isDefault=r})(ba||(v.Language=ba={}));v.locale=xn;v.platformLocale=Bi;v.translationsConfigFile=ka;v.setTimeout0IsFaster=typeof at.postMessage=="function"&&!at.importScripts;v.setTimeout0=(()=>{if(v.setTimeout0IsFaster){let n=[];at.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let r=0,i=n.length;r{let r=++e;n.push({id:r,callback:t}),at.postMessage({vscodeScheduleAsyncWork:r},"*")}}return n=>setTimeout(n)})();v.OS=wn||Wi?2:In?1:3;var Ta=!0,va=!1;function j1(){if(!va){va=!0;let n=new Uint8Array(2);n[0]=1,n[1]=2,Ta=new Uint16Array(n.buffer)[0]===513}return Ta}v.isChrome=!!(v.userAgent&&v.userAgent.indexOf("Chrome")>=0);v.isFirefox=!!(v.userAgent&&v.userAgent.indexOf("Firefox")>=0);v.isSafari=!!(!v.isChrome&&v.userAgent&&v.userAgent.indexOf("Safari")>=0);v.isEdge=!!(v.userAgent&&v.userAgent.indexOf("Edg/")>=0);v.isAndroid=!!(v.userAgent&&v.userAgent.indexOf("Android")>=0);function V1(n){return parseFloat(n)>=20}});var Sa=$(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.arch=Xe.platform=Xe.env=Xe.cwd=void 0;var Aa=ji(),$t,Vi=globalThis.vscode;if(typeof Vi<"u"&&typeof Vi.process<"u"){let n=Vi.process;$t={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"?$t={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:$t={get platform(){return Aa.isWindows?"win32":Aa.isMacintosh?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};Xe.cwd=$t.cwd;Xe.env=$t.env;Xe.platform=$t.platform;Xe.arch=$t.arch});var La=$(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.delimiter=R.sep=R.toNamespacedPath=R.parse=R.format=R.extname=R.basename=R.dirname=R.relative=R.resolve=R.join=R.isAbsolute=R.normalize=R.posix=R.win32=void 0;var Zt=Sa(),q1=65,K1=97,H1=90,z1=122,xt=46,_e=47,ke=92,vt=58,G1=63,gr=class extends Error{code;constructor(e,t,r){let i;typeof t=="string"&&t.indexOf("not ")===0?(i="must not be",t=t.replace(/^not /,"")):i="must be";let s=e.indexOf(".")!==-1?"property":"argument",o=`The "${e}" ${s} ${i} of type ${t}`;o+=`. Received type ${typeof r}`,super(o),this.code="ERR_INVALID_ARG_TYPE"}};function X1(n,e){if(n===null||typeof n!="object")throw new gr(e,"Object",n)}function le(n,e){if(typeof n!="string")throw new gr(e,"string",n)}var Re=Zt.platform==="win32";function F(n){return n===_e||n===ke}function qi(n){return n===_e}function yt(n){return n>=q1&&n<=H1||n>=K1&&n<=z1}function _r(n,e,t,r){let i="",s=0,o=-1,a=0,l=0;for(let u=0;u<=n.length;++u){if(u2){let d=i.lastIndexOf(t);d===-1?(i="",s=0):(i=i.slice(0,d),s=i.length-1-i.lastIndexOf(t)),o=u,a=0;continue}else if(i.length!==0){i="",s=0,o=u,a=0;continue}}e&&(i+=i.length>0?`${t}..`:"..",s=2)}else i.length>0?i+=`${t}${n.slice(o+1,u)}`:i=n.slice(o+1,u),s=u-o-1;o=u,a=0}else l===xt&&a!==-1?++a:a=-1}return i}function Pa(n,e){X1(e,"pathObject");let t=e.dir||e.root,r=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${r}`:`${t}${n}${r}`:r}R.win32={resolve(...n){let e="",t="",r=!1;for(let i=n.length-1;i>=-1;i--){let s;if(i>=0){if(s=n[i],le(s,"path"),s.length===0)continue}else e.length===0?s=Zt.cwd():(s=Zt.env[`=${e}`]||Zt.cwd(),(s===void 0||s.slice(0,2).toLowerCase()!==e.toLowerCase()&&s.charCodeAt(2)===ke)&&(s=`${e}\\`));let o=s.length,a=0,l="",u=!1,d=s.charCodeAt(0);if(o===1)F(d)&&(a=1,u=!0);else if(F(d))if(u=!0,F(s.charCodeAt(1))){let c=2,f=c;for(;c2&&F(s.charCodeAt(2))&&(u=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(r){if(e.length>0)break}else if(t=`${s.slice(a)}\\${t}`,r=u,u&&e.length>0)break}return t=_r(t,!r,"\\",F),r?`${e}\\${t}`:`${e}${t}`||"."},normalize(n){le(n,"path");let e=n.length;if(e===0)return".";let t=0,r,i=!1,s=n.charCodeAt(0);if(e===1)return qi(s)?"\\":n;if(F(s))if(i=!0,F(n.charCodeAt(1))){let a=2,l=a;for(;a2&&F(n.charCodeAt(2))&&(i=!0,t=3));let o=t0&&F(n.charCodeAt(e-1))&&(o+="\\"),r===void 0?i?`\\${o}`:o:i?`${r}\\${o}`:`${r}${o}`},isAbsolute(n){le(n,"path");let e=n.length;if(e===0)return!1;let t=n.charCodeAt(0);return F(t)||e>2&&yt(t)&&n.charCodeAt(1)===vt&&F(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let s=0;s0&&(e===void 0?e=t=o:e+=`\\${o}`)}if(e===void 0)return".";let r=!0,i=0;if(typeof t=="string"&&F(t.charCodeAt(0))){++i;let s=t.length;s>1&&F(t.charCodeAt(1))&&(++i,s>2&&(F(t.charCodeAt(2))?++i:r=!1))}if(r){for(;i=2&&(e=`\\${e.slice(i)}`)}return R.win32.normalize(e)},relative(n,e){if(le(n,"from"),le(e,"to"),n===e)return"";let t=R.win32.resolve(n),r=R.win32.resolve(e);if(t===r||(n=t.toLowerCase(),e=r.toLowerCase(),n===e))return"";let i=0;for(;ii&&n.charCodeAt(s-1)===ke;)s--;let o=s-i,a=0;for(;aa&&e.charCodeAt(l-1)===ke;)l--;let u=l-a,d=od){if(e.charCodeAt(a+f)===ke)return r.slice(a+f+1);if(f===2)return r.slice(a+f)}o>d&&(n.charCodeAt(i+f)===ke?c=f:f===2&&(c=3)),c===-1&&(c=0)}let T="";for(f=i+c+1;f<=s;++f)(f===s||n.charCodeAt(f)===ke)&&(T+=T.length===0?"..":"\\..");return a+=c,T.length>0?`${T}${r.slice(a,l)}`:(r.charCodeAt(a)===ke&&++a,r.slice(a,l))},toNamespacedPath(n){if(typeof n!="string"||n.length===0)return n;let e=R.win32.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===ke){if(e.charCodeAt(1)===ke){let t=e.charCodeAt(2);if(t!==G1&&t!==xt)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(yt(e.charCodeAt(0))&&e.charCodeAt(1)===vt&&e.charCodeAt(2)===ke)return`\\\\?\\${e}`;return n},dirname(n){le(n,"path");let e=n.length;if(e===0)return".";let t=-1,r=0,i=n.charCodeAt(0);if(e===1)return F(i)?n:".";if(F(i)){if(t=r=1,F(n.charCodeAt(1))){let a=2,l=a;for(;a2&&F(n.charCodeAt(2))?3:2,r=t);let s=-1,o=!0;for(let a=e-1;a>=r;--a)if(F(n.charCodeAt(a))){if(!o){s=a;break}}else o=!1;if(s===-1){if(t===-1)return".";s=t}return n.slice(0,s)},basename(n,e){e!==void 0&&le(e,"ext"),le(n,"path");let t=0,r=-1,i=!0,s;if(n.length>=2&&yt(n.charCodeAt(0))&&n.charCodeAt(1)===vt&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,a=-1;for(s=n.length-1;s>=t;--s){let l=n.charCodeAt(s);if(F(l)){if(!i){t=s+1;break}}else a===-1&&(i=!1,a=s+1),o>=0&&(l===e.charCodeAt(o)?--o===-1&&(r=s):(o=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(s=n.length-1;s>=t;--s)if(F(n.charCodeAt(s))){if(!i){t=s+1;break}}else r===-1&&(i=!1,r=s+1);return r===-1?"":n.slice(t,r)},extname(n){le(n,"path");let e=0,t=-1,r=0,i=-1,s=!0,o=0;n.length>=2&&n.charCodeAt(1)===vt&&yt(n.charCodeAt(0))&&(e=r=2);for(let a=n.length-1;a>=e;--a){let l=n.charCodeAt(a);if(F(l)){if(!s){r=a+1;break}continue}i===-1&&(s=!1,i=a+1),l===xt?t===-1?t=a:o!==1&&(o=1):t!==-1&&(o=-1)}return t===-1||i===-1||o===0||o===1&&t===i-1&&t===r+1?"":n.slice(t,i)},format:Pa.bind(null,"\\"),parse(n){le(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.length,r=0,i=n.charCodeAt(0);if(t===1)return F(i)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(F(i)){if(r=1,F(n.charCodeAt(1))){let c=2,f=c;for(;c0&&(e.root=n.slice(0,r));let s=-1,o=r,a=-1,l=!0,u=n.length-1,d=0;for(;u>=r;--u){if(i=n.charCodeAt(u),F(i)){if(!l){o=u+1;break}continue}a===-1&&(l=!1,a=u+1),i===xt?s===-1?s=u:d!==1&&(d=1):s!==-1&&(d=-1)}return a!==-1&&(s===-1||d===0||d===1&&s===a-1&&s===o+1?e.base=e.name=n.slice(o,a):(e.name=n.slice(o,s),e.base=n.slice(o,a),e.ext=n.slice(s,a))),o>0&&o!==r?e.dir=n.slice(0,o-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null};var Q1=(()=>{if(Re){let n=/\\/g;return()=>{let e=Zt.cwd().replace(n,"/");return e.slice(e.indexOf("/"))}}return()=>Zt.cwd()})();R.posix={resolve(...n){let e="",t=!1;for(let r=n.length-1;r>=-1&&!t;r--){let i=r>=0?n[r]:Q1();le(i,"path"),i.length!==0&&(e=`${i}/${e}`,t=i.charCodeAt(0)===_e)}return e=_r(e,!t,"/",qi),t?`/${e}`:e.length>0?e:"."},normalize(n){if(le(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===_e,t=n.charCodeAt(n.length-1)===_e;return n=_r(n,!e,"/",qi),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return le(n,"path"),n.length>0&&n.charCodeAt(0)===_e},join(...n){if(n.length===0)return".";let e;for(let t=0;t0&&(e===void 0?e=r:e+=`/${r}`)}return e===void 0?".":R.posix.normalize(e)},relative(n,e){if(le(n,"from"),le(e,"to"),n===e||(n=R.posix.resolve(n),e=R.posix.resolve(e),n===e))return"";let t=1,r=n.length,i=r-t,s=1,o=e.length-s,a=ia){if(e.charCodeAt(s+u)===_e)return e.slice(s+u+1);if(u===0)return e.slice(s+u)}else i>a&&(n.charCodeAt(t+u)===_e?l=u:u===0&&(l=0));let d="";for(u=t+l+1;u<=r;++u)(u===r||n.charCodeAt(u)===_e)&&(d+=d.length===0?"..":"/..");return`${d}${e.slice(s+l)}`},toNamespacedPath(n){return n},dirname(n){if(le(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===_e,t=-1,r=!0;for(let i=n.length-1;i>=1;--i)if(n.charCodeAt(i)===_e){if(!r){t=i;break}}else r=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&le(e,"ext"),le(n,"path");let t=0,r=-1,i=!0,s;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,a=-1;for(s=n.length-1;s>=0;--s){let l=n.charCodeAt(s);if(l===_e){if(!i){t=s+1;break}}else a===-1&&(i=!1,a=s+1),o>=0&&(l===e.charCodeAt(o)?--o===-1&&(r=s):(o=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(s=n.length-1;s>=0;--s)if(n.charCodeAt(s)===_e){if(!i){t=s+1;break}}else r===-1&&(i=!1,r=s+1);return r===-1?"":n.slice(t,r)},extname(n){le(n,"path");let e=-1,t=0,r=-1,i=!0,s=0;for(let o=n.length-1;o>=0;--o){let a=n.charCodeAt(o);if(a===_e){if(!i){t=o+1;break}continue}r===-1&&(i=!1,r=o+1),a===xt?e===-1?e=o:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||r===-1||s===0||s===1&&e===r-1&&e===t+1?"":n.slice(e,r)},format:Pa.bind(null,"/"),parse(n){le(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.charCodeAt(0)===_e,r;t?(e.root="/",r=1):r=0;let i=-1,s=0,o=-1,a=!0,l=n.length-1,u=0;for(;l>=r;--l){let d=n.charCodeAt(l);if(d===_e){if(!a){s=l+1;break}continue}o===-1&&(a=!1,o=l+1),d===xt?i===-1?i=l:u!==1&&(u=1):i!==-1&&(u=-1)}if(o!==-1){let d=s===0&&t?1:s;i===-1||u===0||u===1&&i===o-1&&i===s+1?e.base=e.name=n.slice(d,o):(e.name=n.slice(d,i),e.base=n.slice(d,o),e.ext=n.slice(i,o))}return s>0?e.dir=n.slice(0,s-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};R.posix.win32=R.win32.win32=R.win32;R.posix.posix=R.win32.posix=R.posix;R.normalize=Re?R.win32.normalize:R.posix.normalize;R.isAbsolute=Re?R.win32.isAbsolute:R.posix.isAbsolute;R.join=Re?R.win32.join:R.posix.join;R.resolve=Re?R.win32.resolve:R.posix.resolve;R.relative=Re?R.win32.relative:R.posix.relative;R.dirname=Re?R.win32.dirname:R.posix.dirname;R.basename=Re?R.win32.basename:R.posix.basename;R.extname=Re?R.win32.extname:R.posix.extname;R.format=Re?R.win32.format:R.posix.format;R.parse=Re?R.win32.parse:R.posix.parse;R.toNamespacedPath=Re?R.win32.toNamespacedPath:R.posix.toNamespacedPath;R.sep=Re?R.win32.sep:R.posix.sep;R.delimiter=Re?R.win32.delimiter:R.posix.delimiter});var Fa=$(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.URI=void 0;en.isUriComponents=ic;en.uriToFsPath=yr;var Da=La(),Tr=ji(),J1=/^\w[\w\d+.-]*$/,Y1=/^\//,Z1=/^\/\//;function ec(n,e){if(!n.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!J1.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!Y1.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Z1.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function tc(n,e){return!n&&!e?"file":n}function nc(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==Be&&(e=Be+e):e=Be;break}return e}var z="",Be="/",rc=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,vr=class n{static isUri(e){return e instanceof n?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}scheme;authority;path;query;fragment;constructor(e,t,r,i,s,o=!1){typeof e=="object"?(this.scheme=e.scheme||z,this.authority=e.authority||z,this.path=e.path||z,this.query=e.query||z,this.fragment=e.fragment||z):(this.scheme=tc(e,o),this.authority=t||z,this.path=nc(this.scheme,r||z),this.query=i||z,this.fragment=s||z,ec(this,o))}get fsPath(){return yr(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:i,query:s,fragment:o}=e;return t===void 0?t=this.scheme:t===null&&(t=z),r===void 0?r=this.authority:r===null&&(r=z),i===void 0?i=this.path:i===null&&(i=z),s===void 0?s=this.query:s===null&&(s=z),o===void 0?o=this.fragment:o===null&&(o=z),t===this.scheme&&r===this.authority&&i===this.path&&s===this.query&&o===this.fragment?this:new Et(t,r,i,s,o)}static parse(e,t=!1){let r=rc.exec(e);return r?new Et(r[2]||z,br(r[4]||z),br(r[5]||z),br(r[7]||z),br(r[9]||z),t):new Et(z,z,z,z,z)}static file(e){let t=z;if(Tr.isWindows&&(e=e.replace(/\\/g,Be)),e[0]===Be&&e[1]===Be){let r=e.indexOf(Be,2);r===-1?(t=e.substring(2),e=Be):(t=e.substring(2,r),e=e.substring(r)||Be)}return new Et("file",t,e,z,z)}static from(e,t){return new Et(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let r;return Tr.isWindows&&e.scheme==="file"?r=n.file(Da.win32.join(yr(e,!0),...t)).path:r=Da.posix.join(e.path,...t),e.with({path:r})}toString(e=!1){return Ki(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof n)return e;{let t=new Et(e);return t._formatted=e.external??null,t._fsPath=e._sep===Ua?e.fsPath??null:null,t}}else return e}};en.URI=vr;function ic(n){return!n||typeof n!="object"?!1:typeof n.scheme=="string"&&(typeof n.authority=="string"||typeof n.authority>"u")&&(typeof n.path=="string"||typeof n.path>"u")&&(typeof n.query=="string"||typeof n.query>"u")&&(typeof n.fragment=="string"||typeof n.fragment>"u")}var Ua=Tr.isWindows?1:void 0,Et=class extends vr{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=yr(this,!1)),this._fsPath}toString(e=!1){return e?Ki(this,!0):(this._formatted||(this._formatted=Ki(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Ua),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}},Ca={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Oa(n,e,t){let r,i=-1;for(let s=0;s=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===45||o===46||o===95||o===126||e&&o===47||t&&o===91||t&&o===93||t&&o===58)i!==-1&&(r+=encodeURIComponent(n.substring(i,s)),i=-1),r!==void 0&&(r+=n.charAt(s));else{r===void 0&&(r=n.substr(0,s));let a=Ca[o];a!==void 0?(i!==-1&&(r+=encodeURIComponent(n.substring(i,s)),i=-1),r+=a):i===-1&&(i=s)}}return i!==-1&&(r+=encodeURIComponent(n.substring(i))),r!==void 0?r:n}function sc(n){let e;for(let t=0;t1&&n.scheme==="file"?t=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?t=n.path.substr(1):t=n.path[1].toLowerCase()+n.path.substr(2):t=n.path,Tr.isWindows&&(t=t.replace(/\//g,"\\")),t}function Ki(n,e){let t=e?sc:Oa,r="",{scheme:i,authority:s,path:o,query:a,fragment:l}=n;if(i&&(r+=i,r+=":"),(s||i==="file")&&(r+=Be,r+=Be),s){let u=s.indexOf("@");if(u!==-1){let d=s.substr(0,u);s=s.substr(u+1),u=d.lastIndexOf(":"),u===-1?r+=t(d,!1,!1):(r+=t(d.substr(0,u),!1,!1),r+=":",r+=t(d.substr(u+1),!1,!0)),r+="@"}s=s.toLowerCase(),u=s.lastIndexOf(":"),u===-1?r+=t(s,!1,!0):(r+=t(s.substr(0,u),!1,!0),r+=s.substr(u))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){let u=o.charCodeAt(1);u>=65&&u<=90&&(o=`/${String.fromCharCode(u+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){let u=o.charCodeAt(0);u>=65&&u<=90&&(o=`${String.fromCharCode(u+32)}:${o.substr(2)}`)}r+=t(o,!0,!1)}return a&&(r+="?",r+=t(a,!1,!1)),l&&(r+="#",r+=e?l:Oa(l,!1,!1)),r}function Ma(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+Ma(n.substr(3)):n}}var Na=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function br(n){return n.match(Na)?n.replace(Na,e=>Ma(e)):n}});var Gi=$(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.PromptReference=It.ChatResponseReferencePartStatusKind=It.PromptMetadata=void 0;var kn=Fa(),Hi=class{_marker;toString(){return Object.getPrototypeOf(this).constructor.name}};It.PromptMetadata=Hi;var Ba;(function(n){n[n.Complete=1]="Complete",n[n.Partial=2]="Partial",n[n.Omitted=3]="Omitted"})(Ba||(It.ChatResponseReferencePartStatusKind=Ba={}));var zi=class n{anchor;iconPath;options;static fromJSON(e){let t=r=>"scheme"in r?kn.URI.from(r):{uri:kn.URI.from(r.uri),range:r.range};return new n("variableName"in e.anchor?{variableName:e.anchor.variableName,value:e.anchor.value&&t(e.anchor.value)}:t(e.anchor),e.iconPath&&("scheme"in e.iconPath?kn.URI.from(e.iconPath):"light"in e.iconPath?{light:kn.URI.from(e.iconPath.light),dark:kn.URI.from(e.iconPath.dark)}:e.iconPath),e.options)}constructor(e,t,r){this.anchor=e,this.iconPath=t,this.options=r}toJSON(){return{anchor:this.anchor,iconPath:this.iconPath,options:this.options}}};It.PromptReference=zi});var ns=$(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.PromptRenderer=tn.MetadataMap=void 0;var oc=Ti(),wt=Ii(),jt=gt(),ee=Mi(),ts=Gi(),Er;(function(n){n.empty={get:()=>{},getAll:()=>[]},n.from=e=>({get:t=>e.find(r=>r instanceof t),getAll:t=>e.filter(r=>r instanceof t)})})(Er||(tn.MetadataMap=Er={}));var Xi=class{_endpoint;_ctor;_props;_tokenizer;_usedContext=[];_ignoredFiles=[];_growables=[];_root=new kr(null,0);_tokenLimits=[];tracer=void 0;constructor(e,t,r,i){this._endpoint=e,this._ctor=t,this._props=r,this._tokenizer=i}getIgnoredFiles(){return Array.from(new Set(this._ignoredFiles))}getUsedContext(){return this._usedContext}createElement(e){return new e.ctor(e.props)}async _processPromptPieces(e,t,r,i){let s=new Map;for(let[l,u]of t.entries()){if(Array.isArray(u.children)&&(u.props=u.props??{},u.props.children=u.children),!u.ctor){let w=Va(u.path);throw new Error(`Invalid ChatMessage child! Child must be a TSX component that extends PromptElement at ${w}`)}let d=this.createElement(u),c;d instanceof ee.TokenLimit&&(c=u.props.max,this._tokenLimits.push({limit:c,id:u.node.id})),u.node.setObj(d);let f=u.props.flexGrow??1/0,T=s.get(f);T||(T=[],s.set(f,T)),T.push({element:u,promptElementInstance:d,tokenLimit:c})}if(s.size===0)return;let o=[...s.entries()].sort(([l],[u])=>u-l).map(([l,u])=>u),a=l=>{let u=0;for(let d=l+1;d{if(P.tokenLimit===void 0)return!1;let M=P.element.props.flexBasis??1,N=M/c;return Math.floor(e.remainingTokenBudget*N){let N=(P.element.props.flexBasis??1)/c;return{tokenBudget:T[M]?P.tokenLimit:Math.floor((e.remainingTokenBudget-f)*N),endpoint:e.endpoint,countTokens:(B,te)=>this._tokenizer.tokenLength(typeof B=="string"?{type:jt.Raw.ChatCompletionContentPartKind.Text,text:B}:B,te)}});e.consume(-d),this.tracer?.addRenderEpoch?.({inNode:u[0].element.node.parent?.id,flexValue:u[0].element.props.flexGrow??0,tokenBudget:e.remainingTokenBudget,reservedTokens:d,elements:u.map((P,M)=>({id:P.element.node.id,tokenBudget:w[M].tokenBudget}))}),await Promise.all(u.map(async({element:P,promptElementInstance:M},N)=>{let B=await Wa(P,()=>M.prepare?.(w[N],r,i));P.node.setState(B)}));let D=await Promise.all(u.map(async({element:P,promptElementInstance:M},N)=>{let B=w[N];return await Wa(P,()=>M.render(P.node.getState(),B,r,i))}));for(let[P,{element:M,promptElementInstance:N}]of u.entries()){let B=w[P],te=D[P];if(!te)continue;let Z=await this._processPromptRenderPiece(new Wt(B.tokenBudget,this._endpoint),M,N,te,r,i);N instanceof ee.Expandable&&this._growables.push({initialConsume:Z,elem:M.node}),e.consume(Z)}}}async _processPromptRenderPiece(e,t,r,i,s,o){let a=ja(i),l=new Wt(e.tokenBudget,this._endpoint),{tokensConsumed:u}=await ac(this._tokenizer,t,r,a);return l.consume(u),await this._handlePromptChildren(t,a,l,s,o),l.consumed}async renderElementJSON(e){return await this._processPromptPieces(new Wt(this._endpoint.modelMaxPromptTokens,this._endpoint),[{node:this._root,ctor:this._ctor,props:this._props,children:[],path:[this._ctor]}],void 0,e),{node:this._root.toJSON()}}async render(e,t){let r=await this.renderRaw(e,t);return{...r,messages:(0,jt.toMode)(this._tokenizer.mode,r.messages)}}async renderRaw(e,t){await this._processPromptPieces(new Wt(this._endpoint.modelMaxPromptTokens,this._endpoint),[{node:this._root,ctor:this._ctor,props:this._props,children:[],path:[this._ctor]}],e,t);let{container:r,allMetadata:i,removed:s}=await this._getFinalElementTree(this._endpoint.modelMaxPromptTokens,t);this.tracer?.didMaterializeTree?.({budget:this._endpoint.modelMaxPromptTokens,renderedTree:{container:r,removed:s,budget:this._endpoint.modelMaxPromptTokens},tokenizer:this._tokenizer,renderTree:f=>this._getFinalElementTree(f,void 0).then(T=>({...T,budget:f}))});let o=[...r.toChatMessages()],a=await r.tokenCount(this._tokenizer),l=[...r.allMetadata()],u=new Set,d=l.map(f=>{if(!(f instanceof Qe))return;let T=f.reference,w="variableName"in T.anchor;if(w&&!u.has(T.anchor.variableName))return u.add(T.anchor.variableName),T;if(!w)return T}).filter(Rr),c=i.map(f=>{if(!(f instanceof Qe)||l.includes(f))return;let T=f.reference,w="variableName"in T.anchor;if(w&&!u.has(T.anchor.variableName))return u.add(T.anchor.variableName),T;if(!w)return T}).filter(Rr);return{metadata:Er.from(l),messages:o,hasIgnoredFiles:this._ignoredFiles.length>0,tokenCount:a,references:d,omittedReferences:c}}async _getFinalElementTree(e,t){let r=this._root.materialize(),i=[...r.toChatMessages()],s=[...r.allMetadata()],o=[{limit:e,id:this._root.id},...this._tokenLimits],a=0;for(let l=o.length-1;l>=0;l--){let u=o[l];if(u.limit>e)continue;let d=r.findById(u.id);if(!d)continue;let c=await d.tokenCount(this._tokenizer);if(!(cu.limit;){let T=await d.baseMessageTokenCount(this._tokenizer);do for(let w of d.removeLowestPriorityChild()){a++;let D=w.upperBoundTokenCount(this._tokenizer);f-=(typeof D=="number"?D:await D)*1.25}while(f-T>u.limit);f=await d.tokenCount(this._tokenizer)}}catch(f){throw f instanceof wt.BudgetExceededError&&(f.metadata=Er.from([...r.allMetadata()]),f.messages=i),f}}return{container:r,allMetadata:s,removed:a}}async _grow(e,t,r,i){if(!this._growables.length)return!1;for(let s of this._growables){if(!e.findById(s.elem.id))continue;let o=s.elem.getObj();if(!(o instanceof ee.Expandable))throw new Error("unreachable: expected growable");let a=new kr(null,0,s.elem.id),l=new Wt(r-t+s.initialConsume,this._endpoint),u=await this._processPromptRenderPiece(l,{node:a,ctor:this._ctor,props:{},children:[],path:[this._ctor]},o,await o.render(void 0,{tokenBudget:l.tokenBudget,endpoint:this._endpoint,countTokens:(f,T)=>this._tokenizer.tokenLength(typeof f=="string"?{type:jt.Raw.ChatCompletionContentPartKind.Text,text:f}:f,T)}),void 0,i),d=a.materialize();if(!e.replaceNode(s.elem.id,d))throw new Error("unreachable: could not find old element to replace");if(t-=s.initialConsume,t+=u,t>=r)break}return!0}_handlePromptChildren(e,t,r,i,s){if(e.ctor===ee.TextChunk){this._handleExtrinsicTextChunkChildren(e.node,e.node,e.props,t);return}let o=[];for(let a of t){if(a.kind==="literal"){e.node.appendStringChild(a.value,e.props.priority??Number.MAX_SAFE_INTEGER);continue}if(a.kind==="intrinsic"){this._handleIntrinsic(e.node,a.name,{priority:e.props.priority??Number.MAX_SAFE_INTEGER,...a.props},Ir(a.children));continue}let l=e.node.createChild();o.push({node:l,ctor:a.ctor,props:a.props,children:a.children,path:[...e.path,a.ctor]})}return this._processPromptPieces(r,o,i,s)}_handleIntrinsic(e,t,r,i,s){switch(t){case"meta":return this._handleIntrinsicMeta(e,r,i);case"br":return this._handleIntrinsicLineBreak(e,r,i,r.priority,s);case"usedContext":return this._handleIntrinsicUsedContext(e,r,i);case"references":return this._handleIntrinsicReferences(e,r,i);case"ignoredFiles":return this._handleIntrinsicIgnoredFiles(e,r,i);case"elementJSON":return this._handleIntrinsicElementJSON(e,r.data);case"cacheBreakpoint":return this._handleIntrinsicCacheBreakpoint(e,r,i,s);case"opaque":return this._handleIntrinsicOpaque(e,r,s)}throw new Error(`Unknown intrinsic element ${t}!`)}_handleIntrinsicCacheBreakpoint(e,t,r,i){if(r.length>0)throw new Error(" must not have children!");e.addCacheBreakpoint(t,i)}_handleIntrinsicMeta(e,t,r){if(r.length>0)throw new Error(" must not have children!");t.local?e.addMetadata(t.value):this._root.addMetadata(t.value)}_handleIntrinsicLineBreak(e,t,r,i,s){if(r.length>0)throw new Error("
must not have children!");e.appendLineBreak(i??Number.MAX_SAFE_INTEGER,s)}_handleIntrinsicOpaque(e,t,r){e.appendOpaque(t.value,t.tokenUsage,t.priority,r)}_handleIntrinsicElementJSON(e,t){let r=e.appendPieceJSON(t.node);if(this.tracer?.includeInEpoch)for(let i of r.elements())this.tracer.includeInEpoch({id:i.id,tokenBudget:0})}_handleIntrinsicUsedContext(e,t,r){if(r.length>0)throw new Error(" must not have children!");this._usedContext.push(...t.value)}_handleIntrinsicReferences(e,t,r){if(r.length>0)throw new Error(" must not have children!");for(let i of t.value)e.addMetadata(new Qe(i))}_handleIntrinsicIgnoredFiles(e,t,r){if(r.length>0)throw new Error(" must not have children!");this._ignoredFiles.push(...t.value)}_handleExtrinsicTextChunkChildren(e,t,r,i){let s=[],o=[];for(let a of i){if(a.kind==="extrinsic")throw new Error("TextChunk cannot have extrinsic children!");if(a.kind==="literal"&&s.push(a.value),a.kind==="intrinsic")if(a.name==="br")s.push(` `);else if(a.name==="references")for(let l of a.props.value)o.push(new Qe(l));else this._handleIntrinsic(e,a.name,a.props,Ir(a.children),t.childIndex)}e.appendStringChild(s.join(""),r?.priority??Number.MAX_SAFE_INTEGER,o,t.childIndex,!0)}};tn.PromptRenderer=Xi;async function ac(n,e,t,r){let i=0;if((0,ee.isChatMessagePromptElement)(t)){let s={role:e.props.role,content:[],...e.props.name?{name:e.props.name}:void 0,...e.props.toolCalls?{toolCalls:e.props.toolCalls}:void 0,...e.props.toolCallId?{toolCallId:e.props.toolCallId}:void 0};i+=await n.countMessageTokens((0,jt.toMode)(n.mode,s))}for(let s of r)s.kind==="literal"&&(i+=await n.tokenLength({type:jt.Raw.ChatCompletionContentPartKind.Text,text:s.value}));return{tokensConsumed:i}}function ja(n,e=[]){return typeof n>"u"||typeof n=="boolean"?[]:(typeof n=="string"||typeof n=="number"?e.push(new Yi(String(n))):lc(n)?Ir(n.children,e):uc(n)?Ir(n,e):typeof n.ctor=="string"?e.push(new Qi(n.ctor,n.props,n.children)):e.push(new Ji(n.ctor,n.props,n.children)),e)}function Ir(n,e=[]){for(let t of n)ja(t,e);return e}var Qi=class{name;props;children;kind="intrinsic";constructor(e,t,r){this.name=e,this.props=t,this.children=r}},Ji=class{ctor;props;children;kind="extrinsic";constructor(e,t,r){this.ctor=e,this.props=t,this.children=r}},Yi=class{value;priority;kind="literal";constructor(e,t){this.value=e,this.priority=t}},wr=class n{parent;childIndex;value;tokenUsage;priority;static fromJSON(e,t,r){return new n(e,t,r.value,r.tokenUsage,r.priority)}kind=2;constructor(e,t,r,i,s){this.parent=e,this.childIndex=t,this.value=r,this.tokenUsage=i,this.priority=s}materialize(e){return new wt.MaterializedChatMessageOpaque(e,{type:jt.Raw.ChatCompletionContentPartKind.Opaque,value:this.value,tokenUsage:this.tokenUsage},this.priority)}toJSON(){return{type:3,value:this.value,tokenUsage:this.tokenUsage,priority:this.priority}}},Wt=class{tokenBudget;endpoint;_consumed=0;constructor(e,t){this.tokenBudget=e,this.endpoint=t}get consumed(){return this._consumed>this.tokenBudget?this.tokenBudget:this._consumed}get remainingTokenBudget(){return Math.max(0,this.tokenBudget-this._consumed)}consume(e){this._consumed+=e}},kr=class n{parent;childIndex;id;static _nextId=0;static fromJSON(e,t,r){let i=new n(null,e);switch(i._metadata=t.references?.map(s=>new Qe(ts.PromptReference.fromJSON(s)))??[],i._children=t.children.map((s,o)=>{switch(s.type){case 1:return n.fromJSON(o,s,r);case 2:return Rn.fromJSON(i,o,s);case 3:return wr.fromJSON(i,o,s);default:}}).filter(Rr),t.ctor){case 1:i._objFlags=t.flags??0,i._obj=new ee.BaseChatMessage(t.props);break;case 2:{if(t.keepWithId!==void 0){let s=r.get(t.keepWithId);s||(s=(0,ee.useKeepWith)(),r.set(t.keepWithId,s)),i._obj=new s(t.props||{})}else i._obj=new ee.LogicalWrapper(t.props||{});i._objFlags=t.flags??0;break}case 3:i._obj=new ee.Image(t.props);break;case 4:i._obj=new ee.Document(t.props);break;default:}return i}kind=1;_obj=null;_state=void 0;_children=[];_metadata=[];_objFlags=0;constructor(e=null,t,r=n._nextId++){this.parent=e,this.childIndex=t,this.id=r}setObj(e){this._obj=e,this._obj instanceof ee.LegacyPrioritization&&(this._objFlags|=1),this._obj instanceof ee.Chunk&&(this._objFlags|=2),this._obj instanceof ee.IfEmpty&&(this._objFlags|=8),this._obj.props.passPriority&&(this._objFlags|=4)}getObj(){return this._obj}setState(e){this._state=e}getState(){return this._state}createChild(){let e=new n(this,this._children.length);return this._children.push(e),e}appendPieceJSON(e){let t=n.fromJSON(this._children.length,e,new Map);return this._children.push(t),t}appendStringChild(e,t,r,i=this._children.length,s=!1){this._children.push(new Rn(this,i,e,t,r,s))}appendLineBreak(e,t=this._children.length){this._children.push(new Rn(this,t,` `,e))}appendOpaque(e,t,r,i=this._children.length){this._children.push(new wr(this,i,e,t,r))}toJSON(){let e={type:1,ctor:2,ctorName:this._obj?.constructor.name,children:this._children.slice().sort((t,r)=>t.childIndex-r.childIndex).map(t=>t.toJSON()).filter(Rr),props:{},references:this._metadata.filter(t=>t instanceof Qe).map(t=>t.reference.toJSON())};if(this._obj&&(e.props=xr(this._obj.props,oc.jsonRetainedProps)),this._obj instanceof ee.BaseChatMessage)e.ctor=1,Object.assign(e.props,xr(this._obj.props,["role","name","toolCalls","toolCallId"]));else{if(this._obj instanceof ee.Image)return{...e,ctor:3,props:{...e.props,...xr(this._obj.props,["src","detail","mimeType"])}};if(this._obj instanceof ee.Document)return{...e,ctor:4,props:{...e.props,...xr(this._obj.props,["data","mediaType"])}};this._obj instanceof ee.AbstractKeepWith&&(e.keepWithId=this._obj.id)}return this._objFlags!==0&&(e.flags=this._objFlags),e}materialize(e){if(this._children.sort((t,r)=>t.childIndex-r.childIndex),this._obj instanceof ee.Image)return new wt.MaterializedChatMessageImage(e,this.id,this._obj.props.src,this._obj.props.priority??Number.MAX_SAFE_INTEGER,this._metadata,0,this._obj.props.detail??void 0,this._obj.props.mimeType??void 0);if(this._obj instanceof ee.Document)return new wt.MaterializedChatMessageDocument(e,this.id,this._obj.props.data,this._obj.props.mediaType,this._obj.props.priority??Number.MAX_SAFE_INTEGER,this._metadata,0);if(this._obj instanceof ee.BaseChatMessage){if(this._obj.props.role===void 0||typeof this._obj.props.role!="number")throw new Error("Invalid ChatMessage!");return new wt.MaterializedChatMessage(e,this.id,this._obj.props.role,this._obj.props.name,this._obj instanceof ee.AssistantMessage?this._obj.props.toolCalls:void 0,this._obj instanceof ee.ToolMessage?this._obj.props.toolCallId:void 0,this._obj.props.priority??Number.MAX_SAFE_INTEGER,this._metadata,t=>this._children.map(r=>r.materialize(t)))}else{let t=new wt.GenericMaterializedContainer(e,this.id,this._obj?.constructor.name,this._obj?.props.priority??(this._obj?.props.passPriority?0:Number.MAX_SAFE_INTEGER),r=>this._children.map(i=>i.materialize(r)),this._metadata,this._objFlags);return this._obj instanceof ee.AbstractKeepWith&&(t.keepWithId=this._obj.id),t}}addMetadata(e){this._metadata.push(e)}addCacheBreakpoint(e,t=this._children.length){if(!(this._obj instanceof ee.BaseChatMessage))throw new Error("Cache breakpoints may only be direct children of chat messages");this._children.push(new Zi({type:jt.Raw.ChatCompletionContentPartKind.CacheBreakpoint,cacheType:e.type},t))}*elements(){yield this;for(let e of this._children)e instanceof n&&(yield*e.elements())}},Zi=class{part;childIndex;constructor(e,t){this.part=e,this.childIndex=t}toJSON(){}materialize(e){return new wt.MaterializedChatMessageBreakpoint(e,this.part)}},Rn=class n{parent;childIndex;text;priority;metadata;lineBreakBefore;static fromJSON(e,t,r){return new n(e,t,r.text,r.priority,r.references?.map(i=>new Qe(ts.PromptReference.fromJSON(i))),r.lineBreakBefore)}kind=2;constructor(e,t,r,i,s,o=!1){this.parent=e,this.childIndex=t,this.text=r,this.priority=i,this.metadata=s,this.lineBreakBefore=o}materialize(e){let t=this.lineBreakBefore?1:this.childIndex===0?2:0;return new wt.MaterializedChatMessageTextChunk(e,this.text,this.priority??Number.MAX_SAFE_INTEGER,this.metadata||[],t)}toJSON(){return{type:2,priority:this.priority,text:this.text,references:this.metadata?.filter(e=>e instanceof Qe).map(e=>e.reference.toJSON()),lineBreakBefore:this.lineBreakBefore}}};function lc(n){return(typeof n.ctor=="function"&&n.ctor.isFragment)??!1}function Rr(n){return n!==void 0}var es=class extends ts.PromptMetadata{},Qe=class extends es{reference;constructor(e){super(),this.reference=e}};function uc(n){return!!n&&typeof n[Symbol.iterator]=="function"}function xr(n,e){let t={};for(let r of e)n.hasOwnProperty(r)&&(t[r]=n[r]);return t}function Va(n){return n.map(e=>typeof e=="string"?e:e?e.name||"":String(e)).join(" > ")}var $a=new WeakSet;async function Wa(n,e){try{return await e()}catch(t){throw t instanceof Error&&!$a.has(t)&&t.constructor.name!=="CancellationError"&&($a.add(t),t.message+=` (at tsx element ${Va(n.path)})`),t}}});var qa=$(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.VSCodeTokenizer=void 0;var rs=gt(),is=class{countTokens;mode=rs.OutputMode.VSCode;constructor(e,t){if(this.countTokens=e,t!==rs.OutputMode.VSCode)throw new Error("`mode` must be set to vscode when using vscode.LanguageModelChat as the tokenizer")}async tokenLength(e,t){return e.type===rs.Raw.ChatCompletionContentPartKind.Text?this.countTokens(e.text,t):Promise.resolve(0)}async countMessageTokens(e){return this.countTokens(e)}};Ar.VSCodeTokenizer=is});var Ka=$(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.tracerCss=nn.tracerSrc=void 0;nn.tracerSrc='"use strict";(()=>{var $,m,se,Ue,w,re,le,q,X,G,K,Ae,D={},ce=[],Re=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,J=Array.isArray;function E(t,e){for(var n in e)t[n]=e[n];return t}function ue(t){t&&t.parentNode&&t.parentNode.removeChild(t)}function l(t,e,n){var o,r,_,c={};for(_ in e)_=="key"?o=e[_]:_=="ref"?r=e[_]:c[_]=e[_];if(arguments.length>2&&(c.children=arguments.length>3?$.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(_ in t.defaultProps)c[_]===void 0&&(c[_]=t.defaultProps[_]);return R(t,c,o,r,null)}function R(t,e,n,o,r){var _={type:t,props:e,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:r??++se,__i:-1,__u:0};return r==null&&m.vnode!=null&&m.vnode(_),_}function N(t){return t.children}function B(t,e){this.props=t,this.context=e}function I(t,e){if(e==null)return t.__?I(t.__,t.__i+1):null;for(var n;ee&&w.sort(q));O.__r=0}function pe(t,e,n,o,r,_,c,a,u,s,p){var i,f,d,b,x,C=o&&o.__k||ce,h=e.length;for(n.__d=u,Be(n,e,C),u=n.__d,i=0;i0?R(r.type,r.props,r.key,r.ref?r.ref:null,r.__v):r).__=t,r.__b=t.__b+1,_=null,(a=r.__i=Oe(r,n,c,p))!==-1&&(p--,(_=n[a])&&(_.__u|=131072)),_==null||_.__v===null?(a==-1&&i--,typeof r.type!="function"&&(r.__u|=65536)):a!==c&&(a==c-1?i--:a==c+1?i++:(a>c?i--:i++,r.__u|=65536))):r=t.__k[o]=null;if(p)for(o=0;o(u!=null&&(131072&u.__u)==0?1:0))for(;c>=0||a=0){if((u=e[c])&&(131072&u.__u)==0&&r==u.key&&_===u.type)return c;c--}if(a=n.__.length&&n.__.push({}),n.__[t]}function S(t){return V=1,Ve(Ne,t)}function Ve(t,e,n){var o=te(L++,2);if(o.t=t,!o.__c&&(o.__=[n?n(e):Ne(void 0,e),function(a){var u=o.__N?o.__N[0]:o.__[0],s=o.t(u,a);u!==s&&(o.__N=[s,o.__[1]],o.__c.setState({}))}],o.__c=g,!g.u)){var r=function(a,u,s){if(!o.__c.__H)return!0;var p=o.__c.__H.__.filter(function(f){return!!f.__c});if(p.every(function(f){return!f.__N}))return!_||_.call(this,a,u,s);var i=!1;return p.forEach(function(f){if(f.__N){var d=f.__[0];f.__=f.__N,f.__N=void 0,d!==f.__[0]&&(i=!0)}}),!(!i&&o.__c.props===a)&&(!_||_.call(this,a,u,s))};g.u=!0;var _=g.shouldComponentUpdate,c=g.componentWillUpdate;g.componentWillUpdate=function(a,u,s){if(this.__e){var p=_;_=void 0,r(a,u,s),_=p}c&&c.call(this,a,u,s)},g.shouldComponentUpdate=r}return o.__N||o.__}function Se(t,e){var n=te(L++,3);!y.__s&&Ie(n.__H,e)&&(n.__=t,n.i=e,g.__H.__h.push(n))}function we(t){return V=5,je(function(){return{current:t}},[])}function je(t,e){var n=te(L++,7);return Ie(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function qe(){for(var t;t=Ee.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(W),t.__H.__h.forEach(ee),t.__H.__h=[]}catch(e){t.__H.__h=[],y.__e(e,t.__v)}}y.__b=function(t){g=null,be&&be(t)},y.__=function(t,e){t&&e.__k&&e.__k.__m&&(t.__m=e.__k.__m),Te&&Te(t,e)},y.__r=function(t){ye&&ye(t),L=0;var e=(g=t.__c).__H;e&&(Z===g?(e.__h=[],g.__h=[],e.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(e.__h.forEach(W),e.__h.forEach(ee),e.__h=[],L=0)),Z=g},y.diffed=function(t){Ce&&Ce(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(Ee.push(e)!==1&&ge===y.requestAnimationFrame||((ge=y.requestAnimationFrame)||Ge)(qe)),e.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),Z=g=null},y.__c=function(t,e){e.some(function(n){try{n.__h.forEach(W),n.__h=n.__h.filter(function(o){return!o.__||ee(o)})}catch(o){e.some(function(r){r.__h&&(r.__h=[])}),e=[],y.__e(o,n.__v)}}),xe&&xe(t,e)},y.unmount=function(t){ke&&ke(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{W(o)}catch(r){e=r}}),n.__H=void 0,e&&y.__e(e,n.__v))};var Me=typeof requestAnimationFrame=="function";function Ge(t){var e,n=function(){clearTimeout(o),Me&&cancelAnimationFrame(e),setTimeout(t)},o=setTimeout(n,100);Me&&(e=requestAnimationFrame(n))}function W(t){var e=g,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),g=e}function ee(t){var e=g;t.__c=t.__(),g=e}function Ie(t,e){return!t||t.length!==e.length||e.some(function(n,o){return n!==t[o]})}function Ne(t,e){return typeof e=="function"?e(t):e}function He(t,e){let n=we(void 0),o=(...r)=>{n.current&&clearTimeout(n.current),n.current=window.setTimeout(()=>{t(...r)},e)};return Se(()=>()=>{n.current&&clearTimeout(n.current)},[]),o}var Ke=new Intl.NumberFormat("en-US"),T=({value:t})=>l(N,null,Ke.format(t));var ne=[{bg:"#c1e7ff",fg:"#000"},{bg:"#abd2ec",fg:"#000"},{bg:"#94bed9",fg:"#000"},{bg:"#7faac6",fg:"#000"},{bg:"#6996b3",fg:"#fff"},{bg:"#5383a1",fg:"#fff"},{bg:"#3d708f",fg:"#fff"},{bg:"#255e7e",fg:"#fff"}],Xe=({scoreBy:t,nodes:e,epoch:n})=>{if(e.length===0)return null;let o=t;if(t.field!=="tokens"){let r=e[0][t.field],_=e[0][t.field];for(let c=1;cr.type===2?l(Je,{scoreBy:o,key:_,node:r}):l(Le,{scoreBy:o,key:_,node:r,epoch:n})))},Fe=({node:t})=>l("div",{className:"node-stats"},"Used Tokens: ",l(T,{value:t.tokens})," / ","Priority:"," ",t.priority===Number.MAX_SAFE_INTEGER?"MAX":l(T,{value:t.priority})),De=({scoreBy:t,node:e,children:n,...o})=>{let r=0;if(t.max!==t.min){let _=(e[t.field]-t.min)/(t.max-t.min);r=Math.round((ne.length-1)*_)}return l("div",{...o,className:`node ${o.className||""}`,style:{backgroundColor:ne[r].bg,color:ne[r].fg}},n)},Je=({scoreBy:t,node:e})=>l(De,{node:e,scoreBy:t,tabIndex:0,className:"node-text"},l(Fe,{node:e}),l("div",{className:"node-content"},e.value)),Le=({scoreBy:t,node:e,epoch:n})=>{let[o,r]=S(!1),_=EPOCHS.findIndex(i=>i.elements.some(f=>f.id===e.id));if(_===void 0)throw new Error(`epoch not found for ${e.id}`);let c=EPOCHS[_],a=EPOCHS.at(n),u=c.elements.find(i=>i.id===e.id).tokenBudget,s=e.type===1?e.name||e.role.slice(0,1).toUpperCase()+e.role.slice(1)+"Message":e.name,p=_===n?"new-in-epoch":n<_?"before-epoch":"";return l(De,{node:e,scoreBy:t,className:p},l(Fe,{node:e}),l("div",{className:"node-content node-toggler",onClick:()=>r(i=>!i)},l("span",null,a?.inNode===e.id?"\\u{1F3C3} ":"",`<${s}>`),l("span",{className:"indicator"},o?"[+]":"[-]")),n===_&&l("div",{className:"node-stats"},"Token Budget: ",l(T,{value:u})),a?.inNode===e.id&&l("div",{className:"node-stats"},"Rendering flexGrow=",a.flexValue,l("br",null),l("br",null),"Splitting"," ",a.reservedTokens?`${a.tokenBudget} - ${a.reservedTokens} (reserved) = `:"",l(T,{value:a.tokenBudget})," tokens among ",a.elements.length," ","elements"),!o&&l(Xe,{nodes:e.children,scoreBy:t,epoch:n}))},Pe=({scoreBy:t,node:e,epoch:n})=>{let o;return t==="tokens"?o={field:"tokens",max:e.tokens,min:0}:o={field:"priority",max:e.priority,min:e.priority},l(Le,{scoreBy:o,node:e,epoch:n})};var ze=({label:t,value:e,onChange:n,min:o,max:r})=>{let _=a=>{n(a.target.valueAsNumber)},c=`number-slider-${Math.random()}`;return l("div",{className:"controls-slider"},l("label",{htmlFor:c},t),l("input",{id:c,type:"range",min:o,max:r,value:e,onInput:_}),l("input",{type:"number",min:o,value:e,onInput:_,onChange:_}))},Qe=({scoreBy:t,onScoreByChange:e})=>{let n=o=>{let r=o.target.value;e(r)};return l("div",{className:"controls-scoreby"},"Visualize by",l("label",null,l("input",{type:"radio",name:"scoreBy",value:"tokens",checked:t==="tokens",onChange:n}),"Tokens"),l("label",null,l("input",{type:"radio",name:"scoreBy",value:"priority",checked:t==="priority",onChange:n}),"Priority"))},Ye=()=>{let[t,e]=S(DEFAULT_TOKENS),[n,o]=S(EPOCHS.length),[r,_]=S(DEFAULT_MODEL),[c,a]=S("tokens"),[u,s]=S("epoch"),p=He(async f=>{if(f===DEFAULT_TOKENS)return DEFAULT_MODEL;let b=await(await fetch(`${SERVER_ADDRESS}regen?n=${f}`)).json();_(b)},100),i=f=>{e(f),p(f),o(EPOCHS.length)};return l("div",{className:"app"},l("div",{className:"controls"},l("div",{className:"tabs"},l("div",{className:`tab ${u==="epoch"?"active":""}`,onClick:()=>s("epoch")},"View Order"),l("div",{className:`tab ${u==="tokens"?"active":""}`,onClick:()=>s("tokens")},"Change Token Budget")),l("div",{className:`tab-content ${u==="epoch"?"active":""}`},l(ze,{label:"Render Epoch",value:n,onChange:o,min:0,max:EPOCHS.length})),l("div",{className:`tab-content ${u==="tokens"?"active":""}`},l(ze,{label:"Token Budget",value:t,onChange:i,min:0,max:DEFAULT_TOKENS*2}))),l("div",{className:"control-description"},u==="tokens"?l("p",null,"Token changes here will prune elements and re-render Expandable ones, but the entire prompt is not being re-rendered"):l("p",null,"Changing the render epoch lets you see the order in which elements are rendered and how the token budget is allocated."),l("div",{className:"controls-stats"},l("span",null,"Used ",l(T,{value:r.container.tokens}),"/",l(T,{value:r.budget})," tokens"),l("span",null,"Removed ",l(T,{value:r.removed})," nodes"),l(Qe,{scoreBy:c,onScoreByChange:a}))),l(Pe,{node:r.container,scoreBy:c,epoch:n}))};ve(l(Ye,null),document.body);})();\n';nn.tracerCss=`body{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,system-ui,Ubuntu,Droid Sans,sans-serif;background:#fff;margin:0}.render-pass{border-left:2px solid #ccc;&:hover{border-left-color:#000}}.literals li{white-space:pre;font-family:SF Mono,Monaco,Menlo,Consolas,Ubuntu Mono,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.render-flex,.render-element{padding-left:10px}.node{border:1px solid rgba(255,255,255,.5);margin:3px 10px;padding:3px 10px;border-radius:4px;width:fit-content;&.new-in-epoch{box-shadow:0 0 3px 2px red}&.before-epoch{pointer-events:none;filter:grayscale(1);color:#777!important;.node{color:#777!important}}&:last-child{margin-bottom:0}}.node-content{font-weight:700}.node-children{margin-left:20px;border-left:2px dashed rgba(255,255,255,.5);padding-left:10px}.node-toggler{cursor:pointer;display:flex;align-items:center;justify-content:space-between;.indicator{font-size:.7em}}.node-text{width:400px;&:focus,&:focus-within{outline:1px solid orange;.node-content{white-space:normal}}.node-content{font-weight:400;font-size:.8em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.node-stats{font-family:SF Mono,Monaco,Menlo,Consolas,Ubuntu Mono,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-size:.8em}.control-description{padding:10px;p{font-size:.9em;max-width:500px;margin-top:0}}.controls{display:flex;flex-direction:column;gap:10px;position:sticky;top:0;padding:10px;background:#fff;border-bottom:1px solid #ccc;z-index:1}.controls-slider{display:flex;align-items:center;gap:10px}.controls-stats{display:flex;gap:20px;list-style:none;padding:0;margin-top:0}.controls-scoreby{display:flex;gap:10px}.tabs{display:flex;border-bottom:1px solid #ccc;margin-bottom:10px}.tab{padding:10px;cursor:pointer;border:1px solid transparent;border-bottom:none}.tab.active{border-color:#ccc;border-bottom:1px solid #fff;background-color:#f9f9f9}.tab-content{display:none}.tab-content.active{display:block} `});var Qa=$(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.HTMLTracer=void 0;var Ha=Ka(),kt=Ii(),cc=gt(),ss=class{traceData;epochs=[];addRenderEpoch(e){this.epochs.push(e)}includeInEpoch(e){this.epochs[this.epochs.length-1].elements.push(e)}didMaterializeTree(e){this.traceData=e}async serveHTML(){return os.create({epochs:this.epochs,traceData:Ga(this.traceData)})}serveRouter(e){return new Sr({baseAddress:e,epochs:this.epochs,traceData:Ga(this.traceData)})}};Pr.HTMLTracer=ss;var Sr=class{opts;serverToken=crypto.randomUUID();constructor(e){this.opts=e}route(e,t){let r=e,i=t,s=new URL(r.url||"/","http://localhost"),o=`/${this.serverToken}`;switch(s.pathname){case o:case`${o}/`:this.onRoot(s,r,i);break;case`${o}/regen`:this.onRegen(s,r,i);break;default:return!1}return!0}get address(){return this.opts.baseAddress+"/"+this.serverToken}async getHTML(){let{traceData:e,epochs:t}=this.opts;return` `}async onRegen(e,t,r){let{traceData:i}=this.opts,s=Number(e.searchParams.get("n")||i.budget),o=await i.renderTree(s),a=await za(i.tokenizer,o),l=JSON.stringify(a);r.setHeader("Content-Type","application/json"),r.setHeader("Content-Length",Buffer.byteLength(l)),r.end(l)}onRoot(e,t,r){this.getHTML().then(i=>{r.setHeader("Content-Type","text/html"),r.setHeader("Content-Length",Buffer.byteLength(i)),r.end(i)})}},os=class n extends Sr{server;static async create(e){let{createServer:t}=await Promise.resolve().then(()=>require("http")),r=t((o,a)=>{try{s.route(o,a)||(a.statusCode=404,a.end("Not Found"))}catch(l){a.statusCode=500,a.end(String(l))}}),i=await new Promise((o,a)=>{r.listen(0,"127.0.0.1",()=>o(r.address().port)).on("error",a)}),s=new n({...e,baseAddress:`http://127.0.0.1:${i}`},r);return s}constructor(e,t){super(e),this.server=t}dispose(){this.server.closeAllConnections(),this.server.close()}};async function za(n,e){return{container:await Xa(n,e.container,!1),removed:e.removed,budget:e.budget}}async function Xa(n,e,t){let r={metadata:e.metadata.map(fc),priority:e.priority};if(e instanceof kt.MaterializedChatMessageTextChunk)return{...r,type:2,value:e.text,tokens:await e.upperBoundTokenCount(n)};if(e instanceof kt.MaterializedChatMessageImage)return{...r,name:e.id.toString(),id:e.id,type:3,value:e.src,tokens:await e.upperBoundTokenCount(n)};if(e instanceof kt.MaterializedChatMessageOpaque||e instanceof kt.MaterializedChatMessageBreakpoint||e instanceof kt.MaterializedChatMessageDocument)return;{let i={...r,id:e.id,name:e.name,children:(await Promise.all(e.children.map(s=>Xa(n,s,t||e instanceof kt.MaterializedChatMessage)))).filter(s=>!!s),tokens:t?await e.upperBoundTokenCount(n):await e.tokenCount(n)};if(e instanceof kt.GenericMaterializedContainer)return{...i,type:0};if(e instanceof kt.MaterializedChatMessage){let s=e.text.filter(o=>typeof o=="string").join("").trim();return{...i,type:1,role:cc.Raw.ChatRole.display(e.role),text:s}}}dc(e)}function dc(n){throw new Error("unreachable")}function fc(n){return{name:n.constructor.name,value:JSON.stringify(n)}}var Ga=n=>{if(n===void 0)throw new Error("Prompt must be rendered before calling HTMLTRacer.serveHTML");return n}});var Ya=$(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0})});var el=$(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0})});var nl=$(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0})});var Fi=$(Y=>{"use strict";var pc=Y&&Y.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),Vt=Y&&Y.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&pc(e,n,t)};Object.defineProperty(Y,"__esModule",{value:!0});Y.contentType=Y.PromptRenderer=Y.MetadataMap=Y.PromptElement=Y.JSONTree=void 0;Y.renderPrompt=gc;Y.renderElementJSON=_c;var as=gt(),rl=ns(),hc=qa();Vt(Qa(),Y);Y.JSONTree=Ti();Vt(gt(),Y);Vt(Mi(),Y);Vt(Gi(),Y);Vt(Ya(),Y);Vt(el(),Y);Vt(nl(),Y);var mc=ki();Object.defineProperty(Y,"PromptElement",{enumerable:!0,get:function(){return mc.PromptElement}});var il=ns();Object.defineProperty(Y,"MetadataMap",{enumerable:!0,get:function(){return il.MetadataMap}});Object.defineProperty(Y,"PromptRenderer",{enumerable:!0,get:function(){return il.PromptRenderer}});async function gc(n,e,t,r,i,s,o=as.OutputMode.VSCode){let a="countTokens"in r?new hc.VSCodeTokenizer((c,f)=>r.countTokens(c,f),o):r,l=new rl.PromptRenderer(t,n,e,a),u=await l.render(i,s),d=l.getUsedContext();return{...u,usedContext:d}}Y.contentType="application/vnd.codechat.prompt+json.1";function _c(n,e,t,r){return new rl.PromptRenderer({modelMaxPromptTokens:t?.tokenBudget??Number.MAX_SAFE_INTEGER},n,e,{mode:as.OutputMode.Raw,countMessageTokens(s){throw new Error("Tools may only return text, not messages.")},tokenLength(s,o){return s.type===as.Raw.ChatCompletionContentPartKind.Text?Promise.resolve(t?.countTokens(s.text,o)??Promise.resolve(1)):Promise.resolve(1)}}).renderElementJSON(r)}});var pl=$(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.bytePairEncode=Ye.BinaryMap=Ye.binaryMapKey=void 0;var Fc=(n,e,t)=>{let r=t-e,i=16777215>>>Math.max(0,(3-r)*8),s=(n[e+0]|n[e+1]<<8|n[e+2]<<16)&i,o=16777215>>>Math.min(31,Math.max(0,(6-r)*8)),a=(n[e+3]|n[e+4]<<8|n[e+5]<<16)&o;return s+16777216*a};Ye.binaryMapKey=Fc;var gs=class n{constructor(){this.nested=new Map,this.final=new Map}get(e,t=0,r=e.length){let i=r<6+t,s=(0,Ye.binaryMapKey)(e,t,r);return i?this.final.get(s):this.nested.get(s)?.get(e,6+t,r)}set(e,t){let r=(0,Ye.binaryMapKey)(e,0,e.length);if(e.length<6){this.final.set(r,t);return}let s=this.nested.get(r);if(s instanceof n)s.set(e.subarray(6),t);else{let o=new n;o.set(e.subarray(6),t),this.nested.set(r,o)}}};Ye.BinaryMap=gs;var Je=new Int32Array(128),ve=new Int32Array(128);function Bc(n,e,t){if(t===1)return[e.get(n)];let r=2147483647,i=-1;for(;Je.length0&&(Je[ve[i-1]]=o(i-1,1));for(let l=i+1;l{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.makeTextEncoder=void 0;var _s=class{constructor(){this.length=0,this.encoder=new TextEncoder}encode(e){let t=this.encoder.encode(e);return this.length=t.length,t}},bs=class{constructor(){this.buffer=Buffer.alloc(256),this.length=0}encode(e){for(;;){if(this.length=this.buffer.write(e,"utf8"),this.lengthtypeof Buffer<"u"?new bs:new _s;Ur.makeTextEncoder=$c});var ml=$(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.LRUCache=void 0;var Ts=class{constructor(e){this.size=e,this.nodes=new Map}get(e){let t=this.nodes.get(e);if(t)return this.moveToHead(t),t.value}set(e,t){let r=this.nodes.get(e);if(r)r.value=t,this.moveToHead(r);else{let i=new vs(e,t);this.nodes.set(e,i),this.addNode(i),this.nodes.size>this.size&&(this.nodes.delete(this.tail.key),this.removeNode(this.tail))}}moveToHead(e){this.removeNode(e),e.next=void 0,e.prev=void 0,this.addNode(e)}addNode(e){this.head&&(this.head.prev=e,e.next=this.head),this.tail||(this.tail=e),this.head=e}removeNode(e){e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev}};Cr.LRUCache=Ts;var vs=class{constructor(e,t){this.key=e,this.value=t}}});var xs=$(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.TikTokenizer=void 0;var Mr=pl(),Wc=hl(),jc=ml();function Vc(n){let e=new Map;try{let i=require("fs").readFileSync(n,"utf-8");return t(i),e}catch(r){throw new Error(`Failed to load from BPE encoder file stream: ${r}`)}function t(r){for(let i of r.split(/[\r\n]+/)){if(i.trim()==="")continue;let s=i.split(" ");if(s.length!==2)throw new Error("Invalid format in the BPE encoder file stream");let o=new Uint8Array(Buffer.from(s[0],"base64")),a=parseInt(s[1]);if(!isNaN(a))e.set(o,a);else throw new Error(`Can't parse ${s[1]} to integer`)}}}function qc(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var ys=class{constructor(e,t,r,i=8192){this.textEncoder=(0,Wc.makeTextEncoder)(),this.textDecoder=new TextDecoder("utf-8"),this.cache=new jc.LRUCache(i);let s=typeof e=="string"?Vc(e):e;this.init(s,t,r)}init(e,t,r){this.encoder=new Mr.BinaryMap;for(let[i,s]of e)this.encoder.set(i,s);this.regex=new RegExp(r,"gu"),this.specialTokensRegex=new RegExp(Array.from(t.keys()).map(i=>qc(i)).join("|")),this.specialTokensEncoder=t,this.decoder=new Map;for(let[i,s]of e)this.decoder.set(s,i);if(e.size!==this.decoder.size)throw new Error("Encoder and decoder sizes do not match");this.specialTokensDecoder=new Map;for(let[i,s]of t)this.specialTokensDecoder.set(s,i)}findNextSpecialToken(e,t,r){let i=t,s=null;if(r&&this.specialTokensRegex)for(;s=e.slice(i).match(this.specialTokensRegex),!(!s||r&&r.includes(s[0]));)i+=s.index+1;let o=s?i+s.index:e.length;return[s,o]}encode(e,t){let r=[],i=0;for(;;){let s,o;if([s,o]=this.findNextSpecialToken(e,i,t),o>i&&this.encodeByIndex(e,r,i,o),s){if(i=i+this.encodeSpecialToken(r,s),i>=e.length)break}else break}return r}encodeSpecialToken(e,t){let r=this.specialTokensEncoder?.get(t[0]);return e.push(r),t.index+t[0].length}encodeByIndex(e,t,r,i){let s,o=e.substring(r,i);for(this.regex.lastIndex=0;s=this.regex.exec(o);){let a=this.cache.get(s[0]);if(a)for(let l of a)t.push(l);else{let l=this.textEncoder.encode(s[0]),u=this.encoder.get(l,0,this.textEncoder.length);if(u!==void 0)t.push(u),this.cache.set(s[0],[u]);else{let d=(0,Mr.bytePairEncode)(l,this.encoder,this.textEncoder.length);for(let c of d)t.push(c);this.cache.set(s[0],d)}}}}encodeTrimSuffixByIndex(e,t,r,i,s,o,a){let l,u=e.substring(r,i);for(this.regex.lastIndex=0;l=this.regex.exec(u);){let d=l[0],c=this.cache.get(d);if(c)if(o+c.length<=s)o+=c.length,a+=d.length,t.push(...c);else{let f=s-o;o+=f,a+=d.length,t.push(...c.slice(0,f));break}else{let f=this.textEncoder.encode(d),T=this.encoder.get(f,0,f.length);if(T!==void 0)if(this.cache.set(d,[T]),o+1<=s)o++,a+=d.length,t.push(T);else break;else{let w=(0,Mr.bytePairEncode)(f,this.encoder,this.textEncoder.length);if(this.cache.set(d,w),o+w.length<=s){o+=w.length,a+=d.length;for(let D of w)t.push(D)}else{let D=s-o;o+=D,a+=d.length;for(let P=0;P=s)break}return{tokenCount:o,encodeLength:a}}encodeTrimSuffix(e,t,r){let i=[],s=0,o=0,a=0;for(;;){let u,d;if([u,d]=this.findNextSpecialToken(e,s,r),d>s){let{tokenCount:c,encodeLength:f}=this.encodeTrimSuffixByIndex(e,i,s,d,t,o,a);if(o=c,a=f,o>=t)break}if(u!==null){if(o++,o<=t&&(s=s+this.encodeSpecialToken(i,u),a+=u[0].length,s>=e.length)||o>=t)break}else break}let l=a===e.length?e:e.slice(0,a);return{tokenIds:i,text:l}}encodeTrimPrefix(e,t,r){let i=[],s=0,o=0,a=0,l=new Map;for(l.set(o,a);;){let f,T;if([f,T]=this.findNextSpecialToken(e,s,r),T>s){let w,D=e.substring(s,T);for(this.regex.lastIndex=0;w=this.regex.exec(D);){let P=w[0],M=this.cache.get(P);if(M)o+=M.length,a+=P.length,i.push(...M),l.set(o,a);else{let N=this.textEncoder.encode(P),B=this.encoder.get(N);if(B!==void 0)this.cache.set(P,[B]),o++,a+=P.length,i.push(B),l.set(o,a);else{let te=(0,Mr.bytePairEncode)(N,this.encoder,this.textEncoder.length);this.cache.set(P,te),o+=te.length,a+=P.length;for(let Z of te)i.push(Z);l.set(o,a)}}}}if(f!==null){if(s=s+this.encodeSpecialToken(i,f),o++,a+=f[0].length,l.set(o,a),s>=e.length)break}else break}if(o<=t)return{tokenIds:i,text:e};let u=o-t,d=0,c=0;for(let[f,T]of l)if(f>=u){d=f,c=T;break}if(d>t){let f=this.encode(e,r),T=f.slice(f.length-t);return{tokenIds:T,text:this.decode(T)}}return{tokenIds:i.slice(d),text:e.slice(c)}}decode(e){let t=[];for(let r of e){let i=[],s=this.decoder?.get(r);if(s!==void 0)i=Array.from(s);else{let o=this.specialTokensDecoder?.get(r);if(o!==void 0){let a=this.textEncoder.encode(o);i=Array.from(a.subarray(0,this.textEncoder.length))}}t.push(...i)}return this.textDecoder.decode(new Uint8Array(t))}};Fr.TikTokenizer=ys});var wl=$(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.createTokenizer=fe.createByEncoderName=fe.createByModelName=fe.getRegexByModel=fe.getRegexByEncoder=fe.getSpecialTokensByModel=fe.getSpecialTokensByEncoder=fe.MODEL_TO_ENCODING=void 0;var Kc=xs(),Hc=new Map([["gpt-4o-","o200k_base"],["gpt-4-","cl100k_base"],["gpt-3.5-turbo-","cl100k_base"],["gpt-35-turbo-","cl100k_base"]]);fe.MODEL_TO_ENCODING=new Map([["gpt-4o","o200k_base"],["gpt-4","cl100k_base"],["gpt-3.5-turbo","cl100k_base"],["text-davinci-003","p50k_base"],["text-davinci-002","p50k_base"],["text-davinci-001","r50k_base"],["text-curie-001","r50k_base"],["text-babbage-001","r50k_base"],["text-ada-001","r50k_base"],["davinci","r50k_base"],["curie","r50k_base"],["babbage","r50k_base"],["ada","r50k_base"],["code-davinci-002","p50k_base"],["code-davinci-001","p50k_base"],["code-cushman-002","p50k_base"],["code-cushman-001","p50k_base"],["davinci-codex","p50k_base"],["cushman-codex","p50k_base"],["text-davinci-edit-001","p50k_edit"],["code-davinci-edit-001","p50k_edit"],["text-embedding-ada-002","cl100k_base"],["text-similarity-davinci-001","r50k_base"],["text-similarity-curie-001","r50k_base"],["text-similarity-babbage-001","r50k_base"],["text-similarity-ada-001","r50k_base"],["text-search-davinci-doc-001","r50k_base"],["text-search-curie-doc-001","r50k_base"],["text-search-babbage-doc-001","r50k_base"],["text-search-ada-doc-001","r50k_base"],["code-search-babbage-code-001","r50k_base"],["code-search-ada-code-001","r50k_base"],["gpt2","gpt2"]]);var Br="<|endoftext|>",gl="<|fim_prefix|>",_l="<|fim_middle|>",bl="<|fim_suffix|>",Tl="<|endofprompt|>",Pn="'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+",vl="(?:'s|'S|'t|'T|'re|'RE|'Re|'eR|'ve|'VE|'vE|'Ve|'m|'M|'ll|'lL|'Ll|'LL|'d|'D)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",zc=[`[^\r \\p{L}\\p{N}]?[\\p{Lu}\\p{Lt}\\p{Lm}\\p{Lo}\\p{M}]*[\\p{Ll}\\p{Lm}\\p{Lo}\\p{M}]+(?:'s|'S|'t|'T|'re|'RE|'Re|'eR|'ve|'VE|'vE|'Ve|'m|'M|'ll|'lL|'Ll|'LL|'d|'D)?`,`[^\r \\p{L}\\p{N}]?[\\p{Lu}\\p{Lt}\\p{Lm}\\p{Lo}\\p{M}]+[\\p{Ll}\\p{Lm}\\p{Lo}\\p{M}]*(?:'s|'S|'t|'T|'re|'RE|'Re|'eR|'ve|'VE|'vE|'Ve|'m|'M|'ll|'lL|'Ll|'LL|'d|'D)?`,"\\p{N}{1,3}"," ?[^\\s\\p{L}\\p{N}]+[\\r\\n/]*","\\s*[\\r\\n]+","\\s+(?!\\S)","\\s+"],yl=zc.join("|");function Es(n){let e="";if(fe.MODEL_TO_ENCODING.has(n))e=fe.MODEL_TO_ENCODING.get(n);else for(let[t,r]of Hc)if(n.startsWith(t)){e=r;break}return e}async function Gc(n,e){let t=require("fs"),r=await fetch(n);if(!r.ok)throw new Error(`Failed to fetch file from ${n}. Status code: ${r.status}`);let i=await r.text();t.writeFileSync(e,i)}function Is(n){let e=new Map([[Br,50256]]);switch(n){case"o200k_base":e=new Map([[Br,199999],[Tl,200018]]);break;case"cl100k_base":e=new Map([[Br,100257],[gl,100258],[_l,100259],[bl,100260],[Tl,100276]]);break;case"p50k_edit":e=new Map([[Br,50256],[gl,50281],[_l,50282],[bl,50283]]);break;default:break}return e}fe.getSpecialTokensByEncoder=Is;function Xc(n){let e=Es(n);return Is(e)}fe.getSpecialTokensByModel=Xc;function xl(n){switch(n){case"o200k_base":return yl;case"cl100k_base":return vl;default:break}return Pn}fe.getRegexByEncoder=xl;function Qc(n){let e=Es(n);return xl(e)}fe.getRegexByModel=Qc;async function Jc(n,e=null){return El(Es(n),e)}fe.createByModelName=Jc;async function El(n,e=null){let t,r,i=Is(n);switch(n){case"o200k_base":t=yl,r="https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken";break;case"cl100k_base":t=vl,r="https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken";break;case"p50k_base":t=Pn,r="https://openaipublic.blob.core.windows.net/encodings/p50k_base.tiktoken";break;case"p50k_edit":t=Pn,r="https://openaipublic.blob.core.windows.net/encodings/p50k_base.tiktoken";break;case"r50k_base":t=Pn,r="https://openaipublic.blob.core.windows.net/encodings/r50k_base.tiktoken";break;case"gpt2":t=Pn,r="https://raw.githubusercontent.com/microsoft/Tokenizer/main/model/gpt2.tiktoken";break;default:throw new Error(`Doesn't support this encoder [${n}]`)}e!==null&&(i=new Map([...i,...e]));let s=require("fs"),o=require("path"),a=o.basename(r),l=o.resolve(__dirname,"..","model");s.existsSync(l)||s.mkdirSync(l,{recursive:!0});let u=o.resolve(l,a);return s.existsSync(u)||(console.log(`Downloading file from ${r}`),await Gc(r,u),console.log(`Saved file to ${u}`)),Il(u,i,t)}fe.createByEncoderName=El;function Il(n,e,t,r=8192){return new Kc.TikTokenizer(n,e,t,r)}fe.createTokenizer=Il});var kl=$(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.createTokenizer=pe.createByEncoderName=pe.createByModelName=pe.getSpecialTokensByModel=pe.getSpecialTokensByEncoder=pe.getRegexByModel=pe.getRegexByEncoder=pe.MODEL_TO_ENCODING=pe.TikTokenizer=void 0;var Yc=xs();Object.defineProperty(pe,"TikTokenizer",{enumerable:!0,get:function(){return Yc.TikTokenizer}});var At=wl();Object.defineProperty(pe,"MODEL_TO_ENCODING",{enumerable:!0,get:function(){return At.MODEL_TO_ENCODING}});Object.defineProperty(pe,"getRegexByEncoder",{enumerable:!0,get:function(){return At.getRegexByEncoder}});Object.defineProperty(pe,"getRegexByModel",{enumerable:!0,get:function(){return At.getRegexByModel}});Object.defineProperty(pe,"getSpecialTokensByEncoder",{enumerable:!0,get:function(){return At.getSpecialTokensByEncoder}});Object.defineProperty(pe,"getSpecialTokensByModel",{enumerable:!0,get:function(){return At.getSpecialTokensByModel}});Object.defineProperty(pe,"createByModelName",{enumerable:!0,get:function(){return At.createByModelName}});Object.defineProperty(pe,"createByEncoderName",{enumerable:!0,get:function(){return At.createByEncoderName}});Object.defineProperty(pe,"createTokenizer",{enumerable:!0,get:function(){return At.createTokenizer}})});var On=$((D2,Ml)=>{"use strict";var Ol="[^\\\\/]",fd="(?=.)",Nl="[^/]",Rs="(?:\\/|$)",Ul="(?:^|\\/)",As=`\\.{1,2}${Rs}`,pd="(?!\\.)",hd=`(?!${Ul}${As})`,md=`(?!\\.{0,1}${Rs})`,gd=`(?!${As})`,_d="[^.\\/]",bd=`${Nl}*?`,Td="/",Cl={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:fd,QMARK:Nl,END_ANCHOR:Rs,DOTS_SLASH:As,NO_DOT:pd,NO_DOTS:hd,NO_DOT_SLASH:md,NO_DOTS_SLASH:gd,QMARK_NO_DOT:_d,STAR:bd,START_ANCHOR:Ul,SEP:Td},vd={...Cl,SLASH_LITERAL:"[\\\\/]",QMARK:Ol,STAR:`${Ol}*?`,DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},yd={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Ml.exports={DEFAULT_MAX_EXTGLOB_RECURSION:0,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:yd,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(n){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${n.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(n){return n===!0?vd:Cl}}});var Nn=$(Ae=>{"use strict";var{REGEX_BACKSLASH:xd,REGEX_REMOVE_BACKSLASH:Ed,REGEX_SPECIAL_CHARS:Id,REGEX_SPECIAL_CHARS_GLOBAL:wd}=On();Ae.isObject=n=>n!==null&&typeof n=="object"&&!Array.isArray(n);Ae.hasRegexChars=n=>Id.test(n);Ae.isRegexChar=n=>n.length===1&&Ae.hasRegexChars(n);Ae.escapeRegex=n=>n.replace(wd,"\\$1");Ae.toPosixSlashes=n=>n.replace(xd,"/");Ae.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let n=navigator.platform.toLowerCase();return n==="win32"||n==="windows"}return typeof process<"u"&&process.platform?process.platform==="win32":!1};Ae.removeBackslashes=n=>n.replace(Ed,e=>e==="\\"?"":e);Ae.escapeLast=(n,e,t)=>{let r=n.lastIndexOf(e,t);return r===-1?n:n[r-1]==="\\"?Ae.escapeLast(n,e,r-1):`${n.slice(0,r)}\\${n.slice(r)}`};Ae.removePrefix=(n,e={})=>{let t=n;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};Ae.wrapOutput=(n,e={},t={})=>{let r=t.contains?"":"^",i=t.contains?"":"$",s=`${r}(?:${n})${i}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s};Ae.basename=(n,{windows:e}={})=>{let t=n.split(e?/[\\/]/:"/"),r=t[t.length-1];return r===""?t[t.length-2]:r}});var Kl=$((N2,ql)=>{"use strict";var Fl=Nn(),{CHAR_ASTERISK:Ss,CHAR_AT:kd,CHAR_BACKWARD_SLASH:Un,CHAR_COMMA:Rd,CHAR_DOT:Ps,CHAR_EXCLAMATION_MARK:Ls,CHAR_FORWARD_SLASH:Vl,CHAR_LEFT_CURLY_BRACE:Ds,CHAR_LEFT_PARENTHESES:Os,CHAR_LEFT_SQUARE_BRACKET:Ad,CHAR_PLUS:Sd,CHAR_QUESTION_MARK:Bl,CHAR_RIGHT_CURLY_BRACE:Pd,CHAR_RIGHT_PARENTHESES:$l,CHAR_RIGHT_SQUARE_BRACKET:Ld}=On(),Wl=n=>n===Vl||n===Un,jl=n=>{n.isPrefix!==!0&&(n.depth=n.isGlobstar?1/0:1)},Dd=(n,e)=>{let t=e||{},r=n.length-1,i=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=n,u=-1,d=0,c=0,f=!1,T=!1,w=!1,D=!1,P=!1,M=!1,N=!1,B=!1,te=!1,Z=!1,ce=0,S,y,A={value:"",depth:0,isGlob:!1},h=()=>u>=r,se=()=>l.charCodeAt(u+1),Q=()=>(S=y,l.charCodeAt(++u));for(;u0&&(m=l.slice(0,d),l=l.slice(d),c-=d),ne&&w===!0&&c>0?(ne=l.slice(0,c),p=l.slice(c)):w===!0?(ne="",p=l):ne=l,ne&&ne!==""&&ne!=="/"&&ne!==l&&Wl(ne.charCodeAt(ne.length-1))&&(ne=ne.slice(0,-1)),t.unescape===!0&&(p&&(p=Fl.removeBackslashes(p)),ne&&N===!0&&(ne=Fl.removeBackslashes(ne)));let _={prefix:m,input:n,start:d,base:ne,glob:p,isBrace:f,isBracket:T,isGlob:w,isExtglob:D,isGlobstar:P,negated:B,negatedExtglob:te};if(t.tokens===!0&&(_.maxDepth=0,Wl(y)||o.push(A),_.tokens=o),t.parts===!0||t.tokens===!0){let g;for(let b=0;b{"use strict";var Cn=On(),Oe=Nn(),{MAX_LENGTH:Wr,POSIX_REGEX_SOURCE:Od,REGEX_NON_SPECIAL_CHARS:Nd,REGEX_SPECIAL_CHARS_BACKREF:Ud,REPLACEMENTS:Hl}=Cn,Cd=(n,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...n,e);n.sort();let t=`[${n.join("-")}]`;try{new RegExp(t)}catch{return n.map(i=>Oe.escapeRegex(i)).join("..")}return t},un=(n,e)=>`Missing ${n}: "${e}" - use "\\\\${e}" to match literal characters`,zl=n=>{let e=[],t=0,r=0,i=0,s="",o=!1;for(let a of n){if(o===!0){s+=a,o=!1;continue}if(a==="\\"){s+=a,o=!0;continue}if(a==='"'){i=i===1?0:1,s+=a;continue}if(i===0){if(a==="[")t++;else if(a==="]"&&t>0)t--;else if(t===0){if(a==="(")r++;else if(a===")"&&r>0)r--;else if(a==="|"&&r===0){e.push(s),s="";continue}}}s+=a}return e.push(s),e},Md=n=>{let e=!1;for(let t of n){if(e===!0){e=!1;continue}if(t==="\\"){e=!0;continue}if(/[?*+@!()[\]{}]/.test(t))return!1}return!0},Gl=n=>{let e=n.trim(),t=!0;for(;t===!0;)t=!1,/^@\([^\\()[\]{}|]+\)$/.test(e)&&(e=e.slice(2,-1),t=!0);if(Md(e))return e.replace(/\\(.)/g,"$1")},Fd=n=>{let e=n.map(Gl).filter(Boolean);for(let t=0;t{if(n[0]!=="+"&&n[0]!=="*"||n[1]!=="(")return;let t=0,r=0,i=0,s=!1;for(let o=1;o0){t--;continue}if(!(t>0)){if(a==="("){r++;continue}if(a===")"&&(r--,r===0))return e===!0&&o!==n.length-1?void 0:{type:n[0],body:n.slice(2,o),end:o}}}}},Bd=n=>{let e=0,t=[];for(;ea.trim());if(s.length!==1)return;let o=Gl(s[0]);if(!o||o.length!==1)return;t.push(o),e+=i.end+1}return t.length<1?void 0:`${t.length===1?Oe.escapeRegex(t[0]):`[${t.map(i=>Oe.escapeRegex(i)).join("")}]`}*`},$d=n=>{let e=0,t=n.trim(),r=Ns(t);for(;r;)e++,t=r.body.trim(),r=Ns(t);return e},Wd=(n,e)=>{if(e.maxExtglobRecursion===!1)return{risky:!1};let t=typeof e.maxExtglobRecursion=="number"?e.maxExtglobRecursion:Cn.DEFAULT_MAX_EXTGLOB_RECURSION,r=zl(n).map(i=>i.trim());if(r.length>1&&(r.some(i=>i==="")||r.some(i=>/^[*?]+$/.test(i))||Fd(r)))return{risky:!0};for(let i of r){let s=Bd(i);if(s)return{risky:!0,safeOutput:s};if($d(i)>t)return{risky:!0}}return{risky:!1}},Us=(n,e)=>{if(typeof n!="string")throw new TypeError("Expected a string");n=Hl[n]||n;let t={...e},r=typeof t.maxLength=="number"?Math.min(Wr,t.maxLength):Wr,i=n.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=Cn.globChars(t.windows),u=Cn.extglobChars(l),{DOT_LITERAL:d,PLUS_LITERAL:c,SLASH_LITERAL:f,ONE_CHAR:T,DOTS_SLASH:w,NO_DOT:D,NO_DOT_SLASH:P,NO_DOTS_SLASH:M,QMARK:N,QMARK_NO_DOT:B,STAR:te,START_ANCHOR:Z}=l,ce=E=>`(${a}(?:(?!${Z}${E.dot?w:d}).)*?)`,S=t.dot?"":D,y=t.dot?N:B,A=t.bash===!0?ce(t):te;t.capture&&(A=`(${A})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let h={input:n,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};n=Oe.removePrefix(n,h),i=n.length;let se=[],Q=[],ne=[],m=s,p,_=()=>h.index===i-1,g=h.peek=(E=1)=>n[h.index+E],b=h.advance=()=>n[++h.index]||"",k=()=>n.slice(h.index+1),L=(E="",K=0)=>{h.consumed+=E,h.index+=K},U=E=>{h.output+=E.output!=null?E.output:E.value,L(E.value)},re=()=>{let E=1;for(;g()==="!"&&(g(2)!=="("||g(3)==="?");)b(),h.start++,E++;return E%2===0?!1:(h.negated=!0,h.start++,!0)},q=E=>{h[E]++,ne.push(E)},ie=E=>{h[E]--,ne.pop()},O=E=>{if(m.type==="globstar"){let K=h.braces>0&&(E.type==="comma"||E.type==="brace"),I=E.extglob===!0||se.length&&(E.type==="pipe"||E.type==="paren");E.type!=="slash"&&E.type!=="paren"&&!K&&!I&&(h.output=h.output.slice(0,-m.output.length),m.type="star",m.value="*",m.output=A,h.output+=m.output)}if(se.length&&E.type!=="paren"&&(se[se.length-1].inner+=E.value),(E.value||E.output)&&U(E),m&&m.type==="text"&&E.type==="text"){m.output=(m.output||m.value)+E.value,m.value+=E.value;return}E.prev=m,o.push(E),m=E},ye=(E,K)=>{let I={...u[K],conditions:1,inner:""};I.prev=m,I.parens=h.parens,I.output=h.output,I.startIndex=h.index,I.tokensIndex=o.length;let x=(t.capture?"(":"")+I.open;q("parens"),O({type:E,value:K,output:h.output?"":T}),O({type:"paren",extglob:!0,value:b(),output:x}),se.push(I)},Ne=E=>{let K=n.slice(E.startIndex,h.index+1),I=n.slice(E.startIndex+2,h.index),x=Wd(I,t);if((E.type==="plus"||E.type==="star")&&x.risky){let G=x.safeOutput?(E.output?"":T)+(t.capture?`(${x.safeOutput})`:x.safeOutput):void 0,We=o[E.tokensIndex];We.type="text",We.value=K,We.output=G||Oe.escapeRegex(K);for(let je=E.tokensIndex+1;je1&&E.inner.includes("/")&&(G=ce(t)),(G!==A||_()||/^\)+$/.test(k()))&&(J=E.close=`)$))${G}`),E.inner.includes("*")&&(he=k())&&/^\.[^\\/.]+$/.test(he)){let We=Us(he,{...e,fastpaths:!1}).output;J=E.close=`)${We})${G})`}E.prev.type==="bos"&&(h.negatedExtglob=!0)}O({type:"paren",extglob:!0,value:p,output:J}),ie("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(n)){let E=!1,K=n.replace(Ud,(I,x,J,he,G,We)=>he==="\\"?(E=!0,I):he==="?"?x?x+he+(G?N.repeat(G.length):""):We===0?y+(G?N.repeat(G.length):""):N.repeat(J.length):he==="."?d.repeat(J.length):he==="*"?x?x+he+(G?A:""):A:x?I:`\\${I}`);return E===!0&&(t.unescape===!0?K=K.replace(/\\/g,""):K=K.replace(/\\+/g,I=>I.length%2===0?"\\\\":I?"\\":"")),K===n&&t.contains===!0?(h.output=n,h):(h.output=Oe.wrapOutput(K,h,e),h)}for(;!_();){if(p=b(),p==="\0")continue;if(p==="\\"){let I=g();if(I==="/"&&t.bash!==!0||I==="."||I===";")continue;if(!I){p+="\\",O({type:"text",value:p});continue}let x=/^\\+/.exec(k()),J=0;if(x&&x[0].length>2&&(J=x[0].length,h.index+=J,J%2!==0&&(p+="\\")),t.unescape===!0?p=b():p+=b(),h.brackets===0){O({type:"text",value:p});continue}}if(h.brackets>0&&(p!=="]"||m.value==="["||m.value==="[^")){if(t.posix!==!1&&p===":"){let I=m.value.slice(1);if(I.includes("[")&&(m.posix=!0,I.includes(":"))){let x=m.value.lastIndexOf("["),J=m.value.slice(0,x),he=m.value.slice(x+2),G=Od[he];if(G){m.value=J+G,h.backtrack=!0,b(),!s.output&&o.indexOf(m)===1&&(s.output=T);continue}}}(p==="["&&g()!==":"||p==="-"&&g()==="]")&&(p=`\\${p}`),p==="]"&&(m.value==="["||m.value==="[^")&&(p=`\\${p}`),t.posix===!0&&p==="!"&&m.value==="["&&(p="^"),m.value+=p,U({value:p});continue}if(h.quotes===1&&p!=='"'){p=Oe.escapeRegex(p),m.value+=p,U({value:p});continue}if(p==='"'){h.quotes=h.quotes===1?0:1,t.keepQuotes===!0&&O({type:"text",value:p});continue}if(p==="("){q("parens"),O({type:"paren",value:p});continue}if(p===")"){if(h.parens===0&&t.strictBrackets===!0)throw new SyntaxError(un("opening","("));let I=se[se.length-1];if(I&&h.parens===I.parens+1){Ne(se.pop());continue}O({type:"paren",value:p,output:h.parens?")":"\\)"}),ie("parens");continue}if(p==="["){if(t.nobracket===!0||!k().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(un("closing","]"));p=`\\${p}`}else q("brackets");O({type:"bracket",value:p});continue}if(p==="]"){if(t.nobracket===!0||m&&m.type==="bracket"&&m.value.length===1){O({type:"text",value:p,output:`\\${p}`});continue}if(h.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(un("opening","["));O({type:"text",value:p,output:`\\${p}`});continue}ie("brackets");let I=m.value.slice(1);if(m.posix!==!0&&I[0]==="^"&&!I.includes("/")&&(p=`/${p}`),m.value+=p,U({value:p}),t.literalBrackets===!1||Oe.hasRegexChars(I))continue;let x=Oe.escapeRegex(m.value);if(h.output=h.output.slice(0,-m.value.length),t.literalBrackets===!0){h.output+=x,m.value=x;continue}m.value=`(${a}${x}|${m.value})`,h.output+=m.value;continue}if(p==="{"&&t.nobrace!==!0){q("braces");let I={type:"brace",value:p,output:"(",outputIndex:h.output.length,tokensIndex:h.tokens.length};Q.push(I),O(I);continue}if(p==="}"){let I=Q[Q.length-1];if(t.nobrace===!0||!I){O({type:"text",value:p,output:p});continue}let x=")";if(I.dots===!0){let J=o.slice(),he=[];for(let G=J.length-1;G>=0&&(o.pop(),J[G].type!=="brace");G--)J[G].type!=="dots"&&he.unshift(J[G].value);x=Cd(he,t),h.backtrack=!0}if(I.comma!==!0&&I.dots!==!0){let J=h.output.slice(0,I.outputIndex),he=h.tokens.slice(I.tokensIndex);I.value=I.output="\\{",p=x="\\}",h.output=J;for(let G of he)h.output+=G.output||G.value}O({type:"brace",value:p,output:x}),ie("braces"),Q.pop();continue}if(p==="|"){se.length>0&&se[se.length-1].conditions++,O({type:"text",value:p});continue}if(p===","){let I=p,x=Q[Q.length-1];x&&ne[ne.length-1]==="braces"&&(x.comma=!0,I="|"),O({type:"comma",value:p,output:I});continue}if(p==="/"){if(m.type==="dot"&&h.index===h.start+1){h.start=h.index+1,h.consumed="",h.output="",o.pop(),m=s;continue}O({type:"slash",value:p,output:f});continue}if(p==="."){if(h.braces>0&&m.type==="dot"){m.value==="."&&(m.output=d);let I=Q[Q.length-1];m.type="dots",m.output+=p,m.value+=p,I.dots=!0;continue}if(h.braces+h.parens===0&&m.type!=="bos"&&m.type!=="slash"){O({type:"text",value:p,output:d});continue}O({type:"dot",value:p,output:d});continue}if(p==="?"){if(!(m&&m.value==="(")&&t.noextglob!==!0&&g()==="("&&g(2)!=="?"){ye("qmark",p);continue}if(m&&m.type==="paren"){let x=g(),J=p;(m.value==="("&&!/[!=<:]/.test(x)||x==="<"&&!/<([!=]|\w+>)/.test(k()))&&(J=`\\${p}`),O({type:"text",value:p,output:J});continue}if(t.dot!==!0&&(m.type==="slash"||m.type==="bos")){O({type:"qmark",value:p,output:B});continue}O({type:"qmark",value:p,output:N});continue}if(p==="!"){if(t.noextglob!==!0&&g()==="("&&(g(2)!=="?"||!/[!=<:]/.test(g(3)))){ye("negate",p);continue}if(t.nonegate!==!0&&h.index===0){re();continue}}if(p==="+"){if(t.noextglob!==!0&&g()==="("&&g(2)!=="?"){ye("plus",p);continue}if(m&&m.value==="("||t.regex===!1){O({type:"plus",value:p,output:c});continue}if(m&&(m.type==="bracket"||m.type==="paren"||m.type==="brace")||h.parens>0){O({type:"plus",value:p});continue}O({type:"plus",value:c});continue}if(p==="@"){if(t.noextglob!==!0&&g()==="("&&g(2)!=="?"){O({type:"at",extglob:!0,value:p,output:""});continue}O({type:"text",value:p});continue}if(p!=="*"){(p==="$"||p==="^")&&(p=`\\${p}`);let I=Nd.exec(k());I&&(p+=I[0],h.index+=I[0].length),O({type:"text",value:p});continue}if(m&&(m.type==="globstar"||m.star===!0)){m.type="star",m.star=!0,m.value+=p,m.output=A,h.backtrack=!0,h.globstar=!0,L(p);continue}let E=k();if(t.noextglob!==!0&&/^\([^?]/.test(E)){ye("star",p);continue}if(m.type==="star"){if(t.noglobstar===!0){L(p);continue}let I=m.prev,x=I.prev,J=I.type==="slash"||I.type==="bos",he=x&&(x.type==="star"||x.type==="globstar");if(t.bash===!0&&(!J||E[0]&&E[0]!=="/")){O({type:"star",value:p,output:""});continue}let G=h.braces>0&&(I.type==="comma"||I.type==="brace"),We=se.length&&(I.type==="pipe"||I.type==="paren");if(!J&&I.type!=="paren"&&!G&&!We){O({type:"star",value:p,output:""});continue}for(;E.slice(0,3)==="/**";){let je=n[h.index+4];if(je&&je!=="/")break;E=E.slice(3),L("/**",3)}if(I.type==="bos"&&_()){m.type="globstar",m.value+=p,m.output=ce(t),h.output=m.output,h.globstar=!0,L(p);continue}if(I.type==="slash"&&I.prev.type!=="bos"&&!he&&_()){h.output=h.output.slice(0,-(I.output+m.output).length),I.output=`(?:${I.output}`,m.type="globstar",m.output=ce(t)+(t.strictSlashes?")":"|$)"),m.value+=p,h.globstar=!0,h.output+=I.output+m.output,L(p);continue}if(I.type==="slash"&&I.prev.type!=="bos"&&E[0]==="/"){let je=E[1]!==void 0?"|$":"";h.output=h.output.slice(0,-(I.output+m.output).length),I.output=`(?:${I.output}`,m.type="globstar",m.output=`${ce(t)}${f}|${f}${je})`,m.value+=p,h.output+=I.output+m.output,h.globstar=!0,L(p+b()),O({type:"slash",value:"/",output:""});continue}if(I.type==="bos"&&E[0]==="/"){m.type="globstar",m.value+=p,m.output=`(?:^|${f}|${ce(t)}${f})`,h.output=m.output,h.globstar=!0,L(p+b()),O({type:"slash",value:"/",output:""});continue}h.output=h.output.slice(0,-m.output.length),m.type="globstar",m.output=ce(t),m.value+=p,h.output+=m.output,h.globstar=!0,L(p);continue}let K={type:"star",value:p,output:A};if(t.bash===!0){K.output=".*?",(m.type==="bos"||m.type==="slash")&&(K.output=S+K.output),O(K);continue}if(m&&(m.type==="bracket"||m.type==="paren")&&t.regex===!0){K.output=p,O(K);continue}(h.index===h.start||m.type==="slash"||m.type==="dot")&&(m.type==="dot"?(h.output+=P,m.output+=P):t.dot===!0?(h.output+=M,m.output+=M):(h.output+=S,m.output+=S),g()!=="*"&&(h.output+=T,m.output+=T)),O(K)}for(;h.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(un("closing","]"));h.output=Oe.escapeLast(h.output,"["),ie("brackets")}for(;h.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(un("closing",")"));h.output=Oe.escapeLast(h.output,"("),ie("parens")}for(;h.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(un("closing","}"));h.output=Oe.escapeLast(h.output,"{"),ie("braces")}if(t.strictSlashes!==!0&&(m.type==="star"||m.type==="bracket")&&O({type:"maybe_slash",value:"",output:`${f}?`}),h.backtrack===!0){h.output="";for(let E of h.tokens)h.output+=E.output!=null?E.output:E.value,E.suffix&&(h.output+=E.suffix)}return h};Us.fastpaths=(n,e)=>{let t={...e},r=typeof t.maxLength=="number"?Math.min(Wr,t.maxLength):Wr,i=n.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);n=Hl[n]||n;let{DOT_LITERAL:s,SLASH_LITERAL:o,ONE_CHAR:a,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:d,NO_DOTS_SLASH:c,STAR:f,START_ANCHOR:T}=Cn.globChars(t.windows),w=t.dot?d:u,D=t.dot?c:u,P=t.capture?"":"?:",M={negated:!1,prefix:""},N=t.bash===!0?".*?":f;t.capture&&(N=`(${N})`);let B=S=>S.noglobstar===!0?N:`(${P}(?:(?!${T}${S.dot?l:s}).)*?)`,te=S=>{switch(S){case"*":return`${w}${a}${N}`;case".*":return`${s}${a}${N}`;case"*.*":return`${w}${N}${s}${a}${N}`;case"*/*":return`${w}${N}${o}${a}${D}${N}`;case"**":return w+B(t);case"**/*":return`(?:${w}${B(t)}${o})?${D}${a}${N}`;case"**/*.*":return`(?:${w}${B(t)}${o})?${D}${N}${s}${a}${N}`;case"**/.*":return`(?:${w}${B(t)}${o})?${s}${a}${N}`;default:{let y=/^(.*?)\.(\w+)$/.exec(S);if(!y)return;let A=te(y[1]);return A?A+s+y[2]:void 0}}},Z=Oe.removePrefix(n,M),ce=te(Z);return ce&&t.strictSlashes!==!0&&(ce+=`${o}?`),ce};Xl.exports=Us});var Zl=$((C2,Yl)=>{"use strict";var jd=Kl(),Cs=Ql(),Jl=Nn(),Vd=On(),qd=n=>n&&typeof n=="object"&&!Array.isArray(n),ue=(n,e,t=!1)=>{if(Array.isArray(n)){let d=n.map(f=>ue(f,e,t));return f=>{for(let T of d){let w=T(f);if(w)return w}return!1}}let r=qd(n)&&n.tokens&&n.input;if(n===""||typeof n!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let i=e||{},s=i.windows,o=r?ue.compileRe(n,e):ue.makeRe(n,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(i.ignore){let d={...e,ignore:null,onMatch:null,onResult:null};l=ue(i.ignore,d,t)}let u=(d,c=!1)=>{let{isMatch:f,match:T,output:w}=ue.test(d,o,e,{glob:n,posix:s}),D={glob:n,state:a,regex:o,posix:s,input:d,output:w,match:T,isMatch:f};return typeof i.onResult=="function"&&i.onResult(D),f===!1?(D.isMatch=!1,c?D:!1):l(d)?(typeof i.onIgnore=="function"&&i.onIgnore(D),D.isMatch=!1,c?D:!1):(typeof i.onMatch=="function"&&i.onMatch(D),c?D:!0)};return t&&(u.state=a),u};ue.test=(n,e,t,{glob:r,posix:i}={})=>{if(typeof n!="string")throw new TypeError("Expected input to be a string");if(n==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(i?Jl.toPosixSlashes:null),a=n===r,l=a&&o?o(n):n;return a===!1&&(l=o?o(n):n,a=l===r),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=ue.matchBase(n,e,t,i):a=e.exec(l)),{isMatch:!!a,match:a,output:l}};ue.matchBase=(n,e,t)=>(e instanceof RegExp?e:ue.makeRe(e,t)).test(Jl.basename(n));ue.isMatch=(n,e,t)=>ue(e,t)(n);ue.parse=(n,e)=>Array.isArray(n)?n.map(t=>ue.parse(t,e)):Cs(n,{...e,fastpaths:!1});ue.scan=(n,e)=>jd(n,e);ue.compileRe=(n,e,t=!1,r=!1)=>{if(t===!0)return n.output;let i=e||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${n.output})${o}`;n&&n.negated===!0&&(a=`^(?!${a}).*$`);let l=ue.toRegex(a,e);return r===!0&&(l.state=n),l};ue.makeRe=(n,e={},t=!1,r=!1)=>{if(!n||typeof n!="string")throw new TypeError("Expected a non-empty string");let i={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(n[0]==="."||n[0]==="*")&&(i.output=Cs.fastpaths(n,e)),i.output||(i=Cs(n,e)),ue.compileRe(i,e,t,r)};ue.toRegex=(n,e)=>{try{let t=e||{};return new RegExp(n,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};ue.constants=Vd;Yl.exports=ue});var ru=$((M2,nu)=>{"use strict";var eu=Zl(),Kd=Nn();function tu(n,e,t=!1){return e&&(e.windows===null||e.windows===void 0)&&(e={...e,windows:Kd.isWindows()}),eu(n,e,t)}Object.assign(tu,eu);nu.exports=tu});var Qd={};module.exports=mu(Qd);var Fn=require("worker_threads");var Vs=require("worker_threads"),cn=class{constructor(){this.nextId=1;this.handlers=new Map}createHandler(){let e=this.nextId++,t,r,i=new Promise((s,o)=>{t=s,r=o});return this.handlers.set(e,{resolve:t,reject:r}),{id:e,result:i}}handleResponse(e){let t=this.handlers.get(e.id);t&&(this.handlers.delete(e.id),e.err?t.reject(e.err):t.resolve(e.res))}handleError(e){for(let t of this.handlers.values())t.reject(e);this.handlers.clear()}clear(){this.handlers.clear()}};function qr(n){let e={get:(t,r)=>(typeof r=="string"&&!t[r]&&(t[r]=(...i)=>n(r,i)),t[r])};return new Proxy(Object.create(null),e)}var $n=class{constructor(e,t,r){this.responseHandler=new cn;this.worker=new Vs.Worker(e,t),this.worker.on("message",async i=>{if("fn"in i)try{let s=await r?.[i.fn].apply(r,i.args);this.worker.postMessage({id:i.id,res:s})}catch(s){this.worker.postMessage({id:i.id,err:s})}else this.responseHandler.handleResponse(i)}),this.worker.on("error",i=>this.handleError(i)),this.worker.on("exit",i=>{i!==0&&this.handleError(new Error(`Worker thread exited with code ${i}.`))}),this.proxy=qr((i,s)=>{if(!this.worker)throw new Error("Worker was terminated!");let{id:o,result:a}=this.responseHandler.createHandler();return this.worker.postMessage({id:o,fn:i,args:s}),a})}terminate(){this.worker.removeAllListeners(),this.worker.terminate(),this.responseHandler.clear()}handleError(e){this.responseHandler.handleError(e)}};function zs(n,e){let t=Object.create(null);for(let r of n){let i=e(r),s=t[i];s||(s=t[i]=[]),s.push(r)}return t}var Ks,Hs,qs=class{constructor(e,t){this.toKey=t;this._map=new Map;this[Ks]="SetWithKey";for(let r of e)this.add(r)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,e),this}delete(e){return this._map.delete(this.toKey(e))}has(e){return this._map.has(this.toKey(e))}*entries(){for(let e of this._map.values())yield[e,e]}keys(){return this.values()}*values(){for(let e of this._map.values())yield e}clear(){this._map.clear()}forEach(e,t){this._map.forEach(r=>e.call(t,r,r,this))}[(Hs=Symbol.iterator,Ks=Symbol.toStringTag,Hs)](){return this.values()}};var Kr=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Wn.isErrorNoTelemetry(e)?new Wn(e.message+` `+e.stack):new Error(e.message+` `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},gu=new Kr;function Ve(n){_u(n)||gu.onUnexpectedError(n)}var Hr="Canceled";function _u(n){return n instanceof Ht?!0:n instanceof Error&&n.name===Hr&&n.message===Hr}var Ht=class extends Error{constructor(){super(Hr),this.name=this.message}},Gs=class n extends Error{static{this._name="PendingMigrationError"}static is(e){return e instanceof n||e instanceof Error&&e.name===n._name}constructor(e){super(e),this.name=n._name}};var Wn=class n extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof n)return e;let t=new n;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},Lt=class n extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,n.prototype)}};function Tu(n,e,t=0,r=n.length){let i=t,s=r;for(;i{function n(l){return l<0}a.isLessThan=n;function e(l){return l<=0}a.isLessThanOrEqual=e;function t(l){return l>0}a.isGreaterThan=t;function r(l){return l===0}a.isNeitherLessOrGreaterThan=r,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(Js||={});function Ys(n,e){return(t,r)=>e(n(t),n(r))}var Zs=(n,e)=>n-e;var Qs=class n{constructor(e){this.iterate=e}static{this.empty=new n(e=>{})}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new n(t=>this.iterate(r=>e(r)?t(r):!0))}map(e){return new n(t=>this.iterate(r=>t(e(r))))}some(e){let t=!1;return this.iterate(r=>(t=e(r),!t)),t}findFirst(e){let t;return this.iterate(r=>e(r)?(t=r,!1):!0),t}findLast(e){let t;return this.iterate(r=>(e(r)&&(t=r),!0)),t}findLastMaxBy(e){let t,r=!0;return this.iterate(i=>((r||Js.isGreaterThan(e(i,t)))&&(r=!1,t=i),!0)),t}};var zr=class{constructor(e,t){this.uri=e;this.value=t}};function vu(n){return Array.isArray(n)}var to,qe=class n{constructor(e,t){this[to]="ResourceMap";if(e instanceof n)this.map=new Map(e.map),this.toKey=t??n.defaultToKey;else if(vu(e)){this.map=new Map,this.toKey=t??n.defaultToKey;for(let[r,i]of e)this.set(r,i)}else this.map=new Map,this.toKey=e??n.defaultToKey}static{this.defaultToKey=e=>e.toString()}set(e,t){return this.map.set(this.toKey(e),new zr(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(let[r,i]of this.map)e(i.value,i.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(to=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},no,zt=class{constructor(e,t){this[no]="ResourceSet";!e||typeof e=="function"?this._map=new qe(e):(this._map=new qe(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((r,i)=>e.call(t,i,i,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(no=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var ro,eo=class{constructor(){this[ro]="LinkedMap";this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let r=this._map.get(e);if(r)return t!==0&&this.touch(r,t),r.value}set(e,t,r=0){let i=this._map.get(e);if(i)i.value=t,r!==0&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:r.key,done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return i}values(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:r.value,done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return i}entries(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:[r.key,r.value],done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return i}[(ro=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.previous,r--;this._tail=t,this._size=r,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}};var jn=class{constructor(){this.map=new Map}add(e,t){let r=this.map.get(e);r||(r=new Set,this.map.set(e,r)),r.add(t)}delete(e,t){let r=this.map.get(e);r&&(r.delete(t),r.size===0&&this.map.delete(e))}forEach(e,t){let r=this.map.get(e);r&&r.forEach(t)}get(e){let t=this.map.get(e);return t||new Set}};function io(n,e="Unreachable"){throw new Error(e)}function so(n){return!!n&&typeof n[Symbol.iterator]=="function"}var Ke;(ce=>{function n(S){return!!S&&typeof S=="object"&&typeof S[Symbol.iterator]=="function"}ce.is=n;let e=Object.freeze([]);function t(){return e}ce.empty=t;function*r(S){yield S}ce.single=r;function i(S){return n(S)?S:r(S)}ce.wrap=i;function s(S){return S??e}ce.from=s;function*o(S){for(let y=S.length-1;y>=0;y--)yield S[y]}ce.reverse=o;function a(S){return!S||S[Symbol.iterator]().next().done===!0}ce.isEmpty=a;function l(S){return S[Symbol.iterator]().next().value}ce.first=l;function u(S,y){let A=0;for(let h of S)if(y(h,A++))return!0;return!1}ce.some=u;function d(S,y){let A=0;for(let h of S)if(!y(h,A++))return!1;return!0}ce.every=d;function c(S,y){for(let A of S)if(y(A))return A}ce.find=c;function*f(S,y){for(let A of S)y(A)&&(yield A)}ce.filter=f;function*T(S,y){let A=0;for(let h of S)yield y(h,A++)}ce.map=T;function*w(S,y){let A=0;for(let h of S)yield*y(h,A++)}ce.flatMap=w;function*D(...S){for(let y of S)so(y)?yield*y:yield y}ce.concat=D;function P(S,y,A){let h=A;for(let se of S)h=y(h,se);return h}ce.reduce=P;function M(S){let y=0;for(let A of S)y++;return y}ce.length=M;function*N(S,y,A=S.length){for(y<-S.length&&(y=0),y<0&&(y+=S.length),A<0?A+=S.length:A>S.length&&(A=S.length);yr.source!==null&&!this.getRootParent(r,e).isSingleton).flatMap(([r])=>r)}computeLeakingDisposables(e=10,t){let r;if(t)r=t;else{let l=new Map,u=[...this.livingDisposables.values()].filter(c=>c.source!==null&&!this.getRootParent(c,l).isSingleton);if(u.length===0)return;let d=new Set(u.map(c=>c.value));if(r=u.filter(c=>!(c.parent&&d.has(c.parent))),r.length===0)throw new Error("There are cyclic diposable chains!")}if(!r)return;function i(l){function u(c,f){for(;c.length>0&&f.some(T=>typeof T=="string"?T===c[0]:c[0].match(T));)c.shift()}let d=l.source.split(` `).map(c=>c.trim().replace("at ","")).filter(c=>c!=="");return u(d,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),d.reverse()}let s=new jn;for(let l of r){let u=i(l);for(let d=0;d<=u.length;d++)s.add(u.slice(0,d).join(` `),l)}r.sort(Ys(l=>l.idx,Zs));let o="",a=0;for(let l of r.slice(0,e)){a++;let u=i(l),d=[];for(let c=0;ci(P)[c]),P=>P);delete D[u[c]];for(let[P,M]of Object.entries(D))M&&d.unshift(` - stacktraces of ${M.length} other leaks continue with ${P}`);d.unshift(f)}o+=` ==================== Leaking disposable ${a}/${r.length}: ${l.value.constructor.name} ==================== ${d.join(` `)} ============================================================ `}return r.length>e&&(o+=` ... and ${r.length-e} more leaking disposables `),{leaks:r,details:o}}};function Iu(n){Gt=n}if(Eu){let n="__is_disposable_tracked__";Iu(new class{trackDisposable(e){let t=new Error("Potentially leaked disposable").stack;setTimeout(()=>{e[n]||console.log(t)},3e3)}setParent(e,t){if(e&&e!==Se.None)try{e[n]=!0}catch{}}markAsDisposed(e){if(e&&e!==Se.None)try{e[n]=!0}catch{}}markAsSingleton(e){}})}function Qr(n){return Gt?.trackDisposable(n),n}function Jr(n){Gt?.markAsDisposed(n)}function Gr(n,e){Gt?.setParent(n,e)}function wu(n,e){if(Gt)for(let t of n)Gt.setParent(t,e)}function Yr(n){if(Ke.is(n)){let e=[];for(let t of n)if(t)try{t.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function ao(...n){let e=Ze(()=>Yr(n));return wu(n,e),e}var Xr=class{constructor(e){this._isDisposed=!1,this._fn=e,Qr(this)}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,Jr(this),this._fn()}}};function Ze(n){return new Xr(n)}var dt=class n{constructor(){this._toDispose=new Set;this._isDisposed=!1;Qr(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(Jr(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Yr(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===Se.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return Gr(e,this),this._isDisposed?n.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.delete(e)&&Gr(e,null)}assertNotDisposed(){this._isDisposed&&Ve(new Lt("Object disposed"))}},Se=class{constructor(){this._store=new dt;Qr(this),Gr(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){Jr(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};var lo=class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}};var ku=globalThis.performance.now.bind(globalThis.performance),ft=class n{static create(e){return new n(e)}constructor(e){this._now=e===!1?Date.now:ku,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var uo=!1,Su=!1,Qt;(m=>{m.None=()=>Se.None;function e(p){if(Su){let{onDidAddListener:_}=p,g=dn.create(),b=0;p.onDidAddListener=()=>{++b===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),g.print()),_?.()}}}function t(p,_,g){return T(p,()=>{},0,void 0,_??!0,void 0,g)}m.defer=t;function r(p){return(_,g=null,b)=>{let k=!1,L;return L=p(U=>{if(!k)return L?L.dispose():k=!0,_.call(g,U)},null,b),k&&L.dispose(),L}}m.once=r;function i(p,_){return m.once(m.filter(p,_))}m.onceIf=i;function s(p,_,g){return c((b,k=null,L)=>p(U=>b.call(k,_(U)),null,L),g)}m.map=s;function o(p,_,g){return c((b,k=null,L)=>p(U=>{_(U),b.call(k,U)},null,L),g)}m.forEach=o;function a(p,_,g){return c((b,k=null,L)=>p(U=>_(U)&&b.call(k,U),null,L),g)}m.filter=a;function l(p){return p}m.signal=l;function u(...p){return(_,g=null,b)=>{let k=ao(...p.map(L=>L(U=>_.call(g,U))));return f(k,b)}}m.any=u;function d(p,_,g,b){let k=g;return s(p,L=>(k=_(k,L),k),b)}m.reduce=d;function c(p,_){let g,b={onWillAddFirstListener(){g=p(k.fire,k)},onDidRemoveLastListener(){g?.dispose()}};_||e(b);let k=new Te(b);return _?.add(k),k.event}function f(p,_){return _ instanceof Array?_.push(p):_&&_.add(p),p}function T(p,_,g=100,b=!1,k=!1,L,U){let re,q,ie,O=0,ye,Ne={leakWarningThreshold:L,onWillAddFirstListener(){re=p(K=>{O++,q=_(q,K),b&&!ie&&(E.fire(q),q=void 0),ye=()=>{let I=q;q=void 0,ie=void 0,(!b||O>1)&&E.fire(I),O=0},typeof g=="number"?(ie&&clearTimeout(ie),ie=setTimeout(ye,g)):ie===void 0&&(ie=null,queueMicrotask(ye))})},onWillRemoveListener(){k&&O>0&&ye?.()},onDidRemoveLastListener(){ye=void 0,re.dispose()}};U||e(Ne);let E=new Te(Ne);return U?.add(E),E.event}m.debounce=T;function w(p,_=0,g,b){return m.debounce(p,(k,L)=>k?(k.push(L),k):[L],_,void 0,g??!0,void 0,b)}m.accumulate=w;function D(p,_,g=100,b=!0,k=!0,L,U){let re,q,ie,O=0,ye={leakWarningThreshold:L,onWillAddFirstListener(){re=p(E=>{O++,q=_(q,E),ie===void 0&&(b&&(Ne.fire(q),q=void 0,O=0),typeof g=="number"?ie=setTimeout(()=>{k&&O>0&&Ne.fire(q),q=void 0,ie=void 0,O=0},g):(ie=0,queueMicrotask(()=>{k&&O>0&&Ne.fire(q),q=void 0,ie=void 0,O=0})))})},onDidRemoveLastListener(){re.dispose()}};U||e(ye);let Ne=new Te(ye);return U?.add(Ne),Ne.event}m.throttle=D;function P(p,_=(b,k)=>b===k,g){let b=!0,k;return a(p,L=>{let U=b||!_(L,k);return b=!1,k=L,U},g)}m.latch=P;function M(p,_,g){return[m.filter(p,_,g),m.filter(p,b=>!_(b),g)]}m.split=M;function N(p,_=!1,g=[],b){let k=g.slice(),L=p(q=>{k?k.push(q):re.fire(q)});b&&b.add(L);let U=()=>{k?.forEach(q=>re.fire(q)),k=null},re=new Te({onWillAddFirstListener(){L||(L=p(q=>re.fire(q)),b&&b.add(L))},onDidAddFirstListener(){k&&(_?setTimeout(U):U())},onDidRemoveLastListener(){L&&L.dispose(),L=null}});return b&&b.add(re),re.event}m.buffer=N;function B(p,_){return(b,k,L)=>{let U=_(new Z);return p(function(re){let q=U.evaluate(re);q!==te&&b.call(k,q)},void 0,L)}}m.chain=B;let te=Symbol("HaltChainable");class Z{constructor(){this.steps=[]}map(_){return this.steps.push(_),this}forEach(_){return this.steps.push(g=>(_(g),g)),this}filter(_){return this.steps.push(g=>_(g)?g:te),this}reduce(_,g){let b=g;return this.steps.push(k=>(b=_(b,k),b)),this}latch(_=(g,b)=>g===b){let g=!0,b;return this.steps.push(k=>{let L=g||!_(k,b);return g=!1,b=k,L?k:te}),this}evaluate(_){for(let g of this.steps)if(_=g(_),_===te)break;return _}}function ce(p,_,g=b=>b){let b=(...re)=>U.fire(g(...re)),k=()=>p.on(_,b),L=()=>p.removeListener(_,b),U=new Te({onWillAddFirstListener:k,onDidRemoveLastListener:L});return U.event}m.fromNodeEventEmitter=ce;function S(p,_,g=b=>b){let b=(...re)=>U.fire(g(...re)),k=()=>p.addEventListener(_,b),L=()=>p.removeEventListener(_,b),U=new Te({onWillAddFirstListener:k,onDidRemoveLastListener:L});return U.event}m.fromDOMEventEmitter=S;function y(p,_){let g,b,k=new Promise(L=>{b=r(p)(L),ii(b,_),g=()=>{fo(b,_)}});return k.cancel=g,_&&k.finally(()=>fo(b,_)),k}m.toPromise=y;function A(p,_){return p(g=>_.fire(g))}m.forward=A;function h(p,_,g){return _(g),p(b=>_(b))}m.runAndSubscribe=h;class se{constructor(_,g){this._observable=_;this._counter=0;this._hasChanged=!1;let b={onWillAddFirstListener:()=>{_.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{_.removeObserver(this)}};g||e(b),this.emitter=new Te(b),g&&g.add(this.emitter)}beginUpdate(_){this._counter++}handlePossibleChange(_){}handleChange(_,g){this._hasChanged=!0}endUpdate(_){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function Q(p,_){return new se(p,_).emitter.event}m.fromObservable=Q;function ne(p){return(_,g,b)=>{let k=0,L=!1,U={beginUpdate(){k++},endUpdate(){k--,k===0&&(p.reportChanges(),L&&(L=!1,_.call(g)))},handlePossibleChange(){},handleChange(){L=!0}};p.addObserver(U),p.reportChanges();let re={dispose(){p.removeObserver(U)}};return ii(re,b),re}}m.fromObservableLight=ne})(Qt||={});var Zr=class n{constructor(e){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${e}_${n._idPool++}`,n.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(e){this._stopWatch=new ft,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}},co=-1;var ei=class n{constructor(e,t,r=(n._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e;this.threshold=t;this.name=r;this._warnCountdown=0}static{this._idPool=1}dispose(){this._stacks?.clear()}check(e,t){let r=this.threshold;if(r<=0||t{let s=this._stacks.get(e.value)||0;this._stacks.set(e.value,s-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[r,i]of this._stacks)(!e||t{if(n instanceof Xt)e(n);else for(let t=0;t0||this._options?.leakWarningThreshold?new ei(e?.onListenerError??Ve,this._options?.leakWarningThreshold??co):void 0,this._perfMon=this._options?._profName?new Zr(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(uo){let e=this._listeners;queueMicrotask(()=>{Du(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(e,t,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);let u=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],d=new ni(`${l}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0]);return(this._options?.onListenerError||Ve)(d),Se.None}if(this._disposed)return Se.None;t&&(e=e.bind(t));let i=new Xt(e),s,o;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=dn.create(),s=this._leakageMon.check(i.stack,this._size+1)),uo&&(i.stack=o??dn.create()),this._listeners?this._listeners instanceof Xt?(this._deliveryQueue??=new ri,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=Ze(()=>{s?.(),this._removeListener(i)});return ii(a,r),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,r=t.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[r]=void 0;let i=this._deliveryQueue.current===this;if(this._size*Lu<=t.length){let s=0;for(let o=0;o0}};var ri=class{constructor(){this.i=-1;this.end=0}enqueue(e,t,r){this.i=0,this.end=r,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}};function ii(n,e){e instanceof dt?e.add(n):Array.isArray(e)&&e.push(n)}function fo(n,e){if(e instanceof dt)e.delete(n);else if(Array.isArray(e)){let t=e.indexOf(n);t!==-1&&e.splice(t,1)}n.dispose()}var po=Object.freeze(function(n,e){let t=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(t)}}}),oi;(r=>{function n(i){return i===r.None||i===r.Cancelled||i instanceof si?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}r.isCancellationToken=n,r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Qt.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:po})})(oi||={});var si=class{constructor(){this._isCancelled=!1;this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?po:(this._emitter||(this._emitter=new Te),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};var Pe=class{constructor(e){this.executor=e;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=2}}else if(this._state===1)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}};function ai(){return globalThis._VSCODE_NLS_LANGUAGE}var Wf=ai()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;var Jt="en",Kn=!1,Hn=!1,fn=!1,Nu=!1,mo=!1,ui=!1,Uu=!1,Cu=!1,Mu=!1,Fu=!1,Vn,qn=Jt,ho=Jt,Bu,et,tt=globalThis,xe;typeof tt.vscode<"u"&&typeof tt.vscode.process<"u"?xe=tt.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(xe=process);var go=typeof xe?.versions?.electron=="string",$u=go&&xe?.type==="renderer";if(typeof xe=="object"){Kn=xe.platform==="win32",Hn=xe.platform==="darwin",fn=xe.platform==="linux",Nu=fn&&!!xe.env.SNAP&&!!xe.env.SNAP_REVISION,Uu=go,Mu=!!xe.env.CI||!!xe.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!xe.env.GITHUB_WORKSPACE,Vn=Jt,qn=Jt;let n=xe.env.VSCODE_NLS_CONFIG;if(n)try{let e=JSON.parse(n);Vn=e.userLocale,ho=e.osLocale,qn=e.resolvedLanguage||Jt,Bu=e.languagePack?.translationsConfigFile}catch{}mo=!0}else typeof navigator=="object"&&!$u?(et=navigator.userAgent,Kn=et.indexOf("Windows")>=0,Hn=et.indexOf("Macintosh")>=0,Cu=(et.indexOf("Macintosh")>=0||et.indexOf("iPad")>=0||et.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,fn=et.indexOf("Linux")>=0,Fu=et?.indexOf("Mobi")>=0,ui=!0,qn=ai()||Jt,Vn=navigator.language.toLowerCase(),ho=Vn):console.error("Unable to resolve platform.");var li=0;Hn?li=1:Kn?li=3:fn&&(li=2);var Ee=Kn,_o=Hn,bo=fn;var To=mo;var vo=ui,Wu=ui&&typeof tt.importScripts=="function",yo=Wu?tt.origin:void 0;var He=et,pt=qn,ju;(r=>{function n(){return pt}r.value=n;function e(){return pt.length===2?pt==="en":pt.length>=3?pt[0]==="e"&&pt[1]==="n"&&pt[2]==="-":!1}r.isDefaultVariant=e;function t(){return pt==="en"}r.isDefault=t})(ju||={});var Vu=typeof tt.postMessage=="function"&&!tt.importScripts,xo=(()=>{if(Vu){let n=[];tt.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let r=0,i=n.length;r{let r=++e;n.push({id:r,callback:t}),tt.postMessage({vscodeScheduleAsyncWork:r},"*")}}return n=>setTimeout(n)})();var qu=!!(He&&He.indexOf("Chrome")>=0),jf=!!(He&&He.indexOf("Firefox")>=0),Vf=!!(!qu&&He&&He.indexOf("Safari")>=0),qf=!!(He&&He.indexOf("Edg/")>=0),Kf=!!(He&&He.indexOf("Android")>=0);var Dt,ci=globalThis.vscode;if(typeof ci<"u"&&typeof ci.process<"u"){let n=ci.process;Dt={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?Dt={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:Dt={get platform(){return Ee?"win32":_o?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};var pn=Dt.cwd,Eo=Dt.env,Io=Dt.platform,Gf=Dt.arch;var zu=65,Gu=97,Xu=90,Qu=122,Ot=46,me=47,Ie=92,nt=58,Ju=63,zn=class extends Error{constructor(e,t,r){let i;typeof t=="string"&&t.indexOf("not ")===0?(i="must not be",t=t.replace(/^not /,"")):i="must be";let s=e.indexOf(".")!==-1?"property":"argument",o=`The "${e}" ${s} ${i} of type ${t}`;o+=`. Received type ${typeof r}`,super(o),this.code="ERR_INVALID_ARG_TYPE"}};function Yu(n,e){if(n===null||typeof n!="object")throw new zn(e,"Object",n)}function oe(n,e){if(typeof n!="string")throw new zn(e,"string",n)}var we=Io==="win32";function C(n){return n===me||n===Ie}function di(n){return n===me}function rt(n){return n>=zu&&n<=Xu||n>=Gu&&n<=Qu}function Gn(n,e,t,r){let i="",s=0,o=-1,a=0,l=0;for(let u=0;u<=n.length;++u){if(u2){let d=i.lastIndexOf(t);d===-1?(i="",s=0):(i=i.slice(0,d),s=i.length-1-i.lastIndexOf(t)),o=u,a=0;continue}else if(i.length!==0){i="",s=0,o=u,a=0;continue}}e&&(i+=i.length>0?`${t}..`:"..",s=2)}else i.length>0?i+=`${t}${n.slice(o+1,u)}`:i=n.slice(o+1,u),s=u-o-1;o=u,a=0}else l===Ot&&a!==-1?++a:a=-1}return i}function Zu(n){return n?`${n[0]==="."?"":"."}${n}`:""}function wo(n,e){Yu(e,"pathObject");let t=e.dir||e.root,r=e.base||`${e.name||""}${Zu(e.ext)}`;return t?t===e.root?`${t}${r}`:`${t}${n}${r}`:r}var ae={resolve(...n){let e="",t="",r=!1;for(let i=n.length-1;i>=-1;i--){let s;if(i>=0){if(s=n[i],oe(s,`paths[${i}]`),s.length===0)continue}else e.length===0?s=pn():(s=Eo[`=${e}`]||pn(),(s===void 0||s.slice(0,2).toLowerCase()!==e.toLowerCase()&&s.charCodeAt(2)===Ie)&&(s=`${e}\\`));let o=s.length,a=0,l="",u=!1,d=s.charCodeAt(0);if(o===1)C(d)&&(a=1,u=!0);else if(C(d))if(u=!0,C(s.charCodeAt(1))){let c=2,f=c;for(;c2&&C(s.charCodeAt(2))&&(u=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(r){if(e.length>0)break}else if(t=`${s.slice(a)}\\${t}`,r=u,u&&e.length>0)break}return t=Gn(t,!r,"\\",C),r?`${e}\\${t}`:`${e}${t}`||"."},normalize(n){oe(n,"path");let e=n.length;if(e===0)return".";let t=0,r,i=!1,s=n.charCodeAt(0);if(e===1)return di(s)?"\\":n;if(C(s))if(i=!0,C(n.charCodeAt(1))){let a=2,l=a;for(;a2&&C(n.charCodeAt(2))&&(i=!0,t=3));let o=t0&&C(n.charCodeAt(e-1))&&(o+="\\"),!i&&r===void 0&&n.includes(":")){if(o.length>=2&&rt(o.charCodeAt(0))&&o.charCodeAt(1)===nt)return`.\\${o}`;let a=n.indexOf(":");do if(a===e-1||C(n.charCodeAt(a+1)))return`.\\${o}`;while((a=n.indexOf(":",a+1))!==-1)}return r===void 0?i?`\\${o}`:o:i?`${r}\\${o}`:`${r}${o}`},isAbsolute(n){oe(n,"path");let e=n.length;if(e===0)return!1;let t=n.charCodeAt(0);return C(t)||e>2&&rt(t)&&n.charCodeAt(1)===nt&&C(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let s=0;s0&&(e===void 0?e=t=o:e+=`\\${o}`)}if(e===void 0)return".";let r=!0,i=0;if(typeof t=="string"&&C(t.charCodeAt(0))){++i;let s=t.length;s>1&&C(t.charCodeAt(1))&&(++i,s>2&&(C(t.charCodeAt(2))?++i:r=!1))}if(r){for(;i=2&&(e=`\\${e.slice(i)}`)}return ae.normalize(e)},relative(n,e){if(oe(n,"from"),oe(e,"to"),n===e)return"";let t=ae.resolve(n),r=ae.resolve(e);if(t===r||(n=t.toLowerCase(),e=r.toLowerCase(),n===e))return"";if(t.length!==n.length||r.length!==e.length){let w=t.split("\\"),D=r.split("\\");w[w.length-1]===""&&w.pop(),D[D.length-1]===""&&D.pop();let P=w.length,M=D.length,N=PN?D.slice(B).join("\\"):P>N?"..\\".repeat(P-1-B)+"..":"":"..\\".repeat(P-B)+D.slice(B).join("\\")}let i=0;for(;ii&&n.charCodeAt(s-1)===Ie;)s--;let o=s-i,a=0;for(;aa&&e.charCodeAt(l-1)===Ie;)l--;let u=l-a,d=od){if(e.charCodeAt(a+f)===Ie)return r.slice(a+f+1);if(f===2)return r.slice(a+f)}o>d&&(n.charCodeAt(i+f)===Ie?c=f:f===2&&(c=3)),c===-1&&(c=0)}let T="";for(f=i+c+1;f<=s;++f)(f===s||n.charCodeAt(f)===Ie)&&(T+=T.length===0?"..":"\\..");return a+=c,T.length>0?`${T}${r.slice(a,l)}`:(r.charCodeAt(a)===Ie&&++a,r.slice(a,l))},toNamespacedPath(n){if(typeof n!="string"||n.length===0)return n;let e=ae.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===Ie){if(e.charCodeAt(1)===Ie){let t=e.charCodeAt(2);if(t!==Ju&&t!==Ot)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(rt(e.charCodeAt(0))&&e.charCodeAt(1)===nt&&e.charCodeAt(2)===Ie)return`\\\\?\\${e}`;return e},dirname(n){oe(n,"path");let e=n.length;if(e===0)return".";let t=-1,r=0,i=n.charCodeAt(0);if(e===1)return C(i)?n:".";if(C(i)){if(t=r=1,C(n.charCodeAt(1))){let a=2,l=a;for(;a2&&C(n.charCodeAt(2))?3:2,r=t);let s=-1,o=!0;for(let a=e-1;a>=r;--a)if(C(n.charCodeAt(a))){if(!o){s=a;break}}else o=!1;if(s===-1){if(t===-1)return".";s=t}return n.slice(0,s)},basename(n,e){e!==void 0&&oe(e,"suffix"),oe(n,"path");let t=0,r=-1,i=!0,s;if(n.length>=2&&rt(n.charCodeAt(0))&&n.charCodeAt(1)===nt&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,a=-1;for(s=n.length-1;s>=t;--s){let l=n.charCodeAt(s);if(C(l)){if(!i){t=s+1;break}}else a===-1&&(i=!1,a=s+1),o>=0&&(l===e.charCodeAt(o)?--o===-1&&(r=s):(o=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(s=n.length-1;s>=t;--s)if(C(n.charCodeAt(s))){if(!i){t=s+1;break}}else r===-1&&(i=!1,r=s+1);return r===-1?"":n.slice(t,r)},extname(n){oe(n,"path");let e=0,t=-1,r=0,i=-1,s=!0,o=0;n.length>=2&&n.charCodeAt(1)===nt&&rt(n.charCodeAt(0))&&(e=r=2);for(let a=n.length-1;a>=e;--a){let l=n.charCodeAt(a);if(C(l)){if(!s){r=a+1;break}continue}i===-1&&(s=!1,i=a+1),l===Ot?t===-1?t=a:o!==1&&(o=1):t!==-1&&(o=-1)}return t===-1||i===-1||o===0||o===1&&t===i-1&&t===r+1?"":n.slice(t,i)},format:wo.bind(null,"\\"),parse(n){oe(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.length,r=0,i=n.charCodeAt(0);if(t===1)return C(i)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(C(i)){if(r=1,C(n.charCodeAt(1))){let c=2,f=c;for(;c0&&(e.root=n.slice(0,r));let s=-1,o=r,a=-1,l=!0,u=n.length-1,d=0;for(;u>=r;--u){if(i=n.charCodeAt(u),C(i)){if(!l){o=u+1;break}continue}a===-1&&(l=!1,a=u+1),i===Ot?s===-1?s=u:d!==1&&(d=1):s!==-1&&(d=-1)}return a!==-1&&(s===-1||d===0||d===1&&s===a-1&&s===o+1?e.base=e.name=n.slice(o,a):(e.name=n.slice(o,s),e.base=n.slice(o,a),e.ext=n.slice(s,a))),o>0&&o!==r?e.dir=n.slice(0,o-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},e1=(()=>{if(we){let n=/\\/g;return()=>{let e=pn().replace(n,"/");return e.slice(e.indexOf("/"))}}return()=>pn()})(),j={resolve(...n){let e="",t=!1;for(let r=n.length-1;r>=0&&!t;r--){let i=n[r];oe(i,`paths[${r}]`),i.length!==0&&(e=`${i}/${e}`,t=i.charCodeAt(0)===me)}if(!t){let r=e1();e=`${r}/${e}`,t=r.charCodeAt(0)===me}return e=Gn(e,!t,"/",di),t?`/${e}`:e.length>0?e:"."},normalize(n){if(oe(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===me,t=n.charCodeAt(n.length-1)===me;return n=Gn(n,!e,"/",di),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return oe(n,"path"),n.length>0&&n.charCodeAt(0)===me},join(...n){if(n.length===0)return".";let e=[];for(let t=0;t0&&e.push(r)}return e.length===0?".":j.normalize(e.join("/"))},relative(n,e){if(oe(n,"from"),oe(e,"to"),n===e||(n=j.resolve(n),e=j.resolve(e),n===e))return"";let t=1,r=n.length,i=r-t,s=1,o=e.length-s,a=ia){if(e.charCodeAt(s+u)===me)return e.slice(s+u+1);if(u===0)return e.slice(s+u)}else i>a&&(n.charCodeAt(t+u)===me?l=u:u===0&&(l=0));let d="";for(u=t+l+1;u<=r;++u)(u===r||n.charCodeAt(u)===me)&&(d+=d.length===0?"..":"/..");return`${d}${e.slice(s+l)}`},toNamespacedPath(n){return n},dirname(n){if(oe(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===me,t=-1,r=!0;for(let i=n.length-1;i>=1;--i)if(n.charCodeAt(i)===me){if(!r){t=i;break}}else r=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&oe(e,"suffix"),oe(n,"path");let t=0,r=-1,i=!0,s;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,a=-1;for(s=n.length-1;s>=0;--s){let l=n.charCodeAt(s);if(l===me){if(!i){t=s+1;break}}else a===-1&&(i=!1,a=s+1),o>=0&&(l===e.charCodeAt(o)?--o===-1&&(r=s):(o=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(s=n.length-1;s>=0;--s)if(n.charCodeAt(s)===me){if(!i){t=s+1;break}}else r===-1&&(i=!1,r=s+1);return r===-1?"":n.slice(t,r)},extname(n){oe(n,"path");let e=-1,t=0,r=-1,i=!0,s=0;for(let o=n.length-1;o>=0;--o){let a=n[o];if(a==="/"){if(!i){t=o+1;break}continue}r===-1&&(i=!1,r=o+1),a==="."?e===-1?e=o:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||r===-1||s===0||s===1&&e===r-1&&e===t+1?"":n.slice(e,r)},format:wo.bind(null,"/"),parse(n){oe(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.charCodeAt(0)===me,r;t?(e.root="/",r=1):r=0;let i=-1,s=0,o=-1,a=!0,l=n.length-1,u=0;for(;l>=r;--l){let d=n.charCodeAt(l);if(d===me){if(!a){s=l+1;break}continue}o===-1&&(a=!1,o=l+1),d===Ot?i===-1?i=l:u!==1&&(u=1):i!==-1&&(u=-1)}if(o!==-1){let d=s===0&&t?1:s;i===-1||u===0||u===1&&i===o-1&&i===s+1?e.base=e.name=n.slice(d,o):(e.name=n.slice(d,i),e.base=n.slice(d,o),e.ext=n.slice(i,o))}return s>0?e.dir=n.slice(0,s-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};j.win32=ae.win32=ae;j.posix=ae.posix=j;var fi=we?ae.normalize:j.normalize,t1=we?ae.isAbsolute:j.isAbsolute,Nt=we?ae.join:j.join,ko=we?ae.resolve:j.resolve,Xn=we?ae.relative:j.relative,Ro=we?ae.dirname:j.dirname,Ao=we?ae.basename:j.basename,Xf=we?ae.extname:j.extname,Qf=we?ae.format:j.format,Jf=we?ae.parse:j.parse,Yf=we?ae.toNamespacedPath:j.toNamespacedPath,Yt=we?ae.sep:j.sep,Zf=we?ae.delimiter:j.delimiter;var n1=/^\w[\w\d+.-]*$/,r1=/^\//,i1=/^\/\//;function s1(n,e){if(!n.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!n1.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!r1.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(i1.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function o1(n,e){return!n&&!e?"file":n}function a1(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==Ue&&(e=Ue+e):e=Ue;break}return e}var H="",Ue="/",l1=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,X=class n{static isUri(e){return e instanceof n?!0:!e||typeof e!="object"?!1:typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function"}constructor(e,t,r,i,s,o=!1){typeof e=="object"?(this.scheme=e.scheme||H,this.authority=e.authority||H,this.path=e.path||H,this.query=e.query||H,this.fragment=e.fragment||H):(this.scheme=o1(e,o),this.authority=t||H,this.path=a1(this.scheme,r||H),this.query=i||H,this.fragment=s||H,s1(this,o))}get fsPath(){return hn(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:i,query:s,fragment:o}=e;return t===void 0?t=this.scheme:t===null&&(t=H),r===void 0?r=this.authority:r===null&&(r=H),i===void 0?i=this.path:i===null&&(i=H),s===void 0?s=this.query:s===null&&(s=H),o===void 0?o=this.fragment:o===null&&(o=H),t===this.scheme&&r===this.authority&&i===this.path&&s===this.query&&o===this.fragment?this:new ht(t,r,i,s,o)}static parse(e,t=!1){let r=l1.exec(e);return r?new ht(r[2]||H,Jn(r[4]||H),Jn(r[5]||H),Jn(r[7]||H),Jn(r[9]||H),t):new ht(H,H,H,H,H)}static file(e){let t=H;if(Ee&&(e=e.replace(/\\/g,Ue)),e[0]===Ue&&e[1]===Ue){let r=e.indexOf(Ue,2);r===-1?(t=e.substring(2),e=Ue):(t=e.substring(2,r),e=e.substring(r)||Ue)}return new ht("file",t,e,H,H)}static from(e,t){return new ht(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let r;return Ee&&e.scheme==="file"?r=n.file(ae.join(hn(e,!0),...t)).path:r=j.join(e.path,...t),e.with({path:r})}toString(e=!1){return pi(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof n)return e;{let t=new ht(e);return t._formatted=e.external??null,t._fsPath=e._sep===Lo?e.fsPath??null:null,t}}else return e}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}};var Lo=Ee?1:void 0,ht=class extends X{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=hn(this,!1)),this._fsPath}toString(t=!1){return t?pi(this,!0):(this._formatted||(this._formatted=pi(this,!1)),this._formatted)}toJSON(){let t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Lo),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}},Do={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function So(n,e,t){let r,i=-1;for(let s=0;s=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===45||o===46||o===95||o===126||e&&o===47||t&&o===91||t&&o===93||t&&o===58)i!==-1&&(r+=encodeURIComponent(n.substring(i,s)),i=-1),r!==void 0&&(r+=n.charAt(s));else{r===void 0&&(r=n.substr(0,s));let a=Do[o];a!==void 0?(i!==-1&&(r+=encodeURIComponent(n.substring(i,s)),i=-1),r+=a):i===-1&&(i=s)}}return i!==-1&&(r+=encodeURIComponent(n.substring(i))),r!==void 0?r:n}function u1(n){let e;for(let t=0;t1&&n.scheme==="file"?t=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?t=n.path.substr(1):t=n.path[1].toLowerCase()+n.path.substr(2):t=n.path,Ee&&(t=t.replace(/\//g,"\\")),t}function pi(n,e){let t=e?u1:So,r="",{scheme:i,authority:s,path:o,query:a,fragment:l}=n;if(i&&(r+=i,r+=":"),(s||i==="file")&&(r+=Ue,r+=Ue),s){let u=s.indexOf("@");if(u!==-1){let d=s.substr(0,u);s=s.substr(u+1),u=d.lastIndexOf(":"),u===-1?r+=t(d,!1,!1):(r+=t(d.substr(0,u),!1,!1),r+=":",r+=t(d.substr(u+1),!1,!0)),r+="@"}s=s.toLowerCase(),u=s.lastIndexOf(":"),u===-1?r+=t(s,!1,!0):(r+=t(s.substr(0,u),!1,!0),r+=s.substr(u))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){let u=o.charCodeAt(1);u>=65&&u<=90&&(o=`/${String.fromCharCode(u+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){let u=o.charCodeAt(0);u>=65&&u<=90&&(o=`${String.fromCharCode(u+32)}:${o.substr(2)}`)}r+=t(o,!0,!1)}return a&&(r+="?",r+=t(a,!1,!1)),l&&(r+="#",r+=e?l:So(l,!1,!1)),r}function Oo(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+Oo(n.substr(3)):n}}var Po=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Jn(n){return n.match(Po)?n.replace(Po,e=>Oo(e)):n}var mn=class n{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new n(e,t)}delta(e=0,t=0){return this.with(Math.max(1,this.lineNumber+e),Math.max(1,this.column+t))}equals(e){return n.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return n.isBefore(this,e)}static isBefore(e,t){return e.lineNumberr||e===r&&t>i?(this.startLineNumber=r,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=r,this.endColumn=i)}isEmpty(){return n.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return n.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return n.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return n.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return n.plusRange(this,e)}static plusRange(e,t){let r,i,s,o;return t.startLineNumbere.endLineNumber?(s=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,o=e.endColumn),new n(r,i,s,o)}intersectRanges(e){return n.intersectRanges(this,e)}static intersectRanges(e,t){let r=e.startLineNumber,i=e.startColumn,s=e.endLineNumber,o=e.endColumn,a=t.startLineNumber,l=t.startColumn,u=t.endLineNumber,d=t.endColumn;return ru?(s=u,o=d):s===u&&(o=Math.min(o,d)),r>s||r===s&&i>o?null:new n(r,i,s,o)}equalsRange(e){return n.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return n.getEndPosition(this)}static getEndPosition(e){return new mn(e.endLineNumber,e.endColumn)}getStartPosition(){return n.getStartPosition(this)}static getStartPosition(e){return new mn(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new n(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new n(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return n.collapseToStart(this)}static collapseToStart(e){return new n(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return n.collapseToEnd(this)}static collapseToEnd(e){return new n(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new n(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(e,t=e){return new n(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new n(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return!!e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}};function d1(n){return n}var Yn=class{constructor(e,t){this.lastCache=void 0;this.lastArgKey=void 0;typeof e=="function"?(this._fn=e,this._computeKey=d1):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}};function Fo(n){return!n||typeof n!="string"?!0:n.trim().length===0}function Bo(n){return n.split(/\r\n|\r|\n/)}function $o(n,e){return ne?1:0}function f1(n,e,t=0,r=n.length,i=0,s=e.length){for(;tu)return 1}let o=r-t,a=s-i;return oa?1:0}function Wo(n,e,t=0,r=n.length,i=0,s=e.length){for(;t=128||u>=128)return f1(n.toLowerCase(),e.toLowerCase(),t,r,i,s);No(l)&&(l-=32),No(u)&&(u-=32);let d=l-u;if(d!==0)return d}let o=r-t,a=s-i;return oa?1:0}function No(n){return n>=97&&n<=122}function Zn(n,e){return n.length===e.length&&Wo(n,e)===0}function mi(n,e){let t=e.length;return t<=n.length&&Wo(n,e,0,t)===0}function jo(n,e){let t=Math.min(n.length,e.length),r;for(r=0;r!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,h1=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,m1=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,bp=new RegExp("(?:"+[p1.source,h1.source,m1.source].join("|")+")","g");var Tp=String.fromCharCode(65279);var Uo=class n{static{this._INSTANCE=null}static getInstance(){return n._INSTANCE||(n._INSTANCE=new n),n._INSTANCE}constructor(){this._data=g1()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;let t=this._data,r=t.length/3,i=1;for(;i<=r;)if(et[3*i+1])i=2*i+1;else return t[3*i+2];return 0}};function g1(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}var Co=class n{constructor(e){this.confusableDictionary=e}static{this.ambiguousCharacterData=new Pe(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}'))}static{this.cache=new Yn(e=>{let t=e.split(",");function r(c){let f=new Map;for(let T=0;T!c.startsWith("_")&&Object.hasOwn(o,c));a.length===0&&(a=["_default"]);let l;for(let c of a){let f=r(o[c]);l=s(l,f)}let u=r(o._common),d=i(u,l);return new n(d)})}static getInstance(e){return n.cache.get(Array.from(e).join(","))}static{this._locales=new Pe(()=>Object.keys(n.ambiguousCharacterData.value).filter(e=>!e.startsWith("_")))}static getLocales(){return n._locales.value}isAmbiguous(e){return this.confusableDictionary.has(e)}containsAmbiguousCharacter(e){for(let t=0;tthis._capacity){let i=this._popTail();return this._cache.delete(i.key),[i.key,i.value]}}entries(){let e=[],t=this._head.next;for(;t!==this._tail;)e.push([t.key,t.value]),t=t.next;return e}};function sl(n){if(!n.startsWith("data:image/"))throw new Error("Could not read image: invalid base64 image string");let e=n.split(",")[1];switch(xc(e)){case"image/png":return bc(e);case"image/gif":return Tc(e);case"image/jpeg":case"image/jpg":return vc(e);case"image/webp":return yc(e);default:throw new Error("Unsupported image format")}}function bc(n){let e=atob(n.slice(0,50)).slice(16,24),t=Uint8Array.from(e,i=>i.charCodeAt(0)),r=new DataView(t.buffer);return{width:r.getUint32(0,!1),height:r.getUint32(4,!1)}}function Tc(n){let e=atob(n.slice(0,50)),t=Uint8Array.from(e,i=>i.charCodeAt(0)),r=new DataView(t.buffer);return{width:r.getUint16(6,!0),height:r.getUint16(8,!0)}}function vc(n){let e=atob(n),t=Uint8Array.from(e,s=>s.charCodeAt(0)),r=t.length,i=2;for(;i=65472&&s<=65474){let a=new DataView(t.buffer,i+5,4);return{height:a.getUint16(0,!1),width:a.getUint16(2,!1)}}i+=2+o}throw new Error("JPEG dimensions not found")}function yc(n){let e=atob(n),t=new Uint8Array(e.length);for(let i=0;i{i.serviceIds=new Map,i.DI_TARGET="$di$target",i.DI_DEPENDENCIES="$di$dependencies";function r(s){return s[i.DI_DEPENDENCIES]||[]}i.getServiceDependencies=r})(lt||={});var Ec=ut("instantiationService");function Ic(n,e,t){e[lt.DI_TARGET]===e?e[lt.DI_DEPENDENCIES].push({id:n,index:t}):(e[lt.DI_DEPENDENCIES]=[{id:n,index:t}],e[lt.DI_TARGET]=e)}function ut(n){if(lt.serviceIds.has(n))return lt.serviceIds.get(n);let e=function(t,r,i){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");Ic(e,t,i)};return e.toString=()=>n,lt.serviceIds.set(n,e),e}function Rt(n){return n===47||n===92}function ls(n){return n.replace(/[\\/]/g,j.sep)}function ol(n){return n.indexOf("/")===-1&&(n=ls(n)),/^[a-zA-Z]:(\/|$)/.test(n)&&(n="/"+n),n}function us(n,e=j.sep){if(!n)return"";let t=n.length,r=n.charCodeAt(0);if(Rt(r)){if(Rt(n.charCodeAt(1))&&!Rt(n.charCodeAt(2))){let s=3,o=s;for(;sn.length)return!1;if(t){if(!mi(n,e))return!1;if(e.length===n.length)return!0;let s=e.length;return e.charAt(e.length-1)===r&&s--,n.charAt(s)===r}return e.charAt(e.length-1)!==r&&(e+=r),n.indexOf(e)===0}function wc(n){return n>=65&&n<=90||n>=97&&n<=122}var de;(x=>(x.inMemory="inmemory",x.vscode="vscode",x.internal="private",x.walkThrough="walkThrough",x.walkThroughSnippet="walkThroughSnippet",x.http="http",x.https="https",x.file="file",x.mailto="mailto",x.untitled="untitled",x.data="data",x.command="command",x.vscodeRemote="vscode-remote",x.vscodeRemoteResource="vscode-remote-resource",x.vscodeManagedRemoteResource="vscode-managed-remote-resource",x.vscodeUserData="vscode-userdata",x.vscodeCustomEditor="vscode-custom-editor",x.vscodeNotebookCell="vscode-notebook-cell",x.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",x.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",x.vscodeNotebookCellOutput="vscode-notebook-cell-output",x.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",x.vscodeNotebookMetadata="vscode-notebook-metadata",x.vscodeInteractiveInput="vscode-interactive-input",x.vscodeSettings="vscode-settings",x.vscodeWorkspaceTrust="vscode-workspace-trust",x.vscodeTerminal="vscode-terminal",x.vscodeChatCodeBlock="vscode-chat-code-block",x.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",x.vscodeChatEditor="vscode-chat-editor",x.vscodeChatInput="chatSessionInput",x.vscodeLocalChatSession="vscode-chat-session",x.webviewPanel="webview-panel",x.vscodeWebview="vscode-webview",x.vscodeBrowser="vscode-browser",x.extension="extension",x.vscodeFileResource="vscode-file",x.tmp="tmp",x.vsls="vsls",x.vscodeSourceControl="vscode-scm",x.commentsInput="comment",x.codeSetting="code-setting",x.outputChannel="output",x.accessibleView="accessible-view",x.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",x.chatEditingModel="chat-editing-text-model",x.copilotPr="copilot-pr"))(de||={});var Rc="tkn",ds=class{constructor(){this._hosts=Object.create(null);this._ports=Object.create(null);this._connectionTokens=Object.create(null);this._preferredWebSchema="http";this._delegate=null;this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}setDelegate(e){this._delegate=e}setServerRootPath(e,t){this._serverRootPath=j.join(t??"/",Sc(e))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return j.join(this._serverRootPath,de.vscodeRemoteResource)}set(e,t,r){this._hosts[e]=t,this._ports[e]=r}setConnectionToken(e,t){this._connectionTokens[e]=t}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return Ve(a),e}let t=e.authority,r=this._hosts[t];r&&r.indexOf(":")!==-1&&r.indexOf("[")===-1&&(r=`[${r}]`);let i=this._ports[t],s=this._connectionTokens[t],o=`path=${encodeURIComponent(e.path)}`;return typeof s=="string"&&(o+=`&${Rc}=${encodeURIComponent(s)}`),X.from({scheme:vo?this._preferredWebSchema:de.vscodeRemoteResource,authority:`${r}:${i}`,path:this._remoteResourcesPath,query:o})}},Ac=new ds;function Sc(n){return`${n.quality??"oss"}-${n.commit??"dev"}`}var Pc="vscode-app",fs=class n{static{this.FALLBACK_AUTHORITY=Pc}asBrowserUri(e){let t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===de.vscodeRemote?Ac.rewrite(e):e.scheme===de.file&&(To||yo===`${de.vscodeFileResource}://${n.FALLBACK_AUTHORITY}`)?e.with({scheme:de.vscodeFileResource,authority:e.authority||n.FALLBACK_AUTHORITY,query:null,fragment:null}):e}asFileUri(e){let t=this.toUri(e);return this.uriToFileUri(t)}uriToFileUri(e){return e.scheme===de.vscodeFileResource?e.with({scheme:de.file,authority:e.authority!==n.FALLBACK_AUTHORITY?e.authority:null,query:null,fragment:null}):e}toUri(e){if(X.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){let t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return X.joinPath(X.parse(t,!0),e);let r=Nt(t,e);return X.file(r)}throw new Error("Cannot determine URI for module id!")}},a0=new fs,l0=Object.freeze({"Cache-Control":"no-cache, no-store"}),u0=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"}),Lc;(s=>{let n=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);s.CoopAndCoep=Object.freeze(n.get("3"));let t="vscode-coi";function r(o){let a;typeof o=="string"?a=new URL(o).searchParams:o instanceof URL?a=o.searchParams:X.isUri(o)&&(a=new URL(o.toString(!0)).searchParams);let l=a?.get(t);if(l)return n.get(l)}s.getHeadersFromQuery=r;function i(o,a,l){if(!globalThis.crossOriginIsolated)return;let u=a&&l?"3":l?"2":"1";o instanceof URLSearchParams?o.set(t,u):o[t]=u}s.addSearchParam=i})(Lc||={});function ct(n){return hn(n,!0)}var Sn=class{constructor(e){this._ignorePathCasing=e}compare(e,t,r=!1){return e===t?0:$o(this.getComparisonKey(e,r),this.getComparisonKey(t,r))}isEqual(e,t,r=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,r)===this.getComparisonKey(t,r)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}ignorePathCasing(e){return this._ignorePathCasing(e)}isEqualOrParent(e,t,r=!1){if(e.scheme===t.scheme){if(e.scheme===de.file)return cs(ct(e),ct(t),this._ignorePathCasing(e))&&e.query===t.query&&(r||e.fragment===t.fragment);if(al(e.authority,t.authority))return cs(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(r||e.fragment===t.fragment)}return!1}joinPath(e,...t){return X.joinPath(e,...t)}basenameOrAuthority(e){return Dc(e)||e.authority}basename(e){return j.basename(e.path)}extname(e){return j.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===de.file?t=X.file(Ro(ct(e))).path:(t=j.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===de.file?t=X.file(fi(ct(e))).path:t=j.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!al(e.authority,t.authority))return;if(e.scheme===de.file){let s=Xn(ct(e),ct(t));return Ee?ls(s):s}let r=e.path||"/",i=t.path||"/";if(this._ignorePathCasing(e)){let s=0;for(let o=Math.min(r.length,i.length);sus(r).length&&r[r.length-1]===t}else{let r=e.path;return r.length>1&&r.charCodeAt(r.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Yt){return ll(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Yt){let r=!1;if(e.scheme===de.file){let i=ct(e);r=i!==void 0&&i.length===us(i).length&&i[i.length-1]===t}else{t="/";let i=e.path;r=i.length===1&&i.charCodeAt(i.length-1)===47}return!r&&!ll(e,t)?e.with({path:e.path+"/"}):e}},V=new Sn(()=>!1),g0=new Sn(n=>n.scheme===de.file?!bo:!0),_0=new Sn(n=>!0),b0=V.isEqual.bind(V),T0=V.isEqualOrParent.bind(V),v0=V.getComparisonKey.bind(V),y0=V.basenameOrAuthority.bind(V),Dc=V.basename.bind(V),x0=V.extname.bind(V),E0=V.dirname.bind(V),I0=V.joinPath.bind(V),w0=V.normalizePath.bind(V),k0=V.relativePath.bind(V),R0=V.resolvePath.bind(V),A0=V.isAbsolutePath.bind(V),al=V.isEqualAuthority.bind(V),ll=V.hasTrailingPathSeparator.bind(V),S0=V.removeTrailingPathSeparator.bind(V),P0=V.addTrailingPathSeparator.bind(V);var Oc;(s=>{s.META_DATA_LABEL="label",s.META_DATA_DESCRIPTION="description",s.META_DATA_SIZE="size",s.META_DATA_MIME="mime";function i(o){let a=new Map;o.path.substring(o.path.indexOf(";")+1,o.path.lastIndexOf(";")).split(";").forEach(d=>{let[c,f]=d.split(":");c&&f&&a.set(c,f)});let u=o.path.substring(0,o.path.indexOf(";"));return u&&a.set(s.META_DATA_MIME,u),a}s.parseMetaData=i})(Oc||={});var Dr=class{constructor(e){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new Te}whenIdle(){return this.size>0?Qt.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(e){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((t,r)=>{this.outstandingPromises.push({factory:e,c:t,e:r}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromisesthis.consumed(),()=>this.consumed())}}consumed(){this._isDisposed||(this.runningPromises--,--this._size===0&&this._onDrained.fire(),this.outstandingPromises.length>0&&this.consume())}clear(){if(this._isDisposed)throw new Error("Object has been disposed");this.outstandingPromises.length=0,this._size=this.runningPromises}dispose(){this._isDisposed=!0,this.outstandingPromises.length=0,this._size=0,this._onDrained.dispose()}};var Uc,ps;(function(){let n=globalThis;typeof n.requestIdleCallback!="function"||typeof n.cancelIdleCallback!="function"?ps=(e,t,r)=>{xo(()=>{if(i)return;let s=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,s-Date.now())}}))});let i=!1;return{dispose(){i||(i=!0)}}}:ps=(e,t,r)=>{let i=e.requestIdleCallback(t,typeof r=="number"?{timeout:r}:void 0),s=!1;return{dispose(){s||(s=!0,e.cancelIdleCallback(i))}}},Uc=(e,t)=>ps(globalThis,e,t)})();var Or=class n{static fromPromise(e){let t=new n;return t.settleWith(e),t}get isRejected(){return this.outcome?.outcome===1}get isResolved(){return this.outcome?.outcome===0}get isSettled(){return!!this.outcome}get value(){return this.outcome?.outcome===0?this.outcome?.value:void 0}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}settleWith(e){return e.then(t=>this.complete(t),t=>this.error(t))}cancel(){return this.error(new Ht)}},Cc;(t=>{async function n(r){let i,s=await Promise.all(r.map(o=>o.then(a=>a,a=>{i||(i=a)})));if(typeof i<"u")throw i;return s}t.settled=n;function e(r){return new Promise(async(i,s)=>{try{await r(i,s)}catch(o){s(o)}})}t.withAsyncBody=e})(Cc||={});var ul=class n{static fromArray(e){return new n(t=>{t.emitMany(e)})}static fromPromise(e){return new n(async t=>{t.emitMany(await e)})}static fromPromisesResolveOrder(e){return new n(async t=>{await Promise.all(e.map(async r=>t.emitOne(await r)))})}static merge(e){return new n(async t=>{await Promise.all(e.map(async r=>{for await(let i of r)t.emitOne(i)}))})}static{this.EMPTY=n.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new Te,queueMicrotask(async()=>{let r={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(r)),this.resolve()}catch(i){this.reject(i)}finally{r.emitOne=void 0,r.emitMany=void 0,r.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new n(async r=>{for await(let i of e)r.emitOne(t(i))})}map(e){return n.map(this,e)}static filter(e,t){return new n(async r=>{for await(let i of e)t(i)&&r.emitOne(i)})}filter(e){return n.filter(this,e)}static coalesce(e){return n.filter(e,t=>!!t)}coalesce(){return n.coalesce(this)}static async toPromise(e){let t=[];for await(let r of e)t.push(r);return t}toPromise(){return n.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};var hs=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let t=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(t,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(let t of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(t,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new Lt("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,t){t.ok?e.complete(t.value):e.error(t.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{let e=new Or;return this._unsatisfiedConsumers.push(e),e.p}}},cl=class n{constructor(e,t){this._onReturn=t;this._producerConsumer=new hs;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async e=>(this._finishError(e),{done:!0,value:void 0})};queueMicrotask(async()=>{let r=e({emitOne:i=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}}),emitMany:i=>{for(let s of i)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:i=>this._finishError(i)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(i){this._finishError(i)}})}static fromArray(e){return new n(t=>{t.emitMany(e)})}static fromPromise(e){return new n(async t=>{t.emitMany(await e)})}static fromPromisesResolveOrder(e){return new n(async t=>{await Promise.all(e.map(async r=>t.emitOne(await r)))})}static merge(e){return new n(async t=>{await Promise.all(e.map(async r=>{for await(let i of r)t.emitOne(i)}))})}static{this.EMPTY=n.fromArray([])}static map(e,t){return new n(async r=>{for await(let i of e)r.emitOne(t(i))})}static tee(e){let t,r,i=new Or,s=async()=>{if(!(!t||!r))try{for await(let l of e)t.emitOne(l),r.emitOne(l)}catch(l){t.reject(l),r.reject(l)}finally{i.complete()}},o=new n(async l=>(t=l,s(),i.p)),a=new n(async l=>(r=l,s(),i.p));return[o,a]}map(e){return n.map(this,e)}static coalesce(e){return n.filter(e,t=>!!t)}coalesce(){return n.coalesce(this)}static filter(e,t){return new n(async r=>{for await(let i of e)t(i)&&r.emitOne(i)})}filter(e){return n.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};var dl=class n{constructor(e,t){this.type=e;this.name=t;this._start=Date.now();this._dep=[]}static{this.all=new Set}static{this._None=new class extends n{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(e,t){return e?new n(2,t.name||new Error().stack.split(` `).slice(3,4).join(` `)):n._None}static traceCreation(e,t){return e?new n(1,t.name):n._None}static{this._totals=0}branch(e,t){let r=new n(3,e.toString());return this._dep.push([e,t,r]),r}stop(){let e=Date.now()-this._start;n._totals+=e;let t=!1;function r(s,o){let a=[],l=new Array(s+1).join(" ");for(let[u,d,c]of o._dep)if(d&&c){t=!0,a.push(`${l}CREATES -> ${u}`);let f=r(s+1,c);f&&a.push(f)}else a.push(`${l}uses -> ${u}`);return a.join(` `)}let i=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${r(1,this)}`,`DONE, took ${e.toFixed(2)}ms (grand total ${n._totals.toFixed(2)}ms)`];(e>2||t)&&n.all.add(i.join(` `))}};var fl=ut("ICopilotTokenStore");var Lh=ut("ITelemetryUserConfig"),Nr=class{constructor(e,t,r){this._tokenStore=r;this.trackingId=e,this.optedIn=t??!1,this.updateFromToken(this._tokenStore.copilotToken),this._tokenStore.onDidStoreUpdate(()=>{this.updateFromToken(this._tokenStore.copilotToken)})}updateFromToken(e){if(!e)return;let t=e.getTokenValue("rt")==="1",r=e.getTokenValue("tid");r!==void 0&&(this.trackingId=r,this.organizationsList=e.organizationList.toString(),this.enterpriseList=e.enterpriseList.toString(),this.optedIn=t)}};Nr=St([Pt(2,fl)],Nr);var ms=ut("ITelemetryService");var sn=Kt(kl());var qt=class{constructor(){this._n=1;this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}};var Al=require("fs");var Ln=typeof Buffer<"u",ed=new Pe(()=>new Uint8Array(256)),ws,ks,Dn=class n{static alloc(e){return Ln?new n(Buffer.allocUnsafe(e)):new n(new Uint8Array(e))}static wrap(e){return Ln&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new n(e)}static fromString(e,t){return!(t?.dontUseNodeBuffer||!1)&&Ln?new n(Buffer.from(e)):(ws||(ws=new TextEncoder),new n(ws.encode(e)))}static fromByteArray(e){let t=n.alloc(e.length);for(let r=0,i=e.length;r"u"){t=0;for(let s=0,o=e.length;st===e.buffer[r])}};function td(n,e,t=0){let r=e.byteLength,i=n.byteLength;if(r===0)return 0;if(r===1)return n.indexOf(e[0],t);if(r>i-t)return-1;let s=ed.value;s.fill(e.length);for(let u=0;u>>8,n[t+2]=e,e=e>>>8,n[t+1]=e,e=e>>>8,n[t]=e}function id(n,e){return n[e+0]<<0>>>0|n[e+1]<<8>>>0|n[e+2]<<16>>>0|n[e+3]<<24>>>0}function sd(n,e,t){n[t+0]=e&255,e=e>>>8,n[t+1]=e&255,e=e>>>8,n[t+2]=e&255,e=e>>>8,n[t+3]=e&255}function od(n,e){return n[e]}function ad(n,e,t){n[t]=e}function Rl(n,e){let t=0,r=0,i;do i=n.readUInt8(e+r),t|=(i&127)<{let e=(0,Al.readFileSync)(n),t=new Map;for(let r=0;ro;return this._values.push((0,sn.createTokenizer)(s(e),(0,sn.getSpecialTokensByEncoder)(t),(0,sn.getRegexByEncoder)(t),64e3)),i}encode(e,t,r){let i=ft.create(!0),s=this._values[e].encode(t,r);return this._stats.callCount+=1,this._stats.encodeDuration.update(i.elapsed()),this._stats.textLength.update(t.length),s}destroy(e){this._values[e]=void 0}resetStats(){let e=this._stats,t={callCount:e.callCount,encodeDuration:e.encodeDuration.value,textLength:e.textLength.value};return this._stats.encodeDuration=new qt,this._stats.textLength=new qt,this._stats.callCount=0,t}};var Dl=ut("ITokenizerProvider");var Pl=3,ld=1,on=class{constructor(e,t){this._cl100kTokenizer=new Pe(()=>new an(e,Nt(__dirname,"./cl100k_base.tiktoken"),"cl100k_base",t)),this._o200kTokenizer=new Pe(()=>new an(e,Nt(__dirname,"./o200k_base.tiktoken"),"o200k_base",t))}dispose(){this._cl100kTokenizer.rawValue?.dispose(),this._o200kTokenizer.rawValue?.dispose()}acquireTokenizer(e){switch(e.tokenizer){case"cl100k_base":return this._cl100kTokenizer.value;case"o200k_base":return this._o200kTokenizer.value;default:throw new Error(`Unknown tokenizer: ${e.tokenizer}`)}}};on=St([Pt(1,ms)],on);var an=class extends Se{constructor(t,r,i,s){super();this._useWorker=t;this._tokenFilePath=r;this._encoderName=i;this._telemetryService=s;this._cache=new Lr(5e3);this.baseTokensPerMessage=Pl;this.baseTokensPerName=ld;this.mode=$e.OutputMode.Raw}async countMessagesTokens(t){let r=Pl;for(let i of t)r+=await this.countMessageTokens(i);return r}async tokenize(t){return(await this.ensureTokenizer()).encode(t)}async tokenLength(t){if(typeof t=="string")return this._textTokenLength(t);switch(t.type){case $e.Raw.ChatCompletionContentPartKind.Text:return this._textTokenLength(t.text);case $e.Raw.ChatCompletionContentPartKind.Opaque:return t.tokenUsage||0;case $e.Raw.ChatCompletionContentPartKind.Image:if(t.imageUrl.url.startsWith("data:image/"))try{return Ll(t.imageUrl.url,t.imageUrl.detail)}catch{return this._textTokenLength(t.imageUrl.url)}return this._textTokenLength(t.imageUrl.url);case $e.Raw.ChatCompletionContentPartKind.CacheBreakpoint:return 0;case $e.Raw.ChatCompletionContentPartKind.Document:return ud(t.documentData.data);default:io(t,`unknown content part (${JSON.stringify(t)})`)}}async _textTokenLength(t){if(!t)return 0;let r=this._cache.get(t);return r||(r=(await this.tokenize(t)).length,this._cache.put(t,r)),r}async countMessageTokens(t){return this.baseTokensPerMessage+await this.countMessageObjectTokens((0,$e.toMode)($e.OutputMode.OpenAI,t))}async countToolTokens(t){let i=0;t.length&&(i+=16);let s=8;for(let o of t)i+=s,i+=await this.countObjectTokens({name:o.name,description:o.description,parameters:o.inputSchema});return Math.floor(i*1.1)}async countMessageObjectTokens(t){let r=0;for(let[i,s]of Object.entries(t))if(s){if(typeof s=="string")r+=await this.tokenLength(s);else if(s){let o=s;if(o.type==="text")r+=await this.tokenLength(o.text);else if(o.type==="image_url"&&o.image_url)if(o.image_url.url.startsWith("data:image/"))try{r+=Ll(o.image_url.url,o.image_url.detail)}catch{r+=await this.tokenLength(o.image_url.url)}else r+=await this.tokenLength(o.image_url.url);else{let a=await this.countMessageObjectTokens(s);i==="tool_calls"&&(a=Math.floor(a*1.5)),r+=a}}i==="name"&&s!==void 0&&(r+=this.baseTokensPerName)}return r}async countObjectTokens(t){let r=0;for(let[i,s]of Object.entries(t))s&&(r+=await this.tokenLength(i),typeof s=="string"?r+=await this.tokenLength(s):s&&(r+=await this.countMessageObjectTokens(s)));return r}ensureTokenizer(){return this._tokenizer??=this.doInitTokenizer(),this._tokenizer}async doInitTokenizer(){let t=Ao(__dirname)==="dist";if(this._useWorker){let r=Nt(__dirname,"tikTokenizerWorker.js"),i=new $n(r,{name:`TikToken worker (${this._encoderName})`}),s=await i.proxy.init(this._tokenFilePath,this._encoderName,t),o=Ze(()=>{i.terminate(),this._store.deleteAndLeak(o),this._tokenizer=void 0}),a;return{encode:(l,u)=>{let d=i.proxy.encode(s,l,u);return clearTimeout(a),a=setTimeout(()=>o.dispose(),15e3),Math.random()<1/1e3&&i.proxy.resetStats().then(c=>{this._telemetryService.sendMSFTTelemetryEvent("tokenizer.stats",void 0,c)}),d}}}else{let r=rn.instance.init(this._tokenFilePath,this._encoderName,t),i=Ze(()=>{rn.instance.destroy(r),this._store.deleteAndLeak(i),this._tokenizer=void 0});return this._store.add(i),{encode:async(s,o)=>rn.instance.encode(r,s,o)}}}};an=St([Pt(3,ms)],an);function Ll(n,e){let{width:t,height:r}=sl(n);if(e==="low")return 85;if(t>2048||r>2048){let o=2048/Math.max(t,r);t=Math.round(t*o),r=Math.round(r*o)}let i=768/Math.min(t,r);return t=Math.round(t*i),r=Math.round(r*i),Math.ceil(t/512)*Math.ceil(r/512)*170+85}function ud(n){if(!n)return 0;let e=n.length,t=Math.floor(e*3/4);return Math.ceil(t/8)}var cd=250,ln=class{constructor(e,t){this.tokenizer=t.acquireTokenizer(e)}async chunkFile(e,t,{maxTokenLength:r=cd,removeEmptyLines:i=!0},s){let o=[];for await(let a of this._processLinesIntoChunks(e,t,r,!0,i,s)){if(s.isCancellationRequested)return[];(!i||a.text.length&&/[\w\d]{2}/.test(a.text))&&o.push(a)}return o}async*_processLinesIntoChunks(e,t,r,i,s,o){let a=Bo(t),l=[],u=0,d;for(let f=0;f0){let P=T.match(/^\s+/),M=P?P[0]:"";d=d?dd(d,M):M}if(u+D>r){let P=this.finalizeChunk(e,l,i,d??"",!1);P&&(yield P),l.length=0,u=0,d=void 0}l.push({text:w,lineNumber:f}),u+=D}let c=this.finalizeChunk(e,l,i,d??"",!0);c&&(yield c)}finalizeChunk(e,t,r,i,s){if(!t.length)return;let o=r?t.map(l=>l.text.substring(i.length)).join(` `):t.map(l=>l.text).join(` `),a=t[t.length-1];return{file:e,text:o,rawText:o,isFullFile:s&&t[0].lineNumber===0,range:new mt(t[0].lineNumber,0,a.lineNumber,a.text.length)}}};ln=St([Pt(1,Dl)],ln);function dd(n,e){let t=jo(n,e);return n.substring(0,t)}var $r=class{dispose(){}sendInternalMSFTTelemetryEvent(e,t,r){}sendMSFTTelemetryEvent(e,t,r){}sendMSFTTelemetryErrorEvent(e,t,r){}sendGHTelemetryEvent(e,t,r){}sendGHTelemetryErrorEvent(e,t,r){}sendGHTelemetryException(e,t){}sendTelemetryEvent(e,t,r,i){}sendTelemetryErrorEvent(e,t,r,i){}setSharedProperty(e,t){}setAdditionalExpAssignments(e){}postEvent(e,t){}sendEnhancedGHTelemetryEvent(e,t,r){}sendEnhancedGHTelemetryErrorEvent(e,t,r){}};var au=Kt(require("fs")),Ms=Kt(require("node:sqlite")),lu=Kt(require("path"));var jr=Kt(ru());function iu(n,e){if(typeof e=="string")return jr.default.isMatch(n.fsPath,e,{dot:!0,windows:Ee});{if(n.fsPath===e.baseUri.fsPath&&e.pattern==="*")return!0;let t=Xn(e.baseUri.fsPath,n.fsPath);return t.startsWith("..")?jr.default.isMatch(n.fsPath,e.pattern,{dot:!0,windows:Ee}):jr.default.isMatch(t,e.pattern,{dot:!0,windows:Ee})}}function su(n,e){return e?e.exclude?.some(t=>iu(n,t))?!1:e.include?e.include.some(t=>iu(n,t)):!0:!0}function uu(n){let e=Object.create(null);for(let t of n)e[t]=(e[t]??0)+1;return e}function ou(n){return uu(Hd(n))}function*Hd(n){let e=t=>t.toLowerCase();for(let[t]of n.matchAll(/(?1&&i.push(...s);let o=t.split("_");o.length>1&&i.push(...o);let a=t.match(/^([\D]+)\p{Number}+$/u);a&&i.push(a[1]);for(let l of i)l.length>2&&/[\p{Alphabetic}_$]{3,}/gu.test(l)&&r.add(e(l));yield*r}}var Fs=class{constructor(e,t=-1/0){this.maxSize=e;this.minScore=t;this.store=[]}toArray(e){if(this.store.length&&typeof e=="number"){let t=this.store.at(0).score*(1-e);return this.store.filter(r=>r.score>=t).map(r=>r.value)}return this.store.map(t=>t.value)}add(e,t){if(e<=this.minScore)return;let r=this.store.findIndex(i=>i.score=0?r:this.store.length,0,{score:e,value:t});this.store.length>this.maxSize;)this.store.pop();this.store.length===this.maxSize&&(this.minScore=this.store.at(-1)?.score??this.minScore)}},Vr=class{constructor(e){let t={open:!0,enableForeignKeyConstraints:!0};if(e!==":memory:"&&e.scheme===de.file)try{au.default.mkdirSync(lu.default.dirname(e.fsPath),{recursive:!0}),this.db=new Ms.default.DatabaseSync(e.fsPath,t)}catch(r){console.error("Failed to open SQLite database on disk. Trying memory db",r)}this.db||(this.db=new Ms.default.DatabaseSync(":memory:",t)),this.db.exec(` PRAGMA journal_mode = OFF; PRAGMA synchronous = 0; PRAGMA cache_size = 1000000; PRAGMA locking_mode = EXCLUSIVE; PRAGMA temp_store = MEMORY; `),this.db.exec(` CREATE TABLE IF NOT EXISTS Documents ( id INTEGER PRIMARY KEY AUTOINCREMENT, uri TEXT, contentVersionId TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS Chunks ( id INTEGER PRIMARY KEY AUTOINCREMENT, documentId INTEGER NOT NULL, text TEXT NOT NULL, startLineNumber INTEGER NOT NULL, startColumn INTEGER NOT NULL, endLineNumber INTEGER NOT NULL, endColumn INTEGER NOT NULL, isFullFile INTEGER NOT NULL, termFrequencies BLOB NOT NULL, -- JSONB object storing term frequencies FOREIGN KEY (documentId) REFERENCES Documents(id) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS ChunkOccurrences ( term TEXT PRIMARY KEY, chunkCount INTEGER NOT NULL ); CREATE INDEX IF NOT EXISTS idx_documents_uri ON Documents(uri); CREATE INDEX IF NOT EXISTS idx_chunks_documentId ON Chunks(documentId); `)}initialize(e){let t=new qe;for(let{uri:l,contentId:u}of e)t.set(l,u);let r=this.db.prepare("SELECT * FROM Documents").all(),i=new qe;for(let l of r)try{let u=X.parse(l.uri);i.set(u,l.contentVersionId)}catch(u){console.error(`Failed to parse URI from database entry: ${l.uri}`,u)}let s=new zt,o=new zt;for(let[l,u]of i){let d=t.get(l);d?d!==u&&o.add(l):s.add(l)}let a=new zt;for(let l of t.keys())i.has(l)||a.add(l);return this.delete(Array.from(s)),{outOfSyncDocs:o,newDocs:a,deletedDocs:s}}async isUpToDate(e){return this.getDocContentVersionId(e.uri)===await e.getContentVersionId()}getDocContentVersionId(e){return this.db.prepare("SELECT contentVersionId FROM Documents WHERE uri = ?").get(e.toString())?.contentVersionId}async addOrUpdate(e){let t=new Dr(20);try{let r=await Promise.all(e.map(async i=>{try{return await this.isUpToDate(i)?void 0:{uri:i.uri,getDoc:async()=>{let s=[];for(let o of await t.queue(()=>i.getChunks())){let a=ou(o.text);s.push({chunk:o,tf:a})}return{contentVersionId:await i.getContentVersionId(),chunks:s}}}}catch{}}));await this.addOrUpdateDocs(r.filter(i=>!!i))}finally{t.dispose()}}delete(e){this.db.exec("BEGIN TRANSACTION");for(let t of e){let r=this.getDoc(t);if(!r)continue;this.db.prepare(` DELETE FROM Documents WHERE uri = ? `).run(t.toString()),this._cachedChunkCount=void 0;let i=uu(r.chunks.flatMap(s=>Object.keys(s.tf)));for(let[s,o]of Object.entries(i))this.db.prepare(` UPDATE ChunkOccurrences SET chunkCount = chunkCount - ? WHERE term = ?; `).run(o,s)}this.db.exec("COMMIT"),this.db.prepare(` DELETE FROM ChunkOccurrences WHERE chunkCount < 1; `).run()}get fileCount(){return this.db.prepare("SELECT COUNT(*) as count FROM Documents").get().count??0}async search(e,t){let r=new Fs(t?.maxResults??1/0,-1/0),i=this.computeEmbeddings(e);if(!i.size)return[];let s=new Map;for(let o of await this.getAllChunksWithTerms(Array.from(i.keys()))){if(!su(o.chunk.file,t?.globPatterns))continue;let a=this.score(o,i,s);a>0&&r.add(a,o.chunk)}return r.toArray(t?.maxSpread)}computeEmbeddings(e){let t=ou(e);return this.computeTfidf(t)}score(e,t,r){let i=0;for(let[s,o]of t.entries()){let a=e.tf[s];if(!a)continue;let l=r.get(s);typeof l!="number"&&(l=this.idf(s),r.set(s,l));let u=a*l;i+=u*o}return i}idf(e){let t=this.getChunkOccurrences(e)??0;return t>0?Math.log((this.getChunkCount()+1)/t):0}computeTfidf(e){let t=new Map;for(let[r,i]of Object.entries(e)){let s=this.idf(r);s>0&&t.set(r,i*s)}return t}getChunkCount(){return typeof this._cachedChunkCount=="number"?this._cachedChunkCount:this.db.prepare("SELECT COUNT(*) as count FROM Chunks").get()?.count??0}getChunkOccurrences(e){return this.db.prepare("SELECT chunkCount FROM ChunkOccurrences WHERE term = ?").get(e)?.chunkCount??0}async addOrUpdateDocs(e){this._cachedChunkCount=void 0;let t=Object.create(null),r=a=>{this.delete(a.map(l=>l.uri)),this.db.exec("BEGIN TRANSACTION");try{for(let{uri:l,doc:u}of a){let d=this.db.prepare("INSERT OR REPLACE INTO Documents (uri, contentVersionId) VALUES (?, ?)").run(l.toString(),u.contentVersionId).lastInsertRowid,c=this.db.prepare("INSERT INTO Chunks (documentId, text, startLineNumber, startColumn, endLineNumber, endColumn, isFullFile, termFrequencies) VALUES (?, ?, ?, ?, ?, ?, ?, jsonb(?))");for(let f of u.chunks){c.run(d,f.chunk.text,f.chunk.range.startLineNumber,f.chunk.range.startColumn,f.chunk.range.endLineNumber,f.chunk.range.endColumn,f.chunk.isFullFile?1:0,JSON.stringify(f.tf));for(let T of Object.keys(f.tf))t[T]=(t[T]??0)+1}}this.db.exec("COMMIT")}catch(l){throw this.db.exec("ROLLBACK"),l}},i=200,s=[];for(let a of e)s.push({uri:a.uri,doc:await a.getDoc()}),s.length>=i&&(r(s),s.length=0);r(s);let o=this.db.prepare(` INSERT INTO ChunkOccurrences (term, chunkCount) VALUES (?, ?) ON CONFLICT(term) DO UPDATE SET chunkCount = chunkCount + ?; `);this.db.exec("BEGIN TRANSACTION");for(let[a,l]of Object.entries(t))o.run(a,l,l);this.db.exec("COMMIT")}getDoc(e){let t=this.db.prepare("SELECT id, contentVersionId FROM Documents WHERE uri = ?").get(e.toString());if(!t)return;let r=this.db.prepare("SELECT text, startLineNumber, startColumn, endLineNumber, endColumn, isFullFile, json(termFrequencies) as termFrequencies FROM Chunks WHERE documentId = ?").all(t.id);return{contentVersionId:t.contentVersionId,chunks:r.map(i=>this.reviveDocumentChunkEntry({...i,uri:e.toString()}))}}async getAllChunksWithTerms(e){if(!e.length)return[];let t=this.db.prepare(` SELECT c.id, c.documentId, c.text, c.startLineNumber, c.startColumn, c.endLineNumber, c.endColumn, c.isFullFile, json(c.termFrequencies) as termFrequencies, d.uri FROM Chunks c JOIN Documents d ON c.documentId = d.id WHERE EXISTS ( SELECT 1 FROM json_each(c.termFrequencies) WHERE json_each.key IN (${e.map(r=>"?").join(",")}) ) `).all(...e);return Ke.map(t,r=>this.reviveDocumentChunkEntry(r))}reviveDocumentChunkEntry(e){return{tf:JSON.parse(e.termFrequencies),get chunk(){return{file:X.isUri(e.uri)?e.uri:X.parse(e.uri),text:e.text,rawText:e.text,range:new mt(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),isFullFile:!!e.isFullFile}}}}};function Mn(n,e){if(!n)return n;if(Array.isArray(n))return n.map(t=>Mn(t,e));if(typeof n=="object"){let t=e(n);if(t)return t;let r={};for(let i in n)r[i]=Mn(n[i],e);return r}return n}function zd(n){return n&&typeof n.startLineNumber=="number"&&typeof n.startColumn=="number"&&typeof n.endLineNumber=="number"&&typeof n.endColumn=="number"}function Gd(n){return Mn(n,e=>{if(X.isUri(e))return{$mid:"uri",...e};if(zd(e))return{$mid:"range",...e}})}function Xd(n){return Mn(n,e=>{if(e.$mid==="uri")return X.from(e)})}var Bs=class{constructor(e,t){this._handler=new cn;this.proxy=qr((r,i)=>{let{id:s,result:o}=this._handler.createHandler();return e.postMessage({id:s,fn:r,args:i}),o}),e.on("message",async r=>{if("fn"in r)try{let i=await t[r.fn](...Xd(r.args));e.postMessage({id:r.id,res:Gd(i)})}catch(i){e.postMessage({id:r.id,err:i})}else this._handler.handleResponse(r)})}},$s=class{constructor(e,t){this._pendingChanges=new qe;this._tfIdf=new Vr(t.dbPath===":memory:"?":memory:":X.from(t.dbPath)),this._chunker=new ln(t.endpoint,new on(!1,new $r)),this._host=new Bs(e,this)}initialize(e){let{outOfSyncDocs:t,newDocs:r,deletedDocs:i}=this._tfIdf.initialize(e.map(s=>({uri:X.from(s.uri),contentId:s.contentId})));for(let s of Ke.concat(t,r))this._pendingChanges.set(s,"update");return{newFileCount:r.size,outOfSyncFileCount:t.size,deletedFileCount:i.size}}addOrUpdate(e){for(let t of e){let r=X.from(t);this._pendingChanges.set(r,"update")}}delete(e){for(let t of e){let r=X.from(t);this._pendingChanges.set(r,"delete")}}async search(e,t){let r=new ft,i=this._pendingChanges.size;await this._flushPendingChanges();let s=r.elapsed();r.reset();let o=await this._tfIdf.search(e,t),a=r.elapsed();return{results:o,telemetry:{fileCount:this._tfIdf.fileCount,updatedFileCount:i,updateTime:s,searchTime:a}}}async _flushPendingChanges(){if(!this._pendingChanges.size)return;let e=Array.from(Ke.filter(this._pendingChanges.entries(),([r,i])=>i==="delete"),([r])=>r);this._tfIdf.delete(e);let t=Array.from(Ke.filter(this._pendingChanges.entries(),([r,i])=>i==="update"),([r])=>{let i=new Pe(()=>this._host.proxy.getContentVersionId(r));return{uri:r,getContentVersionId:()=>i.value,getChunks:async()=>this.getRawNaiveChunks(r,await this._host.proxy.readFile(r),oi.None)}});t.length&&await this._tfIdf.addOrUpdate(t),this._pendingChanges.clear()}async getRawNaiveChunks(e,t,r){try{let i=await this._chunker.chunkFile(e,t,{},r);return Ke.map(i,s=>({file:e,text:s.text,rawText:s.rawText,range:mt.lift(s.range),isFullFile:s.isFullFile}))}catch(i){return console.error(`Could not chunk: ${e}`,i),[]}}},cu=Fn.parentPort;if(!cu)throw new Error("This module should only be used in a worker thread.");if(!Fn.workerData)throw new Error("Expected 'workerData' to be provided to the worker thread.");new $s(cu,Fn.workerData); //!!! DO NOT modify, this file was COPIED from 'microsoft/vscode' /*! Bundled license information: @vscode/prompt-tsx/dist/base/util/vs/nls.js: @vscode/prompt-tsx/dist/base/util/vs/common/platform.js: @vscode/prompt-tsx/dist/base/util/vs/common/process.js: @vscode/prompt-tsx/dist/base/util/vs/common/path.js: @vscode/prompt-tsx/dist/base/util/vs/common/uri.js: (*!!! DO NOT modify, this file was COPIED from 'microsoft/vscode' *) */