(function(){"use strict";class Jt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` `+t.stack):t},0)}}emit(t){this.listeners.forEach(n=>{n(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const Ot=new Jt;function Kt(e){en(e)||Ot.onUnexpectedError(e)}function ye(e){if(e instanceof Error){let{name:t,message:n}=e;const s=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:s}}return e}const Qe="Canceled";function en(e){return e instanceof Error&&e.name===Qe&&e.message===Qe}var Ae;(function(e){function t(d){return d&&typeof d=="object"&&typeof d[Symbol.iterator]=="function"}e.is=t;const n=Object.freeze([]);function s(){return n}e.empty=s;function*r(d){yield d}e.single=r;function i(d){return d||n}e.from=i;function l(d){return!d||d[Symbol.iterator]().next().done===!0}e.isEmpty=l;function u(d){return d[Symbol.iterator]().next().value}e.first=u;function a(d,f){for(const g of d)if(f(g))return!0;return!1}e.some=a;function o(d,f){for(const g of d)if(f(g))return g}e.find=o;function*h(d,f){for(const g of d)f(g)&&(yield g)}e.filter=h;function*c(d,f){let g=0;for(const _ of d)yield f(_,g++)}e.map=c;function*m(...d){for(const f of d)for(const g of f)yield g}e.concat=m;function*L(d){for(const f of d)for(const g of f)yield g}e.concatNested=L;function b(d,f,g){let _=g;for(const A of d)_=f(_,A);return _}e.reduce=b;function*w(d,f,g=d.length){for(f<0&&(f+=d.length),g<0?g+=d.length:g>d.length&&(g=d.length);f_===A){const _=d[Symbol.iterator](),A=f[Symbol.iterator]();for(;;){const S=_.next(),N=A.next();if(S.done!==N.done)return!1;if(S.done)return!0;if(!g(S.value,N.value))return!1}}e.equals=P})(Ae||(Ae={}));function tn(e){}function ns(e){return e}class nn extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function Ze(e){if(Ae.is(e)){let t=[];for(const n of e)if(n)try{n.dispose()}catch(s){t.push(s)}if(t.length===1)throw t[0];if(t.length>1)throw new nn(t);return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function sn(...e){return e.forEach(tn),rn(()=>Ze(e))}function rn(e){return{dispose:()=>{e()}}}class le{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{Ze(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?le.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(t),t}}le.DISABLE_DISPOSED_WARNING=!1;class Xe{constructor(){this._store=new le}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}Xe.None=Object.freeze({dispose(){}});var we;const fe="en";let Ce=!1,ve=!1,Me=!1,me,Pe=fe,ln,X;const T=typeof self=="object"?self:typeof global=="object"?global:{};let U;typeof T.vscode<"u"&&typeof T.vscode.process<"u"?U=T.vscode.process:typeof process<"u"&&(U=process);const Je=typeof((we=U==null?void 0:U.versions)===null||we===void 0?void 0:we.electron)=="string"&&U.type==="renderer",un=Je&&(U==null?void 0:U.sandboxed);if((()=>{if(un)return"bypassHeatCheck";const e=U==null?void 0:U.env.VSCODE_BROWSER_CODE_LOADING;if(typeof e=="string")return e==="none"||e==="code"||e==="bypassHeatCheck"||e==="bypassHeatCheckAndEagerCompile"?e:"bypassHeatCheck"})(),typeof navigator=="object"&&!Je)X=navigator.userAgent,Ce=X.indexOf("Windows")>=0,ve=X.indexOf("Macintosh")>=0,(X.indexOf("Macintosh")>=0||X.indexOf("iPad")>=0||X.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Me=X.indexOf("Linux")>=0,me=navigator.language,Pe=me;else if(typeof U=="object"){Ce=U.platform==="win32",ve=U.platform==="darwin",Me=U.platform==="linux",Me&&U.env.SNAP&&U.env.SNAP_REVISION,me=fe,Pe=fe;const e=U.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e),n=t.availableLanguages["*"];me=t.locale,Pe=n||fe,ln=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const ue=Ce,an=ve,Oe=function(){if(T.setImmediate)return T.setImmediate.bind(T);if(typeof T.postMessage=="function"&&!T.importScripts){let n=[];T.addEventListener("message",r=>{if(r.data&&r.data.vscodeSetImmediateId)for(let i=0,l=n.length;i{const i=++s;n.push({id:i,callback:r}),T.postMessage({vscodeSetImmediateId:i},"*")}}if(typeof(U==null?void 0:U.nextTick)=="function")return U.nextTick.bind(U);const t=Promise.resolve();return n=>t.then(n)}();function on(e){let t=[],n=Object.getPrototypeOf(e);for(;Object.prototype!==n;)t=t.concat(Object.getOwnPropertyNames(n)),n=Object.getPrototypeOf(n);return t}function pe(e){const t=[];for(const n of on(e))typeof e[n]=="function"&&t.push(n);return t}function Ke(e,t){const n=r=>function(){const i=Array.prototype.slice.call(arguments,0);return t(r,i)};let s={};for(const r of e)s[r]=n(r);return s}const cn="$initialize";class hn{constructor(t){this._workerId=-1,this._handler=t,this._lastSentReq=0,this._pendingReplies=Object.create(null)}setWorkerId(t){this._workerId=t}sendMessage(t,n){let s=String(++this._lastSentReq);return new Promise((r,i)=>{this._pendingReplies[s]={resolve:r,reject:i},this._send({vsWorker:this._workerId,req:s,method:t,args:n})})}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){if(t.seq){let i=t;if(!this._pendingReplies[i.seq]){console.warn("Got reply to unknown seq");return}let l=this._pendingReplies[i.seq];if(delete this._pendingReplies[i.seq],i.err){let u=i.err;i.err.$isError&&(u=new Error,u.name=i.err.name,u.message=i.err.message,u.stack=i.err.stack),l.reject(u);return}l.resolve(i.res);return}let n=t,s=n.req;this._handler.handleMessage(n.method,n.args).then(i=>{this._send({vsWorker:this._workerId,seq:s,res:i,err:void 0})},i=>{i.detail instanceof Error&&(i.detail=ye(i.detail)),this._send({vsWorker:this._workerId,seq:s,res:void 0,err:ye(i)})})}_send(t){let n=[];if(t.req){const s=t;for(let r=0;r{t(s,r)},handleMessage:(s,r)=>this._handleMessage(s,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,n){if(t===cn)return this.initialize(n[0],n[1],n[2],n[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,n))}catch(s){return Promise.reject(s)}}initialize(t,n,s,r){this._protocol.setWorkerId(t);const l=Ke(r,(u,a)=>this._protocol.sendMessage(u,a));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(l),Promise.resolve(pe(this._requestHandler))):(n&&(typeof n.baseUrl<"u"&&delete n.baseUrl,typeof n.paths<"u"&&typeof n.paths.vs<"u"&&delete n.paths.vs,typeof n.trustedTypesPolicy!==void 0&&delete n.trustedTypesPolicy,n.catchError=!0,self.require.config(n)),new Promise((u,a)=>{self.require([s],o=>{if(this._requestHandler=o.create(l),!this._requestHandler){a(new Error("No RequestHandler!"));return}u(pe(this._requestHandler))},a)}))}}class G{constructor(t,n,s,r){this.originalStart=t,this.originalLength=n,this.modifiedStart=s,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function mn(e){return e.split(/\r\n|\r|\n/)}function dn(e){for(let t=0,n=e.length;t=0;n--){const s=e.charCodeAt(n);if(s!==32&&s!==9)return n}return-1}function et(e,t){return(t<<5)-t+e|0}function _n(e,t){t=et(149417,t);for(let n=0,s=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new G(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,n){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,n),this.m_originalCount++}AddModifiedElement(t,n){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,n),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class z{constructor(t,n,s=null){this.ContinueProcessingPredicate=s,this._originalSequence=t,this._modifiedSequence=n;const[r,i,l]=z._getElements(t),[u,a,o]=z._getElements(n);this._hasStrings=l&&o,this._originalStringElements=r,this._originalElementsOrHash=i,this._modifiedStringElements=u,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const n=t.getElements();if(z._isStringArray(n)){const s=new Int32Array(n.length);for(let r=0,i=n.length;r=t&&r>=s&&this.ElementsAreEqual(n,r);)n--,r--;if(t>n||s>r){let c;return s<=r?(K.Assert(t===n+1,"originalStart should only be one more than originalEnd"),c=[new G(t,0,s,r-s+1)]):t<=n?(K.Assert(s===r+1,"modifiedStart should only be one more than modifiedEnd"),c=[new G(t,n-t+1,s,0)]):(K.Assert(t===n+1,"originalStart should only be one more than originalEnd"),K.Assert(s===r+1,"modifiedStart should only be one more than modifiedEnd"),c=[]),c}const l=[0],u=[0],a=this.ComputeRecursionPoint(t,n,s,r,l,u,i),o=l[0],h=u[0];if(a!==null)return a;if(!i[0]){const c=this.ComputeDiffRecursive(t,o,s,h,i);let m=[];return i[0]?m=[new G(o+1,n-(o+1)+1,h+1,r-(h+1)+1)]:m=this.ComputeDiffRecursive(o+1,n,h+1,r,i),this.ConcatenateChanges(c,m)}return[new G(t,n-t+1,s,r-s+1)]}WALKTRACE(t,n,s,r,i,l,u,a,o,h,c,m,L,b,w,M,P,d){let f=null,g=null,_=new nt,A=n,S=s,N=L[0]-M[0]-r,p=-1073741824,I=this.m_forwardHistory.length-1;do{const R=N+t;R===A||R=0&&(o=this.m_forwardHistory[I],t=o[0],A=1,S=o.length-1)}while(--I>=-1);if(f=_.getReverseChanges(),d[0]){let R=L[0]+1,C=M[0]+1;if(f!==null&&f.length>0){const Z=f[f.length-1];R=Math.max(R,Z.getOriginalEnd()),C=Math.max(C,Z.getModifiedEnd())}g=[new G(R,m-R+1,C,w-C+1)]}else{_=new nt,A=l,S=u,N=L[0]-M[0]-a,p=1073741824,I=P?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const R=N+i;R===A||R=h[R+1]?(c=h[R+1]-1,b=c-N-a,c>p&&_.MarkNextChange(),p=c+1,_.AddOriginalElement(c+1,b+1),N=R+1-i):(c=h[R-1],b=c-N-a,c>p&&_.MarkNextChange(),p=c,_.AddModifiedElement(c+1,b+1),N=R-1-i),I>=0&&(h=this.m_reverseHistory[I],i=h[0],A=1,S=h.length-1)}while(--I>=-1);g=_.getChanges()}return this.ConcatenateChanges(f,g)}ComputeRecursionPoint(t,n,s,r,i,l,u){let a=0,o=0,h=0,c=0,m=0,L=0;t--,s--,i[0]=0,l[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const b=n-t+(r-s),w=b+1,M=new Int32Array(w),P=new Int32Array(w),d=r-s,f=n-t,g=t-s,_=n-r,S=(f-d)%2===0;M[d]=t,P[f]=n,u[0]=!1;for(let N=1;N<=b/2+1;N++){let p=0,I=0;h=this.ClipDiagonalBound(d-N,N,d,w),c=this.ClipDiagonalBound(d+N,N,d,w);for(let C=h;C<=c;C+=2){C===h||Cp+I&&(p=a,I=o),!S&&Math.abs(C-f)<=N-1&&a>=P[C])return i[0]=a,l[0]=o,Z<=P[C]&&N<=1448?this.WALKTRACE(d,h,c,g,f,m,L,_,M,P,a,n,i,o,r,l,S,u):null}const R=(p-t+(I-s)-N)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(p,R))return u[0]=!0,i[0]=p,l[0]=I,R>0&&N<=1448?this.WALKTRACE(d,h,c,g,f,m,L,_,M,P,a,n,i,o,r,l,S,u):(t++,s++,[new G(t,n-t+1,s,r-s+1)]);m=this.ClipDiagonalBound(f-N,N,f,w),L=this.ClipDiagonalBound(f+N,N,f,w);for(let C=m;C<=L;C+=2){C===m||C=P[C+1]?a=P[C+1]-1:a=P[C-1],o=a-(C-f)-_;const Z=a;for(;a>t&&o>s&&this.ElementsAreEqual(a,o);)a--,o--;if(P[C]=a,S&&Math.abs(C-d)<=N&&a<=M[C])return i[0]=a,l[0]=o,Z>=M[C]&&N<=1448?this.WALKTRACE(d,h,c,g,f,m,L,_,M,P,a,n,i,o,r,l,S,u):null}if(N<=1447){let C=new Int32Array(c-h+2);C[0]=d-h+1,ee.Copy2(M,h,C,1,c-h+1),this.m_forwardHistory.push(C),C=new Int32Array(L-m+2),C[0]=f-m+1,ee.Copy2(P,m,C,1,L-m+1),this.m_reverseHistory.push(C)}}return this.WALKTRACE(d,h,c,g,f,m,L,_,M,P,a,n,i,o,r,l,S,u)}PrettifyChanges(t){for(let n=0;n0,u=s.modifiedLength>0;for(;s.originalStart+s.originalLength=0;n--){const s=t[n];let r=0,i=0;if(n>0){const c=t[n-1];r=c.originalStart+c.originalLength,i=c.modifiedStart+c.modifiedLength}const l=s.originalLength>0,u=s.modifiedLength>0;let a=0,o=this._boundaryScore(s.originalStart,s.originalLength,s.modifiedStart,s.modifiedLength);for(let c=1;;c++){const m=s.originalStart-c,L=s.modifiedStart-c;if(mo&&(o=w,a=c)}s.originalStart-=a,s.modifiedStart-=a;const h=[null];if(n>0&&this.ChangesOverlap(t[n-1],t[n],h)){t[n-1]=h[0],t.splice(n,1),n++;continue}}if(this._hasStrings)for(let n=1,s=t.length;n0&&L>a&&(a=L,o=c,h=m)}return a>0?[o,h]:null}_contiguousSequenceScore(t,n,s){let r=0;for(let i=0;i=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,n){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(n>0){const s=t+n;if(this._OriginalIsBoundary(s-1)||this._OriginalIsBoundary(s))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,n){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(n>0){const s=t+n;if(this._ModifiedIsBoundary(s-1)||this._ModifiedIsBoundary(s))return!0}return!1}_boundaryScore(t,n,s,r){const i=this._OriginalRegionIsBoundary(t,n)?1:0,l=this._ModifiedRegionIsBoundary(s,r)?1:0;return i+l}ConcatenateChanges(t,n){let s=[];if(t.length===0||n.length===0)return n.length>0?n:t;if(this.ChangesOverlap(t[t.length-1],n[0],s)){const r=new Array(t.length+n.length-1);return ee.Copy(t,0,r,0,t.length-1),r[t.length-1]=s[0],ee.Copy(n,1,r,t.length,n.length-1),r}else{const r=new Array(t.length+n.length);return ee.Copy(t,0,r,0,t.length),ee.Copy(n,0,r,t.length,n.length),r}}ChangesOverlap(t,n,s){if(K.Assert(t.originalStart<=n.originalStart,"Left change is not less than or equal to right change"),K.Assert(t.modifiedStart<=n.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=n.originalStart||t.modifiedStart+t.modifiedLength>=n.modifiedStart){const r=t.originalStart;let i=t.originalLength;const l=t.modifiedStart;let u=t.modifiedLength;return t.originalStart+t.originalLength>=n.originalStart&&(i=n.originalStart+n.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=n.modifiedStart&&(u=n.modifiedStart+n.modifiedLength-t.modifiedStart),s[0]=new G(r,i,l,u),!0}else return s[0]=null,!1}ClipDiagonalBound(t,n,s,r){if(t>=0&&t=Sn&&e<=An||e>=bn&&e<=wn}function de(e,t,n,s){let r="",i=0,l=-1,u=0,a=0;for(let o=0;o<=e.length;++o){if(o2){const h=r.lastIndexOf(n);h===-1?(r="",i=0):(r=r.slice(0,h),i=r.length-1-r.lastIndexOf(n)),l=o,u=0;continue}else if(r.length!==0){r="",i=0,l=o,u=0;continue}}t&&(r+=r.length>0?`${n}..`:"..",i=2)}else r.length>0?r+=`${n}${e.slice(l+1,o)}`:r=e.slice(l+1,o),i=o-l-1;l=o,u=0}else a===j&&u!==-1?++u:u=-1}return r}function it(e,t){if(t===null||typeof t!="object")throw new rt("pathObject","Object",t);const n=t.dir||t.root,s=t.base||`${t.name||""}${t.ext||""}`;return n?n===t.root?`${n}${s}`:`${n}${e}${s}`:s}const H={resolve(...e){let t="",n="",s=!1;for(let r=e.length-1;r>=-1;r--){let i;if(r>=0){if(i=e[r],k(i,"path"),i.length===0)continue}else t.length===0?i=Re():(i=Nn[`=${t}`]||Re(),(i===void 0||i.slice(0,2).toLowerCase()!==t.toLowerCase()&&i.charCodeAt(2)===W)&&(i=`${t}\\`));const l=i.length;let u=0,a="",o=!1;const h=i.charCodeAt(0);if(l===1)v(h)&&(u=1,o=!0);else if(v(h))if(o=!0,v(i.charCodeAt(1))){let c=2,m=c;for(;c2&&v(i.charCodeAt(2))&&(o=!0,u=3));if(a.length>0)if(t.length>0){if(a.toLowerCase()!==t.toLowerCase())continue}else t=a;if(s){if(t.length>0)break}else if(n=`${i.slice(u)}\\${n}`,s=o,o&&t.length>0)break}return n=de(n,!s,"\\",v),s?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){k(e,"path");const t=e.length;if(t===0)return".";let n=0,s,r=!1;const i=e.charCodeAt(0);if(t===1)return xe(i)?"\\":e;if(v(i))if(r=!0,v(e.charCodeAt(1))){let u=2,a=u;for(;u2&&v(e.charCodeAt(2))&&(r=!0,n=3));let l=n0&&v(e.charCodeAt(t-1))&&(l+="\\"),s===void 0?r?`\\${l}`:l:r?`${s}\\${l}`:`${s}${l}`},isAbsolute(e){k(e,"path");const t=e.length;if(t===0)return!1;const n=e.charCodeAt(0);return v(n)||t>2&&Q(n)&&e.charCodeAt(1)===y&&v(e.charCodeAt(2))},join(...e){if(e.length===0)return".";let t,n;for(let i=0;i0&&(t===void 0?t=n=l:t+=`\\${l}`)}if(t===void 0)return".";let s=!0,r=0;if(typeof n=="string"&&v(n.charCodeAt(0))){++r;const i=n.length;i>1&&v(n.charCodeAt(1))&&(++r,i>2&&(v(n.charCodeAt(2))?++r:s=!1))}if(s){for(;r=2&&(t=`\\${t.slice(r)}`)}return H.normalize(t)},relative(e,t){if(k(e,"from"),k(t,"to"),e===t)return"";const n=H.resolve(e),s=H.resolve(t);if(n===s||(e=n.toLowerCase(),t=s.toLowerCase(),e===t))return"";let r=0;for(;rr&&e.charCodeAt(i-1)===W;)i--;const l=i-r;let u=0;for(;uu&&t.charCodeAt(a-1)===W;)a--;const o=a-u,h=lh){if(t.charCodeAt(u+m)===W)return s.slice(u+m+1);if(m===2)return s.slice(u+m)}l>h&&(e.charCodeAt(r+m)===W?c=m:m===2&&(c=3)),c===-1&&(c=0)}let L="";for(m=r+c+1;m<=i;++m)(m===i||e.charCodeAt(m)===W)&&(L+=L.length===0?"..":"\\..");return u+=c,L.length>0?`${L}${s.slice(u,a)}`:(s.charCodeAt(u)===W&&++u,s.slice(u,a))},toNamespacedPath(e){if(typeof e!="string")return e;if(e.length===0)return"";const t=H.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===W){if(t.charCodeAt(1)===W){const n=t.charCodeAt(2);if(n!==Cn&&n!==j)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Q(t.charCodeAt(0))&&t.charCodeAt(1)===y&&t.charCodeAt(2)===W)return`\\\\?\\${t}`;return e},dirname(e){k(e,"path");const t=e.length;if(t===0)return".";let n=-1,s=0;const r=e.charCodeAt(0);if(t===1)return v(r)?e:".";if(v(r)){if(n=s=1,v(e.charCodeAt(1))){let u=2,a=u;for(;u2&&v(e.charCodeAt(2))?3:2,s=n);let i=-1,l=!0;for(let u=t-1;u>=s;--u)if(v(e.charCodeAt(u))){if(!l){i=u;break}}else l=!1;if(i===-1){if(n===-1)return".";i=n}return e.slice(0,i)},basename(e,t){t!==void 0&&k(t,"ext"),k(e,"path");let n=0,s=-1,r=!0,i;if(e.length>=2&&Q(e.charCodeAt(0))&&e.charCodeAt(1)===y&&(n=2),t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return"";let l=t.length-1,u=-1;for(i=e.length-1;i>=n;--i){const a=e.charCodeAt(i);if(v(a)){if(!r){n=i+1;break}}else u===-1&&(r=!1,u=i+1),l>=0&&(a===t.charCodeAt(l)?--l===-1&&(s=i):(l=-1,s=u))}return n===s?s=u:s===-1&&(s=e.length),e.slice(n,s)}for(i=e.length-1;i>=n;--i)if(v(e.charCodeAt(i))){if(!r){n=i+1;break}}else s===-1&&(r=!1,s=i+1);return s===-1?"":e.slice(n,s)},extname(e){k(e,"path");let t=0,n=-1,s=0,r=-1,i=!0,l=0;e.length>=2&&e.charCodeAt(1)===y&&Q(e.charCodeAt(0))&&(t=s=2);for(let u=e.length-1;u>=t;--u){const a=e.charCodeAt(u);if(v(a)){if(!i){s=u+1;break}continue}r===-1&&(i=!1,r=u+1),a===j?n===-1?n=u:l!==1&&(l=1):n!==-1&&(l=-1)}return n===-1||r===-1||l===0||l===1&&n===r-1&&n===s+1?"":e.slice(n,r)},format:it.bind(null,"\\"),parse(e){k(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;const n=e.length;let s=0,r=e.charCodeAt(0);if(n===1)return v(r)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(v(r)){if(s=1,v(e.charCodeAt(1))){let c=2,m=c;for(;c0&&(t.root=e.slice(0,s));let i=-1,l=s,u=-1,a=!0,o=e.length-1,h=0;for(;o>=s;--o){if(r=e.charCodeAt(o),v(r)){if(!a){l=o+1;break}continue}u===-1&&(a=!1,u=o+1),r===j?i===-1?i=o:h!==1&&(h=1):i!==-1&&(h=-1)}return u!==-1&&(i===-1||h===0||h===1&&i===u-1&&i===l+1?t.base=t.name=e.slice(l,u):(t.name=e.slice(l,i),t.base=e.slice(l,u),t.ext=e.slice(i,u))),l>0&&l!==s?t.dir=e.slice(0,l-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},q={resolve(...e){let t="",n=!1;for(let s=e.length-1;s>=-1&&!n;s--){const r=s>=0?e[s]:Re();k(r,"path"),r.length!==0&&(t=`${r}/${t}`,n=r.charCodeAt(0)===F)}return t=de(t,!n,"/",xe),n?`/${t}`:t.length>0?t:"."},normalize(e){if(k(e,"path"),e.length===0)return".";const t=e.charCodeAt(0)===F,n=e.charCodeAt(e.length-1)===F;return e=de(e,!t,"/",xe),e.length===0?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute(e){return k(e,"path"),e.length>0&&e.charCodeAt(0)===F},join(...e){if(e.length===0)return".";let t;for(let n=0;n0&&(t===void 0?t=s:t+=`/${s}`)}return t===void 0?".":q.normalize(t)},relative(e,t){if(k(e,"from"),k(t,"to"),e===t||(e=q.resolve(e),t=q.resolve(t),e===t))return"";const n=1,s=e.length,r=s-n,i=1,l=t.length-i,u=ru){if(t.charCodeAt(i+o)===F)return t.slice(i+o+1);if(o===0)return t.slice(i+o)}else r>u&&(e.charCodeAt(n+o)===F?a=o:o===0&&(a=0));let h="";for(o=n+a+1;o<=s;++o)(o===s||e.charCodeAt(o)===F)&&(h+=h.length===0?"..":"/..");return`${h}${t.slice(i+a)}`},toNamespacedPath(e){return e},dirname(e){if(k(e,"path"),e.length===0)return".";const t=e.charCodeAt(0)===F;let n=-1,s=!0;for(let r=e.length-1;r>=1;--r)if(e.charCodeAt(r)===F){if(!s){n=r;break}}else s=!1;return n===-1?t?"/":".":t&&n===1?"//":e.slice(0,n)},basename(e,t){t!==void 0&&k(t,"ext"),k(e,"path");let n=0,s=-1,r=!0,i;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return"";let l=t.length-1,u=-1;for(i=e.length-1;i>=0;--i){const a=e.charCodeAt(i);if(a===F){if(!r){n=i+1;break}}else u===-1&&(r=!1,u=i+1),l>=0&&(a===t.charCodeAt(l)?--l===-1&&(s=i):(l=-1,s=u))}return n===s?s=u:s===-1&&(s=e.length),e.slice(n,s)}for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===F){if(!r){n=i+1;break}}else s===-1&&(r=!1,s=i+1);return s===-1?"":e.slice(n,s)},extname(e){k(e,"path");let t=-1,n=0,s=-1,r=!0,i=0;for(let l=e.length-1;l>=0;--l){const u=e.charCodeAt(l);if(u===F){if(!r){n=l+1;break}continue}s===-1&&(r=!1,s=l+1),u===j?t===-1?t=l:i!==1&&(i=1):t!==-1&&(i=-1)}return t===-1||s===-1||i===0||i===1&&t===s-1&&t===n+1?"":e.slice(t,s)},format:it.bind(null,"/"),parse(e){k(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;const n=e.charCodeAt(0)===F;let s;n?(t.root="/",s=1):s=0;let r=-1,i=0,l=-1,u=!0,a=e.length-1,o=0;for(;a>=s;--a){const h=e.charCodeAt(a);if(h===F){if(!u){i=a+1;break}continue}l===-1&&(u=!1,l=a+1),h===j?r===-1?r=a:o!==1&&(o=1):r!==-1&&(o=-1)}if(l!==-1){const h=i===0&&n?1:i;r===-1||o===0||o===1&&r===l-1&&r===i+1?t.base=t.name=e.slice(h,l):(t.name=e.slice(h,r),t.base=e.slice(h,l),t.ext=e.slice(r,l))}return i>0?t.dir=e.slice(0,i-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};q.win32=H.win32=H,q.posix=H.posix=q,J==="win32"?H.normalize:q.normalize,J==="win32"?H.resolve:q.resolve,J==="win32"?H.relative:q.relative,J==="win32"?H.dirname:q.dirname,J==="win32"?H.basename:q.basename,J==="win32"?H.extname:q.extname,J==="win32"?H.sep:q.sep;const vn=/^\w[\w\d+.-]*$/,Mn=/^\//,Pn=/^\/\//;function lt(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!vn.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!Mn.test(e.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(Pn.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function pn(e,t){return!e&&!t?"file":e}function Rn(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==Y&&(t=Y+t):t=Y;break}return t}const E="",Y="/",xn=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class O{constructor(t,n,s,r,i,l=!1){typeof t=="object"?(this.scheme=t.scheme||E,this.authority=t.authority||E,this.path=t.path||E,this.query=t.query||E,this.fragment=t.fragment||E):(this.scheme=pn(t,l),this.authority=n||E,this.path=Rn(this.scheme,s||E),this.query=r||E,this.fragment=i||E,lt(this,l))}static isUri(t){return t instanceof O?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return Ee(this,!1)}with(t){if(!t)return this;let{scheme:n,authority:s,path:r,query:i,fragment:l}=t;return n===void 0?n=this.scheme:n===null&&(n=E),s===void 0?s=this.authority:s===null&&(s=E),r===void 0?r=this.path:r===null&&(r=E),i===void 0?i=this.query:i===null&&(i=E),l===void 0?l=this.fragment:l===null&&(l=E),n===this.scheme&&s===this.authority&&r===this.path&&i===this.query&&l===this.fragment?this:new ne(n,s,r,i,l)}static parse(t,n=!1){const s=xn.exec(t);return s?new ne(s[2]||E,ge(s[4]||E),ge(s[5]||E),ge(s[7]||E),ge(s[9]||E),n):new ne(E,E,E,E,E)}static file(t){let n=E;if(ue&&(t=t.replace(/\\/g,Y)),t[0]===Y&&t[1]===Y){const s=t.indexOf(Y,2);s===-1?(n=t.substring(2),t=Y):(n=t.substring(2,s),t=t.substring(s)||Y)}return new ne("file",n,t,E,E)}static from(t){const n=new ne(t.scheme,t.authority,t.path,t.query,t.fragment);return lt(n,!0),n}static joinPath(t,...n){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let s;return ue&&t.scheme==="file"?s=O.file(H.join(Ee(t,!0),...n)).path:s=q.join(t.path,...n),t.with({path:s})}toString(t=!1){return Ue(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof O)return t;{const n=new ne(t);return n._formatted=t.external,n._fsPath=t._sep===ut?t.fsPath:null,n}}else return t}}const ut=ue?1:void 0;class ne extends O{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Ee(this,!1)),this._fsPath}toString(t=!1){return t?Ue(this,!0):(this._formatted||(this._formatted=Ue(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=ut),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}}const at={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 ot(e,t){let n,s=-1;for(let r=0;r=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||i===45||i===46||i===95||i===126||t&&i===47)s!==-1&&(n+=encodeURIComponent(e.substring(s,r)),s=-1),n!==void 0&&(n+=e.charAt(r));else{n===void 0&&(n=e.substr(0,r));const l=at[i];l!==void 0?(s!==-1&&(n+=encodeURIComponent(e.substring(s,r)),s=-1),n+=l):s===-1&&(s=r)}}return s!==-1&&(n+=encodeURIComponent(e.substring(s))),n!==void 0?n:e}function En(e){let t;for(let n=0;n1&&e.scheme==="file"?n=`//${e.authority}${e.path}`:e.path.charCodeAt(0)===47&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&e.path.charCodeAt(2)===58?t?n=e.path.substr(1):n=e.path[1].toLowerCase()+e.path.substr(2):n=e.path,ue&&(n=n.replace(/\//g,"\\")),n}function Ue(e,t){const n=t?En:ot;let s="",{scheme:r,authority:i,path:l,query:u,fragment:a}=e;if(r&&(s+=r,s+=":"),(i||r==="file")&&(s+=Y,s+=Y),i){let o=i.indexOf("@");if(o!==-1){const h=i.substr(0,o);i=i.substr(o+1),o=h.indexOf(":"),o===-1?s+=n(h,!1):(s+=n(h.substr(0,o),!1),s+=":",s+=n(h.substr(o+1),!1)),s+="@"}i=i.toLowerCase(),o=i.indexOf(":"),o===-1?s+=n(i,!1):(s+=n(i.substr(0,o),!1),s+=i.substr(o))}if(l){if(l.length>=3&&l.charCodeAt(0)===47&&l.charCodeAt(2)===58){const o=l.charCodeAt(1);o>=65&&o<=90&&(l=`/${String.fromCharCode(o+32)}:${l.substr(3)}`)}else if(l.length>=2&&l.charCodeAt(1)===58){const o=l.charCodeAt(0);o>=65&&o<=90&&(l=`${String.fromCharCode(o+32)}:${l.substr(2)}`)}s+=n(l,!0)}return u&&(s+="?",s+=n(u,!1)),a&&(s+="#",s+=t?a:ot(a,!1)),s}function ct(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+ct(e.substr(3)):e}}const ht=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ge(e){return e.match(ht)?e.replace(ht,t=>ct(t)):e}class B{constructor(t,n){this.lineNumber=t,this.column=n}with(t=this.lineNumber,n=this.column){return t===this.lineNumber&&n===this.column?this:new B(t,n)}delta(t=0,n=0){return this.with(this.lineNumber+t,this.column+n)}equals(t){return B.equals(this,t)}static equals(t,n){return!t&&!n?!0:!!t&&!!n&&t.lineNumber===n.lineNumber&&t.column===n.column}isBefore(t){return B.isBefore(this,t)}static isBefore(t,n){return t.lineNumbers||t===s&&n>r?(this.startLineNumber=s,this.startColumn=r,this.endLineNumber=t,this.endColumn=n):(this.startLineNumber=t,this.startColumn=n,this.endLineNumber=s,this.endColumn=r)}isEmpty(){return D.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return D.containsPosition(this,t)}static containsPosition(t,n){return!(n.lineNumbert.endLineNumber||n.lineNumber===t.startLineNumber&&n.columnt.endColumn)}containsRange(t){return D.containsRange(this,t)}static containsRange(t,n){return!(n.startLineNumbert.endLineNumber||n.endLineNumber>t.endLineNumber||n.startLineNumber===t.startLineNumber&&n.startColumnt.endColumn)}strictContainsRange(t){return D.strictContainsRange(this,t)}static strictContainsRange(t,n){return!(n.startLineNumbert.endLineNumber||n.endLineNumber>t.endLineNumber||n.startLineNumber===t.startLineNumber&&n.startColumn<=t.startColumn||n.endLineNumber===t.endLineNumber&&n.endColumn>=t.endColumn)}plusRange(t){return D.plusRange(this,t)}static plusRange(t,n){let s,r,i,l;return n.startLineNumbert.endLineNumber?(i=n.endLineNumber,l=n.endColumn):n.endLineNumber===t.endLineNumber?(i=n.endLineNumber,l=Math.max(n.endColumn,t.endColumn)):(i=t.endLineNumber,l=t.endColumn),new D(s,r,i,l)}intersectRanges(t){return D.intersectRanges(this,t)}static intersectRanges(t,n){let s=t.startLineNumber,r=t.startColumn,i=t.endLineNumber,l=t.endColumn,u=n.startLineNumber,a=n.startColumn,o=n.endLineNumber,h=n.endColumn;return so?(i=o,l=h):i===o&&(l=Math.min(l,h)),s>i||s===i&&r>l?null:new D(s,r,i,l)}equalsRange(t){return D.equalsRange(this,t)}static equalsRange(t,n){return!!t&&!!n&&t.startLineNumber===n.startLineNumber&&t.startColumn===n.startColumn&&t.endLineNumber===n.endLineNumber&&t.endColumn===n.endColumn}getEndPosition(){return D.getEndPosition(this)}static getEndPosition(t){return new B(t.endLineNumber,t.endColumn)}getStartPosition(){return D.getStartPosition(this)}static getStartPosition(t){return new B(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,n){return new D(this.startLineNumber,this.startColumn,t,n)}setStartPosition(t,n){return new D(t,n,this.endLineNumber,this.endColumn)}collapseToStart(){return D.collapseToStart(this)}static collapseToStart(t){return new D(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,n=t){return new D(t.lineNumber,t.column,n.lineNumber,n.column)}static lift(t){return t?new D(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,n){return!(t.endLineNumbert.startLineNumber}}const Un=3;function ft(e,t,n,s){return new z(e,t,n).ComputeDiff(s)}class mt{constructor(t){const n=[],s=[];for(let r=0,i=t.length;r0&&n.originalLength<20&&n.modifiedLength>0&&n.modifiedLength<20&&i()){const L=s.createCharSequence(t,n.originalStart,n.originalStart+n.originalLength-1),b=r.createCharSequence(t,n.modifiedStart,n.modifiedStart+n.modifiedLength-1);let w=ft(L,b,i,!0).changes;u&&(w=kn(w)),m=[];for(let M=0,P=w.length;M1&&w>1;){const M=m.charCodeAt(b-2),P=L.charCodeAt(w-2);if(M!==P)break;b--,w--}(b>1||w>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,b,l+1,1,w)}{let b=ke(m,1),w=ke(L,1);const M=m.length+1,P=L.length+1;for(;b!0;const t=Date.now();return()=>Date.now()-t255?255:e|0}function se(e){return e<0?0:e>4294967295?4294967295:e|0}class Tn{constructor(t,n){this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=n}}class In{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,n){t=se(t);const s=this.values,r=this.prefixSum,i=n.length;return i===0?!1:(this.values=new Uint32Array(s.length+i),this.values.set(s.subarray(0,t),0),this.values.set(s.subarray(t),t+i),this.values.set(n,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}changeValue(t,n){return t=se(t),n=se(n),this.values[t]===n?!1:(this.values[t]=n,t-1=s.length)return!1;let i=s.length-t;return n>=i&&(n=i),n===0?!1:(this.values=new Uint32Array(s.length-n),this.values.set(s.subarray(0,t),0),this.values.set(s.subarray(t+n),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=se(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let n=this.prefixSumValidIndex[0]+1;n===0&&(this.prefixSum[0]=this.values[0],n++),t>=this.values.length&&(t=this.values.length-1);for(let s=n;s<=t;s++)this.prefixSum[s]=this.prefixSum[s-1]+this.values[s];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let n=0,s=this.values.length-1,r=0,i=0,l=0;for(;n<=s;)if(r=n+(s-n)/2|0,i=this.prefixSum[r],l=i-this.values[r],t=i)n=r+1;else break;return new Tn(r,t-l)}}class Hn{constructor(t,n,s,r){this._uri=t,this._lines=n,this._eol=s,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const n=t.changes;for(const s of n)this._acceptDeleteRange(s.range),this._acceptInsertText(new B(s.range.startLineNumber,s.range.startColumn),s.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,n=this._lines.length,s=new Uint32Array(n);for(let r=0;r/?";function qn(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of Wn)e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}const Bn=qn();function Yn(e){let t=Bn;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const Vn={maxLen:1e3,windowSize:15,timeBudget:150};function _t(e,t,n,s,r=Vn){if(n.length>r.maxLen){let o=e-r.maxLen/2;return o<0?o=0:s+=o,n=n.substring(o,e+r.maxLen/2),_t(e,t,n,s,r)}const i=Date.now(),l=e-1-s;let u=-1,a=null;for(let o=1;!(Date.now()-i>=r.timeBudget);o++){const h=l-r.windowSize*o;t.lastIndex=Math.max(0,h);const c=$n(t,n,l,u);if(!c&&a||(a=c,h<=0))break;u=h}if(a){let o={word:a[0],startColumn:s+1+a.index,endColumn:s+1+a.index+a[0].length};return t.lastIndex=0,o}return null}function $n(e,t,n,s){let r;for(;r=e.exec(t);){const i=r.index||0;if(i<=n&&e.lastIndex>=n)return r;if(s>0&&i>s)return null}return null}class Fe{constructor(t){let n=gt(t);this._defaultValue=n,this._asciiMap=Fe._createAsciiMap(n),this._map=new Map}static _createAsciiMap(t){let n=new Uint8Array(256);for(let s=0;s<256;s++)n[s]=t;return n}set(t,n){let s=gt(n);t>=0&&t<256?this._asciiMap[t]=s:this._map.set(t,s)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class Gn{constructor(t,n,s){const r=new Uint8Array(t*n);for(let i=0,l=t*n;in&&(n=a),u>s&&(s=u),o>s&&(s=o)}n++,s++;let r=new Gn(s,n,0);for(let i=0,l=t.length;i=this._maxCharCode?0:this._states.get(t,n)}}let Te=null;function jn(){return Te===null&&(Te=new zn([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Te}let ce=null;function yn(){if(ce===null){ce=new Fe(0);const e=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let n=0;nr);if(r>0){const u=n.charCodeAt(r-1),a=n.charCodeAt(l);(u===40&&a===41||u===91&&a===93||u===123&&a===125)&&l--}return{range:{startLineNumber:s,startColumn:r+1,endLineNumber:s,endColumn:l+2},url:n.substring(r,l+1)}}static computeLinks(t,n=jn()){const s=yn();let r=[];for(let i=1,l=t.getLineCount();i<=l;i++){const u=t.getLineContent(i),a=u.length;let o=0,h=0,c=0,m=1,L=!1,b=!1,w=!1,M=!1;for(;o=0?(r+=s?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}Ie.INSTANCE=new Ie;class x{constructor(t){this.element=t,this.next=x.Undefined,this.prev=x.Undefined}}x.Undefined=new x(void 0);class Lt{constructor(){this._first=x.Undefined,this._last=x.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===x.Undefined}clear(){let t=this._first;for(;t!==x.Undefined;){const n=t.next;t.prev=x.Undefined,t.next=x.Undefined,t=n}this._first=x.Undefined,this._last=x.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,n){const s=new x(t);if(this._first===x.Undefined)this._first=s,this._last=s;else if(n){const i=this._last;this._last=s,s.prev=i,i.next=s}else{const i=this._first;this._first=s,s.next=i,i.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==x.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==x.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==x.Undefined&&t.next!==x.Undefined){const n=t.prev;n.next=t.next,t.next.prev=n}else t.prev===x.Undefined&&t.next===x.Undefined?(this._first=x.Undefined,this._last=x.Undefined):t.next===x.Undefined?(this._last=this._last.prev,this._last.next=x.Undefined):t.prev===x.Undefined&&(this._first=this._first.next,this._first.prev=x.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==x.Undefined;)yield t.element,t=t.next}}const Zn=T.performance&&typeof T.performance.now=="function";class Le{constructor(t){this._highResolution=Zn&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new Le(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?T.performance.now():Date.now()}}var He;(function(e){e.None=()=>Xe.None;function t(d){return(f,g=null,_)=>{let A=!1,S;return S=d(N=>{if(!A)return S?S.dispose():A=!0,f.call(g,N)},null,_),A&&S.dispose(),S}}e.once=t;function n(d,f){return a((g,_=null,A)=>d(S=>g.call(_,f(S)),null,A))}e.map=n;function s(d,f){return a((g,_=null,A)=>d(S=>{f(S),g.call(_,S)},null,A))}e.forEach=s;function r(d,f){return a((g,_=null,A)=>d(S=>f(S)&&g.call(_,S),null,A))}e.filter=r;function i(d){return d}e.signal=i;function l(...d){return(f,g=null,_)=>sn(...d.map(A=>A(S=>f.call(g,S),null,_)))}e.any=l;function u(d,f,g){let _=g;return n(d,A=>(_=f(_,A),_))}e.reduce=u;function a(d){let f;const g=new $({onFirstListenerAdd(){f=d(g.fire,g)},onLastListenerRemove(){f.dispose()}});return g.event}function o(d,f,g=100,_=!1,A){let S,N,p,I=0;const R=new $({leakWarningThreshold:A,onFirstListenerAdd(){S=d(C=>{I++,N=f(N,C),_&&!p&&(R.fire(N),N=void 0),clearTimeout(p),p=setTimeout(()=>{const Z=N;N=void 0,p=void 0,(!_||I>1)&&R.fire(Z),I=0},g)})},onLastListenerRemove(){S.dispose()}});return R.event}e.debounce=o;function h(d,f=(g,_)=>g===_){let g=!0,_;return r(d,A=>{const S=g||!f(A,_);return g=!1,_=A,S})}e.latch=h;function c(d,f){return[e.filter(d,f),e.filter(d,g=>!f(g))]}e.split=c;function m(d,f=!1,g=[]){let _=g.slice(),A=d(p=>{_?_.push(p):N.fire(p)});const S=()=>{_&&_.forEach(p=>N.fire(p)),_=null},N=new $({onFirstListenerAdd(){A||(A=d(p=>N.fire(p)))},onFirstListenerDidAdd(){_&&(f?setTimeout(S):S())},onLastListenerRemove(){A&&A.dispose(),A=null}});return N.event}e.buffer=m;class L{constructor(f){this.event=f}map(f){return new L(n(this.event,f))}forEach(f){return new L(s(this.event,f))}filter(f){return new L(r(this.event,f))}reduce(f,g){return new L(u(this.event,f,g))}latch(){return new L(h(this.event))}debounce(f,g=100,_=!1,A){return new L(o(this.event,f,g,_,A))}on(f,g,_){return this.event(f,g,_)}once(f,g,_){return t(this.event)(f,g,_)}}function b(d){return new L(d)}e.chain=b;function w(d,f,g=_=>_){const _=(...p)=>N.fire(g(...p)),A=()=>d.on(f,_),S=()=>d.removeListener(f,_),N=new $({onFirstListenerAdd:A,onLastListenerRemove:S});return N.event}e.fromNodeEventEmitter=w;function M(d,f,g=_=>_){const _=(...p)=>N.fire(g(...p)),A=()=>d.addEventListener(f,_),S=()=>d.removeEventListener(f,_),N=new $({onFirstListenerAdd:A,onLastListenerRemove:S});return N.event}e.fromDOMEventEmitter=M;function P(d){return new Promise(f=>t(d)(f))}e.toPromise=P})(He||(He={}));class Ne{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${Ne._idPool++}`}start(t){this._stopWatch=new Le(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Ne._idPool=0;class ${constructor(t){var n;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((n=this._options)===null||n===void 0)&&n._profName?new Ne(this._options._profName):void 0}get event(){return this._event||(this._event=(t,n,s)=>{var r;this._listeners||(this._listeners=new Lt);const i=this._listeners.isEmpty();i&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const l=this._listeners.push(n?[t,n]:t);i&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,n);const u=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size);let a;return a={dispose:()=>{u&&u(),a.dispose=$._noop,this._disposed||(l(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))}},s instanceof le?s.add(a):Array.isArray(s)&&s.push(a),a}),this._event}fire(t){var n,s;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new Lt);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((n=this._perfMon)===null||n===void 0||n.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,i]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,i):r[0].call(r[1],i)}catch(l){Kt(l)}}(s=this._perfMon)===null||s===void 0||s.stop()}}dispose(){var t,n,s,r,i;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(n=this._deliveryQueue)===null||n===void 0||n.clear(),(r=(s=this._options)===null||s===void 0?void 0:s.onLastListenerRemove)===null||r===void 0||r.call(s),(i=this._leakageMon)===null||i===void 0||i.dispose())}}$._noop=function(){};const Nt=Object.freeze(function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}});var Se;(function(e){function t(n){return n===e.None||n===e.Cancelled||n instanceof be?!0:!n||typeof n!="object"?!1:typeof n.isCancellationRequested=="boolean"&&typeof n.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:He.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Nt})})(Se||(Se={}));class be{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?Nt:(this._emitter||(this._emitter=new $),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Xn{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new be),this._token}cancel(){this._token?this._token instanceof be&&this._token.cancel():this._token=Se.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof be&&this._token.dispose():this._token=Se.None}}class We{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,n){this._keyCodeToStr[t]=n,this._strToKeyCode[n.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const qe=new We,Be=new We,Ye=new We;(function(){function e(t,n,s=n,r=s){qe.define(t,n),Be.define(t,s),Ye.define(t,r)}e(0,"unknown"),e(1,"Backspace"),e(2,"Tab"),e(3,"Enter"),e(4,"Shift"),e(5,"Ctrl"),e(6,"Alt"),e(7,"PauseBreak"),e(8,"CapsLock"),e(9,"Escape"),e(10,"Space"),e(11,"PageUp"),e(12,"PageDown"),e(13,"End"),e(14,"Home"),e(15,"LeftArrow","Left"),e(16,"UpArrow","Up"),e(17,"RightArrow","Right"),e(18,"DownArrow","Down"),e(19,"Insert"),e(20,"Delete"),e(21,"0"),e(22,"1"),e(23,"2"),e(24,"3"),e(25,"4"),e(26,"5"),e(27,"6"),e(28,"7"),e(29,"8"),e(30,"9"),e(31,"A"),e(32,"B"),e(33,"C"),e(34,"D"),e(35,"E"),e(36,"F"),e(37,"G"),e(38,"H"),e(39,"I"),e(40,"J"),e(41,"K"),e(42,"L"),e(43,"M"),e(44,"N"),e(45,"O"),e(46,"P"),e(47,"Q"),e(48,"R"),e(49,"S"),e(50,"T"),e(51,"U"),e(52,"V"),e(53,"W"),e(54,"X"),e(55,"Y"),e(56,"Z"),e(57,"Meta"),e(58,"ContextMenu"),e(59,"F1"),e(60,"F2"),e(61,"F3"),e(62,"F4"),e(63,"F5"),e(64,"F6"),e(65,"F7"),e(66,"F8"),e(67,"F9"),e(68,"F10"),e(69,"F11"),e(70,"F12"),e(71,"F13"),e(72,"F14"),e(73,"F15"),e(74,"F16"),e(75,"F17"),e(76,"F18"),e(77,"F19"),e(78,"NumLock"),e(79,"ScrollLock"),e(80,";",";","OEM_1"),e(81,"=","=","OEM_PLUS"),e(82,",",",","OEM_COMMA"),e(83,"-","-","OEM_MINUS"),e(84,".",".","OEM_PERIOD"),e(85,"/","/","OEM_2"),e(86,"`","`","OEM_3"),e(110,"ABNT_C1"),e(111,"ABNT_C2"),e(87,"[","[","OEM_4"),e(88,"\\","\\","OEM_5"),e(89,"]","]","OEM_6"),e(90,"'","'","OEM_7"),e(91,"OEM_8"),e(92,"OEM_102"),e(93,"NumPad0"),e(94,"NumPad1"),e(95,"NumPad2"),e(96,"NumPad3"),e(97,"NumPad4"),e(98,"NumPad5"),e(99,"NumPad6"),e(100,"NumPad7"),e(101,"NumPad8"),e(102,"NumPad9"),e(103,"NumPad_Multiply"),e(104,"NumPad_Add"),e(105,"NumPad_Separator"),e(106,"NumPad_Subtract"),e(107,"NumPad_Decimal"),e(108,"NumPad_Divide")})();var St;(function(e){function t(l){return qe.keyCodeToStr(l)}e.toString=t;function n(l){return qe.strToKeyCode(l)}e.fromString=n;function s(l){return Be.keyCodeToStr(l)}e.toUserSettingsUS=s;function r(l){return Ye.keyCodeToStr(l)}e.toUserSettingsGeneral=r;function i(l){return Be.strToKeyCode(l)||Ye.strToKeyCode(l)}e.fromUserSettings=i})(St||(St={}));function Jn(e,t){const n=(t&65535)<<16>>>0;return(e|n)>>>0}class V extends D{constructor(t,n,s,r){super(t,n,s,r),this.selectionStartLineNumber=t,this.selectionStartColumn=n,this.positionLineNumber=s,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return V.selectionsEqual(this,t)}static selectionsEqual(t,n){return t.selectionStartLineNumber===n.selectionStartLineNumber&&t.selectionStartColumn===n.selectionStartColumn&&t.positionLineNumber===n.positionLineNumber&&t.positionColumn===n.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,n){return this.getDirection()===0?new V(this.startLineNumber,this.startColumn,t,n):new V(t,n,this.startLineNumber,this.startColumn)}getPosition(){return new B(this.positionLineNumber,this.positionColumn)}setStartPosition(t,n){return this.getDirection()===0?new V(t,n,this.endLineNumber,this.endColumn):new V(this.endLineNumber,this.endColumn,t,n)}static fromPositions(t,n=t){return new V(t.lineNumber,t.column,n.lineNumber,n.column)}static liftSelection(t){return new V(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,n){if(t&&!n||!t&&n)return!1;if(!t&&!n)return!0;if(t.length!==n.length)return!1;for(let s=0,r=t.length;sthis._lines.length)n=this._lines.length,s=this._lines[n-1].length+1,r=!0;else{let i=this._lines[n-1].length+1;s<1?(s=1,r=!0):s>i&&(s=i,r=!0)}return r?{lineNumber:n,column:s}:t}}class ie{constructor(t,n){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=n,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(n=>t.push(this._models[n])),t}acceptNewModel(t){this._models[t.url]=new es(O.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,n){if(!this._models[t])return;this._models[t].onEvents(n)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeDiff(t,n,s,r){return re(this,void 0,void 0,function*(){const i=this._getModel(t),l=this._getModel(n);if(!i||!l)return null;const u=i.getLinesContent(),a=l.getLinesContent(),h=new Fn(u,a,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:s,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),c=h.changes.length>0?!1:this._modelsAreIdentical(i,l);return{quitEarly:h.quitEarly,identical:c,changes:h.changes}})}_modelsAreIdentical(t,n){const s=t.getLineCount(),r=n.getLineCount();if(s!==r)return!1;for(let i=1;i<=s;i++){const l=t.getLineContent(i),u=n.getLineContent(i);if(l!==u)return!1}return!0}computeMoreMinimalEdits(t,n){return re(this,void 0,void 0,function*(){const s=this._getModel(t);if(!s)return n;const r=[];let i;n=n.slice(0).sort((l,u)=>{if(l.range&&u.range)return D.compareRangesUsingStarts(l.range,u.range);let a=l.range?0:1,o=u.range?0:1;return a-o});for(let{range:l,text:u,eol:a}of n){if(typeof a=="number"&&(i=a),D.isEmpty(l)&&!u)continue;const o=s.getValueInRange(l);if(u=u.replace(/\r\n|\n|\r/g,s.eol),o===u)continue;if(Math.max(u.length,o.length)>ie._diffLimit){r.push({range:l,text:u});continue}const h=Ln(o,u,!1),c=s.offsetAt(D.lift(l).getStartPosition());for(const m of h){const L=s.positionAt(c+m.originalStart),b=s.positionAt(c+m.originalStart+m.originalLength),w={text:u.substr(m.modifiedStart,m.modifiedLength),range:{startLineNumber:L.lineNumber,startColumn:L.column,endLineNumber:b.lineNumber,endColumn:b.column}};s.getValueInRange(w.range)!==w.text&&r.push(w)}}return typeof i=="number"&&r.push({eol:i,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return re(this,void 0,void 0,function*(){let n=this._getModel(t);return n?Qn(n):null})}textualSuggest(t,n,s,r){return re(this,void 0,void 0,function*(){const i=new Le(!0),l=new RegExp(s,r),u=new Set;e:for(let a of t){const o=this._getModel(a);if(o){for(let h of o.words(l))if(!(h===n||!isNaN(Number(h)))&&(u.add(h),u.size>ie._suggestionsLimit))break e}}return{words:Array.from(u),duration:i.elapsed()}})}computeWordRanges(t,n,s,r){return re(this,void 0,void 0,function*(){let i=this._getModel(t);if(!i)return Object.create(null);const l=new RegExp(s,r),u=Object.create(null);for(let a=n.startLineNumber;athis._host.fhr(u,a)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(l,n),Promise.resolve(pe(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,n){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,n))}catch(s){return Promise.reject(s)}}}ie._diffLimit=1e5,ie._suggestionsLimit=1e4,typeof importScripts=="function"&&(T.monaco=Kn());let je=!1;function ts(e){if(je)return;je=!0;const t=new fn(n=>{self.postMessage(n)},n=>new ie(n,e));self.onmessage=n=>{t.onmessage(n.data)}}self.onmessage=e=>{je||ts(null)}})();