// AUTO-GENERATED from ui/* by scripts/build.ts. Do not edit by hand.
export const INDEX_HTML = "<!doctype html>\n<html lang=\"zh\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n    <title>Shine Worklog</title>\n    <link rel=\"stylesheet\" href=\"/ui/style.css\" />\n    <link rel=\"stylesheet\" href=\"/ui/app.css\" /><!-- bundle 内 css(monaco-editor),build 生成,可为空 -->\n  </head>\n  <body>\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/ui/app.js\"></script>\n  </body>\n</html>\n";
export const APP_JS = "var oq0=Object.create;var{getPrototypeOf:nq0,defineProperty:wI,getOwnPropertyNames:tq0}=Object;var eq0=Object.prototype.hasOwnProperty;function JG0(J){return this[J]}var XG0,YG0,Dd=(J,X,Y)=>{var Z=J!=null&&typeof J===\"object\";if(Z){var Q=X?XG0??=new WeakMap:YG0??=new WeakMap,$=Q.get(J);if($)return $}Y=J!=null?oq0(nq0(J)):{};let q=X||!J||!J.__esModule?wI(Y,\"default\",{value:J,enumerable:!0}):Y;for(let G of tq0(J))if(!eq0.call(q,G))wI(q,G,{get:JG0.bind(J,G),enumerable:!0});if(Z)Q.set(J,q);return q};var fA=(J,X)=>()=>(X||J((X={exports:{}}).exports,X),X.exports);var ZG0=(J)=>J;function QG0(J,X){this[J]=ZG0.bind(null,X)}var $G0=(J,X)=>{for(var Y in X)wI(J,Y,{get:X[Y],enumerable:!0,configurable:!0,set:QG0.bind(X,Y)})};var TI=(J,X)=>()=>(J&&(X=J(J=0)),X);function ij(J,X,Y){this.props=J,this.context=X,this.refs=Md,this.updater=Y||Od}function Rd(){}function Nd(J,X,Y){this.props=J,this.context=X,this.refs=Md,this.updater=Y||Od}var qG0,GG0,UG0,Od,HG0,Md,LI,y3,II,rj,kI=function(J){return J={$$typeof:UG0,_currentValue:J,_currentValue2:J,_threadCount:0,Provider:null,Consumer:null},J.Provider=J,J.Consumer={$$typeof:GG0,_context:J},J},n5=function(J,X){return y3.H.useCallback(J,X)},EI=function(J){return y3.H.useContext(J)},Q6=function(J,X){return y3.H.useEffect(J,X)},QJ=function(J,X){return y3.H.useMemo(J,X)},_7=function(J){return y3.H.useRef(J)},F0=function(J){return y3.H.useState(J)},yI=\"19.2.7\";var X8=TI(()=>{qG0=Symbol.for(\"react.strict_mode\"),GG0=Symbol.for(\"react.consumer\"),UG0=Symbol.for(\"react.context\"),Od={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},HG0=Object.assign,Md={};ij.prototype.isReactComponent={};ij.prototype.setState=function(J,X){if(typeof J!==\"object\"&&typeof J!==\"function\"&&J!=null)throw Error(\"takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,J,X,\"setState\")};ij.prototype.forceUpdate=function(J){this.updater.enqueueForceUpdate(this,J,\"forceUpdate\")};Rd.prototype=ij.prototype;LI=Nd.prototype=new Rd;LI.constructor=Nd;HG0(LI,ij.prototype);LI.isPureReactComponent=!0;y3={H:null,A:null,T:null,S:null};II=qG0,rj=y3});function bI(J,X){var Y=J.length;J.push(X);J:for(;0<Y;){var Z=Y-1>>>1,Q=J[Z];if(0<hA(Q,X))J[Z]=X,J[Y]=Q,Y=Z;else break J}}function XY(J){return J.length===0?null:J[0]}function uA(J){if(J.length===0)return null;var X=J[0],Y=J.pop();if(Y!==X){J[0]=Y;J:for(var Z=0,Q=J.length,$=Q>>>1;Z<$;){var q=2*(Z+1)-1,G=J[q],U=q+1,H=J[U];if(0>hA(G,Y))U<Q&&0>hA(H,G)?(J[Z]=H,J[U]=Y,Z=U):(J[Z]=G,J[q]=Y,Z=q);else if(U<Q&&0>hA(H,Y))J[Z]=H,J[U]=Y,Z=U;else break J}}return X}function hA(J,X){var Y=J.sortIndex-X.sortIndex;return Y!==0?Y:J.id-X.id}function pA(J){for(var X=XY(V$);X!==null;){if(X.callback===null)uA(V$);else if(X.startTime<=J)uA(V$),X.sortIndex=X.expirationTime,bI(LZ,X);else break;X=XY(V$)}}function gI(J){if(nj=!1,pA(J),!oj)if(XY(LZ)!==null)oj=!0,pU||(pU=!0,gU());else{var X=XY(V$);X!==null&&pI(gI,X.startTime-J)}}function Ed(){return vI?!0:YY()-kd<KG0?!1:!0}function xI(){if(vI=!1,pU){var J=YY();kd=J;var X=!0;try{J:{oj=!1,nj&&(nj=!1,Id(tj),tj=-1),fI=!0;var Y=gA;try{X:{pA(J);for($J=XY(LZ);$J!==null&&!($J.expirationTime>J&&Ed());){var Z=$J.callback;if(typeof Z===\"function\"){$J.callback=null,gA=$J.priorityLevel;var Q=Z($J.expirationTime<=J);if(J=YY(),typeof Q===\"function\"){$J.callback=Q,pA(J),X=!0;break X}$J===XY(LZ)&&uA(LZ),pA(J)}else uA(LZ);$J=XY(LZ)}if($J!==null)X=!0;else{var $=XY(V$);$!==null&&pI(gI,$.startTime-J),X=!1}}break J}finally{$J=null,gA=Y,fI=!1}X=void 0}}finally{X?gU():pU=!1}}}function pI(J,X){tj=Ld(function(){J(YY())},X)}var YY=void 0,CI,vA,SI,LZ,V$,VG0=1,$J=null,gA=3,fI=!1,oj=!1,nj=!1,vI=!1,Ld,Id,Td,pU=!1,tj=-1,KG0=5,kd=-1,gU,mA,hI,mI=5,uI=1,cI=4,mU=3,dI=2,lI=function(J){J.callback=null},sI=function(){return gA},aI=function(){vI=!0},uU=function(J,X,Y){var Z=YY();switch(typeof Y===\"object\"&&Y!==null?(Y=Y.delay,Y=typeof Y===\"number\"&&0<Y?Z+Y:Z):Y=Z,J){case 1:var Q=-1;break;case 2:Q=250;break;case 5:Q=1073741823;break;case 4:Q=1e4;break;default:Q=5000}return Q=Y+Q,J={id:VG0++,callback:X,priorityLevel:J,startTime:Y,expirationTime:Q,sortIndex:-1},Y>Z?(J.sortIndex=Y,bI(V$,J),XY(LZ)===null&&J===XY(V$)&&(nj?(Id(tj),tj=-1):nj=!0,pI(gI,Y-Z))):(J.sortIndex=Q,bI(LZ,J),oj||fI||(oj=!0,pU||(pU=!0,gU()))),J},iI;var yd=TI(()=>{if(typeof performance===\"object\"&&typeof performance.now===\"function\")CI=performance,YY=function(){return CI.now()};else vA=Date,SI=vA.now(),YY=function(){return vA.now()-SI};LZ=[],V$=[],Ld=typeof setTimeout===\"function\"?setTimeout:null,Id=typeof clearTimeout===\"function\"?clearTimeout:null,Td=typeof setImmediate<\"u\"?setImmediate:null;if(typeof Td===\"function\")gU=function(){Td(xI)};else if(typeof MessageChannel<\"u\")mA=new MessageChannel,hI=mA.port2,mA.port1.onmessage=xI,gU=function(){hI.postMessage(null)};else gU=function(){Ld(xI,0)};iI=Ed});var bd=fA((FG0)=>{X8();function xd(J){var X=\"https://react.dev/errors/\"+J;if(1<arguments.length){X+=\"?args[]=\"+encodeURIComponent(arguments[1]);for(var Y=2;Y<arguments.length;Y++)X+=\"&args[]=\"+encodeURIComponent(arguments[Y])}return\"Minified React error #\"+J+\"; visit \"+X+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}function K$(){}var R4={d:{f:K$,r:function(){throw Error(xd(522))},D:K$,C:K$,L:K$,m:K$,X:K$,S:K$,M:K$},p:0,findDOMNode:null},WG0=Symbol.for(\"react.portal\");function zG0(J,X,Y){var Z=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:WG0,key:Z==null?null:\"\"+Z,children:J,containerInfo:X,implementation:Y}}var ej=rj;function cA(J,X){if(J===\"font\")return\"\";if(typeof X===\"string\")return X===\"use-credentials\"?X:\"\"}FG0.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=R4;FG0.createPortal=function(J,X){var Y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!X||X.nodeType!==1&&X.nodeType!==9&&X.nodeType!==11)throw Error(xd(299));return zG0(J,X,null,Y)};FG0.flushSync=function(J){var X=ej.T,Y=R4.p;try{if(ej.T=null,R4.p=2,J)return J()}finally{ej.T=X,R4.p=Y,R4.d.f()}};FG0.preconnect=function(J,X){typeof J===\"string\"&&(X?(X=X.crossOrigin,X=typeof X===\"string\"?X===\"use-credentials\"?X:\"\":void 0):X=null,R4.d.C(J,X))};FG0.prefetchDNS=function(J){typeof J===\"string\"&&R4.d.D(J)};FG0.preinit=function(J,X){if(typeof J===\"string\"&&X&&typeof X.as===\"string\"){var Y=X.as,Z=cA(Y,X.crossOrigin),Q=typeof X.integrity===\"string\"?X.integrity:void 0,$=typeof X.fetchPriority===\"string\"?X.fetchPriority:void 0;Y===\"style\"?R4.d.S(J,typeof X.precedence===\"string\"?X.precedence:void 0,{crossOrigin:Z,integrity:Q,fetchPriority:$}):Y===\"script\"&&R4.d.X(J,{crossOrigin:Z,integrity:Q,fetchPriority:$,nonce:typeof X.nonce===\"string\"?X.nonce:void 0})}};FG0.preinitModule=function(J,X){if(typeof J===\"string\")if(typeof X===\"object\"&&X!==null){if(X.as==null||X.as===\"script\"){var Y=cA(X.as,X.crossOrigin);R4.d.M(J,{crossOrigin:Y,integrity:typeof X.integrity===\"string\"?X.integrity:void 0,nonce:typeof X.nonce===\"string\"?X.nonce:void 0})}}else X==null&&R4.d.M(J)};FG0.preload=function(J,X){if(typeof J===\"string\"&&typeof X===\"object\"&&X!==null&&typeof X.as===\"string\"){var Y=X.as,Z=cA(Y,X.crossOrigin);R4.d.L(J,Y,{crossOrigin:Z,integrity:typeof X.integrity===\"string\"?X.integrity:void 0,nonce:typeof X.nonce===\"string\"?X.nonce:void 0,type:typeof X.type===\"string\"?X.type:void 0,fetchPriority:typeof X.fetchPriority===\"string\"?X.fetchPriority:void 0,referrerPolicy:typeof X.referrerPolicy===\"string\"?X.referrerPolicy:void 0,imageSrcSet:typeof X.imageSrcSet===\"string\"?X.imageSrcSet:void 0,imageSizes:typeof X.imageSizes===\"string\"?X.imageSizes:void 0,media:typeof X.media===\"string\"?X.media:void 0})}};FG0.preloadModule=function(J,X){if(typeof J===\"string\")if(X){var Y=cA(X.as,X.crossOrigin);R4.d.m(J,{as:typeof X.as===\"string\"&&X.as!==\"script\"?X.as:void 0,crossOrigin:Y,integrity:typeof X.integrity===\"string\"?X.integrity:void 0})}else R4.d.m(J)};FG0.requestFormReset=function(J){R4.d.r(J)};FG0.unstable_batchedUpdates=function(J,X){return J(X)};FG0.useFormState=function(J,X,Y){return ej.H.useFormState(J,X,Y)};FG0.useFormStatus=function(){return ej.H.useHostTransitionStatus()};FG0.version=\"19.2.7\"});var fd=fA((gw0,Sd)=>{function Cd(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!==\"function\")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Cd)}catch(J){console.error(J)}}Cd(),Sd.exports=bd()});var si=fA((JV0)=>{yd();X8();var qs=Dd(fd());function K0(J){var X=\"https://react.dev/errors/\"+J;if(1<arguments.length){X+=\"?args[]=\"+encodeURIComponent(arguments[1]);for(var Y=2;Y<arguments.length;Y++)X+=\"&args[]=\"+encodeURIComponent(arguments[Y])}return\"Minified React error #\"+J+\"; visit \"+X+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}function Gs(J){return!(!J||J.nodeType!==1&&J.nodeType!==9&&J.nodeType!==11)}function uW(J){var X=J,Y=J;if(J.alternate)for(;X.return;)X=X.return;else{J=X;do X=J,(X.flags&4098)!==0&&(Y=X.return),J=X.return;while(J)}return X.tag===3?Y:null}function Us(J){if(J.tag===13){var X=J.memoizedState;if(X===null&&(J=J.alternate,J!==null&&(X=J.memoizedState)),X!==null)return X.dehydrated}return null}function Hs(J){if(J.tag===31){var X=J.memoizedState;if(X===null&&(J=J.alternate,J!==null&&(X=J.memoizedState)),X!==null)return X.dehydrated}return null}function hd(J){if(uW(J)!==J)throw Error(K0(188))}function EG0(J){var X=J.alternate;if(!X){if(X=uW(J),X===null)throw Error(K0(188));return X!==J?null:J}for(var Y=J,Z=X;;){var Q=Y.return;if(Q===null)break;var $=Q.alternate;if($===null){if(Z=Q.return,Z!==null){Y=Z;continue}break}if(Q.child===$.child){for($=Q.child;$;){if($===Y)return hd(Q),J;if($===Z)return hd(Q),X;$=$.sibling}throw Error(K0(188))}if(Y.return!==Z.return)Y=Q,Z=$;else{for(var q=!1,G=Q.child;G;){if(G===Y){q=!0,Y=Q,Z=$;break}if(G===Z){q=!0,Z=Q,Y=$;break}G=G.sibling}if(!q){for(G=$.child;G;){if(G===Y){q=!0,Y=$,Z=Q;break}if(G===Z){q=!0,Z=$,Y=Q;break}G=G.sibling}if(!q)throw Error(K0(189))}}if(Y.alternate!==Z)throw Error(K0(190))}if(Y.tag!==3)throw Error(K0(188));return Y.stateNode.current===Y?J:X}function Vs(J){var X=J.tag;if(X===5||X===26||X===27||X===6)return J;for(J=J.child;J!==null;){if(X=Vs(J),X!==null)return X;J=J.sibling}return null}var D8=Object.assign,yG0=Symbol.for(\"react.element\"),dA=Symbol.for(\"react.transitional.element\"),qW=Symbol.for(\"react.portal\"),iU=Symbol.for(\"react.fragment\"),Ks=Symbol.for(\"react.strict_mode\"),Lk=Symbol.for(\"react.profiler\"),js=Symbol.for(\"react.consumer\"),SZ=Symbol.for(\"react.context\"),NE=Symbol.for(\"react.forward_ref\"),Ik=Symbol.for(\"react.suspense\"),kk=Symbol.for(\"react.suspense_list\"),wE=Symbol.for(\"react.memo\"),j$=Symbol.for(\"react.lazy\"),Ek=Symbol.for(\"react.activity\"),xG0=Symbol.for(\"react.memo_cache_sentinel\"),vd=Symbol.iterator;function JW(J){if(J===null||typeof J!==\"object\")return null;return J=vd&&J[vd]||J[\"@@iterator\"],typeof J===\"function\"?J:null}var bG0=Symbol.for(\"react.client.reference\");function yk(J){if(J==null)return null;if(typeof J===\"function\")return J.$$typeof===bG0?null:J.displayName||J.name||null;if(typeof J===\"string\")return J;switch(J){case iU:return\"Fragment\";case Lk:return\"Profiler\";case Ks:return\"StrictMode\";case Ik:return\"Suspense\";case kk:return\"SuspenseList\";case Ek:return\"Activity\"}if(typeof J===\"object\")switch(J.$$typeof){case qW:return\"Portal\";case SZ:return J.displayName||\"Context\";case js:return(J._context.displayName||\"Context\")+\".Consumer\";case NE:var X=J.render;return J=J.displayName,J||(J=X.displayName||X.name||\"\",J=J!==\"\"?\"ForwardRef(\"+J+\")\":\"ForwardRef\"),J;case wE:return X=J.displayName||null,X!==null?X:yk(J.type)||\"Memo\";case j$:X=J._payload,J=J._init;try{return yk(J(X))}catch(Y){}}return null}var GW=Array.isArray,j1=rj,M6=qs.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v3={pending:!1,data:null,method:null,action:null},xk=[],rU=-1;function GY(J){return{current:J}}function J7(J){0>rU||(J.current=xk[rU],xk[rU]=null,rU--)}function G8(J,X){rU++,xk[rU]=J.current,J.current=X}var qY=GY(null),IW=GY(null),R$=GY(null),DP=GY(null);function OP(J,X){switch(G8(R$,X),G8(IW,J),G8(qY,null),X.nodeType){case 9:case 11:J=(J=X.documentElement)?(J=J.namespaceURI)?cl(J):0:0;break;default:if(J=X.tagName,X=X.namespaceURI)X=cl(X),J=xi(X,J);else switch(J){case\"svg\":J=1;break;case\"math\":J=2;break;default:J=0}}J7(qY),G8(qY,J)}function WH(){J7(qY),J7(IW),J7(R$)}function bk(J){J.memoizedState!==null&&G8(DP,J);var X=qY.current,Y=xi(X,J.type);X!==Y&&(G8(IW,J),G8(qY,Y))}function MP(J){IW.current===J&&(J7(qY),J7(IW)),DP.current===J&&(J7(DP),gW._currentValue=v3)}var rI,gd;function b3(J){if(rI===void 0)try{throw Error()}catch(Y){var X=Y.stack.trim().match(/\\n( *(at )?)/);rI=X&&X[1]||\"\",gd=-1<Y.stack.indexOf(`\n    at`)?\" (<anonymous>)\":-1<Y.stack.indexOf(\"@\")?\"@unknown:0:0\":\"\"}return`\n`+rI+J+gd}var oI=!1;function nI(J,X){if(!J||oI)return\"\";oI=!0;var Y=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var Z={DetermineComponentFrameRoot:function(){try{if(X){var K=function(){throw Error()};if(Object.defineProperty(K.prototype,\"props\",{set:function(){throw Error()}}),typeof Reflect===\"object\"&&Reflect.construct){try{Reflect.construct(K,[])}catch(W){var j=W}Reflect.construct(J,[],K)}else{try{K.call()}catch(W){j=W}J.call(K.prototype)}}else{try{throw Error()}catch(W){j=W}(K=J())&&typeof K.catch===\"function\"&&K.catch(function(){})}}catch(W){if(W&&j&&typeof W.stack===\"string\")return[W.stack,j.stack]}return[null,null]}};Z.DetermineComponentFrameRoot.displayName=\"DetermineComponentFrameRoot\";var Q=Object.getOwnPropertyDescriptor(Z.DetermineComponentFrameRoot,\"name\");Q&&Q.configurable&&Object.defineProperty(Z.DetermineComponentFrameRoot,\"name\",{value:\"DetermineComponentFrameRoot\"});var $=Z.DetermineComponentFrameRoot(),q=$[0],G=$[1];if(q&&G){var U=q.split(`\n`),H=G.split(`\n`);for(Q=Z=0;Z<U.length&&!U[Z].includes(\"DetermineComponentFrameRoot\");)Z++;for(;Q<H.length&&!H[Q].includes(\"DetermineComponentFrameRoot\");)Q++;if(Z===U.length||Q===H.length)for(Z=U.length-1,Q=H.length-1;1<=Z&&0<=Q&&U[Z]!==H[Q];)Q--;for(;1<=Z&&0<=Q;Z--,Q--)if(U[Z]!==H[Q]){if(Z!==1||Q!==1)do if(Z--,Q--,0>Q||U[Z]!==H[Q]){var V=`\n`+U[Z].replace(\" at new \",\" at \");return J.displayName&&V.includes(\"<anonymous>\")&&(V=V.replace(\"<anonymous>\",J.displayName)),V}while(1<=Z&&0<=Q);break}}}finally{oI=!1,Error.prepareStackTrace=Y}return(Y=J?J.displayName||J.name:\"\")?b3(Y):\"\"}function CG0(J,X){switch(J.tag){case 26:case 27:case 5:return b3(J.type);case 16:return b3(\"Lazy\");case 13:return J.child!==X&&X!==null?b3(\"Suspense Fallback\"):b3(\"Suspense\");case 19:return b3(\"SuspenseList\");case 0:case 15:return nI(J.type,!1);case 11:return nI(J.type.render,!1);case 1:return nI(J.type,!0);case 31:return b3(\"Activity\");default:return\"\"}}function pd(J){try{var X=\"\",Y=null;do X+=CG0(J,Y),Y=J,J=J.return;while(J);return X}catch(Z){return`\nError generating stack: `+Z.message+`\n`+Z.stack}}var Ck=Object.prototype.hasOwnProperty,TE=uU,tI=lI,SG0=iI,fG0=aI,M9=YY,hG0=sI,Ws=uI,zs=dI,RP=mU,vG0=cI,Fs=mI,gG0=void 0,pG0=void 0,cW=null,R9=null;function A$(J){if(typeof gG0===\"function\"&&pG0(J),R9&&typeof R9.setStrictMode===\"function\")try{R9.setStrictMode(cW,J)}catch(X){}}var N9=Math.clz32?Math.clz32:cG0,mG0=Math.log,uG0=Math.LN2;function cG0(J){return J>>>=0,J===0?32:31-(mG0(J)/uG0|0)|0}var lA=256,sA=262144,aA=4194304;function C3(J){var X=J&42;if(X!==0)return X;switch(J&-J){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return J&261888;case 262144:case 524288:case 1048576:case 2097152:return J&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return J&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return J}}function rP(J,X,Y){var Z=J.pendingLanes;if(Z===0)return 0;var Q=0,$=J.suspendedLanes,q=J.pingedLanes;J=J.warmLanes;var G=Z&134217727;return G!==0?(Z=G&~$,Z!==0?Q=C3(Z):(q&=G,q!==0?Q=C3(q):Y||(Y=G&~J,Y!==0&&(Q=C3(Y))))):(G=Z&~$,G!==0?Q=C3(G):q!==0?Q=C3(q):Y||(Y=Z&~J,Y!==0&&(Q=C3(Y)))),Q===0?0:X!==0&&X!==Q&&(X&$)===0&&($=Q&-Q,Y=X&-X,$>=Y||$===32&&(Y&4194048)!==0)?X:Q}function dW(J,X){return(J.pendingLanes&~(J.suspendedLanes&~J.pingedLanes)&X)===0}function dG0(J,X){switch(J){case 1:case 2:case 4:case 8:case 64:return X+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return X+5000;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Bs(){var J=aA;return aA<<=1,(aA&62914560)===0&&(aA=4194304),J}function eI(J){for(var X=[],Y=0;31>Y;Y++)X.push(J);return X}function lW(J,X){J.pendingLanes|=X,X!==268435456&&(J.suspendedLanes=0,J.pingedLanes=0,J.warmLanes=0)}function lG0(J,X,Y,Z,Q,$){var q=J.pendingLanes;J.pendingLanes=Y,J.suspendedLanes=0,J.pingedLanes=0,J.warmLanes=0,J.expiredLanes&=Y,J.entangledLanes&=Y,J.errorRecoveryDisabledLanes&=Y,J.shellSuspendCounter=0;var{entanglements:G,expirationTimes:U,hiddenUpdates:H}=J;for(Y=q&~Y;0<Y;){var V=31-N9(Y),K=1<<V;G[V]=0,U[V]=-1;var j=H[V];if(j!==null)for(H[V]=null,V=0;V<j.length;V++){var W=j[V];W!==null&&(W.lane&=-536870913)}Y&=~K}Z!==0&&_s(J,Z,0),$!==0&&Q===0&&J.tag!==0&&(J.suspendedLanes|=$&~(q&~X))}function _s(J,X,Y){J.pendingLanes|=X,J.suspendedLanes&=~X;var Z=31-N9(X);J.entangledLanes|=X,J.entanglements[Z]=J.entanglements[Z]|1073741824|Y&261930}function As(J,X){var Y=J.entangledLanes|=X;for(J=J.entanglements;Y;){var Z=31-N9(Y),Q=1<<Z;Q&X|J[Z]&X&&(J[Z]|=X),Y&=~Q}}function Ps(J,X){var Y=X&-X;return Y=(Y&42)!==0?1:LE(Y),(Y&(J.suspendedLanes|X))!==0?0:Y}function LE(J){switch(J){case 2:J=1;break;case 8:J=4;break;case 32:J=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:J=128;break;case 268435456:J=134217728;break;default:J=0}return J}function IE(J){return J&=-J,2<J?8<J?(J&134217727)!==0?32:268435456:8:2}function Ds(){var J=M6.p;if(J!==0)return J;return J=window.event,J===void 0?32:ci(J.type)}function md(J,X){var Y=M6.p;try{return M6.p=J,X()}finally{M6.p=Y}}var f$=Math.random().toString(36).slice(2),P7=\"__reactFiber$\"+f$,a4=\"__reactProps$\"+f$,NH=\"__reactContainer$\"+f$,Sk=\"__reactEvents$\"+f$,sG0=\"__reactListeners$\"+f$,aG0=\"__reactHandles$\"+f$,ud=\"__reactResources$\"+f$,sW=\"__reactMarker$\"+f$;function kE(J){delete J[P7],delete J[a4],delete J[Sk],delete J[sG0],delete J[aG0]}function oU(J){var X=J[P7];if(X)return X;for(var Y=J.parentNode;Y;){if(X=Y[NH]||Y[P7]){if(Y=X.alternate,X.child!==null||Y!==null&&Y.child!==null)for(J=il(J);J!==null;){if(Y=J[P7])return Y;J=il(J)}return X}J=Y,Y=J.parentNode}return null}function wH(J){if(J=J[P7]||J[NH]){var X=J.tag;if(X===5||X===6||X===13||X===31||X===26||X===27||X===3)return J}return null}function UW(J){var X=J.tag;if(X===5||X===26||X===27||X===6)return J.stateNode;throw Error(K0(33))}function qH(J){var X=J[ud];return X||(X=J[ud]={hoistableStyles:new Map,hoistableScripts:new Map}),X}function e5(J){J[sW]=!0}var Os=new Set,Ms={};function i3(J,X){zH(J,X),zH(J+\"Capture\",X)}function zH(J,X){Ms[J]=X;for(J=0;J<X.length;J++)Os.add(X[J])}var iG0=RegExp(\"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"),cd={},dd={};function rG0(J){if(Ck.call(dd,J))return!0;if(Ck.call(cd,J))return!1;if(iG0.test(J))return dd[J]=!0;return cd[J]=!0,!1}function QP(J,X,Y){if(rG0(X))if(Y===null)J.removeAttribute(X);else{switch(typeof Y){case\"undefined\":case\"function\":case\"symbol\":J.removeAttribute(X);return;case\"boolean\":var Z=X.toLowerCase().slice(0,5);if(Z!==\"data-\"&&Z!==\"aria-\"){J.removeAttribute(X);return}}J.setAttribute(X,\"\"+Y)}}function iA(J,X,Y){if(Y===null)J.removeAttribute(X);else{switch(typeof Y){case\"undefined\":case\"function\":case\"symbol\":case\"boolean\":J.removeAttribute(X);return}J.setAttribute(X,\"\"+Y)}}function IZ(J,X,Y,Z){if(Z===null)J.removeAttribute(Y);else{switch(typeof Z){case\"undefined\":case\"function\":case\"symbol\":case\"boolean\":J.removeAttribute(Y);return}J.setAttributeNS(X,Y,\"\"+Z)}}function GJ(J){switch(typeof J){case\"bigint\":case\"boolean\":case\"number\":case\"string\":case\"undefined\":return J;case\"object\":return J;default:return\"\"}}function Rs(J){var X=J.type;return(J=J.nodeName)&&J.toLowerCase()===\"input\"&&(X===\"checkbox\"||X===\"radio\")}function oG0(J,X,Y){var Z=Object.getOwnPropertyDescriptor(J.constructor.prototype,X);if(!J.hasOwnProperty(X)&&typeof Z<\"u\"&&typeof Z.get===\"function\"&&typeof Z.set===\"function\"){var{get:Q,set:$}=Z;return Object.defineProperty(J,X,{configurable:!0,get:function(){return Q.call(this)},set:function(q){Y=\"\"+q,$.call(this,q)}}),Object.defineProperty(J,X,{enumerable:Z.enumerable}),{getValue:function(){return Y},setValue:function(q){Y=\"\"+q},stopTracking:function(){J._valueTracker=null,delete J[X]}}}}function fk(J){if(!J._valueTracker){var X=Rs(J)?\"checked\":\"value\";J._valueTracker=oG0(J,X,\"\"+J[X])}}function Ns(J){if(!J)return!1;var X=J._valueTracker;if(!X)return!0;var Y=X.getValue(),Z=\"\";return J&&(Z=Rs(J)?J.checked?\"true\":\"false\":J.value),J=Z,J!==Y?(X.setValue(J),!0):!1}function NP(J){if(J=J||(typeof document<\"u\"?document:void 0),typeof J>\"u\")return null;try{return J.activeElement||J.body}catch(X){return J.body}}var nG0=/[\\n\"\\\\]/g;function VJ(J){return J.replace(nG0,function(X){return\"\\\\\"+X.charCodeAt(0).toString(16)+\" \"})}function hk(J,X,Y,Z,Q,$,q,G){if(J.name=\"\",q!=null&&typeof q!==\"function\"&&typeof q!==\"symbol\"&&typeof q!==\"boolean\"?J.type=q:J.removeAttribute(\"type\"),X!=null)if(q===\"number\"){if(X===0&&J.value===\"\"||J.value!=X)J.value=\"\"+GJ(X)}else J.value!==\"\"+GJ(X)&&(J.value=\"\"+GJ(X));else q!==\"submit\"&&q!==\"reset\"||J.removeAttribute(\"value\");X!=null?vk(J,q,GJ(X)):Y!=null?vk(J,q,GJ(Y)):Z!=null&&J.removeAttribute(\"value\"),Q==null&&$!=null&&(J.defaultChecked=!!$),Q!=null&&(J.checked=Q&&typeof Q!==\"function\"&&typeof Q!==\"symbol\"),G!=null&&typeof G!==\"function\"&&typeof G!==\"symbol\"&&typeof G!==\"boolean\"?J.name=\"\"+GJ(G):J.removeAttribute(\"name\")}function ws(J,X,Y,Z,Q,$,q,G){if($!=null&&typeof $!==\"function\"&&typeof $!==\"symbol\"&&typeof $!==\"boolean\"&&(J.type=$),X!=null||Y!=null){if(!($!==\"submit\"&&$!==\"reset\"||X!==void 0&&X!==null)){fk(J);return}Y=Y!=null?\"\"+GJ(Y):\"\",X=X!=null?\"\"+GJ(X):Y,G||X===J.value||(J.value=X),J.defaultValue=X}Z=Z!=null?Z:Q,Z=typeof Z!==\"function\"&&typeof Z!==\"symbol\"&&!!Z,J.checked=G?J.checked:!!Z,J.defaultChecked=!!Z,q!=null&&typeof q!==\"function\"&&typeof q!==\"symbol\"&&typeof q!==\"boolean\"&&(J.name=q),fk(J)}function vk(J,X,Y){X===\"number\"&&NP(J.ownerDocument)===J||J.defaultValue===\"\"+Y||(J.defaultValue=\"\"+Y)}function GH(J,X,Y,Z){if(J=J.options,X){X={};for(var Q=0;Q<Y.length;Q++)X[\"$\"+Y[Q]]=!0;for(Y=0;Y<J.length;Y++)Q=X.hasOwnProperty(\"$\"+J[Y].value),J[Y].selected!==Q&&(J[Y].selected=Q),Q&&Z&&(J[Y].defaultSelected=!0)}else{Y=\"\"+GJ(Y),X=null;for(Q=0;Q<J.length;Q++){if(J[Q].value===Y){J[Q].selected=!0,Z&&(J[Q].defaultSelected=!0);return}X!==null||J[Q].disabled||(X=J[Q])}X!==null&&(X.selected=!0)}}function Ts(J,X,Y){if(X!=null&&(X=\"\"+GJ(X),X!==J.value&&(J.value=X),Y==null)){J.defaultValue!==X&&(J.defaultValue=X);return}J.defaultValue=Y!=null?\"\"+GJ(Y):\"\"}function Ls(J,X,Y,Z){if(X==null){if(Z!=null){if(Y!=null)throw Error(K0(92));if(GW(Z)){if(1<Z.length)throw Error(K0(93));Z=Z[0]}Y=Z}Y==null&&(Y=\"\"),X=Y}Y=GJ(X),J.defaultValue=Y,Z=J.textContent,Z===Y&&Z!==\"\"&&Z!==null&&(J.value=Z),fk(J)}function FH(J,X){if(X){var Y=J.firstChild;if(Y&&Y===J.lastChild&&Y.nodeType===3){Y.nodeValue=X;return}}J.textContent=X}var tG0=new Set(\"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\" \"));function ld(J,X,Y){var Z=X.indexOf(\"--\")===0;Y==null||typeof Y===\"boolean\"||Y===\"\"?Z?J.setProperty(X,\"\"):X===\"float\"?J.cssFloat=\"\":J[X]=\"\":Z?J.setProperty(X,Y):typeof Y!==\"number\"||Y===0||tG0.has(X)?X===\"float\"?J.cssFloat=Y:J[X]=(\"\"+Y).trim():J[X]=Y+\"px\"}function Is(J,X,Y){if(X!=null&&typeof X!==\"object\")throw Error(K0(62));if(J=J.style,Y!=null){for(var Z in Y)!Y.hasOwnProperty(Z)||X!=null&&X.hasOwnProperty(Z)||(Z.indexOf(\"--\")===0?J.setProperty(Z,\"\"):Z===\"float\"?J.cssFloat=\"\":J[Z]=\"\");for(var Q in X)Z=X[Q],X.hasOwnProperty(Q)&&Y[Q]!==Z&&ld(J,Q,Z)}else for(var $ in X)X.hasOwnProperty($)&&ld(J,$,X[$])}function EE(J){if(J.indexOf(\"-\")===-1)return!1;switch(J){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var eG0=new Map([[\"acceptCharset\",\"accept-charset\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"],[\"crossOrigin\",\"crossorigin\"],[\"accentHeight\",\"accent-height\"],[\"alignmentBaseline\",\"alignment-baseline\"],[\"arabicForm\",\"arabic-form\"],[\"baselineShift\",\"baseline-shift\"],[\"capHeight\",\"cap-height\"],[\"clipPath\",\"clip-path\"],[\"clipRule\",\"clip-rule\"],[\"colorInterpolation\",\"color-interpolation\"],[\"colorInterpolationFilters\",\"color-interpolation-filters\"],[\"colorProfile\",\"color-profile\"],[\"colorRendering\",\"color-rendering\"],[\"dominantBaseline\",\"dominant-baseline\"],[\"enableBackground\",\"enable-background\"],[\"fillOpacity\",\"fill-opacity\"],[\"fillRule\",\"fill-rule\"],[\"floodColor\",\"flood-color\"],[\"floodOpacity\",\"flood-opacity\"],[\"fontFamily\",\"font-family\"],[\"fontSize\",\"font-size\"],[\"fontSizeAdjust\",\"font-size-adjust\"],[\"fontStretch\",\"font-stretch\"],[\"fontStyle\",\"font-style\"],[\"fontVariant\",\"font-variant\"],[\"fontWeight\",\"font-weight\"],[\"glyphName\",\"glyph-name\"],[\"glyphOrientationHorizontal\",\"glyph-orientation-horizontal\"],[\"glyphOrientationVertical\",\"glyph-orientation-vertical\"],[\"horizAdvX\",\"horiz-adv-x\"],[\"horizOriginX\",\"horiz-origin-x\"],[\"imageRendering\",\"image-rendering\"],[\"letterSpacing\",\"letter-spacing\"],[\"lightingColor\",\"lighting-color\"],[\"markerEnd\",\"marker-end\"],[\"markerMid\",\"marker-mid\"],[\"markerStart\",\"marker-start\"],[\"overlinePosition\",\"overline-position\"],[\"overlineThickness\",\"overline-thickness\"],[\"paintOrder\",\"paint-order\"],[\"panose-1\",\"panose-1\"],[\"pointerEvents\",\"pointer-events\"],[\"renderingIntent\",\"rendering-intent\"],[\"shapeRendering\",\"shape-rendering\"],[\"stopColor\",\"stop-color\"],[\"stopOpacity\",\"stop-opacity\"],[\"strikethroughPosition\",\"strikethrough-position\"],[\"strikethroughThickness\",\"strikethrough-thickness\"],[\"strokeDasharray\",\"stroke-dasharray\"],[\"strokeDashoffset\",\"stroke-dashoffset\"],[\"strokeLinecap\",\"stroke-linecap\"],[\"strokeLinejoin\",\"stroke-linejoin\"],[\"strokeMiterlimit\",\"stroke-miterlimit\"],[\"strokeOpacity\",\"stroke-opacity\"],[\"strokeWidth\",\"stroke-width\"],[\"textAnchor\",\"text-anchor\"],[\"textDecoration\",\"text-decoration\"],[\"textRendering\",\"text-rendering\"],[\"transformOrigin\",\"transform-origin\"],[\"underlinePosition\",\"underline-position\"],[\"underlineThickness\",\"underline-thickness\"],[\"unicodeBidi\",\"unicode-bidi\"],[\"unicodeRange\",\"unicode-range\"],[\"unitsPerEm\",\"units-per-em\"],[\"vAlphabetic\",\"v-alphabetic\"],[\"vHanging\",\"v-hanging\"],[\"vIdeographic\",\"v-ideographic\"],[\"vMathematical\",\"v-mathematical\"],[\"vectorEffect\",\"vector-effect\"],[\"vertAdvY\",\"vert-adv-y\"],[\"vertOriginX\",\"vert-origin-x\"],[\"vertOriginY\",\"vert-origin-y\"],[\"wordSpacing\",\"word-spacing\"],[\"writingMode\",\"writing-mode\"],[\"xmlnsXlink\",\"xmlns:xlink\"],[\"xHeight\",\"x-height\"]]),JU0=/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;function $P(J){return JU0.test(\"\"+J)?\"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\":J}function fZ(){}var gk=null;function yE(J){return J=J.target||J.srcElement||window,J.correspondingUseElement&&(J=J.correspondingUseElement),J.nodeType===3?J.parentNode:J}var nU=null,UH=null;function sd(J){var X=wH(J);if(X&&(J=X.stateNode)){var Y=J[a4]||null;J:switch(J=X.stateNode,X.type){case\"input\":if(hk(J,Y.value,Y.defaultValue,Y.defaultValue,Y.checked,Y.defaultChecked,Y.type,Y.name),X=Y.name,Y.type===\"radio\"&&X!=null){for(Y=J;Y.parentNode;)Y=Y.parentNode;Y=Y.querySelectorAll('input[name=\"'+VJ(\"\"+X)+'\"][type=\"radio\"]');for(X=0;X<Y.length;X++){var Z=Y[X];if(Z!==J&&Z.form===J.form){var Q=Z[a4]||null;if(!Q)throw Error(K0(90));hk(Z,Q.value,Q.defaultValue,Q.defaultValue,Q.checked,Q.defaultChecked,Q.type,Q.name)}}for(X=0;X<Y.length;X++)Z=Y[X],Z.form===J.form&&Ns(Z)}break J;case\"textarea\":Ts(J,Y.value,Y.defaultValue);break J;case\"select\":X=Y.value,X!=null&&GH(J,!!Y.multiple,X,!1)}}}var Jk=!1;function ks(J,X,Y){if(Jk)return J(X,Y);Jk=!0;try{var Z=J(X);return Z}finally{if(Jk=!1,nU!==null||UH!==null){if(GD(),nU&&(X=nU,J=UH,UH=nU=null,sd(X),J))for(X=0;X<J.length;X++)sd(J[X])}}}function kW(J,X){var Y=J.stateNode;if(Y===null)return null;var Z=Y[a4]||null;if(Z===null)return null;Y=Z[X];J:switch(X){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(Z=!Z.disabled)||(J=J.type,Z=!(J===\"button\"||J===\"input\"||J===\"select\"||J===\"textarea\")),J=!Z;break J;default:J=!1}if(J)return null;if(Y&&typeof Y!==\"function\")throw Error(K0(231,X,typeof Y));return Y}var mZ=!(typeof window>\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),pk=!1;if(mZ)try{S3={},Object.defineProperty(S3,\"passive\",{get:function(){pk=!0}}),window.addEventListener(\"test\",S3,S3),window.removeEventListener(\"test\",S3,S3)}catch(J){pk=!1}var S3,P$=null,xE=null,qP=null;function Es(){if(qP)return qP;var J,X=xE,Y=X.length,Z,Q=\"value\"in P$?P$.value:P$.textContent,$=Q.length;for(J=0;J<Y&&X[J]===Q[J];J++);var q=Y-J;for(Z=1;Z<=q&&X[Y-Z]===Q[$-Z];Z++);return qP=Q.slice(J,1<Z?1-Z:void 0)}function GP(J){var X=J.keyCode;return\"charCode\"in J?(J=J.charCode,J===0&&X===13&&(J=13)):J=X,J===10&&(J=13),32<=J||J===13?J:0}function rA(){return!0}function ad(){return!1}function i4(J){function X(Y,Z,Q,$,q){this._reactName=Y,this._targetInst=Q,this.type=Z,this.nativeEvent=$,this.target=q,this.currentTarget=null;for(var G in J)J.hasOwnProperty(G)&&(Y=J[G],this[G]=Y?Y($):$[G]);return this.isDefaultPrevented=($.defaultPrevented!=null?$.defaultPrevented:$.returnValue===!1)?rA:ad,this.isPropagationStopped=ad,this}return D8(X.prototype,{preventDefault:function(){this.defaultPrevented=!0;var Y=this.nativeEvent;Y&&(Y.preventDefault?Y.preventDefault():typeof Y.returnValue!==\"unknown\"&&(Y.returnValue=!1),this.isDefaultPrevented=rA)},stopPropagation:function(){var Y=this.nativeEvent;Y&&(Y.stopPropagation?Y.stopPropagation():typeof Y.cancelBubble!==\"unknown\"&&(Y.cancelBubble=!0),this.isPropagationStopped=rA)},persist:function(){},isPersistent:rA}),X}var r3={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(J){return J.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},oP=i4(r3),aW=D8({},r3,{view:0,detail:0}),XU0=i4(aW),Xk,Yk,XW,nP=D8({},aW,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:bE,button:0,buttons:0,relatedTarget:function(J){return J.relatedTarget===void 0?J.fromElement===J.srcElement?J.toElement:J.fromElement:J.relatedTarget},movementX:function(J){if(\"movementX\"in J)return J.movementX;return J!==XW&&(XW&&J.type===\"mousemove\"?(Xk=J.screenX-XW.screenX,Yk=J.screenY-XW.screenY):Yk=Xk=0,XW=J),Xk},movementY:function(J){return\"movementY\"in J?J.movementY:Yk}}),id=i4(nP),YU0=D8({},nP,{dataTransfer:0}),ZU0=i4(YU0),QU0=D8({},aW,{relatedTarget:0}),Zk=i4(QU0),$U0=D8({},r3,{animationName:0,elapsedTime:0,pseudoElement:0}),qU0=i4($U0),GU0=D8({},r3,{clipboardData:function(J){return\"clipboardData\"in J?J.clipboardData:window.clipboardData}}),UU0=i4(GU0),HU0=D8({},r3,{data:0}),rd=i4(HU0),VU0={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},KU0={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},jU0={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function WU0(J){var X=this.nativeEvent;return X.getModifierState?X.getModifierState(J):(J=jU0[J])?!!X[J]:!1}function bE(){return WU0}var zU0=D8({},aW,{key:function(J){if(J.key){var X=VU0[J.key]||J.key;if(X!==\"Unidentified\")return X}return J.type===\"keypress\"?(J=GP(J),J===13?\"Enter\":String.fromCharCode(J)):J.type===\"keydown\"||J.type===\"keyup\"?KU0[J.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:bE,charCode:function(J){return J.type===\"keypress\"?GP(J):0},keyCode:function(J){return J.type===\"keydown\"||J.type===\"keyup\"?J.keyCode:0},which:function(J){return J.type===\"keypress\"?GP(J):J.type===\"keydown\"||J.type===\"keyup\"?J.keyCode:0}}),FU0=i4(zU0),BU0=D8({},nP,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),od=i4(BU0),_U0=D8({},aW,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:bE}),AU0=i4(_U0),PU0=D8({},r3,{propertyName:0,elapsedTime:0,pseudoElement:0}),DU0=i4(PU0),OU0=D8({},nP,{deltaX:function(J){return\"deltaX\"in J?J.deltaX:(\"wheelDeltaX\"in J)?-J.wheelDeltaX:0},deltaY:function(J){return\"deltaY\"in J?J.deltaY:(\"wheelDeltaY\"in J)?-J.wheelDeltaY:(\"wheelDelta\"in J)?-J.wheelDelta:0},deltaZ:0,deltaMode:0}),MU0=i4(OU0),RU0=D8({},r3,{newState:0,oldState:0}),NU0=i4(RU0),wU0=[9,13,27,32],CE=mZ&&\"CompositionEvent\"in window,FW=null;mZ&&\"documentMode\"in document&&(FW=document.documentMode);var TU0=mZ&&\"TextEvent\"in window&&!FW,ys=mZ&&(!CE||FW&&8<FW&&11>=FW),nd=String.fromCharCode(32),td=!1;function xs(J,X){switch(J){case\"keyup\":return wU0.indexOf(X.keyCode)!==-1;case\"keydown\":return X.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function bs(J){return J=J.detail,typeof J===\"object\"&&\"data\"in J?J.data:null}var tU=!1;function LU0(J,X){switch(J){case\"compositionend\":return bs(X);case\"keypress\":if(X.which!==32)return null;return td=!0,nd;case\"textInput\":return J=X.data,J===nd&&td?null:J;default:return null}}function IU0(J,X){if(tU)return J===\"compositionend\"||!CE&&xs(J,X)?(J=Es(),qP=xE=P$=null,tU=!1,J):null;switch(J){case\"paste\":return null;case\"keypress\":if(!(X.ctrlKey||X.altKey||X.metaKey)||X.ctrlKey&&X.altKey){if(X.char&&1<X.char.length)return X.char;if(X.which)return String.fromCharCode(X.which)}return null;case\"compositionend\":return ys&&X.locale!==\"ko\"?null:X.data;default:return null}}var kU0={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ed(J){var X=J&&J.nodeName&&J.nodeName.toLowerCase();return X===\"input\"?!!kU0[J.type]:X===\"textarea\"?!0:!1}function Cs(J,X,Y,Z){nU?UH?UH.push(Z):UH=[Z]:nU=Z,X=uP(X,\"onChange\"),0<X.length&&(Y=new oP(\"onChange\",\"change\",null,Y,Z),J.push({event:Y,listeners:X}))}var BW=null,EW=null;function EU0(J){ki(J,0)}function tP(J){var X=UW(J);if(Ns(X))return J}function Jl(J,X){if(J===\"change\")return X}var Ss=!1;if(mZ){if(mZ){if(VW=\"oninput\"in document,!VW)UP=document.createElement(\"div\"),UP.setAttribute(\"oninput\",\"return;\"),VW=typeof UP.oninput===\"function\";HW=VW}else HW=!1;Ss=HW&&(!document.documentMode||9<document.documentMode)}var HW,VW,UP;function Xl(){BW&&(BW.detachEvent(\"onpropertychange\",fs),EW=BW=null)}function fs(J){if(J.propertyName===\"value\"&&tP(EW)){var X=[];Cs(X,EW,J,yE(J)),ks(EU0,X)}}function yU0(J,X,Y){J===\"focusin\"?(Xl(),BW=X,EW=Y,BW.attachEvent(\"onpropertychange\",fs)):J===\"focusout\"&&Xl()}function xU0(J){if(J===\"selectionchange\"||J===\"keyup\"||J===\"keydown\")return tP(EW)}function bU0(J,X){if(J===\"click\")return tP(X)}function CU0(J,X){if(J===\"input\"||J===\"change\")return tP(X)}function SU0(J,X){return J===X&&(J!==0||1/J===1/X)||J!==J&&X!==X}var T9=typeof Object.is===\"function\"?Object.is:SU0;function yW(J,X){if(T9(J,X))return!0;if(typeof J!==\"object\"||J===null||typeof X!==\"object\"||X===null)return!1;var Y=Object.keys(J),Z=Object.keys(X);if(Y.length!==Z.length)return!1;for(Z=0;Z<Y.length;Z++){var Q=Y[Z];if(!Ck.call(X,Q)||!T9(J[Q],X[Q]))return!1}return!0}function Yl(J){for(;J&&J.firstChild;)J=J.firstChild;return J}function Zl(J,X){var Y=Yl(J);J=0;for(var Z;Y;){if(Y.nodeType===3){if(Z=J+Y.textContent.length,J<=X&&Z>=X)return{node:Y,offset:X-J};J=Z}J:{for(;Y;){if(Y.nextSibling){Y=Y.nextSibling;break J}Y=Y.parentNode}Y=void 0}Y=Yl(Y)}}function hs(J,X){return J&&X?J===X?!0:J&&J.nodeType===3?!1:X&&X.nodeType===3?hs(J,X.parentNode):(\"contains\"in J)?J.contains(X):J.compareDocumentPosition?!!(J.compareDocumentPosition(X)&16):!1:!1}function vs(J){J=J!=null&&J.ownerDocument!=null&&J.ownerDocument.defaultView!=null?J.ownerDocument.defaultView:window;for(var X=NP(J.document);X instanceof J.HTMLIFrameElement;){try{var Y=typeof X.contentWindow.location.href===\"string\"}catch(Z){Y=!1}if(Y)J=X.contentWindow;else break;X=NP(J.document)}return X}function SE(J){var X=J&&J.nodeName&&J.nodeName.toLowerCase();return X&&(X===\"input\"&&(J.type===\"text\"||J.type===\"search\"||J.type===\"tel\"||J.type===\"url\"||J.type===\"password\")||X===\"textarea\"||J.contentEditable===\"true\")}var fU0=mZ&&\"documentMode\"in document&&11>=document.documentMode,eU=null,mk=null,_W=null,uk=!1;function Ql(J,X,Y){var Z=Y.window===Y?Y.document:Y.nodeType===9?Y:Y.ownerDocument;uk||eU==null||eU!==NP(Z)||(Z=eU,(\"selectionStart\"in Z)&&SE(Z)?Z={start:Z.selectionStart,end:Z.selectionEnd}:(Z=(Z.ownerDocument&&Z.ownerDocument.defaultView||window).getSelection(),Z={anchorNode:Z.anchorNode,anchorOffset:Z.anchorOffset,focusNode:Z.focusNode,focusOffset:Z.focusOffset}),_W&&yW(_W,Z)||(_W=Z,Z=uP(mk,\"onSelect\"),0<Z.length&&(X=new oP(\"onSelect\",\"select\",null,X,Y),J.push({event:X,listeners:Z}),X.target=eU)))}function x3(J,X){var Y={};return Y[J.toLowerCase()]=X.toLowerCase(),Y[\"Webkit\"+J]=\"webkit\"+X,Y[\"Moz\"+J]=\"moz\"+X,Y}var JH={animationend:x3(\"Animation\",\"AnimationEnd\"),animationiteration:x3(\"Animation\",\"AnimationIteration\"),animationstart:x3(\"Animation\",\"AnimationStart\"),transitionrun:x3(\"Transition\",\"TransitionRun\"),transitionstart:x3(\"Transition\",\"TransitionStart\"),transitioncancel:x3(\"Transition\",\"TransitionCancel\"),transitionend:x3(\"Transition\",\"TransitionEnd\")},Qk={},gs={};mZ&&(gs=document.createElement(\"div\").style,(\"AnimationEvent\"in window)||(delete JH.animationend.animation,delete JH.animationiteration.animation,delete JH.animationstart.animation),(\"TransitionEvent\"in window)||delete JH.transitionend.transition);function o3(J){if(Qk[J])return Qk[J];if(!JH[J])return J;var X=JH[J],Y;for(Y in X)if(X.hasOwnProperty(Y)&&Y in gs)return Qk[J]=X[Y];return J}var ps=o3(\"animationend\"),ms=o3(\"animationiteration\"),us=o3(\"animationstart\"),hU0=o3(\"transitionrun\"),vU0=o3(\"transitionstart\"),gU0=o3(\"transitioncancel\"),cs=o3(\"transitionend\"),ds=new Map,ck=\"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");ck.push(\"scrollEnd\");function $X(J,X){ds.set(J,X),i3(X,[J])}var wP=typeof reportError===\"function\"?reportError:function(J){if(typeof window===\"object\"&&typeof window.ErrorEvent===\"function\"){var X=new window.ErrorEvent(\"error\",{bubbles:!0,cancelable:!0,message:typeof J===\"object\"&&J!==null&&typeof J.message===\"string\"?String(J.message):String(J),error:J});if(!window.dispatchEvent(X))return}else if(typeof process===\"object\"&&typeof process.emit===\"function\"){process.emit(\"uncaughtException\",J);return}console.error(J)},qJ=[],XH=0,fE=0;function eP(){for(var J=XH,X=fE=XH=0;X<J;){var Y=qJ[X];qJ[X++]=null;var Z=qJ[X];qJ[X++]=null;var Q=qJ[X];qJ[X++]=null;var $=qJ[X];if(qJ[X++]=null,Z!==null&&Q!==null){var q=Z.pending;q===null?Q.next=Q:(Q.next=q.next,q.next=Q),Z.pending=Q}$!==0&&ls(Y,Q,$)}}function JD(J,X,Y,Z){qJ[XH++]=J,qJ[XH++]=X,qJ[XH++]=Y,qJ[XH++]=Z,fE|=Z,J.lanes|=Z,J=J.alternate,J!==null&&(J.lanes|=Z)}function hE(J,X,Y,Z){return JD(J,X,Y,Z),TP(J)}function n3(J,X){return JD(J,null,null,X),TP(J)}function ls(J,X,Y){J.lanes|=Y;var Z=J.alternate;Z!==null&&(Z.lanes|=Y);for(var Q=!1,$=J.return;$!==null;)$.childLanes|=Y,Z=$.alternate,Z!==null&&(Z.childLanes|=Y),$.tag===22&&(J=$.stateNode,J===null||J._visibility&1||(Q=!0)),J=$,$=$.return;return J.tag===3?($=J.stateNode,Q&&X!==null&&(Q=31-N9(Y),J=$.hiddenUpdates,Z=J[Q],Z===null?J[Q]=[X]:Z.push(X),X.lane=Y|536870912),$):null}function TP(J){if(50<TW)throw TW=0,VE=null,Error(K0(185));for(var X=J.return;X!==null;)J=X,X=J.return;return J.tag===3?J.stateNode:null}var YH={};function pU0(J,X,Y,Z){this.tag=J,this.key=Y,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=X,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=Z,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function D9(J,X,Y,Z){return new pU0(J,X,Y,Z)}function vE(J){return J=J.prototype,!(!J||!J.isReactComponent)}function vZ(J,X){var Y=J.alternate;return Y===null?(Y=D9(J.tag,X,J.key,J.mode),Y.elementType=J.elementType,Y.type=J.type,Y.stateNode=J.stateNode,Y.alternate=J,J.alternate=Y):(Y.pendingProps=X,Y.type=J.type,Y.flags=0,Y.subtreeFlags=0,Y.deletions=null),Y.flags=J.flags&65011712,Y.childLanes=J.childLanes,Y.lanes=J.lanes,Y.child=J.child,Y.memoizedProps=J.memoizedProps,Y.memoizedState=J.memoizedState,Y.updateQueue=J.updateQueue,X=J.dependencies,Y.dependencies=X===null?null:{lanes:X.lanes,firstContext:X.firstContext},Y.sibling=J.sibling,Y.index=J.index,Y.ref=J.ref,Y.refCleanup=J.refCleanup,Y}function ss(J,X){J.flags&=65011714;var Y=J.alternate;return Y===null?(J.childLanes=0,J.lanes=X,J.child=null,J.subtreeFlags=0,J.memoizedProps=null,J.memoizedState=null,J.updateQueue=null,J.dependencies=null,J.stateNode=null):(J.childLanes=Y.childLanes,J.lanes=Y.lanes,J.child=Y.child,J.subtreeFlags=0,J.deletions=null,J.memoizedProps=Y.memoizedProps,J.memoizedState=Y.memoizedState,J.updateQueue=Y.updateQueue,J.type=Y.type,X=Y.dependencies,J.dependencies=X===null?null:{lanes:X.lanes,firstContext:X.firstContext}),J}function HP(J,X,Y,Z,Q,$){var q=0;if(Z=J,typeof J===\"function\")vE(J)&&(q=1);else if(typeof J===\"string\")q=cH0(J,Y,qY.current)?26:J===\"html\"||J===\"head\"||J===\"body\"?27:5;else J:switch(J){case Ek:return J=D9(31,Y,X,Q),J.elementType=Ek,J.lanes=$,J;case iU:return g3(Y.children,Q,$,X);case Ks:q=8,Q|=24;break;case Lk:return J=D9(12,Y,X,Q|2),J.elementType=Lk,J.lanes=$,J;case Ik:return J=D9(13,Y,X,Q),J.elementType=Ik,J.lanes=$,J;case kk:return J=D9(19,Y,X,Q),J.elementType=kk,J.lanes=$,J;default:if(typeof J===\"object\"&&J!==null)switch(J.$$typeof){case SZ:q=10;break J;case js:q=9;break J;case NE:q=11;break J;case wE:q=14;break J;case j$:q=16,Z=null;break J}q=29,Y=Error(K0(130,J===null?\"null\":typeof J,\"\")),Z=null}return X=D9(q,Y,X,Q),X.elementType=J,X.type=Z,X.lanes=$,X}function g3(J,X,Y,Z){return J=D9(7,J,Z,X),J.lanes=Y,J}function $k(J,X,Y){return J=D9(6,J,null,X),J.lanes=Y,J}function as(J){var X=D9(18,null,null,0);return X.stateNode=J,X}function qk(J,X,Y){return X=D9(4,J.children!==null?J.children:[],J.key,X),X.lanes=Y,X.stateNode={containerInfo:J.containerInfo,pendingChildren:null,implementation:J.implementation},X}var $l=new WeakMap;function KJ(J,X){if(typeof J===\"object\"&&J!==null){var Y=$l.get(J);if(Y!==void 0)return Y;return X={value:J,source:X,stack:pd(X)},$l.set(J,X),X}return{value:J,source:X,stack:pd(X)}}var ZH=[],QH=0,LP=null,xW=0,UJ=[],HJ=0,x$=null,ZY=1,QY=\"\";function bZ(J,X){ZH[QH++]=xW,ZH[QH++]=LP,LP=J,xW=X}function is(J,X,Y){UJ[HJ++]=ZY,UJ[HJ++]=QY,UJ[HJ++]=x$,x$=J;var Z=ZY;J=QY;var Q=32-N9(Z)-1;Z&=~(1<<Q),Y+=1;var $=32-N9(X)+Q;if(30<$){var q=Q-Q%5;$=(Z&(1<<q)-1).toString(32),Z>>=q,Q-=q,ZY=1<<32-N9(X)+Q|Y<<Q|Z,QY=$+J}else ZY=1<<$|Y<<Q|Z,QY=J}function gE(J){J.return!==null&&(bZ(J,1),is(J,1,0))}function pE(J){for(;J===LP;)LP=ZH[--QH],ZH[QH]=null,xW=ZH[--QH],ZH[QH]=null;for(;J===x$;)x$=UJ[--HJ],UJ[HJ]=null,QY=UJ[--HJ],UJ[HJ]=null,ZY=UJ[--HJ],UJ[HJ]=null}function rs(J,X){UJ[HJ++]=ZY,UJ[HJ++]=QY,UJ[HJ++]=x$,ZY=X.id,QY=X.overflow,x$=J}var D7=null,P8=null,n1=!1,N$=null,jJ=!1,dk=Error(K0(519));function b$(J){var X=Error(K0(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?\"text\":\"HTML\",\"\"));throw bW(KJ(X,J)),dk}function ql(J){var{stateNode:X,type:Y,memoizedProps:Z}=J;switch(X[P7]=J,X[a4]=Z,Y){case\"dialog\":m1(\"cancel\",X),m1(\"close\",X);break;case\"iframe\":case\"object\":case\"embed\":m1(\"load\",X);break;case\"video\":case\"audio\":for(Y=0;Y<hW.length;Y++)m1(hW[Y],X);break;case\"source\":m1(\"error\",X);break;case\"img\":case\"image\":case\"link\":m1(\"error\",X),m1(\"load\",X);break;case\"details\":m1(\"toggle\",X);break;case\"input\":m1(\"invalid\",X),ws(X,Z.value,Z.defaultValue,Z.checked,Z.defaultChecked,Z.type,Z.name,!0);break;case\"select\":m1(\"invalid\",X);break;case\"textarea\":m1(\"invalid\",X),Ls(X,Z.value,Z.defaultValue,Z.children)}Y=Z.children,typeof Y!==\"string\"&&typeof Y!==\"number\"&&typeof Y!==\"bigint\"||X.textContent===\"\"+Y||Z.suppressHydrationWarning===!0||yi(X.textContent,Y)?(Z.popover!=null&&(m1(\"beforetoggle\",X),m1(\"toggle\",X)),Z.onScroll!=null&&m1(\"scroll\",X),Z.onScrollEnd!=null&&m1(\"scrollend\",X),Z.onClick!=null&&(X.onclick=fZ),X=!0):X=!1,X||b$(J,!0)}function Gl(J){for(D7=J.return;D7;)switch(D7.tag){case 5:case 31:case 13:jJ=!1;return;case 27:case 3:jJ=!0;return;default:D7=D7.return}}function cU(J){if(J!==D7)return!1;if(!n1)return Gl(J),n1=!0,!1;var X=J.tag,Y;if(Y=X!==3&&X!==27){if(Y=X===5)Y=J.type,Y=!(Y!==\"form\"&&Y!==\"button\")||_E(J.type,J.memoizedProps);Y=!Y}if(Y&&P8&&b$(J),Gl(J),X===13){if(J=J.memoizedState,J=J!==null?J.dehydrated:null,!J)throw Error(K0(317));P8=al(J)}else if(X===31){if(J=J.memoizedState,J=J!==null?J.dehydrated:null,!J)throw Error(K0(317));P8=al(J)}else X===27?(X=P8,h$(J.type)?(J=OE,OE=null,P8=J):P8=X):P8=D7?zJ(J.stateNode.nextSibling):null;return!0}function c3(){P8=D7=null,n1=!1}function Gk(){var J=N$;return J!==null&&(l4===null?l4=J:l4.push.apply(l4,J),N$=null),J}function bW(J){N$===null?N$=[J]:N$.push(J)}var lk=GY(null),t3=null,hZ=null;function z$(J,X,Y){G8(lk,X._currentValue),X._currentValue=Y}function gZ(J){J._currentValue=lk.current,J7(lk)}function sk(J,X,Y){for(;J!==null;){var Z=J.alternate;if((J.childLanes&X)!==X?(J.childLanes|=X,Z!==null&&(Z.childLanes|=X)):Z!==null&&(Z.childLanes&X)!==X&&(Z.childLanes|=X),J===Y)break;J=J.return}}function ak(J,X,Y,Z){var Q=J.child;Q!==null&&(Q.return=J);for(;Q!==null;){var $=Q.dependencies;if($!==null){var q=Q.child;$=$.firstContext;J:for(;$!==null;){var G=$;$=Q;for(var U=0;U<X.length;U++)if(G.context===X[U]){$.lanes|=Y,G=$.alternate,G!==null&&(G.lanes|=Y),sk($.return,Y,J),Z||(q=null);break J}$=G.next}}else if(Q.tag===18){if(q=Q.return,q===null)throw Error(K0(341));q.lanes|=Y,$=q.alternate,$!==null&&($.lanes|=Y),sk(q,Y,J),q=null}else q=Q.child;if(q!==null)q.return=Q;else for(q=Q;q!==null;){if(q===J){q=null;break}if(Q=q.sibling,Q!==null){Q.return=q.return,q=Q;break}q=q.return}Q=q}}function TH(J,X,Y,Z){J=null;for(var Q=X,$=!1;Q!==null;){if(!$){if((Q.flags&524288)!==0)$=!0;else if((Q.flags&262144)!==0)break}if(Q.tag===10){var q=Q.alternate;if(q===null)throw Error(K0(387));if(q=q.memoizedProps,q!==null){var G=Q.type;T9(Q.pendingProps.value,q.value)||(J!==null?J.push(G):J=[G])}}else if(Q===DP.current){if(q=Q.alternate,q===null)throw Error(K0(387));q.memoizedState.memoizedState!==Q.memoizedState.memoizedState&&(J!==null?J.push(gW):J=[gW])}Q=Q.return}J!==null&&ak(X,J,Y,Z),X.flags|=262144}function IP(J){for(J=J.firstContext;J!==null;){if(!T9(J.context._currentValue,J.memoizedValue))return!0;J=J.next}return!1}function d3(J){t3=J,hZ=null,J=J.dependencies,J!==null&&(J.firstContext=null)}function O7(J){return os(t3,J)}function oA(J,X){return t3===null&&d3(J),os(J,X)}function os(J,X){var Y=X._currentValue;if(X={context:X,memoizedValue:Y,next:null},hZ===null){if(J===null)throw Error(K0(308));hZ=X,J.dependencies={lanes:0,firstContext:X},J.flags|=524288}else hZ=hZ.next=X;return Y}var mU0=typeof AbortController<\"u\"?AbortController:function(){var J=[],X=this.signal={aborted:!1,addEventListener:function(Y,Z){J.push(Z)}};this.abort=function(){X.aborted=!0,J.forEach(function(Y){return Y()})}},uU0=uU,cU0=mU,R5={$$typeof:SZ,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function mE(){return{controller:new mU0,data:new Map,refCount:0}}function iW(J){J.refCount--,J.refCount===0&&uU0(cU0,function(){J.controller.abort()})}var AW=null,ik=0,BH=0,HH=null;function dU0(J,X){if(AW===null){var Y=AW=[];ik=0,BH=jy(),HH={status:\"pending\",value:void 0,then:function(Z){Y.push(Z)}}}return ik++,X.then(Ul,Ul),X}function Ul(){if(--ik===0&&AW!==null){HH!==null&&(HH.status=\"fulfilled\");var J=AW;AW=null,BH=0,HH=null;for(var X=0;X<J.length;X++)(0,J[X])()}}function lU0(J,X){var Y=[],Z={status:\"pending\",value:null,reason:null,then:function(Q){Y.push(Q)}};return J.then(function(){Z.status=\"fulfilled\",Z.value=X;for(var Q=0;Q<Y.length;Q++)(0,Y[Q])(X)},function(Q){Z.status=\"rejected\",Z.reason=Q;for(Q=0;Q<Y.length;Q++)(0,Y[Q])(void 0)}),Z}var Hl=j1.S;j1.S=function(J,X){Vi=M9(),typeof X===\"object\"&&X!==null&&typeof X.then===\"function\"&&dU0(J,X),Hl!==null&&Hl(J,X)};var p3=GY(null);function uE(){var J=p3.current;return J!==null?J:Y8.pooledCache}function VP(J,X){X===null?G8(p3,p3.current):G8(p3,X.pool)}function ns(){var J=uE();return J===null?null:{parent:R5._currentValue,pool:J}}var LH=Error(K0(460)),cE=Error(K0(474)),XD=Error(K0(542)),kP={then:function(){}};function Vl(J){return J=J.status,J===\"fulfilled\"||J===\"rejected\"}function ts(J,X,Y){switch(Y=J[Y],Y===void 0?J.push(X):Y!==X&&(X.then(fZ,fZ),X=Y),X.status){case\"fulfilled\":return X.value;case\"rejected\":throw J=X.reason,jl(J),J;default:if(typeof X.status===\"string\")X.then(fZ,fZ);else{if(J=Y8,J!==null&&100<J.shellSuspendCounter)throw Error(K0(482));J=X,J.status=\"pending\",J.then(function(Z){if(X.status===\"pending\"){var Q=X;Q.status=\"fulfilled\",Q.value=Z}},function(Z){if(X.status===\"pending\"){var Q=X;Q.status=\"rejected\",Q.reason=Z}})}switch(X.status){case\"fulfilled\":return X.value;case\"rejected\":throw J=X.reason,jl(J),J}throw m3=X,LH}}function f3(J){try{var X=J._init;return X(J._payload)}catch(Y){if(Y!==null&&typeof Y===\"object\"&&typeof Y.then===\"function\")throw m3=Y,LH;throw Y}}var m3=null;function Kl(){if(m3===null)throw Error(K0(459));var J=m3;return m3=null,J}function jl(J){if(J===LH||J===XD)throw Error(K0(483))}var VH=null,CW=0;function nA(J){var X=CW;return CW+=1,VH===null&&(VH=[]),ts(VH,J,X)}function YW(J,X){X=X.props.ref,J.ref=X!==void 0?X:null}function tA(J,X){if(X.$$typeof===yG0)throw Error(K0(525));throw J=Object.prototype.toString.call(X),Error(K0(31,J===\"[object Object]\"?\"object with keys {\"+Object.keys(X).join(\", \")+\"}\":J))}function es(J){function X(_,A){if(J){var O=_.deletions;O===null?(_.deletions=[A],_.flags|=16):O.push(A)}}function Y(_,A){if(!J)return null;for(;A!==null;)X(_,A),A=A.sibling;return null}function Z(_){for(var A=new Map;_!==null;)_.key!==null?A.set(_.key,_):A.set(_.index,_),_=_.sibling;return A}function Q(_,A){return _=vZ(_,A),_.index=0,_.sibling=null,_}function $(_,A,O){if(_.index=O,!J)return _.flags|=1048576,A;if(O=_.alternate,O!==null)return O=O.index,O<A?(_.flags|=67108866,A):O;return _.flags|=67108866,A}function q(_){return J&&_.alternate===null&&(_.flags|=67108866),_}function G(_,A,O,D){if(A===null||A.tag!==6)return A=$k(O,_.mode,D),A.return=_,A;return A=Q(A,O),A.return=_,A}function U(_,A,O,D){var R=O.type;if(R===iU)return V(_,A,O.props.children,D,O.key);if(A!==null&&(A.elementType===R||typeof R===\"object\"&&R!==null&&R.$$typeof===j$&&f3(R)===A.type))return A=Q(A,O.props),YW(A,O),A.return=_,A;return A=HP(O.type,O.key,O.props,null,_.mode,D),YW(A,O),A.return=_,A}function H(_,A,O,D){if(A===null||A.tag!==4||A.stateNode.containerInfo!==O.containerInfo||A.stateNode.implementation!==O.implementation)return A=qk(O,_.mode,D),A.return=_,A;return A=Q(A,O.children||[]),A.return=_,A}function V(_,A,O,D,R){if(A===null||A.tag!==7)return A=g3(O,_.mode,D,R),A.return=_,A;return A=Q(A,O),A.return=_,A}function K(_,A,O){if(typeof A===\"string\"&&A!==\"\"||typeof A===\"number\"||typeof A===\"bigint\")return A=$k(\"\"+A,_.mode,O),A.return=_,A;if(typeof A===\"object\"&&A!==null){switch(A.$$typeof){case dA:return O=HP(A.type,A.key,A.props,null,_.mode,O),YW(O,A),O.return=_,O;case qW:return A=qk(A,_.mode,O),A.return=_,A;case j$:return A=f3(A),K(_,A,O)}if(GW(A)||JW(A))return A=g3(A,_.mode,O,null),A.return=_,A;if(typeof A.then===\"function\")return K(_,nA(A),O);if(A.$$typeof===SZ)return K(_,oA(_,A),O);tA(_,A)}return null}function j(_,A,O,D){var R=A!==null?A.key:null;if(typeof O===\"string\"&&O!==\"\"||typeof O===\"number\"||typeof O===\"bigint\")return R!==null?null:G(_,A,\"\"+O,D);if(typeof O===\"object\"&&O!==null){switch(O.$$typeof){case dA:return O.key===R?U(_,A,O,D):null;case qW:return O.key===R?H(_,A,O,D):null;case j$:return O=f3(O),j(_,A,O,D)}if(GW(O)||JW(O))return R!==null?null:V(_,A,O,D,null);if(typeof O.then===\"function\")return j(_,A,nA(O),D);if(O.$$typeof===SZ)return j(_,A,oA(_,O),D);tA(_,O)}return null}function W(_,A,O,D,R){if(typeof D===\"string\"&&D!==\"\"||typeof D===\"number\"||typeof D===\"bigint\")return _=_.get(O)||null,G(A,_,\"\"+D,R);if(typeof D===\"object\"&&D!==null){switch(D.$$typeof){case dA:return _=_.get(D.key===null?O:D.key)||null,U(A,_,D,R);case qW:return _=_.get(D.key===null?O:D.key)||null,H(A,_,D,R);case j$:return D=f3(D),W(_,A,O,D,R)}if(GW(D)||JW(D))return _=_.get(O)||null,V(A,_,D,R,null);if(typeof D.then===\"function\")return W(_,A,O,nA(D),R);if(D.$$typeof===SZ)return W(_,A,O,oA(A,D),R);tA(A,D)}return null}function z(_,A,O,D){for(var R=null,N=null,w=A,k=A=0,I=null;w!==null&&k<O.length;k++){w.index>k?(I=w,w=null):I=w.sibling;var S=j(_,w,O[k],D);if(S===null){w===null&&(w=I);break}J&&w&&S.alternate===null&&X(_,w),A=$(S,A,k),N===null?R=S:N.sibling=S,N=S,w=I}if(k===O.length)return Y(_,w),n1&&bZ(_,k),R;if(w===null){for(;k<O.length;k++)w=K(_,O[k],D),w!==null&&(A=$(w,A,k),N===null?R=w:N.sibling=w,N=w);return n1&&bZ(_,k),R}for(w=Z(w);k<O.length;k++)I=W(w,_,k,O[k],D),I!==null&&(J&&I.alternate!==null&&w.delete(I.key===null?k:I.key),A=$(I,A,k),N===null?R=I:N.sibling=I,N=I);return J&&w.forEach(function(h){return X(_,h)}),n1&&bZ(_,k),R}function B(_,A,O,D){if(O==null)throw Error(K0(151));for(var R=null,N=null,w=A,k=A=0,I=null,S=O.next();w!==null&&!S.done;k++,S=O.next()){w.index>k?(I=w,w=null):I=w.sibling;var h=j(_,w,S.value,D);if(h===null){w===null&&(w=I);break}J&&w&&h.alternate===null&&X(_,w),A=$(h,A,k),N===null?R=h:N.sibling=h,N=h,w=I}if(S.done)return Y(_,w),n1&&bZ(_,k),R;if(w===null){for(;!S.done;k++,S=O.next())S=K(_,S.value,D),S!==null&&(A=$(S,A,k),N===null?R=S:N.sibling=S,N=S);return n1&&bZ(_,k),R}for(w=Z(w);!S.done;k++,S=O.next())S=W(w,_,k,S.value,D),S!==null&&(J&&S.alternate!==null&&w.delete(S.key===null?k:S.key),A=$(S,A,k),N===null?R=S:N.sibling=S,N=S);return J&&w.forEach(function(u){return X(_,u)}),n1&&bZ(_,k),R}function P(_,A,O,D){if(typeof O===\"object\"&&O!==null&&O.type===iU&&O.key===null&&(O=O.props.children),typeof O===\"object\"&&O!==null){switch(O.$$typeof){case dA:J:{for(var R=O.key;A!==null;){if(A.key===R){if(R=O.type,R===iU){if(A.tag===7){Y(_,A.sibling),D=Q(A,O.props.children),D.return=_,_=D;break J}}else if(A.elementType===R||typeof R===\"object\"&&R!==null&&R.$$typeof===j$&&f3(R)===A.type){Y(_,A.sibling),D=Q(A,O.props),YW(D,O),D.return=_,_=D;break J}Y(_,A);break}else X(_,A);A=A.sibling}O.type===iU?(D=g3(O.props.children,_.mode,D,O.key),D.return=_,_=D):(D=HP(O.type,O.key,O.props,null,_.mode,D),YW(D,O),D.return=_,_=D)}return q(_);case qW:J:{for(R=O.key;A!==null;){if(A.key===R)if(A.tag===4&&A.stateNode.containerInfo===O.containerInfo&&A.stateNode.implementation===O.implementation){Y(_,A.sibling),D=Q(A,O.children||[]),D.return=_,_=D;break J}else{Y(_,A);break}else X(_,A);A=A.sibling}D=qk(O,_.mode,D),D.return=_,_=D}return q(_);case j$:return O=f3(O),P(_,A,O,D)}if(GW(O))return z(_,A,O,D);if(JW(O)){if(R=JW(O),typeof R!==\"function\")throw Error(K0(150));return O=R.call(O),B(_,A,O,D)}if(typeof O.then===\"function\")return P(_,A,nA(O),D);if(O.$$typeof===SZ)return P(_,A,oA(_,O),D);tA(_,O)}return typeof O===\"string\"&&O!==\"\"||typeof O===\"number\"||typeof O===\"bigint\"?(O=\"\"+O,A!==null&&A.tag===6?(Y(_,A.sibling),D=Q(A,O),D.return=_,_=D):(Y(_,A),D=$k(O,_.mode,D),D.return=_,_=D),q(_)):Y(_,A)}return function(_,A,O,D){try{CW=0;var R=P(_,A,O,D);return VH=null,R}catch(w){if(w===LH||w===XD)throw w;var N=D9(29,w,null,_.mode);return N.lanes=D,N.return=_,N}finally{}}}var l3=es(!0),Ja=es(!1),W$=!1;function dE(J){J.updateQueue={baseState:J.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function rk(J,X){J=J.updateQueue,X.updateQueue===J&&(X.updateQueue={baseState:J.baseState,firstBaseUpdate:J.firstBaseUpdate,lastBaseUpdate:J.lastBaseUpdate,shared:J.shared,callbacks:null})}function w$(J){return{lane:J,tag:0,payload:null,callback:null,next:null}}function T$(J,X,Y){var Z=J.updateQueue;if(Z===null)return null;if(Z=Z.shared,(O6&2)!==0){var Q=Z.pending;return Q===null?X.next=X:(X.next=Q.next,Q.next=X),Z.pending=X,X=TP(J),ls(J,null,Y),X}return JD(J,Z,X,Y),TP(J)}function PW(J,X,Y){if(X=X.updateQueue,X!==null&&(X=X.shared,(Y&4194048)!==0)){var Z=X.lanes;Z&=J.pendingLanes,Y|=Z,X.lanes=Y,As(J,Y)}}function Uk(J,X){var{updateQueue:Y,alternate:Z}=J;if(Z!==null&&(Z=Z.updateQueue,Y===Z)){var Q=null,$=null;if(Y=Y.firstBaseUpdate,Y!==null){do{var q={lane:Y.lane,tag:Y.tag,payload:Y.payload,callback:null,next:null};$===null?Q=$=q:$=$.next=q,Y=Y.next}while(Y!==null);$===null?Q=$=X:$=$.next=X}else Q=$=X;Y={baseState:Z.baseState,firstBaseUpdate:Q,lastBaseUpdate:$,shared:Z.shared,callbacks:Z.callbacks},J.updateQueue=Y;return}J=Y.lastBaseUpdate,J===null?Y.firstBaseUpdate=X:J.next=X,Y.lastBaseUpdate=X}var ok=!1;function DW(){if(ok){var J=HH;if(J!==null)throw J}}function OW(J,X,Y,Z){ok=!1;var Q=J.updateQueue;W$=!1;var{firstBaseUpdate:$,lastBaseUpdate:q}=Q,G=Q.shared.pending;if(G!==null){Q.shared.pending=null;var U=G,H=U.next;U.next=null,q===null?$=H:q.next=H,q=U;var V=J.alternate;V!==null&&(V=V.updateQueue,G=V.lastBaseUpdate,G!==q&&(G===null?V.firstBaseUpdate=H:G.next=H,V.lastBaseUpdate=U))}if($!==null){var K=Q.baseState;q=0,V=H=U=null,G=$;do{var j=G.lane&-536870913,W=j!==G.lane;if(W?(i1&j)===j:(Z&j)===j){j!==0&&j===BH&&(ok=!0),V!==null&&(V=V.next={lane:0,tag:G.tag,payload:G.payload,callback:null,next:null});J:{var z=J,B=G;j=X;var P=Y;switch(B.tag){case 1:if(z=B.payload,typeof z===\"function\"){K=z.call(P,K,j);break J}K=z;break J;case 3:z.flags=z.flags&-65537|128;case 0:if(z=B.payload,j=typeof z===\"function\"?z.call(P,K,j):z,j===null||j===void 0)break J;K=D8({},K,j);break J;case 2:W$=!0}}j=G.callback,j!==null&&(J.flags|=64,W&&(J.flags|=8192),W=Q.callbacks,W===null?Q.callbacks=[j]:W.push(j))}else W={lane:j,tag:G.tag,payload:G.payload,callback:G.callback,next:null},V===null?(H=V=W,U=K):V=V.next=W,q|=j;if(G=G.next,G===null)if(G=Q.shared.pending,G===null)break;else W=G,G=W.next,W.next=null,Q.lastBaseUpdate=W,Q.shared.pending=null}while(1);V===null&&(U=K),Q.baseState=U,Q.firstBaseUpdate=H,Q.lastBaseUpdate=V,$===null&&(Q.shared.lanes=0),S$|=q,J.lanes=q,J.memoizedState=K}}function Xa(J,X){if(typeof J!==\"function\")throw Error(K0(191,J));J.call(X)}function Ya(J,X){var Y=J.callbacks;if(Y!==null)for(J.callbacks=null,J=0;J<Y.length;J++)Xa(Y[J],X)}var _H=GY(null),EP=GY(0);function Wl(J,X){J=lZ,G8(EP,J),G8(_H,X),lZ=J|X.baseLanes}function nk(){G8(EP,lZ),G8(_H,_H.current)}function lE(){lZ=EP.current,J7(_H),J7(EP)}var L9=GY(null),WJ=null;function F$(J){var X=J.alternate;G8(G5,G5.current&1),G8(L9,J),WJ===null&&(X===null||_H.current!==null?WJ=J:X.memoizedState!==null&&(WJ=J))}function tk(J){G8(G5,G5.current),G8(L9,J),WJ===null&&(WJ=J)}function Za(J){J.tag===22?(G8(G5,G5.current),G8(L9,J),WJ===null&&(WJ=J)):B$(J)}function B$(){G8(G5,G5.current),G8(L9,L9.current)}function P9(J){J7(L9),WJ===J&&(WJ=null),J7(G5)}var G5=GY(0);function yP(J){for(var X=J;X!==null;){if(X.tag===13){var Y=X.memoizedState;if(Y!==null&&(Y=Y.dehydrated,Y===null||PE(Y)||DE(Y)))return X}else if(X.tag===19&&(X.memoizedProps.revealOrder===\"forwards\"||X.memoizedProps.revealOrder===\"backwards\"||X.memoizedProps.revealOrder===\"unstable_legacy-backwards\"||X.memoizedProps.revealOrder===\"together\")){if((X.flags&128)!==0)return X}else if(X.child!==null){X.child.return=X,X=X.child;continue}if(X===J)break;for(;X.sibling===null;){if(X.return===null||X.return===J)return null;X=X.return}X.sibling.return=X.return,X=X.sibling}return null}var uZ=0,M1=null,a6=null,O5=null,xP=!1,KH=!1,s3=!1,bP=0,SW=0,jH=null,sU0=0;function d8(){throw Error(K0(321))}function sE(J,X){if(X===null)return!1;for(var Y=0;Y<X.length&&Y<J.length;Y++)if(!T9(J[Y],X[Y]))return!1;return!0}function aE(J,X,Y,Z,Q,$){return uZ=$,M1=X,X.memoizedState=null,X.updateQueue=null,X.lanes=0,j1.H=J===null||J.memoizedState===null?Ca:Qy,s3=!1,$=Y(Z,Q),s3=!1,KH&&($=$a(X,Y,Z,Q)),Qa(J),$}function Qa(J){j1.H=fW;var X=a6!==null&&a6.next!==null;if(uZ=0,O5=a6=M1=null,xP=!1,SW=0,jH=null,X)throw Error(K0(300));J===null||N5||(J=J.dependencies,J!==null&&IP(J)&&(N5=!0))}function $a(J,X,Y,Z){M1=J;var Q=0;do{if(KH&&(jH=null),SW=0,KH=!1,25<=Q)throw Error(K0(301));if(Q+=1,O5=a6=null,J.updateQueue!=null){var $=J.updateQueue;$.lastEffect=null,$.events=null,$.stores=null,$.memoCache!=null&&($.memoCache.index=0)}j1.H=Sa,$=X(Y,Z)}while(KH);return $}function aU0(){var J=j1.H,X=J.useState()[0];return X=typeof X.then===\"function\"?rW(X):X,J=J.useState()[0],(a6!==null?a6.memoizedState:null)!==J&&(M1.flags|=1024),X}function iE(){var J=bP!==0;return bP=0,J}function rE(J,X,Y){X.updateQueue=J.updateQueue,X.flags&=-2053,J.lanes&=~Y}function oE(J){if(xP){for(J=J.memoizedState;J!==null;){var X=J.queue;X!==null&&(X.pending=null),J=J.next}xP=!1}uZ=0,O5=a6=M1=null,KH=!1,SW=bP=0,jH=null}function N4(){var J={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return O5===null?M1.memoizedState=O5=J:O5=O5.next=J,O5}function U5(){if(a6===null){var J=M1.alternate;J=J!==null?J.memoizedState:null}else J=a6.next;var X=O5===null?M1.memoizedState:O5.next;if(X!==null)O5=X,a6=J;else{if(J===null){if(M1.alternate===null)throw Error(K0(467));throw Error(K0(310))}a6=J,J={memoizedState:a6.memoizedState,baseState:a6.baseState,baseQueue:a6.baseQueue,queue:a6.queue,next:null},O5===null?M1.memoizedState=O5=J:O5=O5.next=J}return O5}function YD(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function rW(J){var X=SW;return SW+=1,jH===null&&(jH=[]),J=ts(jH,J,X),X=M1,(O5===null?X.memoizedState:O5.next)===null&&(X=X.alternate,j1.H=X===null||X.memoizedState===null?Ca:Qy),J}function ZD(J){if(J!==null&&typeof J===\"object\"){if(typeof J.then===\"function\")return rW(J);if(J.$$typeof===SZ)return O7(J)}throw Error(K0(438,String(J)))}function nE(J){var X=null,Y=M1.updateQueue;if(Y!==null&&(X=Y.memoCache),X==null){var Z=M1.alternate;Z!==null&&(Z=Z.updateQueue,Z!==null&&(Z=Z.memoCache,Z!=null&&(X={data:Z.data.map(function(Q){return Q.slice()}),index:0})))}if(X==null&&(X={data:[],index:0}),Y===null&&(Y=YD(),M1.updateQueue=Y),Y.memoCache=X,Y=X.data[X.index],Y===void 0)for(Y=X.data[X.index]=Array(J),Z=0;Z<J;Z++)Y[Z]=xG0;return X.index++,Y}function cZ(J,X){return typeof X===\"function\"?X(J):X}function KP(J){var X=U5();return tE(X,a6,J)}function tE(J,X,Y){var Z=J.queue;if(Z===null)throw Error(K0(311));Z.lastRenderedReducer=Y;var Q=J.baseQueue,$=Z.pending;if($!==null){if(Q!==null){var q=Q.next;Q.next=$.next,$.next=q}X.baseQueue=Q=$,Z.pending=null}if($=J.baseState,Q===null)J.memoizedState=$;else{X=Q.next;var G=q=null,U=null,H=X,V=!1;do{var K=H.lane&-536870913;if(K!==H.lane?(i1&K)===K:(uZ&K)===K){var j=H.revertLane;if(j===0)U!==null&&(U=U.next={lane:0,revertLane:0,gesture:null,action:H.action,hasEagerState:H.hasEagerState,eagerState:H.eagerState,next:null}),K===BH&&(V=!0);else if((uZ&j)===j){H=H.next,j===BH&&(V=!0);continue}else K={lane:0,revertLane:H.revertLane,gesture:null,action:H.action,hasEagerState:H.hasEagerState,eagerState:H.eagerState,next:null},U===null?(G=U=K,q=$):U=U.next=K,M1.lanes|=j,S$|=j;K=H.action,s3&&Y($,K),$=H.hasEagerState?H.eagerState:Y($,K)}else j={lane:K,revertLane:H.revertLane,gesture:H.gesture,action:H.action,hasEagerState:H.hasEagerState,eagerState:H.eagerState,next:null},U===null?(G=U=j,q=$):U=U.next=j,M1.lanes|=K,S$|=K;H=H.next}while(H!==null&&H!==X);if(U===null?q=$:U.next=G,!T9($,J.memoizedState)&&(N5=!0,V&&(Y=HH,Y!==null)))throw Y;J.memoizedState=$,J.baseState=q,J.baseQueue=U,Z.lastRenderedState=$}return Q===null&&(Z.lanes=0),[J.memoizedState,Z.dispatch]}function Hk(J){var X=U5(),Y=X.queue;if(Y===null)throw Error(K0(311));Y.lastRenderedReducer=J;var{dispatch:Z,pending:Q}=Y,$=X.memoizedState;if(Q!==null){Y.pending=null;var q=Q=Q.next;do $=J($,q.action),q=q.next;while(q!==Q);T9($,X.memoizedState)||(N5=!0),X.memoizedState=$,X.baseQueue===null&&(X.baseState=$),Y.lastRenderedState=$}return[$,Z]}function qa(J,X,Y){var Z=M1,Q=U5(),$=n1;if($){if(Y===void 0)throw Error(K0(407));Y=Y()}else Y=X();var q=!T9((a6||Q).memoizedState,Y);if(q&&(Q.memoizedState=Y,N5=!0),Q=Q.queue,eE(Ha.bind(null,Z,Q,J),[J]),Q.getSnapshot!==X||q||O5!==null&&O5.memoizedState.tag&1){if(Z.flags|=2048,AH(9,{destroy:void 0},Ua.bind(null,Z,Q,Y,X),null),Y8===null)throw Error(K0(349));$||(uZ&127)!==0||Ga(Z,X,Y)}return Y}function Ga(J,X,Y){J.flags|=16384,J={getSnapshot:X,value:Y},X=M1.updateQueue,X===null?(X=YD(),M1.updateQueue=X,X.stores=[J]):(Y=X.stores,Y===null?X.stores=[J]:Y.push(J))}function Ua(J,X,Y,Z){X.value=Y,X.getSnapshot=Z,Va(X)&&Ka(J)}function Ha(J,X,Y){return Y(function(){Va(X)&&Ka(J)})}function Va(J){var X=J.getSnapshot;J=J.value;try{var Y=X();return!T9(J,Y)}catch(Z){return!0}}function Ka(J){var X=n3(J,2);X!==null&&s4(X,J,2)}function ek(J){var X=N4();if(typeof J===\"function\"){var Y=J;if(J=Y(),s3){A$(!0);try{Y()}finally{A$(!1)}}}return X.memoizedState=X.baseState=J,X.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:cZ,lastRenderedState:J},X}function ja(J,X,Y,Z){return J.baseState=Y,tE(J,a6,typeof Z===\"function\"?Z:cZ)}function iU0(J,X,Y,Z,Q){if($D(J))throw Error(K0(485));if(J=X.action,J!==null){var $={payload:Q,action:J,next:null,isTransition:!0,status:\"pending\",value:null,reason:null,listeners:[],then:function(q){$.listeners.push(q)}};j1.T!==null?Y(!0):$.isTransition=!1,Z($),Y=X.pending,Y===null?($.next=X.pending=$,Wa(X,$)):($.next=Y.next,X.pending=Y.next=$)}}function Wa(J,X){var{action:Y,payload:Z}=X,Q=J.state;if(X.isTransition){var $=j1.T,q={};j1.T=q;try{var G=Y(Q,Z),U=j1.S;U!==null&&U(q,G),zl(J,X,G)}catch(H){JE(J,X,H)}finally{$!==null&&q.types!==null&&($.types=q.types),j1.T=$}}else try{$=Y(Q,Z),zl(J,X,$)}catch(H){JE(J,X,H)}}function zl(J,X,Y){Y!==null&&typeof Y===\"object\"&&typeof Y.then===\"function\"?Y.then(function(Z){Fl(J,X,Z)},function(Z){return JE(J,X,Z)}):Fl(J,X,Y)}function Fl(J,X,Y){X.status=\"fulfilled\",X.value=Y,za(X),J.state=Y,X=J.pending,X!==null&&(Y=X.next,Y===X?J.pending=null:(Y=Y.next,X.next=Y,Wa(J,Y)))}function JE(J,X,Y){var Z=J.pending;if(J.pending=null,Z!==null){Z=Z.next;do X.status=\"rejected\",X.reason=Y,za(X),X=X.next;while(X!==Z)}J.action=null}function za(J){J=J.listeners;for(var X=0;X<J.length;X++)(0,J[X])()}function Fa(J,X){return X}function Bl(J,X){if(n1){var Y=Y8.formState;if(Y!==null){J:{var Z=M1;if(n1){if(P8){X:{var Q=P8;for(var $=jJ;Q.nodeType!==8;){if(!$){Q=null;break X}if(Q=zJ(Q.nextSibling),Q===null){Q=null;break X}}$=Q.data,Q=$===\"F!\"||$===\"F\"?Q:null}if(Q){P8=zJ(Q.nextSibling),Z=Q.data===\"F!\";break J}}b$(Z)}Z=!1}Z&&(X=Y[0])}}return Y=N4(),Y.memoizedState=Y.baseState=X,Z={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Fa,lastRenderedState:X},Y.queue=Z,Y=ya.bind(null,M1,Z),Z.dispatch=Y,Z=ek(!1),$=Zy.bind(null,M1,!1,Z.queue),Z=N4(),Q={state:X,dispatch:null,action:J,pending:null},Z.queue=Q,Y=iU0.bind(null,M1,Q,$,Y),Q.dispatch=Y,Z.memoizedState=J,[X,Y,!1]}function _l(J){var X=U5();return Ba(X,a6,J)}function Ba(J,X,Y){if(X=tE(J,X,Fa)[0],J=KP(cZ)[0],typeof X===\"object\"&&X!==null&&typeof X.then===\"function\")try{var Z=rW(X)}catch(q){if(q===LH)throw XD;throw q}else Z=X;X=U5();var Q=X.queue,$=Q.dispatch;return Y!==X.memoizedState&&(M1.flags|=2048,AH(9,{destroy:void 0},rU0.bind(null,Q,Y),null)),[Z,$,J]}function rU0(J,X){J.action=X}function Al(J){var X=U5(),Y=a6;if(Y!==null)return Ba(X,Y,J);U5(),X=X.memoizedState,Y=U5();var Z=Y.queue.dispatch;return Y.memoizedState=J,[X,Z,!1]}function AH(J,X,Y,Z){return J={tag:J,create:Y,deps:Z,inst:X,next:null},X=M1.updateQueue,X===null&&(X=YD(),M1.updateQueue=X),Y=X.lastEffect,Y===null?X.lastEffect=J.next=J:(Z=Y.next,Y.next=J,J.next=Z,X.lastEffect=J),J}function _a(){return U5().memoizedState}function jP(J,X,Y,Z){var Q=N4();M1.flags|=J,Q.memoizedState=AH(1|X,{destroy:void 0},Y,Z===void 0?null:Z)}function QD(J,X,Y,Z){var Q=U5();Z=Z===void 0?null:Z;var $=Q.memoizedState.inst;a6!==null&&Z!==null&&sE(Z,a6.memoizedState.deps)?Q.memoizedState=AH(X,$,Y,Z):(M1.flags|=J,Q.memoizedState=AH(1|X,$,Y,Z))}function Pl(J,X){jP(8390656,8,J,X)}function eE(J,X){QD(2048,8,J,X)}function oU0(J){M1.flags|=4;var X=M1.updateQueue;if(X===null)X=YD(),M1.updateQueue=X,X.events=[J];else{var Y=X.events;Y===null?X.events=[J]:Y.push(J)}}function Aa(J){var X=U5().memoizedState;return oU0({ref:X,nextImpl:J}),function(){if((O6&2)!==0)throw Error(K0(440));return X.impl.apply(void 0,arguments)}}function Pa(J,X){return QD(4,2,J,X)}function Da(J,X){return QD(4,4,J,X)}function Oa(J,X){if(typeof X===\"function\"){J=J();var Y=X(J);return function(){typeof Y===\"function\"?Y():X(null)}}if(X!==null&&X!==void 0)return J=J(),X.current=J,function(){X.current=null}}function Ma(J,X,Y){Y=Y!==null&&Y!==void 0?Y.concat([J]):null,QD(4,4,Oa.bind(null,X,J),Y)}function Jy(){}function Ra(J,X){var Y=U5();X=X===void 0?null:X;var Z=Y.memoizedState;if(X!==null&&sE(X,Z[1]))return Z[0];return Y.memoizedState=[J,X],J}function Na(J,X){var Y=U5();X=X===void 0?null:X;var Z=Y.memoizedState;if(X!==null&&sE(X,Z[1]))return Z[0];if(Z=J(),s3){A$(!0);try{J()}finally{A$(!1)}}return Y.memoizedState=[Z,X],Z}function Xy(J,X,Y){if(Y===void 0||(uZ&1073741824)!==0&&(i1&261930)===0)return J.memoizedState=X;return J.memoizedState=Y,J=ji(),M1.lanes|=J,S$|=J,Y}function wa(J,X,Y,Z){if(T9(Y,X))return Y;if(_H.current!==null)return J=Xy(J,Y,Z),T9(J,X)||(N5=!0),J;if((uZ&42)===0||(uZ&1073741824)!==0&&(i1&261930)===0)return N5=!0,J.memoizedState=Y;return J=ji(),M1.lanes|=J,S$|=J,X}function Ta(J,X,Y,Z,Q){var $=M6.p;M6.p=$!==0&&8>$?$:8;var q=j1.T,G={};j1.T=G,Zy(J,!1,X,Y);try{var U=Q(),H=j1.S;if(H!==null&&H(G,U),U!==null&&typeof U===\"object\"&&typeof U.then===\"function\"){var V=lU0(U,Z);MW(J,X,V,w9(J))}else MW(J,X,Z,w9(J))}catch(K){MW(J,X,{then:function(){},status:\"rejected\",reason:K},w9())}finally{M6.p=$,q!==null&&G.types!==null&&(q.types=G.types),j1.T=q}}function nU0(){}function XE(J,X,Y,Z){if(J.tag!==5)throw Error(K0(476));var Q=La(J).queue;Ta(J,Q,X,v3,Y===null?nU0:function(){return Ia(J),Y(Z)})}function La(J){var X=J.memoizedState;if(X!==null)return X;X={memoizedState:v3,baseState:v3,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cZ,lastRenderedState:v3},next:null};var Y={};return X.next={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cZ,lastRenderedState:Y},next:null},J.memoizedState=X,J=J.alternate,J!==null&&(J.memoizedState=X),X}function Ia(J){var X=La(J);X.next===null&&(X=J.alternate.memoizedState),MW(J,X.next.queue,{},w9())}function Yy(){return O7(gW)}function ka(){return U5().memoizedState}function Ea(){return U5().memoizedState}function tU0(J){for(var X=J.return;X!==null;){switch(X.tag){case 24:case 3:var Y=w9();J=w$(Y);var Z=T$(X,J,Y);Z!==null&&(s4(Z,X,Y),PW(Z,X,Y)),X={cache:mE()},J.payload=X;return}X=X.return}}function eU0(J,X,Y){var Z=w9();Y={lane:Z,revertLane:0,gesture:null,action:Y,hasEagerState:!1,eagerState:null,next:null},$D(J)?xa(X,Y):(Y=hE(J,X,Y,Z),Y!==null&&(s4(Y,J,Z),ba(Y,X,Z)))}function ya(J,X,Y){var Z=w9();MW(J,X,Y,Z)}function MW(J,X,Y,Z){var Q={lane:Z,revertLane:0,gesture:null,action:Y,hasEagerState:!1,eagerState:null,next:null};if($D(J))xa(X,Q);else{var $=J.alternate;if(J.lanes===0&&($===null||$.lanes===0)&&($=X.lastRenderedReducer,$!==null))try{var q=X.lastRenderedState,G=$(q,Y);if(Q.hasEagerState=!0,Q.eagerState=G,T9(G,q))return JD(J,X,Q,0),Y8===null&&eP(),!1}catch(U){}finally{}if(Y=hE(J,X,Q,Z),Y!==null)return s4(Y,J,Z),ba(Y,X,Z),!0}return!1}function Zy(J,X,Y,Z){if(Z={lane:2,revertLane:jy(),gesture:null,action:Z,hasEagerState:!1,eagerState:null,next:null},$D(J)){if(X)throw Error(K0(479))}else X=hE(J,Y,Z,2),X!==null&&s4(X,J,2)}function $D(J){var X=J.alternate;return J===M1||X!==null&&X===M1}function xa(J,X){KH=xP=!0;var Y=J.pending;Y===null?X.next=X:(X.next=Y.next,Y.next=X),J.pending=X}function ba(J,X,Y){if((Y&4194048)!==0){var Z=X.lanes;Z&=J.pendingLanes,Y|=Z,X.lanes=Y,As(J,Y)}}var fW={readContext:O7,use:ZD,useCallback:d8,useContext:d8,useEffect:d8,useImperativeHandle:d8,useLayoutEffect:d8,useInsertionEffect:d8,useMemo:d8,useReducer:d8,useRef:d8,useState:d8,useDebugValue:d8,useDeferredValue:d8,useTransition:d8,useSyncExternalStore:d8,useId:d8,useHostTransitionStatus:d8,useFormState:d8,useActionState:d8,useOptimistic:d8,useMemoCache:d8,useCacheRefresh:d8};fW.useEffectEvent=d8;var Ca={readContext:O7,use:ZD,useCallback:function(J,X){return N4().memoizedState=[J,X===void 0?null:X],J},useContext:O7,useEffect:Pl,useImperativeHandle:function(J,X,Y){Y=Y!==null&&Y!==void 0?Y.concat([J]):null,jP(4194308,4,Oa.bind(null,X,J),Y)},useLayoutEffect:function(J,X){return jP(4194308,4,J,X)},useInsertionEffect:function(J,X){jP(4,2,J,X)},useMemo:function(J,X){var Y=N4();X=X===void 0?null:X;var Z=J();if(s3){A$(!0);try{J()}finally{A$(!1)}}return Y.memoizedState=[Z,X],Z},useReducer:function(J,X,Y){var Z=N4();if(Y!==void 0){var Q=Y(X);if(s3){A$(!0);try{Y(X)}finally{A$(!1)}}}else Q=X;return Z.memoizedState=Z.baseState=Q,J={pending:null,lanes:0,dispatch:null,lastRenderedReducer:J,lastRenderedState:Q},Z.queue=J,J=J.dispatch=eU0.bind(null,M1,J),[Z.memoizedState,J]},useRef:function(J){var X=N4();return J={current:J},X.memoizedState=J},useState:function(J){J=ek(J);var X=J.queue,Y=ya.bind(null,M1,X);return X.dispatch=Y,[J.memoizedState,Y]},useDebugValue:Jy,useDeferredValue:function(J,X){var Y=N4();return Xy(Y,J,X)},useTransition:function(){var J=ek(!1);return J=Ta.bind(null,M1,J.queue,!0,!1),N4().memoizedState=J,[!1,J]},useSyncExternalStore:function(J,X,Y){var Z=M1,Q=N4();if(n1){if(Y===void 0)throw Error(K0(407));Y=Y()}else{if(Y=X(),Y8===null)throw Error(K0(349));(i1&127)!==0||Ga(Z,X,Y)}Q.memoizedState=Y;var $={value:Y,getSnapshot:X};return Q.queue=$,Pl(Ha.bind(null,Z,$,J),[J]),Z.flags|=2048,AH(9,{destroy:void 0},Ua.bind(null,Z,$,Y,X),null),Y},useId:function(){var J=N4(),X=Y8.identifierPrefix;if(n1){var Y=QY,Z=ZY;Y=(Z&~(1<<32-N9(Z)-1)).toString(32)+Y,X=\"_\"+X+\"R_\"+Y,Y=bP++,0<Y&&(X+=\"H\"+Y.toString(32)),X+=\"_\"}else Y=sU0++,X=\"_\"+X+\"r_\"+Y.toString(32)+\"_\";return J.memoizedState=X},useHostTransitionStatus:Yy,useFormState:Bl,useActionState:Bl,useOptimistic:function(J){var X=N4();X.memoizedState=X.baseState=J;var Y={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return X.queue=Y,X=Zy.bind(null,M1,!0,Y),Y.dispatch=X,[J,X]},useMemoCache:nE,useCacheRefresh:function(){return N4().memoizedState=tU0.bind(null,M1)},useEffectEvent:function(J){var X=N4(),Y={impl:J};return X.memoizedState=Y,function(){if((O6&2)!==0)throw Error(K0(440));return Y.impl.apply(void 0,arguments)}}},Qy={readContext:O7,use:ZD,useCallback:Ra,useContext:O7,useEffect:eE,useImperativeHandle:Ma,useInsertionEffect:Pa,useLayoutEffect:Da,useMemo:Na,useReducer:KP,useRef:_a,useState:function(){return KP(cZ)},useDebugValue:Jy,useDeferredValue:function(J,X){var Y=U5();return wa(Y,a6.memoizedState,J,X)},useTransition:function(){var J=KP(cZ)[0],X=U5().memoizedState;return[typeof J===\"boolean\"?J:rW(J),X]},useSyncExternalStore:qa,useId:ka,useHostTransitionStatus:Yy,useFormState:_l,useActionState:_l,useOptimistic:function(J,X){var Y=U5();return ja(Y,a6,J,X)},useMemoCache:nE,useCacheRefresh:Ea};Qy.useEffectEvent=Aa;var Sa={readContext:O7,use:ZD,useCallback:Ra,useContext:O7,useEffect:eE,useImperativeHandle:Ma,useInsertionEffect:Pa,useLayoutEffect:Da,useMemo:Na,useReducer:Hk,useRef:_a,useState:function(){return Hk(cZ)},useDebugValue:Jy,useDeferredValue:function(J,X){var Y=U5();return a6===null?Xy(Y,J,X):wa(Y,a6.memoizedState,J,X)},useTransition:function(){var J=Hk(cZ)[0],X=U5().memoizedState;return[typeof J===\"boolean\"?J:rW(J),X]},useSyncExternalStore:qa,useId:ka,useHostTransitionStatus:Yy,useFormState:Al,useActionState:Al,useOptimistic:function(J,X){var Y=U5();if(a6!==null)return ja(Y,a6,J,X);return Y.baseState=J,[J,Y.queue.dispatch]},useMemoCache:nE,useCacheRefresh:Ea};Sa.useEffectEvent=Aa;function Vk(J,X,Y,Z){X=J.memoizedState,Y=Y(Z,X),Y=Y===null||Y===void 0?X:D8({},X,Y),J.memoizedState=Y,J.lanes===0&&(J.updateQueue.baseState=Y)}var YE={enqueueSetState:function(J,X,Y){J=J._reactInternals;var Z=w9(),Q=w$(Z);Q.payload=X,Y!==void 0&&Y!==null&&(Q.callback=Y),X=T$(J,Q,Z),X!==null&&(s4(X,J,Z),PW(X,J,Z))},enqueueReplaceState:function(J,X,Y){J=J._reactInternals;var Z=w9(),Q=w$(Z);Q.tag=1,Q.payload=X,Y!==void 0&&Y!==null&&(Q.callback=Y),X=T$(J,Q,Z),X!==null&&(s4(X,J,Z),PW(X,J,Z))},enqueueForceUpdate:function(J,X){J=J._reactInternals;var Y=w9(),Z=w$(Y);Z.tag=2,X!==void 0&&X!==null&&(Z.callback=X),X=T$(J,Z,Y),X!==null&&(s4(X,J,Y),PW(X,J,Y))}};function Dl(J,X,Y,Z,Q,$,q){return J=J.stateNode,typeof J.shouldComponentUpdate===\"function\"?J.shouldComponentUpdate(Z,$,q):X.prototype&&X.prototype.isPureReactComponent?!yW(Y,Z)||!yW(Q,$):!0}function Ol(J,X,Y,Z){J=X.state,typeof X.componentWillReceiveProps===\"function\"&&X.componentWillReceiveProps(Y,Z),typeof X.UNSAFE_componentWillReceiveProps===\"function\"&&X.UNSAFE_componentWillReceiveProps(Y,Z),X.state!==J&&YE.enqueueReplaceState(X,X.state,null)}function a3(J,X){var Y=X;if(\"ref\"in X){Y={};for(var Z in X)Z!==\"ref\"&&(Y[Z]=X[Z])}if(J=J.defaultProps){Y===X&&(Y=D8({},Y));for(var Q in J)Y[Q]===void 0&&(Y[Q]=J[Q])}return Y}function fa(J){wP(J)}function ha(J){console.error(J)}function va(J){wP(J)}function CP(J,X){try{var Y=J.onUncaughtError;Y(X.value,{componentStack:X.stack})}catch(Z){setTimeout(function(){throw Z})}}function Ml(J,X,Y){try{var Z=J.onCaughtError;Z(Y.value,{componentStack:Y.stack,errorBoundary:X.tag===1?X.stateNode:null})}catch(Q){setTimeout(function(){throw Q})}}function ZE(J,X,Y){return Y=w$(Y),Y.tag=3,Y.payload={element:null},Y.callback=function(){CP(J,X)},Y}function ga(J){return J=w$(J),J.tag=3,J}function pa(J,X,Y,Z){var Q=Y.type.getDerivedStateFromError;if(typeof Q===\"function\"){var $=Z.value;J.payload=function(){return Q($)},J.callback=function(){Ml(X,Y,Z)}}var q=Y.stateNode;q!==null&&typeof q.componentDidCatch===\"function\"&&(J.callback=function(){Ml(X,Y,Z),typeof Q!==\"function\"&&(L$===null?L$=new Set([this]):L$.add(this));var G=Z.stack;this.componentDidCatch(Z.value,{componentStack:G!==null?G:\"\"})})}function JH0(J,X,Y,Z,Q){if(Y.flags|=32768,Z!==null&&typeof Z===\"object\"&&typeof Z.then===\"function\"){if(X=Y.alternate,X!==null&&TH(X,Y,Q,!0),Y=L9.current,Y!==null){switch(Y.tag){case 31:case 13:return WJ===null?gP():Y.alternate===null&&l8===0&&(l8=3),Y.flags&=-257,Y.flags|=65536,Y.lanes=Q,Z===kP?Y.flags|=16384:(X=Y.updateQueue,X===null?Y.updateQueue=new Set([Z]):X.add(Z),Ok(J,Z,Q)),!1;case 22:return Y.flags|=65536,Z===kP?Y.flags|=16384:(X=Y.updateQueue,X===null?(X={transitions:null,markerInstances:null,retryQueue:new Set([Z])},Y.updateQueue=X):(Y=X.retryQueue,Y===null?X.retryQueue=new Set([Z]):Y.add(Z)),Ok(J,Z,Q)),!1}throw Error(K0(435,Y.tag))}return Ok(J,Z,Q),gP(),!1}if(n1)return X=L9.current,X!==null?((X.flags&65536)===0&&(X.flags|=256),X.flags|=65536,X.lanes=Q,Z!==dk&&(J=Error(K0(422),{cause:Z}),bW(KJ(J,Y)))):(Z!==dk&&(X=Error(K0(423),{cause:Z}),bW(KJ(X,Y))),J=J.current.alternate,J.flags|=65536,Q&=-Q,J.lanes|=Q,Z=KJ(Z,Y),Q=ZE(J.stateNode,Z,Q),Uk(J,Q),l8!==4&&(l8=2)),!1;var $=Error(K0(520),{cause:Z});if($=KJ($,Y),wW===null?wW=[$]:wW.push($),l8!==4&&(l8=2),X===null)return!0;Z=KJ(Z,Y),Y=X;do{switch(Y.tag){case 3:return Y.flags|=65536,J=Q&-Q,Y.lanes|=J,J=ZE(Y.stateNode,Z,J),Uk(Y,J),!1;case 1:if(X=Y.type,$=Y.stateNode,(Y.flags&128)===0&&(typeof X.getDerivedStateFromError===\"function\"||$!==null&&typeof $.componentDidCatch===\"function\"&&(L$===null||!L$.has($))))return Y.flags|=65536,Q&=-Q,Y.lanes|=Q,Q=ga(Q),pa(Q,J,Y,Z),Uk(Y,Q),!1}Y=Y.return}while(Y!==null);return!1}var $y=Error(K0(461)),N5=!1;function A7(J,X,Y,Z){X.child=J===null?Ja(X,null,Y,Z):l3(X,J.child,Y,Z)}function Rl(J,X,Y,Z,Q){Y=Y.render;var $=X.ref;if(\"ref\"in Z){var q={};for(var G in Z)G!==\"ref\"&&(q[G]=Z[G])}else q=Z;if(d3(X),Z=aE(J,X,Y,q,$,Q),G=iE(),J!==null&&!N5)return rE(J,X,Q),dZ(J,X,Q);return n1&&G&&gE(X),X.flags|=1,A7(J,X,Z,Q),X.child}function Nl(J,X,Y,Z,Q){if(J===null){var $=Y.type;if(typeof $===\"function\"&&!vE($)&&$.defaultProps===void 0&&Y.compare===null)return X.tag=15,X.type=$,ma(J,X,$,Z,Q);return J=HP(Y.type,null,Z,X,X.mode,Q),J.ref=X.ref,J.return=X,X.child=J}if($=J.child,!qy(J,Q)){var q=$.memoizedProps;if(Y=Y.compare,Y=Y!==null?Y:yW,Y(q,Z)&&J.ref===X.ref)return dZ(J,X,Q)}return X.flags|=1,J=vZ($,Z),J.ref=X.ref,J.return=X,X.child=J}function ma(J,X,Y,Z,Q){if(J!==null){var $=J.memoizedProps;if(yW($,Z)&&J.ref===X.ref)if(N5=!1,X.pendingProps=Z=$,qy(J,Q))(J.flags&131072)!==0&&(N5=!0);else return X.lanes=J.lanes,dZ(J,X,Q)}return QE(J,X,Y,Z,Q)}function ua(J,X,Y,Z){var Q=Z.children,$=J!==null?J.memoizedState:null;if(J===null&&X.stateNode===null&&(X.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),Z.mode===\"hidden\"){if((X.flags&128)!==0){if($=$!==null?$.baseLanes|Y:Y,J!==null){Z=X.child=J.child;for(Q=0;Z!==null;)Q=Q|Z.lanes|Z.childLanes,Z=Z.sibling;Z=Q&~$}else Z=0,X.child=null;return wl(J,X,$,Y,Z)}if((Y&536870912)!==0)X.memoizedState={baseLanes:0,cachePool:null},J!==null&&VP(X,$!==null?$.cachePool:null),$!==null?Wl(X,$):nk(),Za(X);else return Z=X.lanes=536870912,wl(J,X,$!==null?$.baseLanes|Y:Y,Y,Z)}else $!==null?(VP(X,$.cachePool),Wl(X,$),B$(X),X.memoizedState=null):(J!==null&&VP(X,null),nk(),B$(X));return A7(J,X,Q,Y),X.child}function KW(J,X){return J!==null&&J.tag===22||X.stateNode!==null||(X.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),X.sibling}function wl(J,X,Y,Z,Q){var $=uE();return $=$===null?null:{parent:R5._currentValue,pool:$},X.memoizedState={baseLanes:Y,cachePool:$},J!==null&&VP(X,null),nk(),Za(X),J!==null&&TH(J,X,Z,!0),X.childLanes=Q,null}function WP(J,X){return X=SP({mode:X.mode,children:X.children},J.mode),X.ref=J.ref,J.child=X,X.return=J,X}function Tl(J,X,Y){return l3(X,J.child,null,Y),J=WP(X,X.pendingProps),J.flags|=2,P9(X),X.memoizedState=null,J}function XH0(J,X,Y){var Z=X.pendingProps,Q=(X.flags&128)!==0;if(X.flags&=-129,J===null){if(n1){if(Z.mode===\"hidden\")return J=WP(X,Z),X.lanes=536870912,KW(null,J);if(tk(X),(J=P8)?(J=Ci(J,jJ),J=J!==null&&J.data===\"&\"?J:null,J!==null&&(X.memoizedState={dehydrated:J,treeContext:x$!==null?{id:ZY,overflow:QY}:null,retryLane:536870912,hydrationErrors:null},Y=as(J),Y.return=X,X.child=Y,D7=X,P8=null)):J=null,J===null)throw b$(X);return X.lanes=536870912,null}return WP(X,Z)}var $=J.memoizedState;if($!==null){var q=$.dehydrated;if(tk(X),Q)if(X.flags&256)X.flags&=-257,X=Tl(J,X,Y);else if(X.memoizedState!==null)X.child=J.child,X.flags|=128,X=null;else throw Error(K0(558));else if(N5||TH(J,X,Y,!1),Q=(Y&J.childLanes)!==0,N5||Q){if(Z=Y8,Z!==null&&(q=Ps(Z,Y),q!==0&&q!==$.retryLane))throw $.retryLane=q,n3(J,q),s4(Z,J,q),$y;gP(),X=Tl(J,X,Y)}else J=$.treeContext,P8=zJ(q.nextSibling),D7=X,n1=!0,N$=null,jJ=!1,J!==null&&rs(X,J),X=WP(X,Z),X.flags|=4096;return X}return J=vZ(J.child,{mode:Z.mode,children:Z.children}),J.ref=X.ref,X.child=J,J.return=X,J}function zP(J,X){var Y=X.ref;if(Y===null)J!==null&&J.ref!==null&&(X.flags|=4194816);else{if(typeof Y!==\"function\"&&typeof Y!==\"object\")throw Error(K0(284));if(J===null||J.ref!==Y)X.flags|=4194816}}function QE(J,X,Y,Z,Q){if(d3(X),Y=aE(J,X,Y,Z,void 0,Q),Z=iE(),J!==null&&!N5)return rE(J,X,Q),dZ(J,X,Q);return n1&&Z&&gE(X),X.flags|=1,A7(J,X,Y,Q),X.child}function Ll(J,X,Y,Z,Q,$){if(d3(X),X.updateQueue=null,Y=$a(X,Z,Y,Q),Qa(J),Z=iE(),J!==null&&!N5)return rE(J,X,$),dZ(J,X,$);return n1&&Z&&gE(X),X.flags|=1,A7(J,X,Y,$),X.child}function Il(J,X,Y,Z,Q){if(d3(X),X.stateNode===null){var $=YH,q=Y.contextType;typeof q===\"object\"&&q!==null&&($=O7(q)),$=new Y(Z,$),X.memoizedState=$.state!==null&&$.state!==void 0?$.state:null,$.updater=YE,X.stateNode=$,$._reactInternals=X,$=X.stateNode,$.props=Z,$.state=X.memoizedState,$.refs={},dE(X),q=Y.contextType,$.context=typeof q===\"object\"&&q!==null?O7(q):YH,$.state=X.memoizedState,q=Y.getDerivedStateFromProps,typeof q===\"function\"&&(Vk(X,Y,q,Z),$.state=X.memoizedState),typeof Y.getDerivedStateFromProps===\"function\"||typeof $.getSnapshotBeforeUpdate===\"function\"||typeof $.UNSAFE_componentWillMount!==\"function\"&&typeof $.componentWillMount!==\"function\"||(q=$.state,typeof $.componentWillMount===\"function\"&&$.componentWillMount(),typeof $.UNSAFE_componentWillMount===\"function\"&&$.UNSAFE_componentWillMount(),q!==$.state&&YE.enqueueReplaceState($,$.state,null),OW(X,Z,$,Q),DW(),$.state=X.memoizedState),typeof $.componentDidMount===\"function\"&&(X.flags|=4194308),Z=!0}else if(J===null){$=X.stateNode;var G=X.memoizedProps,U=a3(Y,G);$.props=U;var H=$.context,V=Y.contextType;q=YH,typeof V===\"object\"&&V!==null&&(q=O7(V));var K=Y.getDerivedStateFromProps;V=typeof K===\"function\"||typeof $.getSnapshotBeforeUpdate===\"function\",G=X.pendingProps!==G,V||typeof $.UNSAFE_componentWillReceiveProps!==\"function\"&&typeof $.componentWillReceiveProps!==\"function\"||(G||H!==q)&&Ol(X,$,Z,q),W$=!1;var j=X.memoizedState;$.state=j,OW(X,Z,$,Q),DW(),H=X.memoizedState,G||j!==H||W$?(typeof K===\"function\"&&(Vk(X,Y,K,Z),H=X.memoizedState),(U=W$||Dl(X,Y,U,Z,j,H,q))?(V||typeof $.UNSAFE_componentWillMount!==\"function\"&&typeof $.componentWillMount!==\"function\"||(typeof $.componentWillMount===\"function\"&&$.componentWillMount(),typeof $.UNSAFE_componentWillMount===\"function\"&&$.UNSAFE_componentWillMount()),typeof $.componentDidMount===\"function\"&&(X.flags|=4194308)):(typeof $.componentDidMount===\"function\"&&(X.flags|=4194308),X.memoizedProps=Z,X.memoizedState=H),$.props=Z,$.state=H,$.context=q,Z=U):(typeof $.componentDidMount===\"function\"&&(X.flags|=4194308),Z=!1)}else{$=X.stateNode,rk(J,X),q=X.memoizedProps,V=a3(Y,q),$.props=V,K=X.pendingProps,j=$.context,H=Y.contextType,U=YH,typeof H===\"object\"&&H!==null&&(U=O7(H)),G=Y.getDerivedStateFromProps,(H=typeof G===\"function\"||typeof $.getSnapshotBeforeUpdate===\"function\")||typeof $.UNSAFE_componentWillReceiveProps!==\"function\"&&typeof $.componentWillReceiveProps!==\"function\"||(q!==K||j!==U)&&Ol(X,$,Z,U),W$=!1,j=X.memoizedState,$.state=j,OW(X,Z,$,Q),DW();var W=X.memoizedState;q!==K||j!==W||W$||J!==null&&J.dependencies!==null&&IP(J.dependencies)?(typeof G===\"function\"&&(Vk(X,Y,G,Z),W=X.memoizedState),(V=W$||Dl(X,Y,V,Z,j,W,U)||J!==null&&J.dependencies!==null&&IP(J.dependencies))?(H||typeof $.UNSAFE_componentWillUpdate!==\"function\"&&typeof $.componentWillUpdate!==\"function\"||(typeof $.componentWillUpdate===\"function\"&&$.componentWillUpdate(Z,W,U),typeof $.UNSAFE_componentWillUpdate===\"function\"&&$.UNSAFE_componentWillUpdate(Z,W,U)),typeof $.componentDidUpdate===\"function\"&&(X.flags|=4),typeof $.getSnapshotBeforeUpdate===\"function\"&&(X.flags|=1024)):(typeof $.componentDidUpdate!==\"function\"||q===J.memoizedProps&&j===J.memoizedState||(X.flags|=4),typeof $.getSnapshotBeforeUpdate!==\"function\"||q===J.memoizedProps&&j===J.memoizedState||(X.flags|=1024),X.memoizedProps=Z,X.memoizedState=W),$.props=Z,$.state=W,$.context=U,Z=V):(typeof $.componentDidUpdate!==\"function\"||q===J.memoizedProps&&j===J.memoizedState||(X.flags|=4),typeof $.getSnapshotBeforeUpdate!==\"function\"||q===J.memoizedProps&&j===J.memoizedState||(X.flags|=1024),Z=!1)}return $=Z,zP(J,X),Z=(X.flags&128)!==0,$||Z?($=X.stateNode,Y=Z&&typeof Y.getDerivedStateFromError!==\"function\"?null:$.render(),X.flags|=1,J!==null&&Z?(X.child=l3(X,J.child,null,Q),X.child=l3(X,null,Y,Q)):A7(J,X,Y,Q),X.memoizedState=$.state,J=X.child):J=dZ(J,X,Q),J}function kl(J,X,Y,Z){return c3(),X.flags|=256,A7(J,X,Y,Z),X.child}var Kk={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function jk(J){return{baseLanes:J,cachePool:ns()}}function Wk(J,X,Y){return J=J!==null?J.childLanes&~Y:0,X&&(J|=O9),J}function ca(J,X,Y){var Z=X.pendingProps,Q=!1,$=(X.flags&128)!==0,q;if((q=$)||(q=J!==null&&J.memoizedState===null?!1:(G5.current&2)!==0),q&&(Q=!0,X.flags&=-129),q=(X.flags&32)!==0,X.flags&=-33,J===null){if(n1){if(Q?F$(X):B$(X),(J=P8)?(J=Ci(J,jJ),J=J!==null&&J.data!==\"&\"?J:null,J!==null&&(X.memoizedState={dehydrated:J,treeContext:x$!==null?{id:ZY,overflow:QY}:null,retryLane:536870912,hydrationErrors:null},Y=as(J),Y.return=X,X.child=Y,D7=X,P8=null)):J=null,J===null)throw b$(X);return DE(J)?X.lanes=32:X.lanes=536870912,null}var G=Z.children;if(Z=Z.fallback,Q)return B$(X),Q=X.mode,G=SP({mode:\"hidden\",children:G},Q),Z=g3(Z,Q,Y,null),G.return=X,Z.return=X,G.sibling=Z,X.child=G,Z=X.child,Z.memoizedState=jk(Y),Z.childLanes=Wk(J,q,Y),X.memoizedState=Kk,KW(null,Z);return F$(X),$E(X,G)}var U=J.memoizedState;if(U!==null&&(G=U.dehydrated,G!==null)){if($)X.flags&256?(F$(X),X.flags&=-257,X=zk(J,X,Y)):X.memoizedState!==null?(B$(X),X.child=J.child,X.flags|=128,X=null):(B$(X),G=Z.fallback,Q=X.mode,Z=SP({mode:\"visible\",children:Z.children},Q),G=g3(G,Q,Y,null),G.flags|=2,Z.return=X,G.return=X,Z.sibling=G,X.child=Z,l3(X,J.child,null,Y),Z=X.child,Z.memoizedState=jk(Y),Z.childLanes=Wk(J,q,Y),X.memoizedState=Kk,X=KW(null,Z));else if(F$(X),DE(G)){if(q=G.nextSibling&&G.nextSibling.dataset,q)var H=q.dgst;q=H,Z=Error(K0(419)),Z.stack=\"\",Z.digest=q,bW({value:Z,source:null,stack:null}),X=zk(J,X,Y)}else if(N5||TH(J,X,Y,!1),q=(Y&J.childLanes)!==0,N5||q){if(q=Y8,q!==null&&(Z=Ps(q,Y),Z!==0&&Z!==U.retryLane))throw U.retryLane=Z,n3(J,Z),s4(q,J,Z),$y;PE(G)||gP(),X=zk(J,X,Y)}else PE(G)?(X.flags|=192,X.child=J.child,X=null):(J=U.treeContext,P8=zJ(G.nextSibling),D7=X,n1=!0,N$=null,jJ=!1,J!==null&&rs(X,J),X=$E(X,Z.children),X.flags|=4096);return X}if(Q)return B$(X),G=Z.fallback,Q=X.mode,U=J.child,H=U.sibling,Z=vZ(U,{mode:\"hidden\",children:Z.children}),Z.subtreeFlags=U.subtreeFlags&65011712,H!==null?G=vZ(H,G):(G=g3(G,Q,Y,null),G.flags|=2),G.return=X,Z.return=X,Z.sibling=G,X.child=Z,KW(null,Z),Z=X.child,G=J.child.memoizedState,G===null?G=jk(Y):(Q=G.cachePool,Q!==null?(U=R5._currentValue,Q=Q.parent!==U?{parent:U,pool:U}:Q):Q=ns(),G={baseLanes:G.baseLanes|Y,cachePool:Q}),Z.memoizedState=G,Z.childLanes=Wk(J,q,Y),X.memoizedState=Kk,KW(J.child,Z);return F$(X),Y=J.child,J=Y.sibling,Y=vZ(Y,{mode:\"visible\",children:Z.children}),Y.return=X,Y.sibling=null,J!==null&&(q=X.deletions,q===null?(X.deletions=[J],X.flags|=16):q.push(J)),X.child=Y,X.memoizedState=null,Y}function $E(J,X){return X=SP({mode:\"visible\",children:X},J.mode),X.return=J,J.child=X}function SP(J,X){return J=D9(22,J,null,X),J.lanes=0,J}function zk(J,X,Y){return l3(X,J.child,null,Y),J=$E(X,X.pendingProps.children),J.flags|=2,X.memoizedState=null,J}function El(J,X,Y){J.lanes|=X;var Z=J.alternate;Z!==null&&(Z.lanes|=X),sk(J.return,X,Y)}function Fk(J,X,Y,Z,Q,$){var q=J.memoizedState;q===null?J.memoizedState={isBackwards:X,rendering:null,renderingStartTime:0,last:Z,tail:Y,tailMode:Q,treeForkCount:$}:(q.isBackwards=X,q.rendering=null,q.renderingStartTime=0,q.last=Z,q.tail=Y,q.tailMode=Q,q.treeForkCount=$)}function da(J,X,Y){var Z=X.pendingProps,Q=Z.revealOrder,$=Z.tail;Z=Z.children;var q=G5.current,G=(q&2)!==0;if(G?(q=q&1|2,X.flags|=128):q&=1,G8(G5,q),A7(J,X,Z,Y),Z=n1?xW:0,!G&&J!==null&&(J.flags&128)!==0)J:for(J=X.child;J!==null;){if(J.tag===13)J.memoizedState!==null&&El(J,Y,X);else if(J.tag===19)El(J,Y,X);else if(J.child!==null){J.child.return=J,J=J.child;continue}if(J===X)break J;for(;J.sibling===null;){if(J.return===null||J.return===X)break J;J=J.return}J.sibling.return=J.return,J=J.sibling}switch(Q){case\"forwards\":Y=X.child;for(Q=null;Y!==null;)J=Y.alternate,J!==null&&yP(J)===null&&(Q=Y),Y=Y.sibling;Y=Q,Y===null?(Q=X.child,X.child=null):(Q=Y.sibling,Y.sibling=null),Fk(X,!1,Q,Y,$,Z);break;case\"backwards\":case\"unstable_legacy-backwards\":Y=null,Q=X.child;for(X.child=null;Q!==null;){if(J=Q.alternate,J!==null&&yP(J)===null){X.child=Q;break}J=Q.sibling,Q.sibling=Y,Y=Q,Q=J}Fk(X,!0,Y,null,$,Z);break;case\"together\":Fk(X,!1,null,null,void 0,Z);break;default:X.memoizedState=null}return X.child}function dZ(J,X,Y){if(J!==null&&(X.dependencies=J.dependencies),S$|=X.lanes,(Y&X.childLanes)===0)if(J!==null){if(TH(J,X,Y,!1),(Y&X.childLanes)===0)return null}else return null;if(J!==null&&X.child!==J.child)throw Error(K0(153));if(X.child!==null){J=X.child,Y=vZ(J,J.pendingProps),X.child=Y;for(Y.return=X;J.sibling!==null;)J=J.sibling,Y=Y.sibling=vZ(J,J.pendingProps),Y.return=X;Y.sibling=null}return X.child}function qy(J,X){if((J.lanes&X)!==0)return!0;return J=J.dependencies,J!==null&&IP(J)?!0:!1}function YH0(J,X,Y){switch(X.tag){case 3:OP(X,X.stateNode.containerInfo),z$(X,R5,J.memoizedState.cache),c3();break;case 27:case 5:bk(X);break;case 4:OP(X,X.stateNode.containerInfo);break;case 10:z$(X,X.type,X.memoizedProps.value);break;case 31:if(X.memoizedState!==null)return X.flags|=128,tk(X),null;break;case 13:var Z=X.memoizedState;if(Z!==null){if(Z.dehydrated!==null)return F$(X),X.flags|=128,null;if((Y&X.child.childLanes)!==0)return ca(J,X,Y);return F$(X),J=dZ(J,X,Y),J!==null?J.sibling:null}F$(X);break;case 19:var Q=(J.flags&128)!==0;if(Z=(Y&X.childLanes)!==0,Z||(TH(J,X,Y,!1),Z=(Y&X.childLanes)!==0),Q){if(Z)return da(J,X,Y);X.flags|=128}if(Q=X.memoizedState,Q!==null&&(Q.rendering=null,Q.tail=null,Q.lastEffect=null),G8(G5,G5.current),Z)break;else return null;case 22:return X.lanes=0,ua(J,X,Y,X.pendingProps);case 24:z$(X,R5,J.memoizedState.cache)}return dZ(J,X,Y)}function la(J,X,Y){if(J!==null)if(J.memoizedProps!==X.pendingProps)N5=!0;else{if(!qy(J,Y)&&(X.flags&128)===0)return N5=!1,YH0(J,X,Y);N5=(J.flags&131072)!==0?!0:!1}else N5=!1,n1&&(X.flags&1048576)!==0&&is(X,xW,X.index);switch(X.lanes=0,X.tag){case 16:J:{var Z=X.pendingProps;if(J=f3(X.elementType),X.type=J,typeof J===\"function\")vE(J)?(Z=a3(J,Z),X.tag=1,X=Il(null,X,J,Z,Y)):(X.tag=0,X=QE(null,X,J,Z,Y));else{if(J!==void 0&&J!==null){var Q=J.$$typeof;if(Q===NE){X.tag=11,X=Rl(null,X,J,Z,Y);break J}else if(Q===wE){X.tag=14,X=Nl(null,X,J,Z,Y);break J}}throw X=yk(J)||J,Error(K0(306,X,\"\"))}}return X;case 0:return QE(J,X,X.type,X.pendingProps,Y);case 1:return Z=X.type,Q=a3(Z,X.pendingProps),Il(J,X,Z,Q,Y);case 3:J:{if(OP(X,X.stateNode.containerInfo),J===null)throw Error(K0(387));Z=X.pendingProps;var $=X.memoizedState;Q=$.element,rk(J,X),OW(X,Z,null,Y);var q=X.memoizedState;if(Z=q.cache,z$(X,R5,Z),Z!==$.cache&&ak(X,[R5],Y,!0),DW(),Z=q.element,$.isDehydrated)if($={element:Z,isDehydrated:!1,cache:q.cache},X.updateQueue.baseState=$,X.memoizedState=$,X.flags&256){X=kl(J,X,Z,Y);break J}else if(Z!==Q){Q=KJ(Error(K0(424)),X),bW(Q),X=kl(J,X,Z,Y);break J}else{switch(J=X.stateNode.containerInfo,J.nodeType){case 9:J=J.body;break;default:J=J.nodeName===\"HTML\"?J.ownerDocument.body:J}P8=zJ(J.firstChild),D7=X,n1=!0,N$=null,jJ=!0,Y=Ja(X,null,Z,Y);for(X.child=Y;Y;)Y.flags=Y.flags&-3|4096,Y=Y.sibling}else{if(c3(),Z===Q){X=dZ(J,X,Y);break J}A7(J,X,Z,Y)}X=X.child}return X;case 26:return zP(J,X),J===null?(Y=ol(X.type,null,X.pendingProps,null))?X.memoizedState=Y:n1||(Y=X.type,J=X.pendingProps,Z=cP(R$.current).createElement(Y),Z[P7]=X,Z[a4]=J,M7(Z,Y,J),e5(Z),X.stateNode=Z):X.memoizedState=ol(X.type,J.memoizedProps,X.pendingProps,J.memoizedState),null;case 27:return bk(X),J===null&&n1&&(Z=X.stateNode=Si(X.type,X.pendingProps,R$.current),D7=X,jJ=!0,Q=P8,h$(X.type)?(OE=Q,P8=zJ(Z.firstChild)):P8=Q),A7(J,X,X.pendingProps.children,Y),zP(J,X),J===null&&(X.flags|=4194304),X.child;case 5:if(J===null&&n1){if(Q=Z=P8)Z=EH0(Z,X.type,X.pendingProps,jJ),Z!==null?(X.stateNode=Z,D7=X,P8=zJ(Z.firstChild),jJ=!1,Q=!0):Q=!1;Q||b$(X)}return bk(X),Q=X.type,$=X.pendingProps,q=J!==null?J.memoizedProps:null,Z=$.children,_E(Q,$)?Z=null:q!==null&&_E(Q,q)&&(X.flags|=32),X.memoizedState!==null&&(Q=aE(J,X,aU0,null,null,Y),gW._currentValue=Q),zP(J,X),A7(J,X,Z,Y),X.child;case 6:if(J===null&&n1){if(J=Y=P8)Y=yH0(Y,X.pendingProps,jJ),Y!==null?(X.stateNode=Y,D7=X,P8=null,J=!0):J=!1;J||b$(X)}return null;case 13:return ca(J,X,Y);case 4:return OP(X,X.stateNode.containerInfo),Z=X.pendingProps,J===null?X.child=l3(X,null,Z,Y):A7(J,X,Z,Y),X.child;case 11:return Rl(J,X,X.type,X.pendingProps,Y);case 7:return A7(J,X,X.pendingProps,Y),X.child;case 8:return A7(J,X,X.pendingProps.children,Y),X.child;case 12:return A7(J,X,X.pendingProps.children,Y),X.child;case 10:return Z=X.pendingProps,z$(X,X.type,Z.value),A7(J,X,Z.children,Y),X.child;case 9:return Q=X.type._context,Z=X.pendingProps.children,d3(X),Q=O7(Q),Z=Z(Q),X.flags|=1,A7(J,X,Z,Y),X.child;case 14:return Nl(J,X,X.type,X.pendingProps,Y);case 15:return ma(J,X,X.type,X.pendingProps,Y);case 19:return da(J,X,Y);case 31:return XH0(J,X,Y);case 22:return ua(J,X,Y,X.pendingProps);case 24:return d3(X),Z=O7(R5),J===null?(Q=uE(),Q===null&&(Q=Y8,$=mE(),Q.pooledCache=$,$.refCount++,$!==null&&(Q.pooledCacheLanes|=Y),Q=$),X.memoizedState={parent:Z,cache:Q},dE(X),z$(X,R5,Q)):((J.lanes&Y)!==0&&(rk(J,X),OW(X,null,null,Y),DW()),Q=J.memoizedState,$=X.memoizedState,Q.parent!==Z?(Q={parent:Z,cache:Z},X.memoizedState=Q,X.lanes===0&&(X.memoizedState=X.updateQueue.baseState=Q),z$(X,R5,Z)):(Z=$.cache,z$(X,R5,Z),Z!==Q.cache&&ak(X,[R5],Y,!0))),A7(J,X,X.pendingProps.children,Y),X.child;case 29:throw X.pendingProps}throw Error(K0(156,X.tag))}function kZ(J){J.flags|=4}function Bk(J,X,Y,Z,Q){if(X=(J.mode&32)!==0)X=!1;if(X){if(J.flags|=16777216,(Q&335544128)===Q)if(J.stateNode.complete)J.flags|=8192;else if(Fi())J.flags|=8192;else throw m3=kP,cE}else J.flags&=-16777217}function yl(J,X){if(X.type!==\"stylesheet\"||(X.state.loading&4)!==0)J.flags&=-16777217;else if(J.flags|=16777216,!vi(X))if(Fi())J.flags|=8192;else throw m3=kP,cE}function eA(J,X){X!==null&&(J.flags|=4),J.flags&16384&&(X=J.tag!==22?Bs():536870912,J.lanes|=X,PH|=X)}function ZW(J,X){if(!n1)switch(J.tailMode){case\"hidden\":X=J.tail;for(var Y=null;X!==null;)X.alternate!==null&&(Y=X),X=X.sibling;Y===null?J.tail=null:Y.sibling=null;break;case\"collapsed\":Y=J.tail;for(var Z=null;Y!==null;)Y.alternate!==null&&(Z=Y),Y=Y.sibling;Z===null?X||J.tail===null?J.tail=null:J.tail.sibling=null:Z.sibling=null}}function A8(J){var X=J.alternate!==null&&J.alternate.child===J.child,Y=0,Z=0;if(X)for(var Q=J.child;Q!==null;)Y|=Q.lanes|Q.childLanes,Z|=Q.subtreeFlags&65011712,Z|=Q.flags&65011712,Q.return=J,Q=Q.sibling;else for(Q=J.child;Q!==null;)Y|=Q.lanes|Q.childLanes,Z|=Q.subtreeFlags,Z|=Q.flags,Q.return=J,Q=Q.sibling;return J.subtreeFlags|=Z,J.childLanes=Y,X}function ZH0(J,X,Y){var Z=X.pendingProps;switch(pE(X),X.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return A8(X),null;case 1:return A8(X),null;case 3:if(Y=X.stateNode,Z=null,J!==null&&(Z=J.memoizedState.cache),X.memoizedState.cache!==Z&&(X.flags|=2048),gZ(R5),WH(),Y.pendingContext&&(Y.context=Y.pendingContext,Y.pendingContext=null),J===null||J.child===null)cU(X)?kZ(X):J===null||J.memoizedState.isDehydrated&&(X.flags&256)===0||(X.flags|=1024,Gk());return A8(X),null;case 26:var{type:Q,memoizedState:$}=X;return J===null?(kZ(X),$!==null?(A8(X),yl(X,$)):(A8(X),Bk(X,Q,null,Z,Y))):$?$!==J.memoizedState?(kZ(X),A8(X),yl(X,$)):(A8(X),X.flags&=-16777217):(J=J.memoizedProps,J!==Z&&kZ(X),A8(X),Bk(X,Q,J,Z,Y)),null;case 27:if(MP(X),Y=R$.current,Q=X.type,J!==null&&X.stateNode!=null)J.memoizedProps!==Z&&kZ(X);else{if(!Z){if(X.stateNode===null)throw Error(K0(166));return A8(X),null}J=qY.current,cU(X)?ql(X,J):(J=Si(Q,Z,Y),X.stateNode=J,kZ(X))}return A8(X),null;case 5:if(MP(X),Q=X.type,J!==null&&X.stateNode!=null)J.memoizedProps!==Z&&kZ(X);else{if(!Z){if(X.stateNode===null)throw Error(K0(166));return A8(X),null}if($=qY.current,cU(X))ql(X,$);else{var q=cP(R$.current);switch($){case 1:$=q.createElementNS(\"http://www.w3.org/2000/svg\",Q);break;case 2:$=q.createElementNS(\"http://www.w3.org/1998/Math/MathML\",Q);break;default:switch(Q){case\"svg\":$=q.createElementNS(\"http://www.w3.org/2000/svg\",Q);break;case\"math\":$=q.createElementNS(\"http://www.w3.org/1998/Math/MathML\",Q);break;case\"script\":$=q.createElement(\"div\"),$.innerHTML=\"<script></script>\",$=$.removeChild($.firstChild);break;case\"select\":$=typeof Z.is===\"string\"?q.createElement(\"select\",{is:Z.is}):q.createElement(\"select\"),Z.multiple?$.multiple=!0:Z.size&&($.size=Z.size);break;default:$=typeof Z.is===\"string\"?q.createElement(Q,{is:Z.is}):q.createElement(Q)}}$[P7]=X,$[a4]=Z;J:for(q=X.child;q!==null;){if(q.tag===5||q.tag===6)$.appendChild(q.stateNode);else if(q.tag!==4&&q.tag!==27&&q.child!==null){q.child.return=q,q=q.child;continue}if(q===X)break J;for(;q.sibling===null;){if(q.return===null||q.return===X)break J;q=q.return}q.sibling.return=q.return,q=q.sibling}X.stateNode=$;J:switch(M7($,Q,Z),Q){case\"button\":case\"input\":case\"select\":case\"textarea\":Z=!!Z.autoFocus;break J;case\"img\":Z=!0;break J;default:Z=!1}Z&&kZ(X)}}return A8(X),Bk(X,X.type,J===null?null:J.memoizedProps,X.pendingProps,Y),null;case 6:if(J&&X.stateNode!=null)J.memoizedProps!==Z&&kZ(X);else{if(typeof Z!==\"string\"&&X.stateNode===null)throw Error(K0(166));if(J=R$.current,cU(X)){if(J=X.stateNode,Y=X.memoizedProps,Z=null,Q=D7,Q!==null)switch(Q.tag){case 27:case 5:Z=Q.memoizedProps}J[P7]=X,J=J.nodeValue===Y||Z!==null&&Z.suppressHydrationWarning===!0||yi(J.nodeValue,Y)?!0:!1,J||b$(X,!0)}else J=cP(J).createTextNode(Z),J[P7]=X,X.stateNode=J}return A8(X),null;case 31:if(Y=X.memoizedState,J===null||J.memoizedState!==null){if(Z=cU(X),Y!==null){if(J===null){if(!Z)throw Error(K0(318));if(J=X.memoizedState,J=J!==null?J.dehydrated:null,!J)throw Error(K0(557));J[P7]=X}else c3(),(X.flags&128)===0&&(X.memoizedState=null),X.flags|=4;A8(X),J=!1}else Y=Gk(),J!==null&&J.memoizedState!==null&&(J.memoizedState.hydrationErrors=Y),J=!0;if(!J){if(X.flags&256)return P9(X),X;return P9(X),null}if((X.flags&128)!==0)throw Error(K0(558))}return A8(X),null;case 13:if(Z=X.memoizedState,J===null||J.memoizedState!==null&&J.memoizedState.dehydrated!==null){if(Q=cU(X),Z!==null&&Z.dehydrated!==null){if(J===null){if(!Q)throw Error(K0(318));if(Q=X.memoizedState,Q=Q!==null?Q.dehydrated:null,!Q)throw Error(K0(317));Q[P7]=X}else c3(),(X.flags&128)===0&&(X.memoizedState=null),X.flags|=4;A8(X),Q=!1}else Q=Gk(),J!==null&&J.memoizedState!==null&&(J.memoizedState.hydrationErrors=Q),Q=!0;if(!Q){if(X.flags&256)return P9(X),X;return P9(X),null}}if(P9(X),(X.flags&128)!==0)return X.lanes=Y,X;return Y=Z!==null,J=J!==null&&J.memoizedState!==null,Y&&(Z=X.child,Q=null,Z.alternate!==null&&Z.alternate.memoizedState!==null&&Z.alternate.memoizedState.cachePool!==null&&(Q=Z.alternate.memoizedState.cachePool.pool),$=null,Z.memoizedState!==null&&Z.memoizedState.cachePool!==null&&($=Z.memoizedState.cachePool.pool),$!==Q&&(Z.flags|=2048)),Y!==J&&Y&&(X.child.flags|=8192),eA(X,X.updateQueue),A8(X),null;case 4:return WH(),J===null&&Wy(X.stateNode.containerInfo),A8(X),null;case 10:return gZ(X.type),A8(X),null;case 19:if(J7(G5),Z=X.memoizedState,Z===null)return A8(X),null;if(Q=(X.flags&128)!==0,$=Z.rendering,$===null)if(Q)ZW(Z,!1);else{if(l8!==0||J!==null&&(J.flags&128)!==0)for(J=X.child;J!==null;){if($=yP(J),$!==null){X.flags|=128,ZW(Z,!1),J=$.updateQueue,X.updateQueue=J,eA(X,J),X.subtreeFlags=0,J=Y;for(Y=X.child;Y!==null;)ss(Y,J),Y=Y.sibling;return G8(G5,G5.current&1|2),n1&&bZ(X,Z.treeForkCount),X.child}J=J.sibling}Z.tail!==null&&M9()>hP&&(X.flags|=128,Q=!0,ZW(Z,!1),X.lanes=4194304)}else{if(!Q)if(J=yP($),J!==null){if(X.flags|=128,Q=!0,J=J.updateQueue,X.updateQueue=J,eA(X,J),ZW(Z,!0),Z.tail===null&&Z.tailMode===\"hidden\"&&!$.alternate&&!n1)return A8(X),null}else 2*M9()-Z.renderingStartTime>hP&&Y!==536870912&&(X.flags|=128,Q=!0,ZW(Z,!1),X.lanes=4194304);Z.isBackwards?($.sibling=X.child,X.child=$):(J=Z.last,J!==null?J.sibling=$:X.child=$,Z.last=$)}if(Z.tail!==null)return J=Z.tail,Z.rendering=J,Z.tail=J.sibling,Z.renderingStartTime=M9(),J.sibling=null,Y=G5.current,G8(G5,Q?Y&1|2:Y&1),n1&&bZ(X,Z.treeForkCount),J;return A8(X),null;case 22:case 23:return P9(X),lE(),Z=X.memoizedState!==null,J!==null?J.memoizedState!==null!==Z&&(X.flags|=8192):Z&&(X.flags|=8192),Z?(Y&536870912)!==0&&(X.flags&128)===0&&(A8(X),X.subtreeFlags&6&&(X.flags|=8192)):A8(X),Y=X.updateQueue,Y!==null&&eA(X,Y.retryQueue),Y=null,J!==null&&J.memoizedState!==null&&J.memoizedState.cachePool!==null&&(Y=J.memoizedState.cachePool.pool),Z=null,X.memoizedState!==null&&X.memoizedState.cachePool!==null&&(Z=X.memoizedState.cachePool.pool),Z!==Y&&(X.flags|=2048),J!==null&&J7(p3),null;case 24:return Y=null,J!==null&&(Y=J.memoizedState.cache),X.memoizedState.cache!==Y&&(X.flags|=2048),gZ(R5),A8(X),null;case 25:return null;case 30:return null}throw Error(K0(156,X.tag))}function QH0(J,X){switch(pE(X),X.tag){case 1:return J=X.flags,J&65536?(X.flags=J&-65537|128,X):null;case 3:return gZ(R5),WH(),J=X.flags,(J&65536)!==0&&(J&128)===0?(X.flags=J&-65537|128,X):null;case 26:case 27:case 5:return MP(X),null;case 31:if(X.memoizedState!==null){if(P9(X),X.alternate===null)throw Error(K0(340));c3()}return J=X.flags,J&65536?(X.flags=J&-65537|128,X):null;case 13:if(P9(X),J=X.memoizedState,J!==null&&J.dehydrated!==null){if(X.alternate===null)throw Error(K0(340));c3()}return J=X.flags,J&65536?(X.flags=J&-65537|128,X):null;case 19:return J7(G5),null;case 4:return WH(),null;case 10:return gZ(X.type),null;case 22:case 23:return P9(X),lE(),J!==null&&J7(p3),J=X.flags,J&65536?(X.flags=J&-65537|128,X):null;case 24:return gZ(R5),null;case 25:return null;default:return null}}function sa(J,X){switch(pE(X),X.tag){case 3:gZ(R5),WH();break;case 26:case 27:case 5:MP(X);break;case 4:WH();break;case 31:X.memoizedState!==null&&P9(X);break;case 13:P9(X);break;case 19:J7(G5);break;case 10:gZ(X.type);break;case 22:case 23:P9(X),lE(),J!==null&&J7(p3);break;case 24:gZ(R5)}}function oW(J,X){try{var Y=X.updateQueue,Z=Y!==null?Y.lastEffect:null;if(Z!==null){var Q=Z.next;Y=Q;do{if((Y.tag&J)===J){Z=void 0;var{create:$,inst:q}=Y;Z=$(),q.destroy=Z}Y=Y.next}while(Y!==Q)}}catch(G){p6(X,X.return,G)}}function C$(J,X,Y){try{var Z=X.updateQueue,Q=Z!==null?Z.lastEffect:null;if(Q!==null){var $=Q.next;Z=$;do{if((Z.tag&J)===J){var q=Z.inst,G=q.destroy;if(G!==void 0){q.destroy=void 0,Q=X;var U=Y,H=G;try{H()}catch(V){p6(Q,U,V)}}}Z=Z.next}while(Z!==$)}}catch(V){p6(X,X.return,V)}}function aa(J){var X=J.updateQueue;if(X!==null){var Y=J.stateNode;try{Ya(X,Y)}catch(Z){p6(J,J.return,Z)}}}function ia(J,X,Y){Y.props=a3(J.type,J.memoizedProps),Y.state=J.memoizedState;try{Y.componentWillUnmount()}catch(Z){p6(J,X,Z)}}function RW(J,X){try{var Y=J.ref;if(Y!==null){switch(J.tag){case 26:case 27:case 5:var Z=J.stateNode;break;case 30:Z=J.stateNode;break;default:Z=J.stateNode}typeof Y===\"function\"?J.refCleanup=Y(Z):Y.current=Z}}catch(Q){p6(J,X,Q)}}function $Y(J,X){var{ref:Y,refCleanup:Z}=J;if(Y!==null)if(typeof Z===\"function\")try{Z()}catch(Q){p6(J,X,Q)}finally{J.refCleanup=null,J=J.alternate,J!=null&&(J.refCleanup=null)}else if(typeof Y===\"function\")try{Y(null)}catch(Q){p6(J,X,Q)}else Y.current=null}function ra(J){var{type:X,memoizedProps:Y,stateNode:Z}=J;try{J:switch(X){case\"button\":case\"input\":case\"select\":case\"textarea\":Y.autoFocus&&Z.focus();break J;case\"img\":Y.src?Z.src=Y.src:Y.srcSet&&(Z.srcset=Y.srcSet)}}catch(Q){p6(J,J.return,Q)}}function _k(J,X,Y){try{var Z=J.stateNode;NH0(Z,J.type,Y,X),Z[a4]=X}catch(Q){p6(J,J.return,Q)}}function oa(J){return J.tag===5||J.tag===3||J.tag===26||J.tag===27&&h$(J.type)||J.tag===4}function Ak(J){J:for(;;){for(;J.sibling===null;){if(J.return===null||oa(J.return))return null;J=J.return}J.sibling.return=J.return;for(J=J.sibling;J.tag!==5&&J.tag!==6&&J.tag!==18;){if(J.tag===27&&h$(J.type))continue J;if(J.flags&2)continue J;if(J.child===null||J.tag===4)continue J;else J.child.return=J,J=J.child}if(!(J.flags&2))return J.stateNode}}function qE(J,X,Y){var Z=J.tag;if(Z===5||Z===6)J=J.stateNode,X?(Y.nodeType===9?Y.body:Y.nodeName===\"HTML\"?Y.ownerDocument.body:Y).insertBefore(J,X):(X=Y.nodeType===9?Y.body:Y.nodeName===\"HTML\"?Y.ownerDocument.body:Y,X.appendChild(J),Y=Y._reactRootContainer,Y!==null&&Y!==void 0||X.onclick!==null||(X.onclick=fZ));else if(Z!==4&&(Z===27&&h$(J.type)&&(Y=J.stateNode,X=null),J=J.child,J!==null))for(qE(J,X,Y),J=J.sibling;J!==null;)qE(J,X,Y),J=J.sibling}function fP(J,X,Y){var Z=J.tag;if(Z===5||Z===6)J=J.stateNode,X?Y.insertBefore(J,X):Y.appendChild(J);else if(Z!==4&&(Z===27&&h$(J.type)&&(Y=J.stateNode),J=J.child,J!==null))for(fP(J,X,Y),J=J.sibling;J!==null;)fP(J,X,Y),J=J.sibling}function na(J){var{stateNode:X,memoizedProps:Y}=J;try{for(var Z=J.type,Q=X.attributes;Q.length;)X.removeAttributeNode(Q[0]);M7(X,Z,Y),X[P7]=J,X[a4]=Y}catch($){p6(J,J.return,$)}}var CZ=!1,M5=!1,Pk=!1,xl=typeof WeakSet===\"function\"?WeakSet:Set,t5=null;function $H0(J,X){if(J=J.containerInfo,FE=aP,J=vs(J),SE(J)){if(\"selectionStart\"in J)var Y={start:J.selectionStart,end:J.selectionEnd};else J:{Y=(Y=J.ownerDocument)&&Y.defaultView||window;var Z=Y.getSelection&&Y.getSelection();if(Z&&Z.rangeCount!==0){Y=Z.anchorNode;var{anchorOffset:Q,focusNode:$}=Z;Z=Z.focusOffset;try{Y.nodeType,$.nodeType}catch(B){Y=null;break J}var q=0,G=-1,U=-1,H=0,V=0,K=J,j=null;X:for(;;){for(var W;;){if(K!==Y||Q!==0&&K.nodeType!==3||(G=q+Q),K!==$||Z!==0&&K.nodeType!==3||(U=q+Z),K.nodeType===3&&(q+=K.nodeValue.length),(W=K.firstChild)===null)break;j=K,K=W}for(;;){if(K===J)break X;if(j===Y&&++H===Q&&(G=q),j===$&&++V===Z&&(U=q),(W=K.nextSibling)!==null)break;K=j,j=K.parentNode}K=W}Y=G===-1||U===-1?null:{start:G,end:U}}else Y=null}Y=Y||{start:0,end:0}}else Y=null;BE={focusedElem:J,selectionRange:Y},aP=!1;for(t5=X;t5!==null;)if(X=t5,J=X.child,(X.subtreeFlags&1028)!==0&&J!==null)J.return=X,t5=J;else for(;t5!==null;){switch(X=t5,$=X.alternate,J=X.flags,X.tag){case 0:if((J&4)!==0&&(J=X.updateQueue,J=J!==null?J.events:null,J!==null))for(Y=0;Y<J.length;Y++)Q=J[Y],Q.ref.impl=Q.nextImpl;break;case 11:case 15:break;case 1:if((J&1024)!==0&&$!==null){J=void 0,Y=X,Q=$.memoizedProps,$=$.memoizedState,Z=Y.stateNode;try{var z=a3(Y.type,Q);J=Z.getSnapshotBeforeUpdate(z,$),Z.__reactInternalSnapshotBeforeUpdate=J}catch(B){p6(Y,Y.return,B)}}break;case 3:if((J&1024)!==0){if(J=X.stateNode.containerInfo,Y=J.nodeType,Y===9)AE(J);else if(Y===1)switch(J.nodeName){case\"HEAD\":case\"HTML\":case\"BODY\":AE(J);break;default:J.textContent=\"\"}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((J&1024)!==0)throw Error(K0(163))}if(J=X.sibling,J!==null){J.return=X.return,t5=J;break}t5=X.return}}function ta(J,X,Y){var Z=Y.flags;switch(Y.tag){case 0:case 11:case 15:yZ(J,Y),Z&4&&oW(5,Y);break;case 1:if(yZ(J,Y),Z&4)if(J=Y.stateNode,X===null)try{J.componentDidMount()}catch(q){p6(Y,Y.return,q)}else{var Q=a3(Y.type,X.memoizedProps);X=X.memoizedState;try{J.componentDidUpdate(Q,X,J.__reactInternalSnapshotBeforeUpdate)}catch(q){p6(Y,Y.return,q)}}Z&64&&aa(Y),Z&512&&RW(Y,Y.return);break;case 3:if(yZ(J,Y),Z&64&&(J=Y.updateQueue,J!==null)){if(X=null,Y.child!==null)switch(Y.child.tag){case 27:case 5:X=Y.child.stateNode;break;case 1:X=Y.child.stateNode}try{Ya(J,X)}catch(q){p6(Y,Y.return,q)}}break;case 27:X===null&&Z&4&&na(Y);case 26:case 5:yZ(J,Y),X===null&&Z&4&&ra(Y),Z&512&&RW(Y,Y.return);break;case 12:yZ(J,Y);break;case 31:yZ(J,Y),Z&4&&Xi(J,Y);break;case 13:yZ(J,Y),Z&4&&Yi(J,Y),Z&64&&(J=Y.memoizedState,J!==null&&(J=J.dehydrated,J!==null&&(Y=zH0.bind(null,Y),xH0(J,Y))));break;case 22:if(Z=Y.memoizedState!==null||CZ,!Z){X=X!==null&&X.memoizedState!==null||M5,Q=CZ;var $=M5;CZ=Z,(M5=X)&&!$?xZ(J,Y,(Y.subtreeFlags&8772)!==0):yZ(J,Y),CZ=Q,M5=$}break;case 30:break;default:yZ(J,Y)}}function ea(J){var X=J.alternate;X!==null&&(J.alternate=null,ea(X)),J.child=null,J.deletions=null,J.sibling=null,J.tag===5&&(X=J.stateNode,X!==null&&kE(X)),J.stateNode=null,J.return=null,J.dependencies=null,J.memoizedProps=null,J.memoizedState=null,J.pendingProps=null,J.stateNode=null,J.updateQueue=null}var T8=null,d4=!1;function EZ(J,X,Y){for(Y=Y.child;Y!==null;)Ji(J,X,Y),Y=Y.sibling}function Ji(J,X,Y){if(R9&&typeof R9.onCommitFiberUnmount===\"function\")try{R9.onCommitFiberUnmount(cW,Y)}catch($){}switch(Y.tag){case 26:M5||$Y(Y,X),EZ(J,X,Y),Y.memoizedState?Y.memoizedState.count--:Y.stateNode&&(Y=Y.stateNode,Y.parentNode.removeChild(Y));break;case 27:M5||$Y(Y,X);var Z=T8,Q=d4;h$(Y.type)&&(T8=Y.stateNode,d4=!1),EZ(J,X,Y),LW(Y.stateNode),T8=Z,d4=Q;break;case 5:M5||$Y(Y,X);case 6:if(Z=T8,Q=d4,T8=null,EZ(J,X,Y),T8=Z,d4=Q,T8!==null)if(d4)try{(T8.nodeType===9?T8.body:T8.nodeName===\"HTML\"?T8.ownerDocument.body:T8).removeChild(Y.stateNode)}catch($){p6(Y,X,$)}else try{T8.removeChild(Y.stateNode)}catch($){p6(Y,X,$)}break;case 18:T8!==null&&(d4?(J=T8,ll(J.nodeType===9?J.body:J.nodeName===\"HTML\"?J.ownerDocument.body:J,Y.stateNode),RH(J)):ll(T8,Y.stateNode));break;case 4:Z=T8,Q=d4,T8=Y.stateNode.containerInfo,d4=!0,EZ(J,X,Y),T8=Z,d4=Q;break;case 0:case 11:case 14:case 15:C$(2,Y,X),M5||C$(4,Y,X),EZ(J,X,Y);break;case 1:M5||($Y(Y,X),Z=Y.stateNode,typeof Z.componentWillUnmount===\"function\"&&ia(Y,X,Z)),EZ(J,X,Y);break;case 21:EZ(J,X,Y);break;case 22:M5=(Z=M5)||Y.memoizedState!==null,EZ(J,X,Y),M5=Z;break;default:EZ(J,X,Y)}}function Xi(J,X){if(X.memoizedState===null&&(J=X.alternate,J!==null&&(J=J.memoizedState,J!==null))){J=J.dehydrated;try{RH(J)}catch(Y){p6(X,X.return,Y)}}}function Yi(J,X){if(X.memoizedState===null&&(J=X.alternate,J!==null&&(J=J.memoizedState,J!==null&&(J=J.dehydrated,J!==null))))try{RH(J)}catch(Y){p6(X,X.return,Y)}}function qH0(J){switch(J.tag){case 31:case 13:case 19:var X=J.stateNode;return X===null&&(X=J.stateNode=new xl),X;case 22:return J=J.stateNode,X=J._retryCache,X===null&&(X=J._retryCache=new xl),X;default:throw Error(K0(435,J.tag))}}function JP(J,X){var Y=qH0(J);X.forEach(function(Z){if(!Y.has(Z)){Y.add(Z);var Q=FH0.bind(null,J,Z);Z.then(Q,Q)}})}function u4(J,X){var Y=X.deletions;if(Y!==null)for(var Z=0;Z<Y.length;Z++){var Q=Y[Z],$=J,q=X,G=q;J:for(;G!==null;){switch(G.tag){case 27:if(h$(G.type)){T8=G.stateNode,d4=!1;break J}break;case 5:T8=G.stateNode,d4=!1;break J;case 3:case 4:T8=G.stateNode.containerInfo,d4=!0;break J}G=G.return}if(T8===null)throw Error(K0(160));Ji($,q,Q),T8=null,d4=!1,$=Q.alternate,$!==null&&($.return=null),Q.return=null}if(X.subtreeFlags&13886)for(X=X.child;X!==null;)Zi(X,J),X=X.sibling}var QX=null;function Zi(J,X){var{alternate:Y,flags:Z}=J;switch(J.tag){case 0:case 11:case 14:case 15:u4(X,J),c4(J),Z&4&&(C$(3,J,J.return),oW(3,J),C$(5,J,J.return));break;case 1:u4(X,J),c4(J),Z&512&&(M5||Y===null||$Y(Y,Y.return)),Z&64&&CZ&&(J=J.updateQueue,J!==null&&(Z=J.callbacks,Z!==null&&(Y=J.shared.hiddenCallbacks,J.shared.hiddenCallbacks=Y===null?Z:Y.concat(Z))));break;case 26:var Q=QX;if(u4(X,J),c4(J),Z&512&&(M5||Y===null||$Y(Y,Y.return)),Z&4){var $=Y!==null?Y.memoizedState:null;if(Z=J.memoizedState,Y===null)if(Z===null)if(J.stateNode===null){J:{Z=J.type,Y=J.memoizedProps,Q=Q.ownerDocument||Q;X:switch(Z){case\"title\":if($=Q.getElementsByTagName(\"title\")[0],!$||$[sW]||$[P7]||$.namespaceURI===\"http://www.w3.org/2000/svg\"||$.hasAttribute(\"itemprop\"))$=Q.createElement(Z),Q.head.insertBefore($,Q.querySelector(\"head > title\"));M7($,Z,Y),$[P7]=J,e5($),Z=$;break J;case\"link\":var q=tl(\"link\",\"href\",Q).get(Z+(Y.href||\"\"));if(q){for(var G=0;G<q.length;G++)if($=q[G],$.getAttribute(\"href\")===(Y.href==null||Y.href===\"\"?null:Y.href)&&$.getAttribute(\"rel\")===(Y.rel==null?null:Y.rel)&&$.getAttribute(\"title\")===(Y.title==null?null:Y.title)&&$.getAttribute(\"crossorigin\")===(Y.crossOrigin==null?null:Y.crossOrigin)){q.splice(G,1);break X}}$=Q.createElement(Z),M7($,Z,Y),Q.head.appendChild($);break;case\"meta\":if(q=tl(\"meta\",\"content\",Q).get(Z+(Y.content||\"\"))){for(G=0;G<q.length;G++)if($=q[G],$.getAttribute(\"content\")===(Y.content==null?null:\"\"+Y.content)&&$.getAttribute(\"name\")===(Y.name==null?null:Y.name)&&$.getAttribute(\"property\")===(Y.property==null?null:Y.property)&&$.getAttribute(\"http-equiv\")===(Y.httpEquiv==null?null:Y.httpEquiv)&&$.getAttribute(\"charset\")===(Y.charSet==null?null:Y.charSet)){q.splice(G,1);break X}}$=Q.createElement(Z),M7($,Z,Y),Q.head.appendChild($);break;default:throw Error(K0(468,Z))}$[P7]=J,e5($),Z=$}J.stateNode=Z}else el(Q,J.type,J.stateNode);else J.stateNode=nl(Q,Z,J.memoizedProps);else $!==Z?($===null?Y.stateNode!==null&&(Y=Y.stateNode,Y.parentNode.removeChild(Y)):$.count--,Z===null?el(Q,J.type,J.stateNode):nl(Q,Z,J.memoizedProps)):Z===null&&J.stateNode!==null&&_k(J,J.memoizedProps,Y.memoizedProps)}break;case 27:u4(X,J),c4(J),Z&512&&(M5||Y===null||$Y(Y,Y.return)),Y!==null&&Z&4&&_k(J,J.memoizedProps,Y.memoizedProps);break;case 5:if(u4(X,J),c4(J),Z&512&&(M5||Y===null||$Y(Y,Y.return)),J.flags&32){Q=J.stateNode;try{FH(Q,\"\")}catch(z){p6(J,J.return,z)}}Z&4&&J.stateNode!=null&&(Q=J.memoizedProps,_k(J,Q,Y!==null?Y.memoizedProps:Q)),Z&1024&&(Pk=!0);break;case 6:if(u4(X,J),c4(J),Z&4){if(J.stateNode===null)throw Error(K0(162));Z=J.memoizedProps,Y=J.stateNode;try{Y.nodeValue=Z}catch(z){p6(J,J.return,z)}}break;case 3:if(_P=null,Q=QX,QX=dP(X.containerInfo),u4(X,J),QX=Q,c4(J),Z&4&&Y!==null&&Y.memoizedState.isDehydrated)try{RH(X.containerInfo)}catch(z){p6(J,J.return,z)}Pk&&(Pk=!1,Qi(J));break;case 4:Z=QX,QX=dP(J.stateNode.containerInfo),u4(X,J),c4(J),QX=Z;break;case 12:u4(X,J),c4(J);break;case 31:u4(X,J),c4(J),Z&4&&(Z=J.updateQueue,Z!==null&&(J.updateQueue=null,JP(J,Z)));break;case 13:u4(X,J),c4(J),J.child.flags&8192&&J.memoizedState!==null!==(Y!==null&&Y.memoizedState!==null)&&(qD=M9()),Z&4&&(Z=J.updateQueue,Z!==null&&(J.updateQueue=null,JP(J,Z)));break;case 22:Q=J.memoizedState!==null;var U=Y!==null&&Y.memoizedState!==null,H=CZ,V=M5;if(CZ=H||Q,M5=V||U,u4(X,J),M5=V,CZ=H,c4(J),Z&8192)J:for(X=J.stateNode,X._visibility=Q?X._visibility&-2:X._visibility|1,Q&&(Y===null||U||CZ||M5||h3(J)),Y=null,X=J;;){if(X.tag===5||X.tag===26){if(Y===null){U=Y=X;try{if($=U.stateNode,Q)q=$.style,typeof q.setProperty===\"function\"?q.setProperty(\"display\",\"none\",\"important\"):q.display=\"none\";else{G=U.stateNode;var K=U.memoizedProps.style,j=K!==void 0&&K!==null&&K.hasOwnProperty(\"display\")?K.display:null;G.style.display=j==null||typeof j===\"boolean\"?\"\":(\"\"+j).trim()}}catch(z){p6(U,U.return,z)}}}else if(X.tag===6){if(Y===null){U=X;try{U.stateNode.nodeValue=Q?\"\":U.memoizedProps}catch(z){p6(U,U.return,z)}}}else if(X.tag===18){if(Y===null){U=X;try{var W=U.stateNode;Q?sl(W,!0):sl(U.stateNode,!1)}catch(z){p6(U,U.return,z)}}}else if((X.tag!==22&&X.tag!==23||X.memoizedState===null||X===J)&&X.child!==null){X.child.return=X,X=X.child;continue}if(X===J)break J;for(;X.sibling===null;){if(X.return===null||X.return===J)break J;Y===X&&(Y=null),X=X.return}Y===X&&(Y=null),X.sibling.return=X.return,X=X.sibling}Z&4&&(Z=J.updateQueue,Z!==null&&(Y=Z.retryQueue,Y!==null&&(Z.retryQueue=null,JP(J,Y))));break;case 19:u4(X,J),c4(J),Z&4&&(Z=J.updateQueue,Z!==null&&(J.updateQueue=null,JP(J,Z)));break;case 30:break;case 21:break;default:u4(X,J),c4(J)}}function c4(J){var X=J.flags;if(X&2){try{for(var Y,Z=J.return;Z!==null;){if(oa(Z)){Y=Z;break}Z=Z.return}if(Y==null)throw Error(K0(160));switch(Y.tag){case 27:var Q=Y.stateNode,$=Ak(J);fP(J,$,Q);break;case 5:var q=Y.stateNode;Y.flags&32&&(FH(q,\"\"),Y.flags&=-33);var G=Ak(J);fP(J,G,q);break;case 3:case 4:var U=Y.stateNode.containerInfo,H=Ak(J);qE(J,H,U);break;default:throw Error(K0(161))}}catch(V){p6(J,J.return,V)}J.flags&=-3}X&4096&&(J.flags&=-4097)}function Qi(J){if(J.subtreeFlags&1024)for(J=J.child;J!==null;){var X=J;Qi(X),X.tag===5&&X.flags&1024&&X.stateNode.reset(),J=J.sibling}}function yZ(J,X){if(X.subtreeFlags&8772)for(X=X.child;X!==null;)ta(J,X.alternate,X),X=X.sibling}function h3(J){for(J=J.child;J!==null;){var X=J;switch(X.tag){case 0:case 11:case 14:case 15:C$(4,X,X.return),h3(X);break;case 1:$Y(X,X.return);var Y=X.stateNode;typeof Y.componentWillUnmount===\"function\"&&ia(X,X.return,Y),h3(X);break;case 27:LW(X.stateNode);case 26:case 5:$Y(X,X.return),h3(X);break;case 22:X.memoizedState===null&&h3(X);break;case 30:h3(X);break;default:h3(X)}J=J.sibling}}function xZ(J,X,Y){Y=Y&&(X.subtreeFlags&8772)!==0;for(X=X.child;X!==null;){var Z=X.alternate,Q=J,$=X,q=$.flags;switch($.tag){case 0:case 11:case 15:xZ(Q,$,Y),oW(4,$);break;case 1:if(xZ(Q,$,Y),Z=$,Q=Z.stateNode,typeof Q.componentDidMount===\"function\")try{Q.componentDidMount()}catch(H){p6(Z,Z.return,H)}if(Z=$,Q=Z.updateQueue,Q!==null){var G=Z.stateNode;try{var U=Q.shared.hiddenCallbacks;if(U!==null)for(Q.shared.hiddenCallbacks=null,Q=0;Q<U.length;Q++)Xa(U[Q],G)}catch(H){p6(Z,Z.return,H)}}Y&&q&64&&aa($),RW($,$.return);break;case 27:na($);case 26:case 5:xZ(Q,$,Y),Y&&Z===null&&q&4&&ra($),RW($,$.return);break;case 12:xZ(Q,$,Y);break;case 31:xZ(Q,$,Y),Y&&q&4&&Xi(Q,$);break;case 13:xZ(Q,$,Y),Y&&q&4&&Yi(Q,$);break;case 22:$.memoizedState===null&&xZ(Q,$,Y),RW($,$.return);break;case 30:break;default:xZ(Q,$,Y)}X=X.sibling}}function Gy(J,X){var Y=null;J!==null&&J.memoizedState!==null&&J.memoizedState.cachePool!==null&&(Y=J.memoizedState.cachePool.pool),J=null,X.memoizedState!==null&&X.memoizedState.cachePool!==null&&(J=X.memoizedState.cachePool.pool),J!==Y&&(J!=null&&J.refCount++,Y!=null&&iW(Y))}function Uy(J,X){J=null,X.alternate!==null&&(J=X.alternate.memoizedState.cache),X=X.memoizedState.cache,X!==J&&(X.refCount++,J!=null&&iW(J))}function ZX(J,X,Y,Z){if(X.subtreeFlags&10256)for(X=X.child;X!==null;)$i(J,X,Y,Z),X=X.sibling}function $i(J,X,Y,Z){var Q=X.flags;switch(X.tag){case 0:case 11:case 15:ZX(J,X,Y,Z),Q&2048&&oW(9,X);break;case 1:ZX(J,X,Y,Z);break;case 3:ZX(J,X,Y,Z),Q&2048&&(J=null,X.alternate!==null&&(J=X.alternate.memoizedState.cache),X=X.memoizedState.cache,X!==J&&(X.refCount++,J!=null&&iW(J)));break;case 12:if(Q&2048){ZX(J,X,Y,Z),J=X.stateNode;try{var $=X.memoizedProps,q=$.id,G=$.onPostCommit;typeof G===\"function\"&&G(q,X.alternate===null?\"mount\":\"update\",J.passiveEffectDuration,-0)}catch(U){p6(X,X.return,U)}}else ZX(J,X,Y,Z);break;case 31:ZX(J,X,Y,Z);break;case 13:ZX(J,X,Y,Z);break;case 23:break;case 22:$=X.stateNode,q=X.alternate,X.memoizedState!==null?$._visibility&2?ZX(J,X,Y,Z):NW(J,X):$._visibility&2?ZX(J,X,Y,Z):($._visibility|=2,lU(J,X,Y,Z,(X.subtreeFlags&10256)!==0||!1)),Q&2048&&Gy(q,X);break;case 24:ZX(J,X,Y,Z),Q&2048&&Uy(X.alternate,X);break;default:ZX(J,X,Y,Z)}}function lU(J,X,Y,Z,Q){Q=Q&&((X.subtreeFlags&10256)!==0||!1);for(X=X.child;X!==null;){var $=J,q=X,G=Y,U=Z,H=q.flags;switch(q.tag){case 0:case 11:case 15:lU($,q,G,U,Q),oW(8,q);break;case 23:break;case 22:var V=q.stateNode;q.memoizedState!==null?V._visibility&2?lU($,q,G,U,Q):NW($,q):(V._visibility|=2,lU($,q,G,U,Q)),Q&&H&2048&&Gy(q.alternate,q);break;case 24:lU($,q,G,U,Q),Q&&H&2048&&Uy(q.alternate,q);break;default:lU($,q,G,U,Q)}X=X.sibling}}function NW(J,X){if(X.subtreeFlags&10256)for(X=X.child;X!==null;){var Y=J,Z=X,Q=Z.flags;switch(Z.tag){case 22:NW(Y,Z),Q&2048&&Gy(Z.alternate,Z);break;case 24:NW(Y,Z),Q&2048&&Uy(Z.alternate,Z);break;default:NW(Y,Z)}X=X.sibling}}var jW=8192;function dU(J,X,Y){if(J.subtreeFlags&jW)for(J=J.child;J!==null;)qi(J,X,Y),J=J.sibling}function qi(J,X,Y){switch(J.tag){case 26:dU(J,X,Y),J.flags&jW&&J.memoizedState!==null&&dH0(Y,QX,J.memoizedState,J.memoizedProps);break;case 5:dU(J,X,Y);break;case 3:case 4:var Z=QX;QX=dP(J.stateNode.containerInfo),dU(J,X,Y),QX=Z;break;case 22:J.memoizedState===null&&(Z=J.alternate,Z!==null&&Z.memoizedState!==null?(Z=jW,jW=16777216,dU(J,X,Y),jW=Z):dU(J,X,Y));break;default:dU(J,X,Y)}}function Gi(J){var X=J.alternate;if(X!==null&&(J=X.child,J!==null)){X.child=null;do X=J.sibling,J.sibling=null,J=X;while(J!==null)}}function QW(J){var X=J.deletions;if((J.flags&16)!==0){if(X!==null)for(var Y=0;Y<X.length;Y++){var Z=X[Y];t5=Z,Hi(Z,J)}Gi(J)}if(J.subtreeFlags&10256)for(J=J.child;J!==null;)Ui(J),J=J.sibling}function Ui(J){switch(J.tag){case 0:case 11:case 15:QW(J),J.flags&2048&&C$(9,J,J.return);break;case 3:QW(J);break;case 12:QW(J);break;case 22:var X=J.stateNode;J.memoizedState!==null&&X._visibility&2&&(J.return===null||J.return.tag!==13)?(X._visibility&=-3,FP(J)):QW(J);break;default:QW(J)}}function FP(J){var X=J.deletions;if((J.flags&16)!==0){if(X!==null)for(var Y=0;Y<X.length;Y++){var Z=X[Y];t5=Z,Hi(Z,J)}Gi(J)}for(J=J.child;J!==null;){switch(X=J,X.tag){case 0:case 11:case 15:C$(8,X,X.return),FP(X);break;case 22:Y=X.stateNode,Y._visibility&2&&(Y._visibility&=-3,FP(X));break;default:FP(X)}J=J.sibling}}function Hi(J,X){for(;t5!==null;){var Y=t5;switch(Y.tag){case 0:case 11:case 15:C$(8,Y,X);break;case 23:case 22:if(Y.memoizedState!==null&&Y.memoizedState.cachePool!==null){var Z=Y.memoizedState.cachePool.pool;Z!=null&&Z.refCount++}break;case 24:iW(Y.memoizedState.cache)}if(Z=Y.child,Z!==null)Z.return=Y,t5=Z;else J:for(Y=J;t5!==null;){Z=t5;var{sibling:Q,return:$}=Z;if(ea(Z),Z===Y){t5=null;break J}if(Q!==null){Q.return=$,t5=Q;break J}t5=$}}}var GH0={getCacheForType:function(J){var X=O7(R5),Y=X.data.get(J);return Y===void 0&&(Y=J(),X.data.set(J,Y)),Y},cacheSignal:function(){return O7(R5).controller.signal}},UH0=typeof WeakMap===\"function\"?WeakMap:Map,O6=0,Y8=null,u1=null,i1=0,g6=0,A9=null,D$=!1,IH=!1,Hy=!1,lZ=0,l8=0,S$=0,u3=0,Vy=0,O9=0,PH=0,wW=null,l4=null,GE=!1,qD=0,Vi=0,hP=1/0,vP=null,L$=null,f5=0,I$=null,DH=null,pZ=0,UE=0,HE=null,Ki=null,TW=0,VE=null;function w9(){return(O6&2)!==0&&i1!==0?i1&-i1:j1.T!==null?jy():Ds()}function ji(){if(O9===0)if((i1&536870912)===0||n1){var J=sA;sA<<=1,(sA&3932160)===0&&(sA=262144),O9=J}else O9=536870912;return J=L9.current,J!==null&&(J.flags|=32),O9}function s4(J,X,Y){if(J===Y8&&(g6===2||g6===9)||J.cancelPendingCommit!==null)OH(J,0),O$(J,i1,O9,!1);if(lW(J,Y),(O6&2)===0||J!==Y8)J===Y8&&((O6&2)===0&&(u3|=Y),l8===4&&O$(J,i1,O9,!1)),UY(J)}function Wi(J,X,Y){if((O6&6)!==0)throw Error(K0(327));var Z=!Y&&(X&127)===0&&(X&J.expiredLanes)===0||dW(J,X),Q=Z?KH0(J,X):Dk(J,X,!0),$=Z;do{if(Q===0){IH&&!Z&&O$(J,X,0,!1);break}else{if(Y=J.current.alternate,$&&!HH0(Y)){Q=Dk(J,X,!1),$=!1;continue}if(Q===2){if($=X,J.errorRecoveryDisabledLanes&$)var q=0;else q=J.pendingLanes&-536870913,q=q!==0?q:q&536870912?536870912:0;if(q!==0){X=q;J:{var G=J;Q=wW;var U=G.current.memoizedState.isDehydrated;if(U&&(OH(G,q).flags|=256),q=Dk(G,q,!1),q!==2){if(Hy&&!U){G.errorRecoveryDisabledLanes|=$,u3|=$,Q=4;break J}$=l4,l4=Q,$!==null&&(l4===null?l4=$:l4.push.apply(l4,$))}Q=q}if($=!1,Q!==2)continue}}if(Q===1){OH(J,0),O$(J,X,0,!0);break}J:{switch(Z=J,$=Q,$){case 0:case 1:throw Error(K0(345));case 4:if((X&4194048)!==X)break;case 6:O$(Z,X,O9,!D$);break J;case 2:l4=null;break;case 3:case 5:break;default:throw Error(K0(329))}if((X&62914560)===X&&(Q=qD+300-M9(),10<Q)){if(O$(Z,X,O9,!D$),rP(Z,0,!0)!==0)break J;pZ=X,Z.timeoutHandle=bi(bl.bind(null,Z,Y,l4,vP,GE,X,O9,u3,PH,D$,$,\"Throttled\",-0,0),Q);break J}bl(Z,Y,l4,vP,GE,X,O9,u3,PH,D$,$,null,-0,0)}}break}while(1);UY(J)}function bl(J,X,Y,Z,Q,$,q,G,U,H,V,K,j,W){if(J.timeoutHandle=-1,K=X.subtreeFlags,K&8192||(K&16785408)===16785408){K={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:fZ},qi(X,$,K);var z=($&62914560)===$?qD-M9():($&4194048)===$?Vi-M9():0;if(z=lH0(K,z),z!==null){pZ=$,J.cancelPendingCommit=z(Sl.bind(null,J,X,$,Y,Z,Q,q,G,U,V,K,null,j,W)),O$(J,$,q,!H);return}}Sl(J,X,$,Y,Z,Q,q,G,U)}function HH0(J){for(var X=J;;){var Y=X.tag;if((Y===0||Y===11||Y===15)&&X.flags&16384&&(Y=X.updateQueue,Y!==null&&(Y=Y.stores,Y!==null)))for(var Z=0;Z<Y.length;Z++){var Q=Y[Z],$=Q.getSnapshot;Q=Q.value;try{if(!T9($(),Q))return!1}catch(q){return!1}}if(Y=X.child,X.subtreeFlags&16384&&Y!==null)Y.return=X,X=Y;else{if(X===J)break;for(;X.sibling===null;){if(X.return===null||X.return===J)return!0;X=X.return}X.sibling.return=X.return,X=X.sibling}}return!0}function O$(J,X,Y,Z){X&=~Vy,X&=~u3,J.suspendedLanes|=X,J.pingedLanes&=~X,Z&&(J.warmLanes|=X),Z=J.expirationTimes;for(var Q=X;0<Q;){var $=31-N9(Q),q=1<<$;Z[$]=-1,Q&=~q}Y!==0&&_s(J,Y,X)}function GD(){return(O6&6)===0?(nW(0,!1),!1):!0}function Ky(){if(u1!==null){if(g6===0)var J=u1.return;else J=u1,hZ=t3=null,oE(J),VH=null,CW=0,J=u1;for(;J!==null;)sa(J.alternate,J),J=J.return;u1=null}}function OH(J,X){var Y=J.timeoutHandle;Y!==-1&&(J.timeoutHandle=-1,LH0(Y)),Y=J.cancelPendingCommit,Y!==null&&(J.cancelPendingCommit=null,Y()),pZ=0,Ky(),Y8=J,u1=Y=vZ(J.current,null),i1=X,g6=0,A9=null,D$=!1,IH=dW(J,X),Hy=!1,PH=O9=Vy=u3=S$=l8=0,l4=wW=null,GE=!1,(X&8)!==0&&(X|=X&32);var Z=J.entangledLanes;if(Z!==0)for(J=J.entanglements,Z&=X;0<Z;){var Q=31-N9(Z),$=1<<Q;X|=J[Q],Z&=~$}return lZ=X,eP(),Y}function zi(J,X){M1=null,j1.H=fW,X===LH||X===XD?(X=Kl(),g6=3):X===cE?(X=Kl(),g6=4):g6=X===$y?8:X!==null&&typeof X===\"object\"&&typeof X.then===\"function\"?6:1,A9=X,u1===null&&(l8=1,CP(J,KJ(X,J.current)))}function Fi(){var J=L9.current;return J===null?!0:(i1&4194048)===i1?WJ===null?!0:!1:(i1&62914560)===i1||(i1&536870912)!==0?J===WJ:!1}function Bi(){var J=j1.H;return j1.H=fW,J===null?fW:J}function _i(){var J=j1.A;return j1.A=GH0,J}function gP(){l8=4,D$||(i1&4194048)!==i1&&L9.current!==null||(IH=!0),(S$&134217727)===0&&(u3&134217727)===0||Y8===null||O$(Y8,i1,O9,!1)}function Dk(J,X,Y){var Z=O6;O6|=2;var Q=Bi(),$=_i();if(Y8!==J||i1!==X)vP=null,OH(J,X);X=!1;var q=l8;J:do try{if(g6!==0&&u1!==null){var G=u1,U=A9;switch(g6){case 8:Ky(),q=6;break J;case 3:case 2:case 9:case 6:L9.current===null&&(X=!0);var H=g6;if(g6=0,A9=null,$H(J,G,U,H),Y&&IH){q=0;break J}break;default:H=g6,g6=0,A9=null,$H(J,G,U,H)}}VH0(),q=l8;break}catch(V){zi(J,V)}while(1);return X&&J.shellSuspendCounter++,hZ=t3=null,O6=Z,j1.H=Q,j1.A=$,u1===null&&(Y8=null,i1=0,eP()),q}function VH0(){for(;u1!==null;)Ai(u1)}function KH0(J,X){var Y=O6;O6|=2;var Z=Bi(),Q=_i();Y8!==J||i1!==X?(vP=null,hP=M9()+500,OH(J,X)):IH=dW(J,X);J:do try{if(g6!==0&&u1!==null){X=u1;var $=A9;X:switch(g6){case 1:g6=0,A9=null,$H(J,X,$,1);break;case 2:case 9:if(Vl($)){g6=0,A9=null,Cl(X);break}X=function(){g6!==2&&g6!==9||Y8!==J||(g6=7),UY(J)},$.then(X,X);break J;case 3:g6=7;break J;case 4:g6=5;break J;case 7:Vl($)?(g6=0,A9=null,Cl(X)):(g6=0,A9=null,$H(J,X,$,7));break;case 5:var q=null;switch(u1.tag){case 26:q=u1.memoizedState;case 5:case 27:var G=u1;if(q?vi(q):G.stateNode.complete){g6=0,A9=null;var U=G.sibling;if(U!==null)u1=U;else{var H=G.return;H!==null?(u1=H,UD(H)):u1=null}break X}}g6=0,A9=null,$H(J,X,$,5);break;case 6:g6=0,A9=null,$H(J,X,$,6);break;case 8:Ky(),l8=6;break J;default:throw Error(K0(462))}}jH0();break}catch(V){zi(J,V)}while(1);if(hZ=t3=null,j1.H=Z,j1.A=Q,O6=Y,u1!==null)return 0;return Y8=null,i1=0,eP(),l8}function jH0(){for(;u1!==null&&!SG0();)Ai(u1)}function Ai(J){var X=la(J.alternate,J,lZ);J.memoizedProps=J.pendingProps,X===null?UD(J):u1=X}function Cl(J){var X=J,Y=X.alternate;switch(X.tag){case 15:case 0:X=Ll(Y,X,X.pendingProps,X.type,void 0,i1);break;case 11:X=Ll(Y,X,X.pendingProps,X.type.render,X.ref,i1);break;case 5:oE(X);default:sa(Y,X),X=u1=ss(X,lZ),X=la(Y,X,lZ)}J.memoizedProps=J.pendingProps,X===null?UD(J):u1=X}function $H(J,X,Y,Z){hZ=t3=null,oE(X),VH=null,CW=0;var Q=X.return;try{if(JH0(J,Q,X,Y,i1)){l8=1,CP(J,KJ(Y,J.current)),u1=null;return}}catch($){if(Q!==null)throw u1=Q,$;l8=1,CP(J,KJ(Y,J.current)),u1=null;return}if(X.flags&32768){if(n1||Z===1)J=!0;else if(IH||(i1&536870912)!==0)J=!1;else if(D$=J=!0,Z===2||Z===9||Z===3||Z===6)Z=L9.current,Z!==null&&Z.tag===13&&(Z.flags|=16384);Pi(X,J)}else UD(X)}function UD(J){var X=J;do{if((X.flags&32768)!==0){Pi(X,D$);return}J=X.return;var Y=ZH0(X.alternate,X,lZ);if(Y!==null){u1=Y;return}if(X=X.sibling,X!==null){u1=X;return}u1=X=J}while(X!==null);l8===0&&(l8=5)}function Pi(J,X){do{var Y=QH0(J.alternate,J);if(Y!==null){Y.flags&=32767,u1=Y;return}if(Y=J.return,Y!==null&&(Y.flags|=32768,Y.subtreeFlags=0,Y.deletions=null),!X&&(J=J.sibling,J!==null)){u1=J;return}u1=J=Y}while(J!==null);l8=6,u1=null}function Sl(J,X,Y,Z,Q,$,q,G,U){J.cancelPendingCommit=null;do HD();while(f5!==0);if((O6&6)!==0)throw Error(K0(327));if(X!==null){if(X===J.current)throw Error(K0(177));if($=X.lanes|X.childLanes,$|=fE,lG0(J,Y,$,q,G,U),J===Y8&&(u1=Y8=null,i1=0),DH=X,I$=J,pZ=Y,UE=$,HE=Q,Ki=Z,(X.subtreeFlags&10256)!==0||(X.flags&10256)!==0?(J.callbackNode=null,J.callbackPriority=0,BH0(RP,function(){return Ni(),null})):(J.callbackNode=null,J.callbackPriority=0),Z=(X.flags&13878)!==0,(X.subtreeFlags&13878)!==0||Z){Z=j1.T,j1.T=null,Q=M6.p,M6.p=2,q=O6,O6|=4;try{$H0(J,X,Y)}finally{O6=q,M6.p=Q,j1.T=Z}}f5=1,Di(),Oi(),Mi()}}function Di(){if(f5===1){f5=0;var J=I$,X=DH,Y=(X.flags&13878)!==0;if((X.subtreeFlags&13878)!==0||Y){Y=j1.T,j1.T=null;var Z=M6.p;M6.p=2;var Q=O6;O6|=4;try{Zi(X,J);var $=BE,q=vs(J.containerInfo),G=$.focusedElem,U=$.selectionRange;if(q!==G&&G&&G.ownerDocument&&hs(G.ownerDocument.documentElement,G)){if(U!==null&&SE(G)){var{start:H,end:V}=U;if(V===void 0&&(V=H),\"selectionStart\"in G)G.selectionStart=H,G.selectionEnd=Math.min(V,G.value.length);else{var K=G.ownerDocument||document,j=K&&K.defaultView||window;if(j.getSelection){var W=j.getSelection(),z=G.textContent.length,B=Math.min(U.start,z),P=U.end===void 0?B:Math.min(U.end,z);!W.extend&&B>P&&(q=P,P=B,B=q);var _=Zl(G,B),A=Zl(G,P);if(_&&A&&(W.rangeCount!==1||W.anchorNode!==_.node||W.anchorOffset!==_.offset||W.focusNode!==A.node||W.focusOffset!==A.offset)){var O=K.createRange();O.setStart(_.node,_.offset),W.removeAllRanges(),B>P?(W.addRange(O),W.extend(A.node,A.offset)):(O.setEnd(A.node,A.offset),W.addRange(O))}}}}K=[];for(W=G;W=W.parentNode;)W.nodeType===1&&K.push({element:W,left:W.scrollLeft,top:W.scrollTop});typeof G.focus===\"function\"&&G.focus();for(G=0;G<K.length;G++){var D=K[G];D.element.scrollLeft=D.left,D.element.scrollTop=D.top}}aP=!!FE,BE=FE=null}finally{O6=Q,M6.p=Z,j1.T=Y}}J.current=X,f5=2}}function Oi(){if(f5===2){f5=0;var J=I$,X=DH,Y=(X.flags&8772)!==0;if((X.subtreeFlags&8772)!==0||Y){Y=j1.T,j1.T=null;var Z=M6.p;M6.p=2;var Q=O6;O6|=4;try{ta(J,X.alternate,X)}finally{O6=Q,M6.p=Z,j1.T=Y}}f5=3}}function Mi(){if(f5===4||f5===3){f5=0,fG0();var J=I$,X=DH,Y=pZ,Z=Ki;(X.subtreeFlags&10256)!==0||(X.flags&10256)!==0?f5=5:(f5=0,DH=I$=null,Ri(J,J.pendingLanes));var Q=J.pendingLanes;if(Q===0&&(L$=null),IE(Y),X=X.stateNode,R9&&typeof R9.onCommitFiberRoot===\"function\")try{R9.onCommitFiberRoot(cW,X,void 0,(X.current.flags&128)===128)}catch(U){}if(Z!==null){X=j1.T,Q=M6.p,M6.p=2,j1.T=null;try{for(var $=J.onRecoverableError,q=0;q<Z.length;q++){var G=Z[q];$(G.value,{componentStack:G.stack})}}finally{j1.T=X,M6.p=Q}}(pZ&3)!==0&&HD(),UY(J),Q=J.pendingLanes,(Y&261930)!==0&&(Q&42)!==0?J===VE?TW++:(TW=0,VE=J):TW=0,nW(0,!1)}}function Ri(J,X){(J.pooledCacheLanes&=X)===0&&(X=J.pooledCache,X!=null&&(J.pooledCache=null,iW(X)))}function HD(){return Di(),Oi(),Mi(),Ni()}function Ni(){if(f5!==5)return!1;var J=I$,X=UE;UE=0;var Y=IE(pZ),Z=j1.T,Q=M6.p;try{M6.p=32>Y?32:Y,j1.T=null,Y=HE,HE=null;var $=I$,q=pZ;if(f5=0,DH=I$=null,pZ=0,(O6&6)!==0)throw Error(K0(331));var G=O6;if(O6|=4,Ui($.current),$i($,$.current,q,Y),O6=G,nW(0,!1),R9&&typeof R9.onPostCommitFiberRoot===\"function\")try{R9.onPostCommitFiberRoot(cW,$)}catch(U){}return!0}finally{M6.p=Q,j1.T=Z,Ri(J,X)}}function fl(J,X,Y){X=KJ(Y,X),X=ZE(J.stateNode,X,2),J=T$(J,X,2),J!==null&&(lW(J,2),UY(J))}function p6(J,X,Y){if(J.tag===3)fl(J,J,Y);else for(;X!==null;){if(X.tag===3){fl(X,J,Y);break}else if(X.tag===1){var Z=X.stateNode;if(typeof X.type.getDerivedStateFromError===\"function\"||typeof Z.componentDidCatch===\"function\"&&(L$===null||!L$.has(Z))){J=KJ(Y,J),Y=ga(2),Z=T$(X,Y,2),Z!==null&&(pa(Y,Z,X,J),lW(Z,2),UY(Z));break}}X=X.return}}function Ok(J,X,Y){var Z=J.pingCache;if(Z===null){Z=J.pingCache=new UH0;var Q=new Set;Z.set(X,Q)}else Q=Z.get(X),Q===void 0&&(Q=new Set,Z.set(X,Q));Q.has(Y)||(Hy=!0,Q.add(Y),J=WH0.bind(null,J,X,Y),X.then(J,J))}function WH0(J,X,Y){var Z=J.pingCache;Z!==null&&Z.delete(X),J.pingedLanes|=J.suspendedLanes&Y,J.warmLanes&=~Y,Y8===J&&(i1&Y)===Y&&(l8===4||l8===3&&(i1&62914560)===i1&&300>M9()-qD?(O6&2)===0&&OH(J,0):Vy|=Y,PH===i1&&(PH=0)),UY(J)}function wi(J,X){X===0&&(X=Bs()),J=n3(J,X),J!==null&&(lW(J,X),UY(J))}function zH0(J){var X=J.memoizedState,Y=0;X!==null&&(Y=X.retryLane),wi(J,Y)}function FH0(J,X){var Y=0;switch(J.tag){case 31:case 13:var{stateNode:Z,memoizedState:Q}=J;Q!==null&&(Y=Q.retryLane);break;case 19:Z=J.stateNode;break;case 22:Z=J.stateNode._retryCache;break;default:throw Error(K0(314))}Z!==null&&Z.delete(X),wi(J,Y)}function BH0(J,X){return TE(J,X)}var pP=null,sU=null,KE=!1,mP=!1,Mk=!1,M$=0;function UY(J){J!==sU&&J.next===null&&(sU===null?pP=sU=J:sU=sU.next=J),mP=!0,KE||(KE=!0,AH0())}function nW(J,X){if(!Mk&&mP){Mk=!0;do{var Y=!1;for(var Z=pP;Z!==null;){if(!X)if(J!==0){var Q=Z.pendingLanes;if(Q===0)var $=0;else{var{suspendedLanes:q,pingedLanes:G}=Z;$=(1<<31-N9(42|J)+1)-1,$&=Q&~(q&~G),$=$&201326741?$&201326741|1:$?$|2:0}$!==0&&(Y=!0,hl(Z,$))}else $=i1,$=rP(Z,Z===Y8?$:0,Z.cancelPendingCommit!==null||Z.timeoutHandle!==-1),($&3)===0||dW(Z,$)||(Y=!0,hl(Z,$));Z=Z.next}}while(Y);Mk=!1}}function _H0(){Ti()}function Ti(){mP=KE=!1;var J=0;M$!==0&&TH0()&&(J=M$);for(var X=M9(),Y=null,Z=pP;Z!==null;){var Q=Z.next,$=Li(Z,X);if($===0)Z.next=null,Y===null?pP=Q:Y.next=Q,Q===null&&(sU=Y);else if(Y=Z,J!==0||($&3)!==0)mP=!0;Z=Q}f5!==0&&f5!==5||nW(J,!1),M$!==0&&(M$=0)}function Li(J,X){for(var{suspendedLanes:Y,pingedLanes:Z,expirationTimes:Q}=J,$=J.pendingLanes&-62914561;0<$;){var q=31-N9($),G=1<<q,U=Q[q];if(U===-1){if((G&Y)===0||(G&Z)!==0)Q[q]=dG0(G,X)}else U<=X&&(J.expiredLanes|=G);$&=~G}if(X=Y8,Y=i1,Y=rP(J,J===X?Y:0,J.cancelPendingCommit!==null||J.timeoutHandle!==-1),Z=J.callbackNode,Y===0||J===X&&(g6===2||g6===9)||J.cancelPendingCommit!==null)return Z!==null&&Z!==null&&tI(Z),J.callbackNode=null,J.callbackPriority=0;if((Y&3)===0||dW(J,Y)){if(X=Y&-Y,X===J.callbackPriority)return X;switch(Z!==null&&tI(Z),IE(Y)){case 2:case 8:Y=zs;break;case 32:Y=RP;break;case 268435456:Y=Fs;break;default:Y=RP}return Z=Ii.bind(null,J),Y=TE(Y,Z),J.callbackPriority=X,J.callbackNode=Y,X}return Z!==null&&Z!==null&&tI(Z),J.callbackPriority=2,J.callbackNode=null,2}function Ii(J,X){if(f5!==0&&f5!==5)return J.callbackNode=null,J.callbackPriority=0,null;var Y=J.callbackNode;if(HD()&&J.callbackNode!==Y)return null;var Z=i1;if(Z=rP(J,J===Y8?Z:0,J.cancelPendingCommit!==null||J.timeoutHandle!==-1),Z===0)return null;return Wi(J,Z,X),Li(J,M9()),J.callbackNode!=null&&J.callbackNode===Y?Ii.bind(null,J):null}function hl(J,X){if(HD())return null;Wi(J,X,!0)}function AH0(){IH0(function(){(O6&6)!==0?TE(Ws,_H0):Ti()})}function jy(){if(M$===0){var J=BH;J===0&&(J=lA,lA<<=1,(lA&261888)===0&&(lA=256)),M$=J}return M$}function vl(J){return J==null||typeof J===\"symbol\"||typeof J===\"boolean\"?null:typeof J===\"function\"?J:$P(\"\"+J)}function gl(J,X){var Y=X.ownerDocument.createElement(\"input\");return Y.name=X.name,Y.value=X.value,J.id&&Y.setAttribute(\"form\",J.id),X.parentNode.insertBefore(Y,X),J=new FormData(J),Y.parentNode.removeChild(Y),J}function PH0(J,X,Y,Z,Q){if(X===\"submit\"&&Y&&Y.stateNode===Q){var $=vl((Q[a4]||null).action),q=Z.submitter;q&&(X=(X=q[a4]||null)?vl(X.formAction):q.getAttribute(\"formAction\"),X!==null&&($=X,q=null));var G=new oP(\"action\",\"action\",null,Z,Q);J.push({event:G,listeners:[{instance:null,listener:function(){if(Z.defaultPrevented){if(M$!==0){var U=q?gl(Q,q):new FormData(Q);XE(Y,{pending:!0,data:U,method:Q.method,action:$},null,U)}}else typeof $===\"function\"&&(G.preventDefault(),U=q?gl(Q,q):new FormData(Q),XE(Y,{pending:!0,data:U,method:Q.method,action:$},$,U))},currentTarget:Q}]})}}for(WW=0;WW<ck.length;WW++)zW=ck[WW],jE=zW.toLowerCase(),WE=zW[0].toUpperCase()+zW.slice(1),$X(jE,\"on\"+WE);var zW,jE,WE,WW;$X(ps,\"onAnimationEnd\");$X(ms,\"onAnimationIteration\");$X(us,\"onAnimationStart\");$X(\"dblclick\",\"onDoubleClick\");$X(\"focusin\",\"onFocus\");$X(\"focusout\",\"onBlur\");$X(hU0,\"onTransitionRun\");$X(vU0,\"onTransitionStart\");$X(gU0,\"onTransitionCancel\");$X(cs,\"onTransitionEnd\");zH(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);zH(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);zH(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);zH(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);i3(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));i3(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));i3(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);i3(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));i3(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));i3(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var hW=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),DH0=new Set(\"beforetoggle cancel close invalid load scroll scrollend toggle\".split(\" \").concat(hW));function ki(J,X){X=(X&4)!==0;for(var Y=0;Y<J.length;Y++){var Z=J[Y],Q=Z.event;Z=Z.listeners;J:{var $=void 0;if(X)for(var q=Z.length-1;0<=q;q--){var G=Z[q],U=G.instance,H=G.currentTarget;if(G=G.listener,U!==$&&Q.isPropagationStopped())break J;$=G,Q.currentTarget=H;try{$(Q)}catch(V){wP(V)}Q.currentTarget=null,$=U}else for(q=0;q<Z.length;q++){if(G=Z[q],U=G.instance,H=G.currentTarget,G=G.listener,U!==$&&Q.isPropagationStopped())break J;$=G,Q.currentTarget=H;try{$(Q)}catch(V){wP(V)}Q.currentTarget=null,$=U}}}}function m1(J,X){var Y=X[Sk];Y===void 0&&(Y=X[Sk]=new Set);var Z=J+\"__bubble\";Y.has(Z)||(Ei(X,J,2,!1),Y.add(Z))}function Rk(J,X,Y){var Z=0;X&&(Z|=4),Ei(Y,J,Z,X)}var XP=\"_reactListening\"+Math.random().toString(36).slice(2);function Wy(J){if(!J[XP]){J[XP]=!0,Os.forEach(function(Y){Y!==\"selectionchange\"&&(DH0.has(Y)||Rk(Y,!1,J),Rk(Y,!0,J))});var X=J.nodeType===9?J:J.ownerDocument;X===null||X[XP]||(X[XP]=!0,Rk(\"selectionchange\",!1,X))}}function Ei(J,X,Y,Z){switch(ci(X)){case 2:var Q=iH0;break;case 8:Q=rH0;break;default:Q=_y}Y=Q.bind(null,X,Y,J),Q=void 0,!pk||X!==\"touchstart\"&&X!==\"touchmove\"&&X!==\"wheel\"||(Q=!0),Z?Q!==void 0?J.addEventListener(X,Y,{capture:!0,passive:Q}):J.addEventListener(X,Y,!0):Q!==void 0?J.addEventListener(X,Y,{passive:Q}):J.addEventListener(X,Y,!1)}function Nk(J,X,Y,Z,Q){var $=Z;if((X&1)===0&&(X&2)===0&&Z!==null)J:for(;;){if(Z===null)return;var q=Z.tag;if(q===3||q===4){var G=Z.stateNode.containerInfo;if(G===Q)break;if(q===4)for(q=Z.return;q!==null;){var U=q.tag;if((U===3||U===4)&&q.stateNode.containerInfo===Q)return;q=q.return}for(;G!==null;){if(q=oU(G),q===null)return;if(U=q.tag,U===5||U===6||U===26||U===27){Z=$=q;continue J}G=G.parentNode}}Z=Z.return}ks(function(){var H=$,V=yE(Y),K=[];J:{var j=ds.get(J);if(j!==void 0){var W=oP,z=J;switch(J){case\"keypress\":if(GP(Y)===0)break J;case\"keydown\":case\"keyup\":W=FU0;break;case\"focusin\":z=\"focus\",W=Zk;break;case\"focusout\":z=\"blur\",W=Zk;break;case\"beforeblur\":case\"afterblur\":W=Zk;break;case\"click\":if(Y.button===2)break J;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":W=id;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":W=ZU0;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":W=AU0;break;case ps:case ms:case us:W=qU0;break;case cs:W=DU0;break;case\"scroll\":case\"scrollend\":W=XU0;break;case\"wheel\":W=MU0;break;case\"copy\":case\"cut\":case\"paste\":W=UU0;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":W=od;break;case\"toggle\":case\"beforetoggle\":W=NU0}var B=(X&4)!==0,P=!B&&(J===\"scroll\"||J===\"scrollend\"),_=B?j!==null?j+\"Capture\":null:j;B=[];for(var A=H,O;A!==null;){var D=A;if(O=D.stateNode,D=D.tag,D!==5&&D!==26&&D!==27||O===null||_===null||(D=kW(A,_),D!=null&&B.push(vW(A,D,O))),P)break;A=A.return}0<B.length&&(j=new W(j,z,null,Y,V),K.push({event:j,listeners:B}))}}if((X&7)===0){J:{if(j=J===\"mouseover\"||J===\"pointerover\",W=J===\"mouseout\"||J===\"pointerout\",j&&Y!==gk&&(z=Y.relatedTarget||Y.fromElement)&&(oU(z)||z[NH]))break J;if(W||j){if(j=V.window===V?V:(j=V.ownerDocument)?j.defaultView||j.parentWindow:window,W){if(z=Y.relatedTarget||Y.toElement,W=H,z=z?oU(z):null,z!==null&&(P=uW(z),B=z.tag,z!==P||B!==5&&B!==27&&B!==6))z=null}else W=null,z=H;if(W!==z){if(B=id,D=\"onMouseLeave\",_=\"onMouseEnter\",A=\"mouse\",J===\"pointerout\"||J===\"pointerover\")B=od,D=\"onPointerLeave\",_=\"onPointerEnter\",A=\"pointer\";if(P=W==null?j:UW(W),O=z==null?j:UW(z),j=new B(D,A+\"leave\",W,Y,V),j.target=P,j.relatedTarget=O,D=null,oU(V)===H&&(B=new B(_,A+\"enter\",z,Y,V),B.target=O,B.relatedTarget=P,D=B),P=D,W&&z)X:{B=OH0,_=W,A=z,O=0;for(D=_;D;D=B(D))O++;D=0;for(var R=A;R;R=B(R))D++;for(;0<O-D;)_=B(_),O--;for(;0<D-O;)A=B(A),D--;for(;O--;){if(_===A||A!==null&&_===A.alternate){B=_;break X}_=B(_),A=B(A)}B=null}else B=null;W!==null&&pl(K,j,W,B,!1),z!==null&&P!==null&&pl(K,P,z,B,!0)}}}J:{if(j=H?UW(H):window,W=j.nodeName&&j.nodeName.toLowerCase(),W===\"select\"||W===\"input\"&&j.type===\"file\")var N=Jl;else if(ed(j))if(Ss)N=CU0;else{N=xU0;var w=yU0}else W=j.nodeName,!W||W.toLowerCase()!==\"input\"||j.type!==\"checkbox\"&&j.type!==\"radio\"?H&&EE(H.elementType)&&(N=Jl):N=bU0;if(N&&(N=N(J,H))){Cs(K,N,Y,V);break J}w&&w(J,j,H),J===\"focusout\"&&H&&j.type===\"number\"&&H.memoizedProps.value!=null&&vk(j,\"number\",j.value)}switch(w=H?UW(H):window,J){case\"focusin\":if(ed(w)||w.contentEditable===\"true\")eU=w,mk=H,_W=null;break;case\"focusout\":_W=mk=eU=null;break;case\"mousedown\":uk=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":uk=!1,Ql(K,Y,V);break;case\"selectionchange\":if(fU0)break;case\"keydown\":case\"keyup\":Ql(K,Y,V)}var k;if(CE)J:{switch(J){case\"compositionstart\":var I=\"onCompositionStart\";break J;case\"compositionend\":I=\"onCompositionEnd\";break J;case\"compositionupdate\":I=\"onCompositionUpdate\";break J}I=void 0}else tU?xs(J,Y)&&(I=\"onCompositionEnd\"):J===\"keydown\"&&Y.keyCode===229&&(I=\"onCompositionStart\");if(I&&(ys&&Y.locale!==\"ko\"&&(tU||I!==\"onCompositionStart\"?I===\"onCompositionEnd\"&&tU&&(k=Es()):(P$=V,xE=(\"value\"in P$)?P$.value:P$.textContent,tU=!0)),w=uP(H,I),0<w.length&&(I=new rd(I,J,null,Y,V),K.push({event:I,listeners:w}),k?I.data=k:(k=bs(Y),k!==null&&(I.data=k)))),k=TU0?LU0(J,Y):IU0(J,Y))I=uP(H,\"onBeforeInput\"),0<I.length&&(w=new rd(\"onBeforeInput\",\"beforeinput\",null,Y,V),K.push({event:w,listeners:I}),w.data=k);PH0(K,J,H,Y,V)}ki(K,X)})}function vW(J,X,Y){return{instance:J,listener:X,currentTarget:Y}}function uP(J,X){for(var Y=X+\"Capture\",Z=[];J!==null;){var Q=J,$=Q.stateNode;if(Q=Q.tag,Q!==5&&Q!==26&&Q!==27||$===null||(Q=kW(J,Y),Q!=null&&Z.unshift(vW(J,Q,$)),Q=kW(J,X),Q!=null&&Z.push(vW(J,Q,$))),J.tag===3)return Z;J=J.return}return[]}function OH0(J){if(J===null)return null;do J=J.return;while(J&&J.tag!==5&&J.tag!==27);return J?J:null}function pl(J,X,Y,Z,Q){for(var $=X._reactName,q=[];Y!==null&&Y!==Z;){var G=Y,U=G.alternate,H=G.stateNode;if(G=G.tag,U!==null&&U===Z)break;G!==5&&G!==26&&G!==27||H===null||(U=H,Q?(H=kW(Y,$),H!=null&&q.unshift(vW(Y,H,U))):Q||(H=kW(Y,$),H!=null&&q.push(vW(Y,H,U)))),Y=Y.return}q.length!==0&&J.push({event:X,listeners:q})}var MH0=/\\r\\n?/g,RH0=/\\u0000|\\uFFFD/g;function ml(J){return(typeof J===\"string\"?J:\"\"+J).replace(MH0,`\n`).replace(RH0,\"\")}function yi(J,X){return X=ml(X),ml(J)===X?!0:!1}function s6(J,X,Y,Z,Q,$){switch(Y){case\"children\":typeof Z===\"string\"?X===\"body\"||X===\"textarea\"&&Z===\"\"||FH(J,Z):(typeof Z===\"number\"||typeof Z===\"bigint\")&&X!==\"body\"&&FH(J,\"\"+Z);break;case\"className\":iA(J,\"class\",Z);break;case\"tabIndex\":iA(J,\"tabindex\",Z);break;case\"dir\":case\"role\":case\"viewBox\":case\"width\":case\"height\":iA(J,Y,Z);break;case\"style\":Is(J,Z,$);break;case\"data\":if(X!==\"object\"){iA(J,\"data\",Z);break}case\"src\":case\"href\":if(Z===\"\"&&(X!==\"a\"||Y!==\"href\")){J.removeAttribute(Y);break}if(Z==null||typeof Z===\"function\"||typeof Z===\"symbol\"||typeof Z===\"boolean\"){J.removeAttribute(Y);break}Z=$P(\"\"+Z),J.setAttribute(Y,Z);break;case\"action\":case\"formAction\":if(typeof Z===\"function\"){J.setAttribute(Y,\"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\");break}else typeof $===\"function\"&&(Y===\"formAction\"?(X!==\"input\"&&s6(J,X,\"name\",Q.name,Q,null),s6(J,X,\"formEncType\",Q.formEncType,Q,null),s6(J,X,\"formMethod\",Q.formMethod,Q,null),s6(J,X,\"formTarget\",Q.formTarget,Q,null)):(s6(J,X,\"encType\",Q.encType,Q,null),s6(J,X,\"method\",Q.method,Q,null),s6(J,X,\"target\",Q.target,Q,null)));if(Z==null||typeof Z===\"symbol\"||typeof Z===\"boolean\"){J.removeAttribute(Y);break}Z=$P(\"\"+Z),J.setAttribute(Y,Z);break;case\"onClick\":Z!=null&&(J.onclick=fZ);break;case\"onScroll\":Z!=null&&m1(\"scroll\",J);break;case\"onScrollEnd\":Z!=null&&m1(\"scrollend\",J);break;case\"dangerouslySetInnerHTML\":if(Z!=null){if(typeof Z!==\"object\"||!(\"__html\"in Z))throw Error(K0(61));if(Y=Z.__html,Y!=null){if(Q.children!=null)throw Error(K0(60));J.innerHTML=Y}}break;case\"multiple\":J.multiple=Z&&typeof Z!==\"function\"&&typeof Z!==\"symbol\";break;case\"muted\":J.muted=Z&&typeof Z!==\"function\"&&typeof Z!==\"symbol\";break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"ref\":break;case\"autoFocus\":break;case\"xlinkHref\":if(Z==null||typeof Z===\"function\"||typeof Z===\"boolean\"||typeof Z===\"symbol\"){J.removeAttribute(\"xlink:href\");break}Y=$P(\"\"+Z),J.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",Y);break;case\"contentEditable\":case\"spellCheck\":case\"draggable\":case\"value\":case\"autoReverse\":case\"externalResourcesRequired\":case\"focusable\":case\"preserveAlpha\":Z!=null&&typeof Z!==\"function\"&&typeof Z!==\"symbol\"?J.setAttribute(Y,\"\"+Z):J.removeAttribute(Y);break;case\"inert\":case\"allowFullScreen\":case\"async\":case\"autoPlay\":case\"controls\":case\"default\":case\"defer\":case\"disabled\":case\"disablePictureInPicture\":case\"disableRemotePlayback\":case\"formNoValidate\":case\"hidden\":case\"loop\":case\"noModule\":case\"noValidate\":case\"open\":case\"playsInline\":case\"readOnly\":case\"required\":case\"reversed\":case\"scoped\":case\"seamless\":case\"itemScope\":Z&&typeof Z!==\"function\"&&typeof Z!==\"symbol\"?J.setAttribute(Y,\"\"):J.removeAttribute(Y);break;case\"capture\":case\"download\":Z===!0?J.setAttribute(Y,\"\"):Z!==!1&&Z!=null&&typeof Z!==\"function\"&&typeof Z!==\"symbol\"?J.setAttribute(Y,Z):J.removeAttribute(Y);break;case\"cols\":case\"rows\":case\"size\":case\"span\":Z!=null&&typeof Z!==\"function\"&&typeof Z!==\"symbol\"&&!isNaN(Z)&&1<=Z?J.setAttribute(Y,Z):J.removeAttribute(Y);break;case\"rowSpan\":case\"start\":Z==null||typeof Z===\"function\"||typeof Z===\"symbol\"||isNaN(Z)?J.removeAttribute(Y):J.setAttribute(Y,Z);break;case\"popover\":m1(\"beforetoggle\",J),m1(\"toggle\",J),QP(J,\"popover\",Z);break;case\"xlinkActuate\":IZ(J,\"http://www.w3.org/1999/xlink\",\"xlink:actuate\",Z);break;case\"xlinkArcrole\":IZ(J,\"http://www.w3.org/1999/xlink\",\"xlink:arcrole\",Z);break;case\"xlinkRole\":IZ(J,\"http://www.w3.org/1999/xlink\",\"xlink:role\",Z);break;case\"xlinkShow\":IZ(J,\"http://www.w3.org/1999/xlink\",\"xlink:show\",Z);break;case\"xlinkTitle\":IZ(J,\"http://www.w3.org/1999/xlink\",\"xlink:title\",Z);break;case\"xlinkType\":IZ(J,\"http://www.w3.org/1999/xlink\",\"xlink:type\",Z);break;case\"xmlBase\":IZ(J,\"http://www.w3.org/XML/1998/namespace\",\"xml:base\",Z);break;case\"xmlLang\":IZ(J,\"http://www.w3.org/XML/1998/namespace\",\"xml:lang\",Z);break;case\"xmlSpace\":IZ(J,\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",Z);break;case\"is\":QP(J,\"is\",Z);break;case\"innerText\":case\"textContent\":break;default:if(!(2<Y.length)||Y[0]!==\"o\"&&Y[0]!==\"O\"||Y[1]!==\"n\"&&Y[1]!==\"N\")Y=eG0.get(Y)||Y,QP(J,Y,Z)}}function zE(J,X,Y,Z,Q,$){switch(Y){case\"style\":Is(J,Z,$);break;case\"dangerouslySetInnerHTML\":if(Z!=null){if(typeof Z!==\"object\"||!(\"__html\"in Z))throw Error(K0(61));if(Y=Z.__html,Y!=null){if(Q.children!=null)throw Error(K0(60));J.innerHTML=Y}}break;case\"children\":typeof Z===\"string\"?FH(J,Z):(typeof Z===\"number\"||typeof Z===\"bigint\")&&FH(J,\"\"+Z);break;case\"onScroll\":Z!=null&&m1(\"scroll\",J);break;case\"onScrollEnd\":Z!=null&&m1(\"scrollend\",J);break;case\"onClick\":Z!=null&&(J.onclick=fZ);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":case\"innerHTML\":case\"ref\":break;case\"innerText\":case\"textContent\":break;default:if(!Ms.hasOwnProperty(Y))J:{if(Y[0]===\"o\"&&Y[1]===\"n\"&&(Q=Y.endsWith(\"Capture\"),X=Y.slice(2,Q?Y.length-7:void 0),$=J[a4]||null,$=$!=null?$[Y]:null,typeof $===\"function\"&&J.removeEventListener(X,$,Q),typeof Z===\"function\")){typeof $!==\"function\"&&$!==null&&(Y in J?J[Y]=null:J.hasAttribute(Y)&&J.removeAttribute(Y)),J.addEventListener(X,Z,Q);break J}Y in J?J[Y]=Z:Z===!0?J.setAttribute(Y,\"\"):QP(J,Y,Z)}}}function M7(J,X,Y){switch(X){case\"div\":case\"span\":case\"svg\":case\"path\":case\"a\":case\"g\":case\"p\":case\"li\":break;case\"img\":m1(\"error\",J),m1(\"load\",J);var Z=!1,Q=!1,$;for($ in Y)if(Y.hasOwnProperty($)){var q=Y[$];if(q!=null)switch($){case\"src\":Z=!0;break;case\"srcSet\":Q=!0;break;case\"children\":case\"dangerouslySetInnerHTML\":throw Error(K0(137,X));default:s6(J,X,$,q,Y,null)}}Q&&s6(J,X,\"srcSet\",Y.srcSet,Y,null),Z&&s6(J,X,\"src\",Y.src,Y,null);return;case\"input\":m1(\"invalid\",J);var G=$=q=Q=null,U=null,H=null;for(Z in Y)if(Y.hasOwnProperty(Z)){var V=Y[Z];if(V!=null)switch(Z){case\"name\":Q=V;break;case\"type\":q=V;break;case\"checked\":U=V;break;case\"defaultChecked\":H=V;break;case\"value\":$=V;break;case\"defaultValue\":G=V;break;case\"children\":case\"dangerouslySetInnerHTML\":if(V!=null)throw Error(K0(137,X));break;default:s6(J,X,Z,V,Y,null)}}ws(J,$,G,U,H,q,Q,!1);return;case\"select\":m1(\"invalid\",J),Z=q=$=null;for(Q in Y)if(Y.hasOwnProperty(Q)&&(G=Y[Q],G!=null))switch(Q){case\"value\":$=G;break;case\"defaultValue\":q=G;break;case\"multiple\":Z=G;default:s6(J,X,Q,G,Y,null)}X=$,Y=q,J.multiple=!!Z,X!=null?GH(J,!!Z,X,!1):Y!=null&&GH(J,!!Z,Y,!0);return;case\"textarea\":m1(\"invalid\",J),$=Q=Z=null;for(q in Y)if(Y.hasOwnProperty(q)&&(G=Y[q],G!=null))switch(q){case\"value\":Z=G;break;case\"defaultValue\":Q=G;break;case\"children\":$=G;break;case\"dangerouslySetInnerHTML\":if(G!=null)throw Error(K0(91));break;default:s6(J,X,q,G,Y,null)}Ls(J,Z,Q,$);return;case\"option\":for(U in Y)if(Y.hasOwnProperty(U)&&(Z=Y[U],Z!=null))switch(U){case\"selected\":J.selected=Z&&typeof Z!==\"function\"&&typeof Z!==\"symbol\";break;default:s6(J,X,U,Z,Y,null)}return;case\"dialog\":m1(\"beforetoggle\",J),m1(\"toggle\",J),m1(\"cancel\",J),m1(\"close\",J);break;case\"iframe\":case\"object\":m1(\"load\",J);break;case\"video\":case\"audio\":for(Z=0;Z<hW.length;Z++)m1(hW[Z],J);break;case\"image\":m1(\"error\",J),m1(\"load\",J);break;case\"details\":m1(\"toggle\",J);break;case\"embed\":case\"source\":case\"link\":m1(\"error\",J),m1(\"load\",J);case\"area\":case\"base\":case\"br\":case\"col\":case\"hr\":case\"keygen\":case\"meta\":case\"param\":case\"track\":case\"wbr\":case\"menuitem\":for(H in Y)if(Y.hasOwnProperty(H)&&(Z=Y[H],Z!=null))switch(H){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(K0(137,X));default:s6(J,X,H,Z,Y,null)}return;default:if(EE(X)){for(V in Y)Y.hasOwnProperty(V)&&(Z=Y[V],Z!==void 0&&zE(J,X,V,Z,Y,void 0));return}}for(G in Y)Y.hasOwnProperty(G)&&(Z=Y[G],Z!=null&&s6(J,X,G,Z,Y,null))}function NH0(J,X,Y,Z){switch(X){case\"div\":case\"span\":case\"svg\":case\"path\":case\"a\":case\"g\":case\"p\":case\"li\":break;case\"input\":var Q=null,$=null,q=null,G=null,U=null,H=null,V=null;for(W in Y){var K=Y[W];if(Y.hasOwnProperty(W)&&K!=null)switch(W){case\"checked\":break;case\"value\":break;case\"defaultValue\":U=K;default:Z.hasOwnProperty(W)||s6(J,X,W,null,Z,K)}}for(var j in Z){var W=Z[j];if(K=Y[j],Z.hasOwnProperty(j)&&(W!=null||K!=null))switch(j){case\"type\":$=W;break;case\"name\":Q=W;break;case\"checked\":H=W;break;case\"defaultChecked\":V=W;break;case\"value\":q=W;break;case\"defaultValue\":G=W;break;case\"children\":case\"dangerouslySetInnerHTML\":if(W!=null)throw Error(K0(137,X));break;default:W!==K&&s6(J,X,j,W,Z,K)}}hk(J,q,G,U,H,V,$,Q);return;case\"select\":W=q=G=j=null;for($ in Y)if(U=Y[$],Y.hasOwnProperty($)&&U!=null)switch($){case\"value\":break;case\"multiple\":W=U;default:Z.hasOwnProperty($)||s6(J,X,$,null,Z,U)}for(Q in Z)if($=Z[Q],U=Y[Q],Z.hasOwnProperty(Q)&&($!=null||U!=null))switch(Q){case\"value\":j=$;break;case\"defaultValue\":G=$;break;case\"multiple\":q=$;default:$!==U&&s6(J,X,Q,$,Z,U)}X=G,Y=q,Z=W,j!=null?GH(J,!!Y,j,!1):!!Z!==!!Y&&(X!=null?GH(J,!!Y,X,!0):GH(J,!!Y,Y?[]:\"\",!1));return;case\"textarea\":W=j=null;for(G in Y)if(Q=Y[G],Y.hasOwnProperty(G)&&Q!=null&&!Z.hasOwnProperty(G))switch(G){case\"value\":break;case\"children\":break;default:s6(J,X,G,null,Z,Q)}for(q in Z)if(Q=Z[q],$=Y[q],Z.hasOwnProperty(q)&&(Q!=null||$!=null))switch(q){case\"value\":j=Q;break;case\"defaultValue\":W=Q;break;case\"children\":break;case\"dangerouslySetInnerHTML\":if(Q!=null)throw Error(K0(91));break;default:Q!==$&&s6(J,X,q,Q,Z,$)}Ts(J,j,W);return;case\"option\":for(var z in Y)if(j=Y[z],Y.hasOwnProperty(z)&&j!=null&&!Z.hasOwnProperty(z))switch(z){case\"selected\":J.selected=!1;break;default:s6(J,X,z,null,Z,j)}for(U in Z)if(j=Z[U],W=Y[U],Z.hasOwnProperty(U)&&j!==W&&(j!=null||W!=null))switch(U){case\"selected\":J.selected=j&&typeof j!==\"function\"&&typeof j!==\"symbol\";break;default:s6(J,X,U,j,Z,W)}return;case\"img\":case\"link\":case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"keygen\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":case\"menuitem\":for(var B in Y)j=Y[B],Y.hasOwnProperty(B)&&j!=null&&!Z.hasOwnProperty(B)&&s6(J,X,B,null,Z,j);for(H in Z)if(j=Z[H],W=Y[H],Z.hasOwnProperty(H)&&j!==W&&(j!=null||W!=null))switch(H){case\"children\":case\"dangerouslySetInnerHTML\":if(j!=null)throw Error(K0(137,X));break;default:s6(J,X,H,j,Z,W)}return;default:if(EE(X)){for(var P in Y)j=Y[P],Y.hasOwnProperty(P)&&j!==void 0&&!Z.hasOwnProperty(P)&&zE(J,X,P,void 0,Z,j);for(V in Z)j=Z[V],W=Y[V],!Z.hasOwnProperty(V)||j===W||j===void 0&&W===void 0||zE(J,X,V,j,Z,W);return}}for(var _ in Y)j=Y[_],Y.hasOwnProperty(_)&&j!=null&&!Z.hasOwnProperty(_)&&s6(J,X,_,null,Z,j);for(K in Z)j=Z[K],W=Y[K],!Z.hasOwnProperty(K)||j===W||j==null&&W==null||s6(J,X,K,j,Z,W)}function ul(J){switch(J){case\"css\":case\"script\":case\"font\":case\"img\":case\"image\":case\"input\":case\"link\":return!0;default:return!1}}function wH0(){if(typeof performance.getEntriesByType===\"function\"){for(var J=0,X=0,Y=performance.getEntriesByType(\"resource\"),Z=0;Z<Y.length;Z++){var Q=Y[Z],$=Q.transferSize,q=Q.initiatorType,G=Q.duration;if($&&G&&ul(q)){q=0,G=Q.responseEnd;for(Z+=1;Z<Y.length;Z++){var U=Y[Z],H=U.startTime;if(H>G)break;var{transferSize:V,initiatorType:K}=U;V&&ul(K)&&(U=U.responseEnd,q+=V*(U<G?1:(G-H)/(U-H)))}if(--Z,X+=8*($+q)/(Q.duration/1000),J++,10<J)break}}if(0<J)return X/J/1e6}return navigator.connection&&(J=navigator.connection.downlink,typeof J===\"number\")?J:5}var FE=null,BE=null;function cP(J){return J.nodeType===9?J:J.ownerDocument}function cl(J){switch(J){case\"http://www.w3.org/2000/svg\":return 1;case\"http://www.w3.org/1998/Math/MathML\":return 2;default:return 0}}function xi(J,X){if(J===0)switch(X){case\"svg\":return 1;case\"math\":return 2;default:return 0}return J===1&&X===\"foreignObject\"?0:J}function _E(J,X){return J===\"textarea\"||J===\"noscript\"||typeof X.children===\"string\"||typeof X.children===\"number\"||typeof X.children===\"bigint\"||typeof X.dangerouslySetInnerHTML===\"object\"&&X.dangerouslySetInnerHTML!==null&&X.dangerouslySetInnerHTML.__html!=null}var wk=null;function TH0(){var J=window.event;if(J&&J.type===\"popstate\"){if(J===wk)return!1;return wk=J,!0}return wk=null,!1}var bi=typeof setTimeout===\"function\"?setTimeout:void 0,LH0=typeof clearTimeout===\"function\"?clearTimeout:void 0,dl=typeof Promise===\"function\"?Promise:void 0,IH0=typeof queueMicrotask===\"function\"?queueMicrotask:typeof dl<\"u\"?function(J){return dl.resolve(null).then(J).catch(kH0)}:bi;function kH0(J){setTimeout(function(){throw J})}function h$(J){return J===\"head\"}function ll(J,X){var Y=X,Z=0;do{var Q=Y.nextSibling;if(J.removeChild(Y),Q&&Q.nodeType===8)if(Y=Q.data,Y===\"/$\"||Y===\"/&\"){if(Z===0){J.removeChild(Q),RH(X);return}Z--}else if(Y===\"$\"||Y===\"$?\"||Y===\"$~\"||Y===\"$!\"||Y===\"&\")Z++;else if(Y===\"html\")LW(J.ownerDocument.documentElement);else if(Y===\"head\"){Y=J.ownerDocument.head,LW(Y);for(var $=Y.firstChild;$;){var{nextSibling:q,nodeName:G}=$;$[sW]||G===\"SCRIPT\"||G===\"STYLE\"||G===\"LINK\"&&$.rel.toLowerCase()===\"stylesheet\"||Y.removeChild($),$=q}}else Y===\"body\"&&LW(J.ownerDocument.body);Y=Q}while(Y);RH(X)}function sl(J,X){var Y=J;J=0;do{var Z=Y.nextSibling;if(Y.nodeType===1?X?(Y._stashedDisplay=Y.style.display,Y.style.display=\"none\"):(Y.style.display=Y._stashedDisplay||\"\",Y.getAttribute(\"style\")===\"\"&&Y.removeAttribute(\"style\")):Y.nodeType===3&&(X?(Y._stashedText=Y.nodeValue,Y.nodeValue=\"\"):Y.nodeValue=Y._stashedText||\"\"),Z&&Z.nodeType===8)if(Y=Z.data,Y===\"/$\")if(J===0)break;else J--;else Y!==\"$\"&&Y!==\"$?\"&&Y!==\"$~\"&&Y!==\"$!\"||J++;Y=Z}while(Y)}function AE(J){var X=J.firstChild;X&&X.nodeType===10&&(X=X.nextSibling);for(;X;){var Y=X;switch(X=X.nextSibling,Y.nodeName){case\"HTML\":case\"HEAD\":case\"BODY\":AE(Y),kE(Y);continue;case\"SCRIPT\":case\"STYLE\":continue;case\"LINK\":if(Y.rel.toLowerCase()===\"stylesheet\")continue}J.removeChild(Y)}}function EH0(J,X,Y,Z){for(;J.nodeType===1;){var Q=Y;if(J.nodeName.toLowerCase()!==X.toLowerCase()){if(!Z&&(J.nodeName!==\"INPUT\"||J.type!==\"hidden\"))break}else if(!Z)if(X===\"input\"&&J.type===\"hidden\"){var $=Q.name==null?null:\"\"+Q.name;if(Q.type===\"hidden\"&&J.getAttribute(\"name\")===$)return J}else return J;else if(!J[sW])switch(X){case\"meta\":if(!J.hasAttribute(\"itemprop\"))break;return J;case\"link\":if($=J.getAttribute(\"rel\"),$===\"stylesheet\"&&J.hasAttribute(\"data-precedence\"))break;else if($!==Q.rel||J.getAttribute(\"href\")!==(Q.href==null||Q.href===\"\"?null:Q.href)||J.getAttribute(\"crossorigin\")!==(Q.crossOrigin==null?null:Q.crossOrigin)||J.getAttribute(\"title\")!==(Q.title==null?null:Q.title))break;return J;case\"style\":if(J.hasAttribute(\"data-precedence\"))break;return J;case\"script\":if($=J.getAttribute(\"src\"),($!==(Q.src==null?null:Q.src)||J.getAttribute(\"type\")!==(Q.type==null?null:Q.type)||J.getAttribute(\"crossorigin\")!==(Q.crossOrigin==null?null:Q.crossOrigin))&&$&&J.hasAttribute(\"async\")&&!J.hasAttribute(\"itemprop\"))break;return J;default:return J}if(J=zJ(J.nextSibling),J===null)break}return null}function yH0(J,X,Y){if(X===\"\")return null;for(;J.nodeType!==3;){if((J.nodeType!==1||J.nodeName!==\"INPUT\"||J.type!==\"hidden\")&&!Y)return null;if(J=zJ(J.nextSibling),J===null)return null}return J}function Ci(J,X){for(;J.nodeType!==8;){if((J.nodeType!==1||J.nodeName!==\"INPUT\"||J.type!==\"hidden\")&&!X)return null;if(J=zJ(J.nextSibling),J===null)return null}return J}function PE(J){return J.data===\"$?\"||J.data===\"$~\"}function DE(J){return J.data===\"$!\"||J.data===\"$?\"&&J.ownerDocument.readyState!==\"loading\"}function xH0(J,X){var Y=J.ownerDocument;if(J.data===\"$~\")J._reactRetry=X;else if(J.data!==\"$?\"||Y.readyState!==\"loading\")X();else{var Z=function(){X(),Y.removeEventListener(\"DOMContentLoaded\",Z)};Y.addEventListener(\"DOMContentLoaded\",Z),J._reactRetry=Z}}function zJ(J){for(;J!=null;J=J.nextSibling){var X=J.nodeType;if(X===1||X===3)break;if(X===8){if(X=J.data,X===\"$\"||X===\"$!\"||X===\"$?\"||X===\"$~\"||X===\"&\"||X===\"F!\"||X===\"F\")break;if(X===\"/$\"||X===\"/&\")return null}}return J}var OE=null;function al(J){J=J.nextSibling;for(var X=0;J;){if(J.nodeType===8){var Y=J.data;if(Y===\"/$\"||Y===\"/&\"){if(X===0)return zJ(J.nextSibling);X--}else Y!==\"$\"&&Y!==\"$!\"&&Y!==\"$?\"&&Y!==\"$~\"&&Y!==\"&\"||X++}J=J.nextSibling}return null}function il(J){J=J.previousSibling;for(var X=0;J;){if(J.nodeType===8){var Y=J.data;if(Y===\"$\"||Y===\"$!\"||Y===\"$?\"||Y===\"$~\"||Y===\"&\"){if(X===0)return J;X--}else Y!==\"/$\"&&Y!==\"/&\"||X++}J=J.previousSibling}return null}function Si(J,X,Y){switch(X=cP(Y),J){case\"html\":if(J=X.documentElement,!J)throw Error(K0(452));return J;case\"head\":if(J=X.head,!J)throw Error(K0(453));return J;case\"body\":if(J=X.body,!J)throw Error(K0(454));return J;default:throw Error(K0(451))}}function LW(J){for(var X=J.attributes;X.length;)J.removeAttributeNode(X[0]);kE(J)}var FJ=new Map,rl=new Set;function dP(J){return typeof J.getRootNode===\"function\"?J.getRootNode():J.nodeType===9?J:J.ownerDocument}var sZ=M6.d;M6.d={f:bH0,r:CH0,D:SH0,C:fH0,L:hH0,m:vH0,X:pH0,S:gH0,M:mH0};function bH0(){var J=sZ.f(),X=GD();return J||X}function CH0(J){var X=wH(J);X!==null&&X.tag===5&&X.type===\"form\"?Ia(X):sZ.r(J)}var kH=typeof document>\"u\"?null:document;function fi(J,X,Y){var Z=kH;if(Z&&typeof X===\"string\"&&X){var Q=VJ(X);Q='link[rel=\"'+J+'\"][href=\"'+Q+'\"]',typeof Y===\"string\"&&(Q+='[crossorigin=\"'+Y+'\"]'),rl.has(Q)||(rl.add(Q),J={rel:J,crossOrigin:Y,href:X},Z.querySelector(Q)===null&&(X=Z.createElement(\"link\"),M7(X,\"link\",J),e5(X),Z.head.appendChild(X)))}}function SH0(J){sZ.D(J),fi(\"dns-prefetch\",J,null)}function fH0(J,X){sZ.C(J,X),fi(\"preconnect\",J,X)}function hH0(J,X,Y){sZ.L(J,X,Y);var Z=kH;if(Z&&J&&X){var Q='link[rel=\"preload\"][as=\"'+VJ(X)+'\"]';X===\"image\"?Y&&Y.imageSrcSet?(Q+='[imagesrcset=\"'+VJ(Y.imageSrcSet)+'\"]',typeof Y.imageSizes===\"string\"&&(Q+='[imagesizes=\"'+VJ(Y.imageSizes)+'\"]')):Q+='[href=\"'+VJ(J)+'\"]':Q+='[href=\"'+VJ(J)+'\"]';var $=Q;switch(X){case\"style\":$=MH(J);break;case\"script\":$=EH(J)}FJ.has($)||(J=D8({rel:\"preload\",href:X===\"image\"&&Y&&Y.imageSrcSet?void 0:J,as:X},Y),FJ.set($,J),Z.querySelector(Q)!==null||X===\"style\"&&Z.querySelector(tW($))||X===\"script\"&&Z.querySelector(eW($))||(X=Z.createElement(\"link\"),M7(X,\"link\",J),e5(X),Z.head.appendChild(X)))}}function vH0(J,X){sZ.m(J,X);var Y=kH;if(Y&&J){var Z=X&&typeof X.as===\"string\"?X.as:\"script\",Q='link[rel=\"modulepreload\"][as=\"'+VJ(Z)+'\"][href=\"'+VJ(J)+'\"]',$=Q;switch(Z){case\"audioworklet\":case\"paintworklet\":case\"serviceworker\":case\"sharedworker\":case\"worker\":case\"script\":$=EH(J)}if(!FJ.has($)&&(J=D8({rel:\"modulepreload\",href:J},X),FJ.set($,J),Y.querySelector(Q)===null)){switch(Z){case\"audioworklet\":case\"paintworklet\":case\"serviceworker\":case\"sharedworker\":case\"worker\":case\"script\":if(Y.querySelector(eW($)))return}Z=Y.createElement(\"link\"),M7(Z,\"link\",J),e5(Z),Y.head.appendChild(Z)}}}function gH0(J,X,Y){sZ.S(J,X,Y);var Z=kH;if(Z&&J){var Q=qH(Z).hoistableStyles,$=MH(J);X=X||\"default\";var q=Q.get($);if(!q){var G={loading:0,preload:null};if(q=Z.querySelector(tW($)))G.loading=5;else{J=D8({rel:\"stylesheet\",href:J,\"data-precedence\":X},Y),(Y=FJ.get($))&&zy(J,Y);var U=q=Z.createElement(\"link\");e5(U),M7(U,\"link\",J),U._p=new Promise(function(H,V){U.onload=H,U.onerror=V}),U.addEventListener(\"load\",function(){G.loading|=1}),U.addEventListener(\"error\",function(){G.loading|=2}),G.loading|=4,BP(q,X,Z)}q={type:\"stylesheet\",instance:q,count:1,state:G},Q.set($,q)}}}function pH0(J,X){sZ.X(J,X);var Y=kH;if(Y&&J){var Z=qH(Y).hoistableScripts,Q=EH(J),$=Z.get(Q);$||($=Y.querySelector(eW(Q)),$||(J=D8({src:J,async:!0},X),(X=FJ.get(Q))&&Fy(J,X),$=Y.createElement(\"script\"),e5($),M7($,\"link\",J),Y.head.appendChild($)),$={type:\"script\",instance:$,count:1,state:null},Z.set(Q,$))}}function mH0(J,X){sZ.M(J,X);var Y=kH;if(Y&&J){var Z=qH(Y).hoistableScripts,Q=EH(J),$=Z.get(Q);$||($=Y.querySelector(eW(Q)),$||(J=D8({src:J,async:!0,type:\"module\"},X),(X=FJ.get(Q))&&Fy(J,X),$=Y.createElement(\"script\"),e5($),M7($,\"link\",J),Y.head.appendChild($)),$={type:\"script\",instance:$,count:1,state:null},Z.set(Q,$))}}function ol(J,X,Y,Z){var Q=(Q=R$.current)?dP(Q):null;if(!Q)throw Error(K0(446));switch(J){case\"meta\":case\"title\":return null;case\"style\":return typeof Y.precedence===\"string\"&&typeof Y.href===\"string\"?(X=MH(Y.href),Y=qH(Q).hoistableStyles,Z=Y.get(X),Z||(Z={type:\"style\",instance:null,count:0,state:null},Y.set(X,Z)),Z):{type:\"void\",instance:null,count:0,state:null};case\"link\":if(Y.rel===\"stylesheet\"&&typeof Y.href===\"string\"&&typeof Y.precedence===\"string\"){J=MH(Y.href);var $=qH(Q).hoistableStyles,q=$.get(J);if(q||(Q=Q.ownerDocument||Q,q={type:\"stylesheet\",instance:null,count:0,state:{loading:0,preload:null}},$.set(J,q),($=Q.querySelector(tW(J)))&&!$._p&&(q.instance=$,q.state.loading=5),FJ.has(J)||(Y={rel:\"preload\",as:\"style\",href:Y.href,crossOrigin:Y.crossOrigin,integrity:Y.integrity,media:Y.media,hrefLang:Y.hrefLang,referrerPolicy:Y.referrerPolicy},FJ.set(J,Y),$||uH0(Q,J,Y,q.state))),X&&Z===null)throw Error(K0(528,\"\"));return q}if(X&&Z!==null)throw Error(K0(529,\"\"));return null;case\"script\":return X=Y.async,Y=Y.src,typeof Y===\"string\"&&X&&typeof X!==\"function\"&&typeof X!==\"symbol\"?(X=EH(Y),Y=qH(Q).hoistableScripts,Z=Y.get(X),Z||(Z={type:\"script\",instance:null,count:0,state:null},Y.set(X,Z)),Z):{type:\"void\",instance:null,count:0,state:null};default:throw Error(K0(444,J))}}function MH(J){return'href=\"'+VJ(J)+'\"'}function tW(J){return'link[rel=\"stylesheet\"]['+J+\"]\"}function hi(J){return D8({},J,{\"data-precedence\":J.precedence,precedence:null})}function uH0(J,X,Y,Z){J.querySelector('link[rel=\"preload\"][as=\"style\"]['+X+\"]\")?Z.loading=1:(X=J.createElement(\"link\"),Z.preload=X,X.addEventListener(\"load\",function(){return Z.loading|=1}),X.addEventListener(\"error\",function(){return Z.loading|=2}),M7(X,\"link\",Y),e5(X),J.head.appendChild(X))}function EH(J){return'[src=\"'+VJ(J)+'\"]'}function eW(J){return\"script[async]\"+J}function nl(J,X,Y){if(X.count++,X.instance===null)switch(X.type){case\"style\":var Z=J.querySelector('style[data-href~=\"'+VJ(Y.href)+'\"]');if(Z)return X.instance=Z,e5(Z),Z;var Q=D8({},Y,{\"data-href\":Y.href,\"data-precedence\":Y.precedence,href:null,precedence:null});return Z=(J.ownerDocument||J).createElement(\"style\"),e5(Z),M7(Z,\"style\",Q),BP(Z,Y.precedence,J),X.instance=Z;case\"stylesheet\":Q=MH(Y.href);var $=J.querySelector(tW(Q));if($)return X.state.loading|=4,X.instance=$,e5($),$;Z=hi(Y),(Q=FJ.get(Q))&&zy(Z,Q),$=(J.ownerDocument||J).createElement(\"link\"),e5($);var q=$;return q._p=new Promise(function(G,U){q.onload=G,q.onerror=U}),M7($,\"link\",Z),X.state.loading|=4,BP($,Y.precedence,J),X.instance=$;case\"script\":if($=EH(Y.src),Q=J.querySelector(eW($)))return X.instance=Q,e5(Q),Q;if(Z=Y,Q=FJ.get($))Z=D8({},Y),Fy(Z,Q);return J=J.ownerDocument||J,Q=J.createElement(\"script\"),e5(Q),M7(Q,\"link\",Z),J.head.appendChild(Q),X.instance=Q;case\"void\":return null;default:throw Error(K0(443,X.type))}else X.type===\"stylesheet\"&&(X.state.loading&4)===0&&(Z=X.instance,X.state.loading|=4,BP(Z,Y.precedence,J));return X.instance}function BP(J,X,Y){for(var Z=Y.querySelectorAll('link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'),Q=Z.length?Z[Z.length-1]:null,$=Q,q=0;q<Z.length;q++){var G=Z[q];if(G.dataset.precedence===X)$=G;else if($!==Q)break}$?$.parentNode.insertBefore(J,$.nextSibling):(X=Y.nodeType===9?Y.head:Y,X.insertBefore(J,X.firstChild))}function zy(J,X){J.crossOrigin==null&&(J.crossOrigin=X.crossOrigin),J.referrerPolicy==null&&(J.referrerPolicy=X.referrerPolicy),J.title==null&&(J.title=X.title)}function Fy(J,X){J.crossOrigin==null&&(J.crossOrigin=X.crossOrigin),J.referrerPolicy==null&&(J.referrerPolicy=X.referrerPolicy),J.integrity==null&&(J.integrity=X.integrity)}var _P=null;function tl(J,X,Y){if(_P===null){var Z=new Map,Q=_P=new Map;Q.set(Y,Z)}else Q=_P,Z=Q.get(Y),Z||(Z=new Map,Q.set(Y,Z));if(Z.has(J))return Z;Z.set(J,null),Y=Y.getElementsByTagName(J);for(Q=0;Q<Y.length;Q++){var $=Y[Q];if(!($[sW]||$[P7]||J===\"link\"&&$.getAttribute(\"rel\")===\"stylesheet\")&&$.namespaceURI!==\"http://www.w3.org/2000/svg\"){var q=$.getAttribute(X)||\"\";q=J+q;var G=Z.get(q);G?G.push($):Z.set(q,[$])}}return Z}function el(J,X,Y){J=J.ownerDocument||J,J.head.insertBefore(Y,X===\"title\"?J.querySelector(\"head > title\"):null)}function cH0(J,X,Y){if(Y===1||X.itemProp!=null)return!1;switch(J){case\"meta\":case\"title\":return!0;case\"style\":if(typeof X.precedence!==\"string\"||typeof X.href!==\"string\"||X.href===\"\")break;return!0;case\"link\":if(typeof X.rel!==\"string\"||typeof X.href!==\"string\"||X.href===\"\"||X.onLoad||X.onError)break;switch(X.rel){case\"stylesheet\":return J=X.disabled,typeof X.precedence===\"string\"&&J==null;default:return!0}case\"script\":if(X.async&&typeof X.async!==\"function\"&&typeof X.async!==\"symbol\"&&!X.onLoad&&!X.onError&&X.src&&typeof X.src===\"string\")return!0}return!1}function vi(J){return J.type===\"stylesheet\"&&(J.state.loading&3)===0?!1:!0}function dH0(J,X,Y,Z){if(Y.type===\"stylesheet\"&&(typeof Z.media!==\"string\"||matchMedia(Z.media).matches!==!1)&&(Y.state.loading&4)===0){if(Y.instance===null){var Q=MH(Z.href),$=X.querySelector(tW(Q));if($){X=$._p,X!==null&&typeof X===\"object\"&&typeof X.then===\"function\"&&(J.count++,J=lP.bind(J),X.then(J,J)),Y.state.loading|=4,Y.instance=$,e5($);return}$=X.ownerDocument||X,Z=hi(Z),(Q=FJ.get(Q))&&zy(Z,Q),$=$.createElement(\"link\"),e5($);var q=$;q._p=new Promise(function(G,U){q.onload=G,q.onerror=U}),M7($,\"link\",Z),Y.instance=$}J.stylesheets===null&&(J.stylesheets=new Map),J.stylesheets.set(Y,X),(X=Y.state.preload)&&(Y.state.loading&3)===0&&(J.count++,Y=lP.bind(J),X.addEventListener(\"load\",Y),X.addEventListener(\"error\",Y))}}var Tk=0;function lH0(J,X){return J.stylesheets&&J.count===0&&AP(J,J.stylesheets),0<J.count||0<J.imgCount?function(Y){var Z=setTimeout(function(){if(J.stylesheets&&AP(J,J.stylesheets),J.unsuspend){var $=J.unsuspend;J.unsuspend=null,$()}},60000+X);0<J.imgBytes&&Tk===0&&(Tk=62500*wH0());var Q=setTimeout(function(){if(J.waitingForImages=!1,J.count===0&&(J.stylesheets&&AP(J,J.stylesheets),J.unsuspend)){var $=J.unsuspend;J.unsuspend=null,$()}},(J.imgBytes>Tk?50:800)+X);return J.unsuspend=Y,function(){J.unsuspend=null,clearTimeout(Z),clearTimeout(Q)}}:null}function lP(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)AP(this,this.stylesheets);else if(this.unsuspend){var J=this.unsuspend;this.unsuspend=null,J()}}}var sP=null;function AP(J,X){J.stylesheets=null,J.unsuspend!==null&&(J.count++,sP=new Map,X.forEach(sH0,J),sP=null,lP.call(J))}function sH0(J,X){if(!(X.state.loading&4)){var Y=sP.get(J);if(Y)var Z=Y.get(null);else{Y=new Map,sP.set(J,Y);for(var Q=J.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),$=0;$<Q.length;$++){var q=Q[$];if(q.nodeName===\"LINK\"||q.getAttribute(\"media\")!==\"not all\")Y.set(q.dataset.precedence,q),Z=q}Z&&Y.set(null,Z)}Q=X.instance,q=Q.getAttribute(\"data-precedence\"),$=Y.get(q)||Z,$===Z&&Y.set(null,Q),Y.set(q,Q),this.count++,Z=lP.bind(this),Q.addEventListener(\"load\",Z),Q.addEventListener(\"error\",Z),$?$.parentNode.insertBefore(Q,$.nextSibling):(J=J.nodeType===9?J.head:J,J.insertBefore(Q,J.firstChild)),X.state.loading|=4}}var gW={$$typeof:SZ,Provider:null,Consumer:null,_currentValue:v3,_currentValue2:v3,_threadCount:0};function aH0(J,X,Y,Z,Q,$,q,G,U){this.tag=1,this.containerInfo=J,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=eI(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=eI(0),this.hiddenUpdates=eI(null),this.identifierPrefix=Z,this.onUncaughtError=Q,this.onCaughtError=$,this.onRecoverableError=q,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=U,this.incompleteTransitions=new Map}function gi(J,X,Y,Z,Q,$,q,G,U,H,V,K){return J=new aH0(J,X,Y,q,U,H,V,K,G),X=1,$===!0&&(X|=24),$=D9(3,null,null,X),J.current=$,$.stateNode=J,X=mE(),X.refCount++,J.pooledCache=X,X.refCount++,$.memoizedState={element:Z,isDehydrated:Y,cache:X},dE($),J}function pi(J){if(!J)return YH;return J=YH,J}function mi(J,X,Y,Z,Q,$){Q=pi(Q),Z.context===null?Z.context=Q:Z.pendingContext=Q,Z=w$(X),Z.payload={element:Y},$=$===void 0?null:$,$!==null&&(Z.callback=$),Y=T$(J,Z,X),Y!==null&&(s4(Y,J,X),PW(Y,J,X))}function Js(J,X){if(J=J.memoizedState,J!==null&&J.dehydrated!==null){var Y=J.retryLane;J.retryLane=Y!==0&&Y<X?Y:X}}function By(J,X){Js(J,X),(J=J.alternate)&&Js(J,X)}function ui(J){if(J.tag===13||J.tag===31){var X=n3(J,67108864);X!==null&&s4(X,J,67108864),By(J,67108864)}}function Xs(J){if(J.tag===13||J.tag===31){var X=w9();X=LE(X);var Y=n3(J,X);Y!==null&&s4(Y,J,X),By(J,X)}}var aP=!0;function iH0(J,X,Y,Z){var Q=j1.T;j1.T=null;var $=M6.p;try{M6.p=2,_y(J,X,Y,Z)}finally{M6.p=$,j1.T=Q}}function rH0(J,X,Y,Z){var Q=j1.T;j1.T=null;var $=M6.p;try{M6.p=8,_y(J,X,Y,Z)}finally{M6.p=$,j1.T=Q}}function _y(J,X,Y,Z){if(aP){var Q=ME(Z);if(Q===null)Nk(J,X,Z,iP,Y),Ys(J,Z);else if(nH0(Q,J,X,Y,Z))Z.stopPropagation();else if(Ys(J,Z),X&4&&-1<oH0.indexOf(J)){for(;Q!==null;){var $=wH(Q);if($!==null)switch($.tag){case 3:if($=$.stateNode,$.current.memoizedState.isDehydrated){var q=C3($.pendingLanes);if(q!==0){var G=$;G.pendingLanes|=2;for(G.entangledLanes|=2;q;){var U=1<<31-N9(q);G.entanglements[1]|=U,q&=~U}UY($),(O6&6)===0&&(hP=M9()+500,nW(0,!1))}}break;case 31:case 13:G=n3($,2),G!==null&&s4(G,$,2),GD(),By($,2)}if($=ME(Z),$===null&&Nk(J,X,Z,iP,Y),$===Q)break;Q=$}Q!==null&&Z.stopPropagation()}else Nk(J,X,Z,null,Y)}}function ME(J){return J=yE(J),Ay(J)}var iP=null;function Ay(J){if(iP=null,J=oU(J),J!==null){var X=uW(J);if(X===null)J=null;else{var Y=X.tag;if(Y===13){if(J=Us(X),J!==null)return J;J=null}else if(Y===31){if(J=Hs(X),J!==null)return J;J=null}else if(Y===3){if(X.stateNode.current.memoizedState.isDehydrated)return X.tag===3?X.stateNode.containerInfo:null;J=null}else X!==J&&(J=null)}}return iP=J,null}function ci(J){switch(J){case\"beforetoggle\":case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"toggle\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 2;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 8;case\"message\":switch(hG0()){case Ws:return 2;case zs:return 8;case RP:case vG0:return 32;case Fs:return 268435456;default:return 32}default:return 32}}var RE=!1,k$=null,E$=null,y$=null,pW=new Map,mW=new Map,_$=[],oH0=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\" \");function Ys(J,X){switch(J){case\"focusin\":case\"focusout\":k$=null;break;case\"dragenter\":case\"dragleave\":E$=null;break;case\"mouseover\":case\"mouseout\":y$=null;break;case\"pointerover\":case\"pointerout\":pW.delete(X.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":mW.delete(X.pointerId)}}function $W(J,X,Y,Z,Q,$){if(J===null||J.nativeEvent!==$)return J={blockedOn:X,domEventName:Y,eventSystemFlags:Z,nativeEvent:$,targetContainers:[Q]},X!==null&&(X=wH(X),X!==null&&ui(X)),J;return J.eventSystemFlags|=Z,X=J.targetContainers,Q!==null&&X.indexOf(Q)===-1&&X.push(Q),J}function nH0(J,X,Y,Z,Q){switch(X){case\"focusin\":return k$=$W(k$,J,X,Y,Z,Q),!0;case\"dragenter\":return E$=$W(E$,J,X,Y,Z,Q),!0;case\"mouseover\":return y$=$W(y$,J,X,Y,Z,Q),!0;case\"pointerover\":var $=Q.pointerId;return pW.set($,$W(pW.get($)||null,J,X,Y,Z,Q)),!0;case\"gotpointercapture\":return $=Q.pointerId,mW.set($,$W(mW.get($)||null,J,X,Y,Z,Q)),!0}return!1}function di(J){var X=oU(J.target);if(X!==null){var Y=uW(X);if(Y!==null){if(X=Y.tag,X===13){if(X=Us(Y),X!==null){J.blockedOn=X,md(J.priority,function(){Xs(Y)});return}}else if(X===31){if(X=Hs(Y),X!==null){J.blockedOn=X,md(J.priority,function(){Xs(Y)});return}}else if(X===3&&Y.stateNode.current.memoizedState.isDehydrated){J.blockedOn=Y.tag===3?Y.stateNode.containerInfo:null;return}}}J.blockedOn=null}function PP(J){if(J.blockedOn!==null)return!1;for(var X=J.targetContainers;0<X.length;){var Y=ME(J.nativeEvent);if(Y===null){Y=J.nativeEvent;var Z=new Y.constructor(Y.type,Y);gk=Z,Y.target.dispatchEvent(Z),gk=null}else return X=wH(Y),X!==null&&ui(X),J.blockedOn=Y,!1;X.shift()}return!0}function Zs(J,X,Y){PP(J)&&Y.delete(X)}function tH0(){RE=!1,k$!==null&&PP(k$)&&(k$=null),E$!==null&&PP(E$)&&(E$=null),y$!==null&&PP(y$)&&(y$=null),pW.forEach(Zs),mW.forEach(Zs)}function YP(J,X){J.blockedOn===X&&(J.blockedOn=null,RE||(RE=!0,uU(mU,tH0)))}var ZP=null;function Qs(J){ZP!==J&&(ZP=J,uU(mU,function(){ZP===J&&(ZP=null);for(var X=0;X<J.length;X+=3){var Y=J[X],Z=J[X+1],Q=J[X+2];if(typeof Z!==\"function\")if(Ay(Z||Y)===null)continue;else break;var $=wH(Y);$!==null&&(J.splice(X,3),X-=3,XE($,{pending:!0,data:Q,method:Y.method,action:Z},Z,Q))}}))}function RH(J){function X(U){return YP(U,J)}k$!==null&&YP(k$,J),E$!==null&&YP(E$,J),y$!==null&&YP(y$,J),pW.forEach(X),mW.forEach(X);for(var Y=0;Y<_$.length;Y++){var Z=_$[Y];Z.blockedOn===J&&(Z.blockedOn=null)}for(;0<_$.length&&(Y=_$[0],Y.blockedOn===null);)di(Y),Y.blockedOn===null&&_$.shift();if(Y=(J.ownerDocument||J).$$reactFormReplay,Y!=null)for(Z=0;Z<Y.length;Z+=3){var Q=Y[Z],$=Y[Z+1],q=Q[a4]||null;if(typeof $===\"function\")q||Qs(Y);else if(q){var G=null;if($&&$.hasAttribute(\"formAction\")){if(Q=$,q=$[a4]||null)G=q.formAction;else if(Ay(Q)!==null)continue}else G=q.action;typeof G===\"function\"?Y[Z+1]=G:(Y.splice(Z,3),Z-=3),Qs(Y)}}}function li(){function J($){$.canIntercept&&$.info===\"react-transition\"&&$.intercept({handler:function(){return new Promise(function(q){return Q=q})},focusReset:\"manual\",scroll:\"manual\"})}function X(){Q!==null&&(Q(),Q=null),Z||setTimeout(Y,20)}function Y(){if(!Z&&!navigation.transition){var $=navigation.currentEntry;$&&$.url!=null&&navigation.navigate($.url,{state:$.getState(),info:\"react-transition\",history:\"replace\"})}}if(typeof navigation===\"object\"){var Z=!1,Q=null;return navigation.addEventListener(\"navigate\",J),navigation.addEventListener(\"navigatesuccess\",X),navigation.addEventListener(\"navigateerror\",X),setTimeout(Y,100),function(){Z=!0,navigation.removeEventListener(\"navigate\",J),navigation.removeEventListener(\"navigatesuccess\",X),navigation.removeEventListener(\"navigateerror\",X),Q!==null&&(Q(),Q=null)}}}function Py(J){this._internalRoot=J}VD.prototype.render=Py.prototype.render=function(J){var X=this._internalRoot;if(X===null)throw Error(K0(409));var Y=X.current,Z=w9();mi(Y,Z,J,X,null,null)};VD.prototype.unmount=Py.prototype.unmount=function(){var J=this._internalRoot;if(J!==null){this._internalRoot=null;var X=J.containerInfo;mi(J.current,2,null,J,null,null),GD(),X[NH]=null}};function VD(J){this._internalRoot=J}VD.prototype.unstable_scheduleHydration=function(J){if(J){var X=Ds();J={blockedOn:null,target:J,priority:X};for(var Y=0;Y<_$.length&&X!==0&&X<_$[Y].priority;Y++);_$.splice(Y,0,J),Y===0&&di(J)}};var $s=yI;if($s!==\"19.2.7\")throw Error(K0(527,$s,\"19.2.7\"));M6.findDOMNode=function(J){var X=J._reactInternals;if(X===void 0){if(typeof J.render===\"function\")throw Error(K0(188));throw J=Object.keys(J).join(\",\"),Error(K0(268,J))}return J=EG0(X),J=J!==null?Vs(J):null,J=J===null?null:J.stateNode,J};var eH0={bundleType:0,version:\"19.2.7\",rendererPackageName:\"react-dom\",currentDispatcherRef:j1,reconcilerVersion:\"19.2.7\"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<\"u\"){if(aU=__REACT_DEVTOOLS_GLOBAL_HOOK__,!aU.isDisabled&&aU.supportsFiber)try{cW=aU.inject(eH0),R9=aU}catch(J){}}var aU;JV0.createRoot=function(J,X){if(!Gs(J))throw Error(K0(299));var Y=!1,Z=\"\",Q=fa,$=ha,q=va;return X!==null&&X!==void 0&&(X.unstable_strictMode===!0&&(Y=!0),X.identifierPrefix!==void 0&&(Z=X.identifierPrefix),X.onUncaughtError!==void 0&&(Q=X.onUncaughtError),X.onCaughtError!==void 0&&($=X.onCaughtError),X.onRecoverableError!==void 0&&(q=X.onRecoverableError)),X=gi(J,1,!1,null,null,Y,Z,null,Q,$,q,li),J[NH]=X.current,Wy(J),new Py(X)};JV0.hydrateRoot=function(J,X,Y){if(!Gs(J))throw Error(K0(299));var Z=!1,Q=\"\",$=fa,q=ha,G=va,U=null;return Y!==null&&Y!==void 0&&(Y.unstable_strictMode===!0&&(Z=!0),Y.identifierPrefix!==void 0&&(Q=Y.identifierPrefix),Y.onUncaughtError!==void 0&&($=Y.onUncaughtError),Y.onCaughtError!==void 0&&(q=Y.onCaughtError),Y.onRecoverableError!==void 0&&(G=Y.onRecoverableError),Y.formState!==void 0&&(U=Y.formState)),X=gi(J,1,!0,X,Y!=null?Y:null,Z,Q,U,$,q,G,li),X.context=pi(null),Y=X.current,Z=w9(),Z=LE(Z),Q=w$(Z),Q.callback=null,T$(Y,Q,Z),Y=Z,X.current.lanes=Y,lW(X,Y),UY(X),J[NH]=X.current,Wy(J),new VD(X)};JV0.version=\"19.2.7\"});var ri=fA((mw0,ii)=>{function ai(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!==\"function\")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ai)}catch(J){console.error(J)}}ai(),ii.exports=si()});var Cq0={};$G0(Cq0,{language:()=>yw0,conf:()=>Ew0});var Ew0,yw0;var Sq0=TI(()=>{Ew0={comments:{blockComment:[\"<!--\",\"-->\"]},brackets:[[\"{\",\"}\"],[\"[\",\"]\"],[\"(\",\")\"]],autoClosingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\",notIn:[\"string\"]}],surroundingPairs:[{open:\"(\",close:\")\"},{open:\"[\",close:\"]\"},{open:\"`\",close:\"`\"}],folding:{markers:{start:new RegExp(\"^\\\\s*<!--\\\\s*#?region\\\\b.*-->\"),end:new RegExp(\"^\\\\s*<!--\\\\s*#?endregion\\\\b.*-->\")}}},yw0={defaultToken:\"\",tokenPostfix:\".md\",control:/[\\\\`*_\\[\\]{}()#+\\-\\.!]/,noncontrol:/[^\\\\`*_\\[\\]{}()#+\\-\\.!]/,escapes:/\\\\(?:@control)/,jsescapes:/\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:[\"area\",\"base\",\"basefont\",\"br\",\"col\",\"frame\",\"hr\",\"img\",\"input\",\"isindex\",\"link\",\"meta\",\"param\"],tokenizer:{root:[[/^\\s*\\|/,\"@rematch\",\"@table_header\"],[/^(\\s{0,3})(#+)((?:[^\\\\#]|@escapes)+)((?:#+)?)/,[\"white\",\"keyword\",\"keyword\",\"keyword\"]],[/^\\s*(=+|\\-+)\\s*$/,\"keyword\"],[/^\\s*((\\*[ ]?)+)\\s*$/,\"meta.separator\"],[/^\\s*>+/,\"comment\"],[/^\\s*([\\*\\-+:]|\\d+\\.)\\s/,\"keyword\"],[/^(\\t|[ ]{4})[^ ].*$/,\"string\"],[/^\\s*~~~\\s*((?:\\w|[\\/\\-#])+)?\\s*$/,{token:\"string\",next:\"@codeblock\"}],[/^\\s*```\\s*((?:\\w|[\\/\\-#])+).*$/,{token:\"string\",next:\"@codeblockgh\",nextEmbedded:\"$1\"}],[/^\\s*```\\s*$/,{token:\"string\",next:\"@codeblock\"}],{include:\"@linecontent\"}],table_header:[{include:\"@table_common\"},[/[^\\|]+/,\"keyword.table.header\"]],table_body:[{include:\"@table_common\"},{include:\"@linecontent\"}],table_common:[[/\\s*[\\-:]+\\s*/,{token:\"keyword\",switchTo:\"table_body\"}],[/^\\s*\\|/,\"keyword.table.left\"],[/^\\s*[^\\|]/,\"@rematch\",\"@pop\"],[/^\\s*$/,\"@rematch\",\"@pop\"],[/\\|/,{cases:{\"@eos\":\"keyword.table.right\",\"@default\":\"keyword.table.middle\"}}]],codeblock:[[/^\\s*~~~\\s*$/,{token:\"string\",next:\"@pop\"}],[/^\\s*```\\s*$/,{token:\"string\",next:\"@pop\"}],[/.*$/,\"variable.source\"]],codeblockgh:[[/```\\s*$/,{token:\"string\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/[^`]+/,\"variable.source\"]],linecontent:[[/&\\w+;/,\"string.escape\"],[/@escapes/,\"escape\"],[/\\b__([^\\\\_]|@escapes|_(?!_))+__\\b/,\"strong\"],[/\\*\\*([^\\\\*]|@escapes|\\*(?!\\*))+\\*\\*/,\"strong\"],[/\\b_[^_]+_\\b/,\"emphasis\"],[/\\*([^\\\\*]|@escapes)+\\*/,\"emphasis\"],[/`([^\\\\`]|@escapes)+`/,\"variable\"],[/\\{+[^}]+\\}+/,\"string.target\"],[/(!?\\[)((?:[^\\]\\\\]|@escapes)*)(\\]\\([^\\)]+\\))/,[\"string.link\",\"\",\"string.link\"]],[/(!?\\[)((?:[^\\]\\\\]|@escapes)*)(\\])/,\"string.link\"],{include:\"html\"}],html:[[/<(\\w+)\\/>/,\"tag\"],[/<(\\w+)(\\-|\\w)*/,{cases:{\"@empty\":{token:\"tag\",next:\"@tag.$1\"},\"@default\":{token:\"tag\",next:\"@tag.$1\"}}}],[/<\\/(\\w+)(\\-|\\w)*\\s*>/,{token:\"tag\"}],[/<!--/,\"comment\",\"@comment\"]],comment:[[/[^<\\-]+/,\"comment.content\"],[/-->/,\"comment\",\"@pop\"],[/<!--/,\"comment.content.invalid\"],[/[<\\-]/,\"comment.content\"]],tag:[[/[ \\t\\r\\n]+/,\"white\"],[/(type)(\\s*=\\s*)(\")([^\"]+)(\")/,[\"attribute.name.html\",\"delimiter.html\",\"string.html\",{token:\"string.html\",switchTo:\"@tag.$S2.$4\"},\"string.html\"]],[/(type)(\\s*=\\s*)(')([^']+)(')/,[\"attribute.name.html\",\"delimiter.html\",\"string.html\",{token:\"string.html\",switchTo:\"@tag.$S2.$4\"},\"string.html\"]],[/(\\w+)(\\s*=\\s*)(\"[^\"]*\"|'[^']*')/,[\"attribute.name.html\",\"delimiter.html\",\"string.html\"]],[/\\w+/,\"attribute.name.html\"],[/\\/>/,\"tag\",\"@pop\"],[/>/,{cases:{\"$S2==style\":{token:\"tag\",switchTo:\"embeddedStyle\",nextEmbedded:\"text/css\"},\"$S2==script\":{cases:{$S3:{token:\"tag\",switchTo:\"embeddedScript\",nextEmbedded:\"$S3\"},\"@default\":{token:\"tag\",switchTo:\"embeddedScript\",nextEmbedded:\"text/javascript\"}}},\"@default\":{token:\"tag\",next:\"@pop\"}}}]],embeddedStyle:[[/[^<]+/,\"\"],[/<\\/style\\s*>/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/</,\"\"]],embeddedScript:[[/[^<]+/,\"\"],[/<\\/script\\s*>/,{token:\"@rematch\",next:\"@pop\",nextEmbedded:\"@pop\"}],[/</,\"\"]]}}});X8();var uq0=Dd(ri(),1);X8();X8();function w5(J){let X=location.origin;return n5(async function(Z){let Q=await fetch(X+Z,{headers:{Authorization:\"Bearer \"+J}});if(!Q.ok)throw Error(`${Z} → ${Q.status}`);return Q.json()},[J])}X8();function oi(J,X){let Y=n5(async()=>{try{X(await J(\"/api/stats\"))}catch(Z){console.warn(\"stats refresh\",Z)}},[J,X]);return Q6(()=>{Y()},[Y]),Y}var qV0=Symbol.for(\"react.transitional.element\"),GV0=Symbol.for(\"react.fragment\");function ni(J,X,Y){var Z=null;if(Y!==void 0&&(Z=\"\"+Y),X.key!==void 0&&(Z=\"\"+X.key),\"key\"in X){Y={};for(var Q in X)Q!==\"key\"&&(Y[Q]=X[Q])}else Y=X;return X=Y.ref,{$$typeof:qV0,type:J,key:Z,ref:X!==void 0?X:null,props:Y}}var R6=GV0,L=ni,m=ni;var ti=kI(null);function ei({token:J,children:X}){let[Y,Z]=F0(null),[Q]=F0([]),[$,q]=F0(null),[G,U]=F0(\"overview\"),[H,V]=F0(!1),K=w5(J),j=oi(K,Z),W=n5((B)=>{U(B)},[]),z={token:J,stats:Y,sessions:Q,selectedSessionId:$,activeModule:G,navCollapsed:H,refreshStats:j,setSelectedSessionId:q,selectModule:W,setNavCollapsed:V};return L(ti.Provider,{value:z,children:X})}function m6(){let J=EI(ti);if(!J)throw Error(\"useApp must be used within <AppProvider>\");return J}var UV0={sessions:m(R6,{children:[L(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"2\"}),L(\"path\",{d:\"M9 3v18\"})]}),log:m(R6,{children:[L(\"rect\",{x:\"6\",y:\"3\",width:\"12\",height:\"18\",rx:\"2\"}),L(\"path\",{d:\"M9 8h6 M9 12h6 M9 16h3\"})]}),download:m(R6,{children:[L(\"path\",{d:\"M12 3v12\"}),L(\"path\",{d:\"M7 10l5 5 5-5\"}),L(\"path\",{d:\"M5 21h14\"})]}),close:L(\"path\",{d:\"M6 6l12 12 M18 6L6 18\"}),chevron:L(\"path\",{d:\"M9 6l6 6-6 6\"}),info:m(R6,{children:[L(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\"}),L(\"path\",{d:\"M12 11v5 M12 8h.01\"})]}),inbox:m(R6,{children:[L(\"path\",{d:\"M3 12h5l2 3h4l2-3h5\"}),L(\"rect\",{x:\"4\",y:\"4\",width:\"16\",height:\"16\",rx:\"1\"})]}),chat:L(\"path\",{d:\"M21 15a2 2 0 0 1-2 2H8l-4 4V5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2z\"}),diamond:L(\"path\",{d:\"M12 3l9 9-9 9-9-9z\"}),activity:L(\"path\",{d:\"M3 12h4l3-8 4 16 3-8h4\"}),warning:m(R6,{children:[L(\"path\",{d:\"M12 3l9 17H3z\"}),L(\"path\",{d:\"M12 10v4 M12 17h.01\"})]}),home:m(R6,{children:[L(\"path\",{d:\"M3 11l9-8 9 8\"}),L(\"path\",{d:\"M5 10v10h4v-6h6v6h4V10\"})]}),git:m(R6,{children:[L(\"circle\",{cx:\"6\",cy:\"6\",r:\"2\"}),L(\"circle\",{cx:\"6\",cy:\"18\",r:\"2\"}),L(\"circle\",{cx:\"18\",cy:\"9\",r:\"2\"}),L(\"path\",{d:\"M6 8v8M15 9h1\"})]}),chart:L(\"path\",{d:\"M4 20V12M10 20V5M16 20v-8M3 20h17\"}),server:m(R6,{children:[L(\"rect\",{x:\"4\",y:\"4\",width:\"16\",height:\"6\",rx:\"1\"}),L(\"rect\",{x:\"4\",y:\"14\",width:\"16\",height:\"6\",rx:\"1\"}),L(\"path\",{d:\"M8 7h.01M8 17h.01\"})]}),sliders:m(R6,{children:[L(\"path\",{d:\"M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3\"}),L(\"path\",{d:\"M1 14h6M9 8h6M17 16h6\"})]})};function X7({name:J,size:X,className:Y}){return L(\"svg\",{width:X??16,height:X??16,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:1.6,strokeLinecap:\"round\",strokeLinejoin:\"round\",className:`icon icon-${J}${Y?\" \"+Y:\"\"}`,\"aria-hidden\":\"true\",children:UV0[J]})}X8();var HV0={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};function Jr(J){return String(J).replace(/[&<>\"']/g,(X)=>HV0[X]??X)}function Xr(J){let X=new Date(J);return X.toLocaleTimeString()+\".\"+String(X.getMilliseconds()).padStart(3,\"0\")}function v$(J){let X=new Date(J),Y=X.getFullYear(),Z=String(X.getMonth()+1).padStart(2,\"0\"),Q=String(X.getDate()).padStart(2,\"0\"),$=String(X.getHours()).padStart(2,\"0\"),q=String(X.getMinutes()).padStart(2,\"0\");return`${Y}-${Z}-${Q} ${$}:${q}`}function jD(J){try{return JSON.stringify(J,null,2)}catch{return String(J)}}function N6(J){if(!Number.isFinite(J)||J<1000)return String(J);if(J<1e6)return KD((J/1000).toFixed(1))+\"k\";if(J<1e9)return KD((J/1e6).toFixed(1))+\"M\";if(J<1000000000000)return KD((J/1e9).toFixed(2))+\"B\";return KD((J/1000000000000).toFixed(2))+\"T\"}function BJ(J){if(!J)return 0;return J.input+J.output+J.cacheCreation+J.cacheRead}function yH(J){if(!J)return\"\";return`↑${N6(J.input)} ↓${N6(J.output)}`}function g$(J){if(!J)return\"\";return`总数 ${BJ(J)} · 输入 ${J.input} · 输出 ${J.output} · 缓存写 ${J.cacheCreation} · 缓存读 ${J.cacheRead}`}function xH(J){if(!J)return\"\";return`输入 ${N6(J.input)} · 输出 ${N6(J.output)} · 缓存创建 ${N6(J.cacheCreation)} · 缓存读 ${N6(J.cacheRead)} · 总数 ${N6(BJ(J))}`}function KD(J){return J.replace(/\\.?0+$/,\"\")}function Yr(J){let X={input:0,output:0,cacheCreation:0,cacheRead:0};for(let Y of J)if(Y.usage)X.input+=Y.usage.input,X.output+=Y.usage.output,X.cacheCreation+=Y.usage.cacheCreation,X.cacheRead+=Y.usage.cacheRead;return X}function Zr(J){let X={input:0,output:0,cacheCreation:0,cacheRead:0},Y=0;for(let Z of J)if(Z)X.input+=Z.input,X.output+=Z.output,X.cacheCreation+=Z.cacheCreation,X.cacheRead+=Z.cacheRead,Y++;return{total:X,count:Y}}function bH(J){if(!J)return\"\";let X=J.replace(/[\\\\/]+$/,\"\"),Y=Math.max(X.lastIndexOf(\"/\"),X.lastIndexOf(\"\\\\\"));return Y>=0?X.slice(Y+1):X}function Qr(){let{stats:J,sessions:X,refreshStats:Y}=m6(),Z=QJ(()=>Zr(X.map((U)=>U.tokenTotal)),[X]);if(!J)return L(\"div\",{className:\"status\",children:L(\"span\",{className:\"st-dot connecting\",children:\"连接中…\"})});let Q=Math.floor(J.uptime/1000),$=J.spoolBacklog,q=J.lastError,G=Z.total.input>0||Z.total.output>0;return m(\"div\",{className:\"status\",children:[m(\"span\",{className:\"st-ver\",children:[\"v\",J.version]}),L(\"button\",{type:\"button\",className:\"tab\",onClick:Y,title:\"刷新状态\",children:\"↻\"}),G&&L(\"span\",{className:\"st-tokens\",title:`近 ${Z.count} 会话累计（最多覆盖最近 50 个活跃会话）· ${g$(Z.total)}`,children:yH(Z.total)}),$>0&&m(\"span\",{className:\"badge warn\",title:`spool 积压 ${$} 条待消费`,children:[\"积压 \",$]}),q?m(\"span\",{className:\"badge err\",title:q.message,children:[L(X7,{name:\"warning\",size:12}),\" 错误\"]}):m(\"span\",{className:\"st-rate\",title:\"事件速率\",children:[L(X7,{name:\"activity\",size:12}),J.eventsPerSec.toFixed(1),\"/s\"]}),m(\"div\",{className:\"status-detail\",tabIndex:0,title:\"运行详情\",children:[L(X7,{name:\"info\"}),m(\"div\",{className:\"popover\",role:\"tooltip\",children:[m(\"div\",{className:\"pop-row\",children:[L(\"span\",{children:\"pid\"}),L(\"b\",{children:J.pid})]}),m(\"div\",{className:\"pop-row\",children:[L(\"span\",{children:\"uptime\"}),m(\"b\",{children:[Q,\"s\"]})]}),m(\"div\",{className:\"pop-row\",children:[L(\"span\",{children:\"积压\"}),L(\"b\",{children:$})]}),m(\"div\",{className:\"pop-row\",children:[L(\"span\",{children:\"速率\"}),m(\"b\",{children:[J.eventsPerSec.toFixed(1),\" evt/s\"]})]}),m(\"div\",{className:\"pop-row\",children:[L(\"span\",{children:\"总计\"}),L(\"b\",{children:J.totalEvents})]}),q&&L(\"div\",{className:\"pop-err\",children:q.message})]})]})]})}X8();function $r(){let{token:J}=m6(),[X,Y]=F0(!1),[Z,Q]=F0(null);return m(\"header\",{children:[m(\"div\",{className:\"title\",children:[L(X7,{name:\"diamond\",size:14}),L(\"span\",{children:\"Shine Worklog\"})]}),m(\"div\",{className:\"hdr-update\",children:[m(\"button\",{type:\"button\",className:\"update-btn\",onClick:async()=>{Y(!0),Q({text:\"检查中…\",kind:\"info\"});try{let G=await(await fetch(`${location.origin}/api/update`,{method:\"POST\",headers:{Authorization:`Bearer ${J}`}})).json().catch(()=>({}));if(G.updated)Q({text:`✨ 发现新版 v${G.latest},升级中,daemon 重启…`,kind:\"ok\"});else if(G.latest)Q({text:`已是最新 v${G.current}`,kind:\"info\"});else Q({text:\"检查失败(npm 不可达?)\",kind:\"err\"})}catch{Q({text:\"请求失败\",kind:\"err\"})}Y(!1)},disabled:X,title:\"检查 npm 最新版,有新版则升级(daemon 自动重启;当前 Claude 会话需重启生效)\",children:[L(\"span\",{className:X?\"spin\":\"\",children:\"⤓\"}),\" 检查更新\"]}),Z&&L(\"span\",{className:`update-msg ${Z.kind}`,children:Z.text})]}),L(Qr,{})]})}var VV0=[{id:\"overview\",label:\"概览\",icon:\"home\"},{id:\"sessions\",label:\"会话\",icon:\"sessions\"},{id:\"report\",label:\"报表\",icon:\"log\"},{id:\"daily\",label:\"日报\",icon:\"log\"},{id:\"weekly\",label:\"周报\",icon:\"log\"},{id:\"skills\",label:\"Skills\",icon:\"log\"},{id:\"settings\",label:\"设置\",icon:\"sliders\"},{id:\"zentao\",label:\"禅道\",icon:\"inbox\"},{id:\"system\",label:\"系统\",icon:\"server\"}];function qr(){let{activeModule:J,selectModule:X,navCollapsed:Y,setNavCollapsed:Z}=m6();return m(\"nav\",{className:`side-nav${Y?\" collapsed\":\"\"}`,children:[L(\"ul\",{className:\"nav-list\",children:VV0.map((Q)=>L(\"li\",{children:m(\"button\",{type:\"button\",className:`nav-item${J===Q.id?\" active\":\"\"}`,title:Q.label,\"aria-label\":Q.label,onClick:()=>X(Q.id),children:[L(X7,{name:Q.icon,size:18}),L(\"span\",{className:\"nav-label\",children:Q.label})]})},Q.id))}),L(\"button\",{type:\"button\",className:\"nav-collapse\",title:Y?\"展开导航\":\"收起导航\",\"aria-label\":Y?\"展开导航\":\"收起导航\",onClick:()=>Z(!Y),children:L(X7,{name:\"chevron\",size:16})})]})}X8();X8();function CH(J,X){let[Y,Z]=F0([]),[Q,$]=F0(null),[q,G]=F0(!1),[U,H]=F0(null),[V,K]=F0(0);Q6(()=>{if(!X)return;let W=!0;return G(!0),H(null),(async()=>{try{let z=await J(\"/api/projects?page=1&pageSize=500\");if(!W)return;Z(z.projects),$(z.totals)}catch(z){if(W)H(z instanceof Error?z.message:String(z))}finally{if(W)G(!1)}})(),()=>{W=!1}},[J,X,V]);let j=n5(()=>K((W)=>W+1),[]);return{projects:Y,totals:Q,loading:q,error:U,reload:j}}X8();function SH({columns:J,fetchPage:X,pageSize:Y,rowKey:Z,onRowClick:Q,emptyText:$=\"暂无数据\",refreshKey:q=0}){let[G,U]=F0(1),[H,V]=F0([]),[K,j]=F0(0),[W,z]=F0(!0),B=_7(X);B.current=X,Q6(()=>{let O=!0;return z(!0),B.current(G).then(({rows:D,total:R})=>{if(!O)return;V(D),j(R),z(!1)}).catch(()=>{if(O)z(!1)}),()=>{O=!1}},[G,q]);let P=Math.max(1,Math.ceil(K/Y)),_=Math.min(G,P),A=J.length+1+(Q?1:0);return m(\"div\",{style:{display:\"flex\",flexDirection:\"column\",flex:\"1 1 0\",minHeight:0},children:[L(\"div\",{style:{overflow:\"auto\",flex:\"1 1 0\",minHeight:0},children:m(\"table\",{className:\"report-table\",children:[L(\"thead\",{children:m(\"tr\",{children:[L(\"th\",{className:\"rt-idx\",children:\"#\"}),J.map((O)=>L(\"th\",{className:O.thClassName,children:O.header},O.key)),Q&&L(\"th\",{style:{width:28}})]})}),L(\"tbody\",{children:W?Array.from({length:6}).map((O,D)=>L(\"tr\",{children:Array.from({length:A}).map((R,N)=>L(\"td\",{children:L(\"div\",{style:{height:10,background:\"var(--hover)\",borderRadius:3,width:N===0?\"40%\":\"75%\"}})},N))},`sk${D}`)):H.length===0?L(\"tr\",{children:L(\"td\",{colSpan:A,children:$})}):H.map((O,D)=>m(\"tr\",{className:Q?\"clickable\":void 0,onClick:Q?()=>Q(O):void 0,style:Q?{cursor:\"pointer\"}:void 0,children:[L(\"td\",{className:\"rt-idx\",children:(G-1)*Y+D+1}),J.map((R)=>L(\"td\",{className:R.tdClassName,children:R.render(O)},R.key)),Q&&L(\"td\",{style:{color:\"var(--muted)\",textAlign:\"center\"},children:\"▸\"})]},Z(O)))})]})}),P>1&&m(\"div\",{className:\"report-pager\",children:[L(\"button\",{type:\"button\",disabled:_<=1,onClick:()=>U(_-1),children:\"‹ 上一页\"}),m(\"span\",{children:[\"第 \",_,\" / \",P,\" 页\"]}),L(\"button\",{type:\"button\",disabled:_>=P,onClick:()=>U(_+1),children:\"下一页 ›\"}),m(\"span\",{style:{marginLeft:\"auto\"},children:[\"共 \",K,\" 条\"]})]})]})}X8();X8();function Gr(J,X,Y){let[Z,Q]=F0([]),[$,q]=F0(null),[G,U]=F0(!1),[H,V]=F0(null),K=_7(void 0);return Q6(()=>{if(!Y||!X)return;if(K.current!==X)Q([]),q(null),K.current=X;let j=!0;return U(!0),V(null),(async()=>{try{let W=await J(\"/api/transcript?sessionId=\"+encodeURIComponent(X));if(j)Q(W.messages),q(W.tokenTotal??null),V(null)}catch(W){if(j)V(W instanceof Error?W.message:String(W))}finally{if(j)U(!1)}})(),()=>{j=!1}},[J,X,Y]),{messages:Z,tokenTotal:$,loading:G,error:H}}X8();X8();function Oy(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Xq=Oy();function Fr(J){Xq=J}var e3={exec:()=>null};function fH(J){let X=[];return(Y)=>{let Z=Math.max(0,Math.min(3,Y-1)),Q=X[Z];return Q||(Q=J(Z),X[Z]=Q),Q}}function $6(J,X=\"\"){let Y=typeof J==\"string\"?J:J.source,Z={replace:(Q,$)=>{let q=typeof $==\"string\"?$:$.source;return q=q.replace(i7.caret,\"$1\"),Y=Y.replace(Q,q),Z},getRegex:()=>new RegExp(Y,X)};return Z}var KV0=((J=\"\")=>{try{return!!new RegExp(\"(?<=1)(?<!1)\"+J)}catch{return!1}})(),i7={codeRemoveIndent:/^(?: {1,4}| {0,3}\\t)/gm,outputLinkReplace:/\\\\([\\[\\]])/g,indentCodeCompensation:/^(\\s+)(?:```)/,beginningSpace:/^\\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\\n/g,tabCharGlobal:/\\t/g,multipleSpaceGlobal:/\\s+/g,blankLine:/^[ \\t]*$/,doubleBlankLine:/\\n[ \\t]*\\n[ \\t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] +\\S/,listReplaceTask:/^\\[[ xX]\\] +/,listTaskCheckbox:/\\[[ xX]\\]/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:(J)=>new RegExp(`^( {0,3}${J})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:fH((J)=>new RegExp(`^ {0,${J}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`)),hrRegex:fH((J)=>new RegExp(`^ {0,${J}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`)),fencesBeginRegex:fH((J)=>new RegExp(`^ {0,${J}}(?:\\`\\`\\`|~~~)`)),headingBeginRegex:fH((J)=>new RegExp(`^ {0,${J}}#`)),htmlBeginRegex:fH((J)=>new RegExp(`^ {0,${J}}<(?:[a-z].*>|!--)`,\"i\")),blockquoteBeginRegex:fH((J)=>new RegExp(`^ {0,${J}}>`))},jV0=/^(?:[ \\t]*(?:\\n|$))+/,WV0=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,zV0=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,Yz=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,FV0=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,My=/ {0,3}(?:[*+-]|\\d{1,9}[.)])/,Br=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,_r=$6(Br).replace(/bull/g,My).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),BV0=$6(Br).replace(/bull/g,My).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),Ry=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,_V0=/^[^\\n]+/,Ny=/(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/,AV0=$6(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",Ny).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),PV0=$6(/^(bull)([ \\t][^\\n]*?)?(?:\\n|$)/).replace(/bull/g,My).getRegex(),_D=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",wy=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,DV0=$6(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$))\",\"i\").replace(\"comment\",wy).replace(\"tag\",_D).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),Ar=$6(Ry).replace(\"hr\",Yz).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]\").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",_D).getRegex(),OV0=$6(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",Ar).getRegex(),Ty={blockquote:OV0,code:WV0,def:AV0,fences:zV0,heading:FV0,hr:Yz,html:DV0,lheading:_r,list:PV0,newline:jV0,paragraph:Ar,table:e3,text:_V0},Ur=$6(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",Yz).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",_D).getRegex(),MV0={...Ty,lheading:BV0,table:Ur,paragraph:$6(Ry).replace(\"hr\",Yz).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",Ur).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]\").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",_D).getRegex()},RV0={...Ty,html:$6(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",wy).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:e3,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:$6(Ry).replace(\"hr\",Yz).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",_r).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},NV0=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,wV0=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,Pr=/^( {2,}|\\\\)\\n(?!\\s*$)/,TV0=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,hH=/[\\p{P}\\p{S}]/u,AD=/[\\s\\p{P}\\p{S}]/u,Ly=/[^\\s\\p{P}\\p{S}]/u,LV0=$6(/^((?![*_])punctSpace)/,\"u\").replace(/punctSpace/g,AD).getRegex(),Dr=/(?!~)[\\p{P}\\p{S}]/u,IV0=/(?!~)[\\s\\p{P}\\p{S}]/u,kV0=/(?:[^\\s\\p{P}\\p{S}]|~)/u,EV0=$6(/link|precode-code|html/,\"g\").replace(\"link\",/\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\",KV0?\"(?<!`)()\":\"(^^|[^`])\").replace(\"code\",/(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\",/<(?! )[^<>]*?>/).getRegex(),Or=/^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/,yV0=$6(Or,\"u\").replace(/punct/g,hH).getRegex(),xV0=$6(Or,\"u\").replace(/punct/g,Dr).getRegex(),Mr=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",bV0=$6(Mr,\"gu\").replace(/notPunctSpace/g,Ly).replace(/punctSpace/g,AD).replace(/punct/g,hH).getRegex(),CV0=$6(Mr,\"gu\").replace(/notPunctSpace/g,kV0).replace(/punctSpace/g,IV0).replace(/punct/g,Dr).getRegex(),SV0=$6(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,Ly).replace(/punctSpace/g,AD).replace(/punct/g,hH).getRegex(),fV0=$6(/^~~?(?:((?!~)punct)|[^\\s~])/,\"u\").replace(/punct/g,hH).getRegex(),hV0=\"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\",vV0=$6(hV0,\"gu\").replace(/notPunctSpace/g,Ly).replace(/punctSpace/g,AD).replace(/punct/g,hH).getRegex(),gV0=$6(/\\\\(punct)/,\"gu\").replace(/punct/g,hH).getRegex(),pV0=$6(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),mV0=$6(wy).replace(\"(?:-->|$)\",\"-->\").getRegex(),uV0=$6(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",mV0).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),zD=/(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/,cV0=$6(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\",zD).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),Rr=$6(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",zD).replace(\"ref\",Ny).getRegex(),Nr=$6(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",Ny).getRegex(),dV0=$6(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",Rr).replace(\"nolink\",Nr).getRegex(),Hr=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Iy={_backpedal:e3,anyPunctuation:gV0,autolink:pV0,blockSkip:EV0,br:Pr,code:wV0,del:e3,delLDelim:e3,delRDelim:e3,emStrongLDelim:yV0,emStrongRDelimAst:bV0,emStrongRDelimUnd:SV0,escape:NV0,link:cV0,nolink:Nr,punctuation:LV0,reflink:Rr,reflinkSearch:dV0,tag:uV0,text:TV0,url:e3},lV0={...Iy,link:$6(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",zD).getRegex(),reflink:$6(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",zD).getRegex()},Dy={...Iy,emStrongRDelimAst:CV0,emStrongLDelim:xV0,delLDelim:fV0,delRDelim:vV0,url:$6(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\",Hr).replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:$6(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\",Hr).getRegex()},sV0={...Dy,br:$6(Pr).replace(\"{2,}\",\"*\").getRegex(),text:$6(Dy.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},WD={normal:Ty,gfm:MV0,pedantic:RV0},Jz={normal:Iy,gfm:Dy,breaks:sV0,pedantic:lV0},aV0={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},Vr=(J)=>aV0[J];function HY(J,X){if(X){if(i7.escapeTest.test(J))return J.replace(i7.escapeReplace,Vr)}else if(i7.escapeTestNoEncode.test(J))return J.replace(i7.escapeReplaceNoEncode,Vr);return J}function Kr(J){try{J=encodeURI(J).replace(i7.percentDecode,\"%\")}catch{return null}return J}function jr(J,X){let Y=J.replace(i7.findPipe,($,q,G)=>{let U=!1,H=q;for(;--H>=0&&G[H]===\"\\\\\";)U=!U;return U?\"|\":\" |\"}),Z=Y.split(i7.splitPipe),Q=0;if(Z[0].trim()||Z.shift(),Z.length>0&&!Z.at(-1)?.trim()&&Z.pop(),X)if(Z.length>X)Z.splice(X);else for(;Z.length<X;)Z.push(\"\");for(;Q<Z.length;Q++)Z[Q]=Z[Q].trim().replace(i7.slashPipe,\"|\");return Z}function p$(J,X,Y){let Z=J.length;if(Z===0)return\"\";let Q=0;for(;Q<Z;){let $=J.charAt(Z-Q-1);if($===X&&!Y)Q++;else if($!==X&&Y)Q++;else break}return J.slice(0,Z-Q)}function Wr(J){let X=J.split(`\n`),Y=X.length-1;for(;Y>=0&&i7.blankLine.test(X[Y]);)Y--;return X.length-Y<=2?J:X.slice(0,Y+1).join(`\n`)}function iV0(J,X){if(J.indexOf(X[1])===-1)return-1;let Y=0;for(let Z=0;Z<J.length;Z++)if(J[Z]===\"\\\\\")Z++;else if(J[Z]===X[0])Y++;else if(J[Z]===X[1]&&(Y--,Y<0))return Z;return Y>0?-2:-1}function rV0(J,X=0){let Y=X,Z=\"\";for(let Q of J)if(Q===\"\\t\"){let $=4-Y%4;Z+=\" \".repeat($),Y+=$}else Z+=Q,Y++;return Z}function zr(J,X,Y,Z,Q){let $=X.href,q=X.title||null,G=J[1].replace(Q.other.outputLinkReplace,\"$1\");Z.state.inLink=!0;let U={type:J[0].charAt(0)===\"!\"?\"image\":\"link\",raw:Y,href:$,title:q,text:G,tokens:Z.inlineTokens(G)};return Z.state.inLink=!1,U}function oV0(J,X,Y){let Z=J.match(Y.other.indentCodeCompensation);if(Z===null)return X;let Q=Z[1];return X.split(`\n`).map(($)=>{let q=$.match(Y.other.beginningSpace);if(q===null)return $;let[G]=q;return G.length>=Q.length?$.slice(Q.length):$}).join(`\n`)}var FD=class{options;rules;lexer;constructor(J){this.options=J||Xq}space(J){let X=this.rules.block.newline.exec(J);if(X&&X[0].length>0)return{type:\"space\",raw:X[0]}}code(J){let X=this.rules.block.code.exec(J);if(X){let Y=this.options.pedantic?X[0]:Wr(X[0]),Z=Y.replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:Y,codeBlockStyle:\"indented\",text:Z}}}fences(J){let X=this.rules.block.fences.exec(J);if(X){let Y=X[0],Z=oV0(Y,X[3]||\"\",this.rules);return{type:\"code\",raw:Y,lang:X[2]?X[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):X[2],text:Z}}}heading(J){let X=this.rules.block.heading.exec(J);if(X){let Y=X[2].trim();if(this.rules.other.endingHash.test(Y)){let Z=p$(Y,\"#\");(this.options.pedantic||!Z||this.rules.other.endingSpaceChar.test(Z))&&(Y=Z.trim())}return{type:\"heading\",raw:p$(X[0],`\n`),depth:X[1].length,text:Y,tokens:this.lexer.inline(Y)}}}hr(J){let X=this.rules.block.hr.exec(J);if(X)return{type:\"hr\",raw:p$(X[0],`\n`)}}blockquote(J){let X=this.rules.block.blockquote.exec(J);if(X){let Y=p$(X[0],`\n`).split(`\n`),Z=\"\",Q=\"\",$=[];for(;Y.length>0;){let q=!1,G=[],U;for(U=0;U<Y.length;U++)if(this.rules.other.blockquoteStart.test(Y[U]))G.push(Y[U]),q=!0;else if(!q)G.push(Y[U]);else break;Y=Y.slice(U);let H=G.join(`\n`),V=H.replace(this.rules.other.blockquoteSetextReplace,`\n    $1`).replace(this.rules.other.blockquoteSetextReplace2,\"\");Z=Z?`${Z}\n${H}`:H,Q=Q?`${Q}\n${V}`:V;let K=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(V,$,!0),this.lexer.state.top=K,Y.length===0)break;let j=$.at(-1);if(j?.type===\"code\")break;if(j?.type===\"blockquote\"){let W=j,z=W.raw+`\n`+Y.join(`\n`),B=this.blockquote(z);$[$.length-1]=B,Z=Z.substring(0,Z.length-W.raw.length)+B.raw,Q=Q.substring(0,Q.length-W.text.length)+B.text;break}else if(j?.type===\"list\"){let W=j,z=W.raw+`\n`+Y.join(`\n`),B=this.list(z);$[$.length-1]=B,Z=Z.substring(0,Z.length-j.raw.length)+B.raw,Q=Q.substring(0,Q.length-W.raw.length)+B.raw,Y=z.substring($.at(-1).raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:Z,tokens:$,text:Q}}}list(J){let X=this.rules.block.list.exec(J);if(X){let Y=X[1].trim(),Z=Y.length>1,Q={type:\"list\",raw:\"\",ordered:Z,start:Z?+Y.slice(0,-1):\"\",loose:!1,items:[]};Y=Z?`\\\\d{1,9}\\\\${Y.slice(-1)}`:`\\\\${Y}`,this.options.pedantic&&(Y=Z?Y:\"[*+-]\");let $=this.rules.other.listItemRegex(Y),q=!1;for(;J;){let U=!1,H=\"\",V=\"\";if(!(X=$.exec(J))||this.rules.block.hr.test(J))break;H=X[0],J=J.substring(H.length);let K=rV0(X[2].split(`\n`,1)[0],X[1].length),j=J.split(`\n`,1)[0],W=!K.trim(),z=0;if(this.options.pedantic?(z=2,V=K.trimStart()):W?z=X[1].length+1:(z=K.search(this.rules.other.nonSpaceChar),z=z>4?1:z,V=K.slice(z),z+=X[1].length),W&&this.rules.other.blankLine.test(j)&&(H+=j+`\n`,J=J.substring(j.length+1),U=!0),!U){let B=this.rules.other.nextBulletRegex(z),P=this.rules.other.hrRegex(z),_=this.rules.other.fencesBeginRegex(z),A=this.rules.other.headingBeginRegex(z),O=this.rules.other.htmlBeginRegex(z),D=this.rules.other.blockquoteBeginRegex(z);for(;J;){let R=J.split(`\n`,1)[0],N;if(j=R,this.options.pedantic?(j=j.replace(this.rules.other.listReplaceNesting,\"  \"),N=j):N=j.replace(this.rules.other.tabCharGlobal,\"    \"),_.test(j)||A.test(j)||O.test(j)||D.test(j)||B.test(j)||P.test(j))break;if(N.search(this.rules.other.nonSpaceChar)>=z||!j.trim())V+=`\n`+N.slice(z);else{if(W||K.replace(this.rules.other.tabCharGlobal,\"    \").search(this.rules.other.nonSpaceChar)>=4||_.test(K)||A.test(K)||P.test(K))break;V+=`\n`+j}W=!j.trim(),H+=R+`\n`,J=J.substring(R.length+1),K=N.slice(z)}}Q.loose||(q?Q.loose=!0:this.rules.other.doubleBlankLine.test(H)&&(q=!0)),Q.items.push({type:\"list_item\",raw:H,task:!!this.options.gfm&&this.rules.other.listIsTask.test(V),loose:!1,text:V,tokens:[]}),Q.raw+=H}let G=Q.items.at(-1);if(G)G.raw=G.raw.trimEnd(),G.text=G.text.trimEnd();else return;Q.raw=Q.raw.trimEnd();for(let U of Q.items){this.lexer.state.top=!1,U.tokens=this.lexer.blockTokens(U.text,[]);let H=U.tokens[0];if(U.task&&(H?.type===\"text\"||H?.type===\"paragraph\")){U.text=U.text.replace(this.rules.other.listReplaceTask,\"\"),H.raw=H.raw.replace(this.rules.other.listReplaceTask,\"\"),H.text=H.text.replace(this.rules.other.listReplaceTask,\"\");for(let K=this.lexer.inlineQueue.length-1;K>=0;K--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[K].src)){this.lexer.inlineQueue[K].src=this.lexer.inlineQueue[K].src.replace(this.rules.other.listReplaceTask,\"\");break}let V=this.rules.other.listTaskCheckbox.exec(U.raw);if(V){let K={type:\"checkbox\",raw:V[0]+\" \",checked:V[0]!==\"[ ]\"};U.checked=K.checked,Q.loose?U.tokens[0]&&[\"paragraph\",\"text\"].includes(U.tokens[0].type)&&\"tokens\"in U.tokens[0]&&U.tokens[0].tokens?(U.tokens[0].raw=K.raw+U.tokens[0].raw,U.tokens[0].text=K.raw+U.tokens[0].text,U.tokens[0].tokens.unshift(K)):U.tokens.unshift({type:\"paragraph\",raw:K.raw,text:K.raw,tokens:[K]}):U.tokens.unshift(K)}}else U.task&&(U.task=!1);if(!Q.loose){let V=U.tokens.filter((j)=>j.type===\"space\"),K=V.length>0&&V.some((j)=>this.rules.other.anyLine.test(j.raw));Q.loose=K}}if(Q.loose)for(let U of Q.items){U.loose=!0;for(let H of U.tokens)H.type===\"text\"&&(H.type=\"paragraph\")}return Q}}html(J){let X=this.rules.block.html.exec(J);if(X){let Y=Wr(X[0]);return{type:\"html\",block:!0,raw:Y,pre:X[1]===\"pre\"||X[1]===\"script\"||X[1]===\"style\",text:Y}}}def(J){let X=this.rules.block.def.exec(J);if(X){let Y=X[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),Z=X[2]?X[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",Q=X[3]?X[3].substring(1,X[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):X[3];return{type:\"def\",tag:Y,raw:p$(X[0],`\n`),href:Z,title:Q}}}table(J){let X=this.rules.block.table.exec(J);if(!X||!this.rules.other.tableDelimiter.test(X[2]))return;let Y=jr(X[1]),Z=X[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),Q=X[3]?.trim()?X[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],$={type:\"table\",raw:p$(X[0],`\n`),header:[],align:[],rows:[]};if(Y.length===Z.length){for(let q of Z)this.rules.other.tableAlignRight.test(q)?$.align.push(\"right\"):this.rules.other.tableAlignCenter.test(q)?$.align.push(\"center\"):this.rules.other.tableAlignLeft.test(q)?$.align.push(\"left\"):$.align.push(null);for(let q=0;q<Y.length;q++)$.header.push({text:Y[q],tokens:this.lexer.inline(Y[q]),header:!0,align:$.align[q]});for(let q of Q)$.rows.push(jr(q,$.header.length).map((G,U)=>({text:G,tokens:this.lexer.inline(G),header:!1,align:$.align[U]})));return $}}lheading(J){let X=this.rules.block.lheading.exec(J);if(X){let Y=X[1].trim();return{type:\"heading\",raw:p$(X[0],`\n`),depth:X[2].charAt(0)===\"=\"?1:2,text:Y,tokens:this.lexer.inline(Y)}}}paragraph(J){let X=this.rules.block.paragraph.exec(J);if(X){let Y=X[1].charAt(X[1].length-1)===`\n`?X[1].slice(0,-1):X[1];return{type:\"paragraph\",raw:X[0],text:Y,tokens:this.lexer.inline(Y)}}}text(J){let X=this.rules.block.text.exec(J);if(X)return{type:\"text\",raw:X[0],text:X[0],tokens:this.lexer.inline(X[0])}}escape(J){let X=this.rules.inline.escape.exec(J);if(X)return{type:\"escape\",raw:X[0],text:X[1]}}tag(J){let X=this.rules.inline.tag.exec(J);if(X)return!this.lexer.state.inLink&&this.rules.other.startATag.test(X[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(X[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(X[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(X[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:X[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:X[0]}}link(J){let X=this.rules.inline.link.exec(J);if(X){let Y=X[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(Y)){if(!this.rules.other.endAngleBracket.test(Y))return;let $=p$(Y.slice(0,-1),\"\\\\\");if((Y.length-$.length)%2===0)return}else{let $=iV0(X[2],\"()\");if($===-2)return;if($>-1){let q=(X[0].indexOf(\"!\")===0?5:4)+X[1].length+$;X[2]=X[2].substring(0,$),X[0]=X[0].substring(0,q).trim(),X[3]=\"\"}}let Z=X[2],Q=\"\";if(this.options.pedantic){let $=this.rules.other.pedanticHrefTitle.exec(Z);$&&(Z=$[1],Q=$[3])}else Q=X[3]?X[3].slice(1,-1):\"\";return Z=Z.trim(),this.rules.other.startAngleBracket.test(Z)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(Y)?Z=Z.slice(1):Z=Z.slice(1,-1)),zr(X,{href:Z&&Z.replace(this.rules.inline.anyPunctuation,\"$1\"),title:Q&&Q.replace(this.rules.inline.anyPunctuation,\"$1\")},X[0],this.lexer,this.rules)}}reflink(J,X){let Y;if((Y=this.rules.inline.reflink.exec(J))||(Y=this.rules.inline.nolink.exec(J))){let Z=(Y[2]||Y[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),Q=X[Z.toLowerCase()];if(!Q){let $=Y[0].charAt(0);return{type:\"text\",raw:$,text:$}}return zr(Y,Q,Y[0],this.lexer,this.rules)}}emStrong(J,X,Y=\"\"){let Z=this.rules.inline.emStrongLDelim.exec(J);if(!Z||!Z[1]&&!Z[2]&&!Z[3]&&!Z[4]||Z[4]&&Y.match(this.rules.other.unicodeAlphaNumeric))return;if(!(Z[1]||Z[3])||!Y||this.rules.inline.punctuation.exec(Y)){let Q=[...Z[0]].length-1,$,q,G=Q,U=0,H=Z[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(H.lastIndex=0,X=X.slice(-1*J.length+Q);(Z=H.exec(X))!==null;){if($=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6],!$)continue;if(q=[...$].length,Z[3]||Z[4]){G+=q;continue}else if((Z[5]||Z[6])&&Q%3&&!((Q+q)%3)){U+=q;continue}if(G-=q,G>0)continue;q=Math.min(q,q+G+U);let V=[...Z[0]][0].length,K=J.slice(0,Q+Z.index+V+q);if(Math.min(Q,q)%2){let W=K.slice(1,-1);return{type:\"em\",raw:K,text:W,tokens:this.lexer.inlineTokens(W)}}let j=K.slice(2,-2);return{type:\"strong\",raw:K,text:j,tokens:this.lexer.inlineTokens(j)}}}}codespan(J){let X=this.rules.inline.code.exec(J);if(X){let Y=X[2].replace(this.rules.other.newLineCharGlobal,\" \"),Z=this.rules.other.nonSpaceChar.test(Y),Q=this.rules.other.startingSpaceChar.test(Y)&&this.rules.other.endingSpaceChar.test(Y);return Z&&Q&&(Y=Y.substring(1,Y.length-1)),{type:\"codespan\",raw:X[0],text:Y}}}br(J){let X=this.rules.inline.br.exec(J);if(X)return{type:\"br\",raw:X[0]}}del(J,X,Y=\"\"){let Z=this.rules.inline.delLDelim.exec(J);if(!Z)return;if(!Z[1]||!Y||this.rules.inline.punctuation.exec(Y)){let Q=[...Z[0]].length-1,$,q,G=Q,U=this.rules.inline.delRDelim;for(U.lastIndex=0,X=X.slice(-1*J.length+Q);(Z=U.exec(X))!==null;){if($=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6],!$||(q=[...$].length,q!==Q))continue;if(Z[3]||Z[4]){G+=q;continue}if(G-=q,G>0)continue;q=Math.min(q,q+G);let H=[...Z[0]][0].length,V=J.slice(0,Q+Z.index+H+q),K=V.slice(Q,-Q);return{type:\"del\",raw:V,text:K,tokens:this.lexer.inlineTokens(K)}}}}autolink(J){let X=this.rules.inline.autolink.exec(J);if(X){let Y,Z;return X[2]===\"@\"?(Y=X[1],Z=\"mailto:\"+Y):(Y=X[1],Z=Y),{type:\"link\",raw:X[0],text:Y,href:Z,tokens:[{type:\"text\",raw:Y,text:Y}]}}}url(J){let X;if(X=this.rules.inline.url.exec(J)){let Y,Z;if(X[2]===\"@\")Y=X[0],Z=\"mailto:\"+Y;else{let Q;do Q=X[0],X[0]=this.rules.inline._backpedal.exec(X[0])?.[0]??\"\";while(Q!==X[0]);Y=X[0],X[1]===\"www.\"?Z=\"http://\"+X[0]:Z=X[0]}return{type:\"link\",raw:X[0],text:Y,href:Z,tokens:[{type:\"text\",raw:Y,text:Y}]}}}inlineText(J){let X=this.rules.inline.text.exec(J);if(X){let Y=this.lexer.state.inRawBlock;return{type:\"text\",raw:X[0],text:X[0],escaped:Y}}}},qX=class J{tokens;options;state;inlineQueue;tokenizer;constructor(X){this.tokens=[],this.tokens.links=Object.create(null),this.options=X||Xq,this.options.tokenizer=this.options.tokenizer||new FD,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let Y={other:i7,block:WD.normal,inline:Jz.normal};this.options.pedantic?(Y.block=WD.pedantic,Y.inline=Jz.pedantic):this.options.gfm&&(Y.block=WD.gfm,this.options.breaks?Y.inline=Jz.breaks:Y.inline=Jz.gfm),this.tokenizer.rules=Y}static get rules(){return{block:WD,inline:Jz}}static lex(X,Y){return new J(Y).lex(X)}static lexInline(X,Y){return new J(Y).inlineTokens(X)}lex(X){X=X.replace(i7.carriageReturn,`\n`),this.blockTokens(X,this.tokens);for(let Y=0;Y<this.inlineQueue.length;Y++){let Z=this.inlineQueue[Y];this.inlineTokens(Z.src,Z.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(X,Y=[],Z=!1){this.tokenizer.lexer=this,this.options.pedantic&&(X=X.replace(i7.tabCharGlobal,\"    \").replace(i7.spaceLine,\"\"));let Q=1/0;for(;X;){if(X.length<Q)Q=X.length;else{this.infiniteLoopError(X.charCodeAt(0));break}let $;if(this.options.extensions?.block?.some((G)=>($=G.call({lexer:this},X,Y))?(X=X.substring($.raw.length),Y.push($),!0):!1))continue;if($=this.tokenizer.space(X)){X=X.substring($.raw.length);let G=Y.at(-1);$.raw.length===1&&G!==void 0?G.raw+=`\n`:Y.push($);continue}if($=this.tokenizer.code(X)){X=X.substring($.raw.length);let G=Y.at(-1);G?.type===\"paragraph\"||G?.type===\"text\"?(G.raw+=(G.raw.endsWith(`\n`)?\"\":`\n`)+$.raw,G.text+=`\n`+$.text,this.inlineQueue.at(-1).src=G.text):Y.push($);continue}if($=this.tokenizer.fences(X)){X=X.substring($.raw.length),Y.push($);continue}if($=this.tokenizer.heading(X)){X=X.substring($.raw.length),Y.push($);continue}if($=this.tokenizer.hr(X)){X=X.substring($.raw.length),Y.push($);continue}if($=this.tokenizer.blockquote(X)){X=X.substring($.raw.length),Y.push($);continue}if($=this.tokenizer.list(X)){X=X.substring($.raw.length),Y.push($);continue}if($=this.tokenizer.html(X)){X=X.substring($.raw.length),Y.push($);continue}if($=this.tokenizer.def(X)){X=X.substring($.raw.length);let G=Y.at(-1);G?.type===\"paragraph\"||G?.type===\"text\"?(G.raw+=(G.raw.endsWith(`\n`)?\"\":`\n`)+$.raw,G.text+=`\n`+$.raw,this.inlineQueue.at(-1).src=G.text):this.tokens.links[$.tag]||(this.tokens.links[$.tag]={href:$.href,title:$.title},Y.push($));continue}if($=this.tokenizer.table(X)){X=X.substring($.raw.length),Y.push($);continue}if($=this.tokenizer.lheading(X)){X=X.substring($.raw.length),Y.push($);continue}let q=X;if(this.options.extensions?.startBlock){let G=1/0,U=X.slice(1),H;this.options.extensions.startBlock.forEach((V)=>{H=V.call({lexer:this},U),typeof H==\"number\"&&H>=0&&(G=Math.min(G,H))}),G<1/0&&G>=0&&(q=X.substring(0,G+1))}if(this.state.top&&($=this.tokenizer.paragraph(q))){let G=Y.at(-1);Z&&G?.type===\"paragraph\"?(G.raw+=(G.raw.endsWith(`\n`)?\"\":`\n`)+$.raw,G.text+=`\n`+$.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=G.text):Y.push($),Z=q.length!==X.length,X=X.substring($.raw.length);continue}if($=this.tokenizer.text(X)){X=X.substring($.raw.length);let G=Y.at(-1);G?.type===\"text\"?(G.raw+=(G.raw.endsWith(`\n`)?\"\":`\n`)+$.raw,G.text+=`\n`+$.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=G.text):Y.push($);continue}if(X){this.infiniteLoopError(X.charCodeAt(0));break}}return this.state.top=!0,Y}inline(X,Y=[]){return this.inlineQueue.push({src:X,tokens:Y}),Y}inlineTokens(X,Y=[]){this.tokenizer.lexer=this;let Z=X,Q=null;if(this.tokens.links){let H=Object.keys(this.tokens.links);if(H.length>0)for(;(Q=this.tokenizer.rules.inline.reflinkSearch.exec(Z))!==null;)H.includes(Q[0].slice(Q[0].lastIndexOf(\"[\")+1,-1))&&(Z=Z.slice(0,Q.index)+\"[\"+\"a\".repeat(Q[0].length-2)+\"]\"+Z.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(Q=this.tokenizer.rules.inline.anyPunctuation.exec(Z))!==null;)Z=Z.slice(0,Q.index)+\"++\"+Z.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let $;for(;(Q=this.tokenizer.rules.inline.blockSkip.exec(Z))!==null;)$=Q[2]?Q[2].length:0,Z=Z.slice(0,Q.index+$)+\"[\"+\"a\".repeat(Q[0].length-$-2)+\"]\"+Z.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);Z=this.options.hooks?.emStrongMask?.call({lexer:this},Z)??Z;let q=!1,G=\"\",U=1/0;for(;X;){if(X.length<U)U=X.length;else{this.infiniteLoopError(X.charCodeAt(0));break}q||(G=\"\"),q=!1;let H;if(this.options.extensions?.inline?.some((K)=>(H=K.call({lexer:this},X,Y))?(X=X.substring(H.raw.length),Y.push(H),!0):!1))continue;if(H=this.tokenizer.escape(X)){X=X.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.tag(X)){X=X.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.link(X)){X=X.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.reflink(X,this.tokens.links)){X=X.substring(H.raw.length);let K=Y.at(-1);H.type===\"text\"&&K?.type===\"text\"?(K.raw+=H.raw,K.text+=H.text):Y.push(H);continue}if(H=this.tokenizer.emStrong(X,Z,G)){X=X.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.codespan(X)){X=X.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.br(X)){X=X.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.del(X,Z,G)){X=X.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.autolink(X)){X=X.substring(H.raw.length),Y.push(H);continue}if(!this.state.inLink&&(H=this.tokenizer.url(X))){X=X.substring(H.raw.length),Y.push(H);continue}let V=X;if(this.options.extensions?.startInline){let K=1/0,j=X.slice(1),W;this.options.extensions.startInline.forEach((z)=>{W=z.call({lexer:this},j),typeof W==\"number\"&&W>=0&&(K=Math.min(K,W))}),K<1/0&&K>=0&&(V=X.substring(0,K+1))}if(H=this.tokenizer.inlineText(V)){X=X.substring(H.raw.length),H.raw.slice(-1)!==\"_\"&&(G=H.raw.slice(-1)),q=!0;let K=Y.at(-1);K?.type===\"text\"?(K.raw+=H.raw,K.text+=H.text):Y.push(H);continue}if(X){this.infiniteLoopError(X.charCodeAt(0));break}}return Y}infiniteLoopError(X){let Y=\"Infinite loop on byte: \"+X;if(this.options.silent)console.error(Y);else throw Error(Y)}},BD=class{options;parser;constructor(J){this.options=J||Xq}space(J){return\"\"}code({text:J,lang:X,escaped:Y}){let Z=(X||\"\").match(i7.notSpaceStart)?.[0],Q=J.replace(i7.endingNewline,\"\")+`\n`;return Z?'<pre><code class=\"language-'+HY(Z)+'\">'+(Y?Q:HY(Q,!0))+`</code></pre>\n`:\"<pre><code>\"+(Y?Q:HY(Q,!0))+`</code></pre>\n`}blockquote({tokens:J}){return`<blockquote>\n${this.parser.parse(J)}</blockquote>\n`}html({text:J}){return J}def(J){return\"\"}heading({tokens:J,depth:X}){return`<h${X}>${this.parser.parseInline(J)}</h${X}>\n`}hr(J){return`<hr>\n`}list(J){let{ordered:X,start:Y}=J,Z=\"\";for(let q=0;q<J.items.length;q++){let G=J.items[q];Z+=this.listitem(G)}let Q=X?\"ol\":\"ul\",$=X&&Y!==1?' start=\"'+Y+'\"':\"\";return\"<\"+Q+$+`>\n`+Z+\"</\"+Q+`>\n`}listitem(J){return`<li>${this.parser.parse(J.tokens)}</li>\n`}checkbox({checked:J}){return\"<input \"+(J?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\"> '}paragraph({tokens:J}){return`<p>${this.parser.parseInline(J)}</p>\n`}table(J){let X=\"\",Y=\"\";for(let Q=0;Q<J.header.length;Q++)Y+=this.tablecell(J.header[Q]);X+=this.tablerow({text:Y});let Z=\"\";for(let Q=0;Q<J.rows.length;Q++){let $=J.rows[Q];Y=\"\";for(let q=0;q<$.length;q++)Y+=this.tablecell($[q]);Z+=this.tablerow({text:Y})}return Z&&(Z=`<tbody>${Z}</tbody>`),`<table>\n<thead>\n`+X+`</thead>\n`+Z+`</table>\n`}tablerow({text:J}){return`<tr>\n${J}</tr>\n`}tablecell(J){let X=this.parser.parseInline(J.tokens),Y=J.header?\"th\":\"td\";return(J.align?`<${Y} align=\"${J.align}\">`:`<${Y}>`)+X+`</${Y}>\n`}strong({tokens:J}){return`<strong>${this.parser.parseInline(J)}</strong>`}em({tokens:J}){return`<em>${this.parser.parseInline(J)}</em>`}codespan({text:J}){return`<code>${HY(J,!0)}</code>`}br(J){return\"<br>\"}del({tokens:J}){return`<del>${this.parser.parseInline(J)}</del>`}link({href:J,title:X,tokens:Y}){let Z=this.parser.parseInline(Y),Q=Kr(J);if(Q===null)return Z;J=Q;let $='<a href=\"'+J+'\"';return X&&($+=' title=\"'+HY(X)+'\"'),$+=\">\"+Z+\"</a>\",$}image({href:J,title:X,text:Y,tokens:Z}){Z&&(Y=this.parser.parseInline(Z,this.parser.textRenderer));let Q=Kr(J);if(Q===null)return HY(Y);J=Q;let $=`<img src=\"${J}\" alt=\"${HY(Y)}\"`;return X&&($+=` title=\"${HY(X)}\"`),$+=\">\",$}text(J){return\"tokens\"in J&&J.tokens?this.parser.parseInline(J.tokens):(\"escaped\"in J)&&J.escaped?J.text:HY(J.text)}},ky=class{strong({text:J}){return J}em({text:J}){return J}codespan({text:J}){return J}del({text:J}){return J}html({text:J}){return J}text({text:J}){return J}link({text:J}){return\"\"+J}image({text:J}){return\"\"+J}br(){return\"\"}checkbox({raw:J}){return J}},GX=class J{options;renderer;textRenderer;constructor(X){this.options=X||Xq,this.options.renderer=this.options.renderer||new BD,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ky}static parse(X,Y){return new J(Y).parse(X)}static parseInline(X,Y){return new J(Y).parseInline(X)}parse(X){this.renderer.parser=this;let Y=\"\";for(let Z=0;Z<X.length;Z++){let Q=X[Z];if(this.options.extensions?.renderers?.[Q.type]){let q=Q,G=this.options.extensions.renderers[q.type].call({parser:this},q);if(G!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"def\",\"paragraph\",\"text\"].includes(q.type)){Y+=G||\"\";continue}}let $=Q;switch($.type){case\"space\":{Y+=this.renderer.space($);break}case\"hr\":{Y+=this.renderer.hr($);break}case\"heading\":{Y+=this.renderer.heading($);break}case\"code\":{Y+=this.renderer.code($);break}case\"table\":{Y+=this.renderer.table($);break}case\"blockquote\":{Y+=this.renderer.blockquote($);break}case\"list\":{Y+=this.renderer.list($);break}case\"checkbox\":{Y+=this.renderer.checkbox($);break}case\"html\":{Y+=this.renderer.html($);break}case\"def\":{Y+=this.renderer.def($);break}case\"paragraph\":{Y+=this.renderer.paragraph($);break}case\"text\":{Y+=this.renderer.text($);break}default:{let q='Token with \"'+$.type+'\" type was not found.';if(this.options.silent)return console.error(q),\"\";throw Error(q)}}}return Y}parseInline(X,Y=this.renderer){this.renderer.parser=this;let Z=\"\";for(let Q=0;Q<X.length;Q++){let $=X[Q];if(this.options.extensions?.renderers?.[$.type]){let G=this.options.extensions.renderers[$.type].call({parser:this},$);if(G!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes($.type)){Z+=G||\"\";continue}}let q=$;switch(q.type){case\"escape\":{Z+=Y.text(q);break}case\"html\":{Z+=Y.html(q);break}case\"link\":{Z+=Y.link(q);break}case\"image\":{Z+=Y.image(q);break}case\"checkbox\":{Z+=Y.checkbox(q);break}case\"strong\":{Z+=Y.strong(q);break}case\"em\":{Z+=Y.em(q);break}case\"codespan\":{Z+=Y.codespan(q);break}case\"br\":{Z+=Y.br(q);break}case\"del\":{Z+=Y.del(q);break}case\"text\":{Z+=Y.text(q);break}default:{let G='Token with \"'+q.type+'\" type was not found.';if(this.options.silent)return console.error(G),\"\";throw Error(G)}}}return Z}},Xz=class{options;block;constructor(J){this.options=J||Xq}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\",\"emStrongMask\"]);static passThroughHooksRespectAsync=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(J){return J}postprocess(J){return J}processAllTokens(J){return J}emStrongMask(J){return J}provideLexer(J=this.block){return J?qX.lex:qX.lexInline}provideParser(J=this.block){return J?GX.parse:GX.parseInline}},nV0=class{defaults=Oy();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=GX;Renderer=BD;TextRenderer=ky;Lexer=qX;Tokenizer=FD;Hooks=Xz;constructor(...J){this.use(...J)}walkTokens(J,X){let Y=[];for(let Z of J)switch(Y=Y.concat(X.call(this,Z)),Z.type){case\"table\":{let Q=Z;for(let $ of Q.header)Y=Y.concat(this.walkTokens($.tokens,X));for(let $ of Q.rows)for(let q of $)Y=Y.concat(this.walkTokens(q.tokens,X));break}case\"list\":{let Q=Z;Y=Y.concat(this.walkTokens(Q.items,X));break}default:{let Q=Z;this.defaults.extensions?.childTokens?.[Q.type]?this.defaults.extensions.childTokens[Q.type].forEach(($)=>{let q=Q[$].flat(1/0);Y=Y.concat(this.walkTokens(q,X))}):Q.tokens&&(Y=Y.concat(this.walkTokens(Q.tokens,X)))}}return Y}use(...J){let X=this.defaults.extensions||{renderers:{},childTokens:{}};return J.forEach((Y)=>{let Z={...Y};if(Z.async=this.defaults.async||Z.async||!1,Y.extensions&&(Y.extensions.forEach((Q)=>{if(!Q.name)throw Error(\"extension name required\");if(\"renderer\"in Q){let $=X.renderers[Q.name];$?X.renderers[Q.name]=function(...q){let G=Q.renderer.apply(this,q);return G===!1&&(G=$.apply(this,q)),G}:X.renderers[Q.name]=Q.renderer}if(\"tokenizer\"in Q){if(!Q.level||Q.level!==\"block\"&&Q.level!==\"inline\")throw Error(\"extension level must be 'block' or 'inline'\");let $=X[Q.level];$?$.unshift(Q.tokenizer):X[Q.level]=[Q.tokenizer],Q.start&&(Q.level===\"block\"?X.startBlock?X.startBlock.push(Q.start):X.startBlock=[Q.start]:Q.level===\"inline\"&&(X.startInline?X.startInline.push(Q.start):X.startInline=[Q.start]))}\"childTokens\"in Q&&Q.childTokens&&(X.childTokens[Q.name]=Q.childTokens)}),Z.extensions=X),Y.renderer){let Q=this.defaults.renderer||new BD(this.defaults);for(let $ in Y.renderer){if(!($ in Q))throw Error(`renderer '${$}' does not exist`);if([\"options\",\"parser\"].includes($))continue;let q=$,G=Y.renderer[q],U=Q[q];Q[q]=(...H)=>{let V=G.apply(Q,H);return V===!1&&(V=U.apply(Q,H)),V||\"\"}}Z.renderer=Q}if(Y.tokenizer){let Q=this.defaults.tokenizer||new FD(this.defaults);for(let $ in Y.tokenizer){if(!($ in Q))throw Error(`tokenizer '${$}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes($))continue;let q=$,G=Y.tokenizer[q],U=Q[q];Q[q]=(...H)=>{let V=G.apply(Q,H);return V===!1&&(V=U.apply(Q,H)),V}}Z.tokenizer=Q}if(Y.hooks){let Q=this.defaults.hooks||new Xz;for(let $ in Y.hooks){if(!($ in Q))throw Error(`hook '${$}' does not exist`);if([\"options\",\"block\"].includes($))continue;let q=$,G=Y.hooks[q],U=Q[q];Xz.passThroughHooks.has($)?Q[q]=(H)=>{if(this.defaults.async&&Xz.passThroughHooksRespectAsync.has($))return(async()=>{let K=await G.call(Q,H);return U.call(Q,K)})();let V=G.call(Q,H);return U.call(Q,V)}:Q[q]=(...H)=>{if(this.defaults.async)return(async()=>{let K=await G.apply(Q,H);return K===!1&&(K=await U.apply(Q,H)),K})();let V=G.apply(Q,H);return V===!1&&(V=U.apply(Q,H)),V}}Z.hooks=Q}if(Y.walkTokens){let Q=this.defaults.walkTokens,$=Y.walkTokens;Z.walkTokens=function(q){let G=[];return G.push($.call(this,q)),Q&&(G=G.concat(Q.call(this,q))),G}}this.defaults={...this.defaults,...Z}}),this}setOptions(J){return this.defaults={...this.defaults,...J},this}lexer(J,X){return qX.lex(J,X??this.defaults)}parser(J,X){return GX.parse(J,X??this.defaults)}parseMarkdown(J){return(X,Y)=>{let Z={...Y},Q={...this.defaults,...Z},$=this.onError(!!Q.silent,!!Q.async);if(this.defaults.async===!0&&Z.async===!1)return $(Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof X>\"u\"||X===null)return $(Error(\"marked(): input parameter is undefined or null\"));if(typeof X!=\"string\")return $(Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(X)+\", string expected\"));if(Q.hooks&&(Q.hooks.options=Q,Q.hooks.block=J),Q.async)return(async()=>{let q=Q.hooks?await Q.hooks.preprocess(X):X,G=await(Q.hooks?await Q.hooks.provideLexer(J):J?qX.lex:qX.lexInline)(q,Q),U=Q.hooks?await Q.hooks.processAllTokens(G):G;Q.walkTokens&&await Promise.all(this.walkTokens(U,Q.walkTokens));let H=await(Q.hooks?await Q.hooks.provideParser(J):J?GX.parse:GX.parseInline)(U,Q);return Q.hooks?await Q.hooks.postprocess(H):H})().catch($);try{Q.hooks&&(X=Q.hooks.preprocess(X));let q=(Q.hooks?Q.hooks.provideLexer(J):J?qX.lex:qX.lexInline)(X,Q);Q.hooks&&(q=Q.hooks.processAllTokens(q)),Q.walkTokens&&this.walkTokens(q,Q.walkTokens);let G=(Q.hooks?Q.hooks.provideParser(J):J?GX.parse:GX.parseInline)(q,Q);return Q.hooks&&(G=Q.hooks.postprocess(G)),G}catch(q){return $(q)}}}onError(J,X){return(Y)=>{if(Y.message+=`\nPlease report this to https://github.com/markedjs/marked.`,J){let Z=\"<p>An error occurred:</p><pre>\"+HY(Y.message+\"\",!0)+\"</pre>\";return X?Promise.resolve(Z):Z}if(X)return Promise.reject(Y);throw Y}}},Jq=new nV0;function W6(J,X){return Jq.parse(J,X)}W6.options=W6.setOptions=function(J){return Jq.setOptions(J),W6.defaults=Jq.defaults,Fr(W6.defaults),W6};W6.getDefaults=Oy;W6.defaults=Xq;W6.use=function(...J){return Jq.use(...J),W6.defaults=Jq.defaults,Fr(W6.defaults),W6};W6.walkTokens=function(J,X){return Jq.walkTokens(J,X)};W6.parseInline=Jq.parseInline;W6.Parser=GX;W6.parser=GX.parse;W6.Renderer=BD;W6.TextRenderer=ky;W6.Lexer=qX;W6.lexer=qX.lex;W6.Tokenizer=FD;W6.Hooks=Xz;W6.parse=W6;var{options:NT0,setOptions:wT0,use:TT0,walkTokens:LT0,parseInline:IT0}=W6;var kT0=GX.parse,ET0=qX.lex;W6.setOptions({gfm:!0,breaks:!1});var tV0=(J)=>J.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\");W6.use({renderer:{html({text:J}){return tV0(J)}}});function Zz({src:J}){let X=QJ(()=>{let Y=W6.parse(J);return typeof Y===\"string\"?Y:\"\"},[J]);return L(\"div\",{dangerouslySetInnerHTML:{__html:X}})}X8();function wr(J,X){let Y=String(J||\"\").split(`\n`),Z=String(X||\"\").split(`\n`),Q=Y.length,$=Z.length,q=Array.from({length:Q+1},()=>Array($+1).fill(0));for(let V=Q-1;V>=0;V--)for(let K=$-1;K>=0;K--)q[V][K]=Y[V]===Z[K]?q[V+1][K+1]+1:Math.max(q[V+1][K],q[V][K+1]);let G=[],U=0,H=0;while(U<Q&&H<$)if(Y[U]===Z[H])G.push({op:\"ctx\",text:Y[U]}),U++,H++;else if(q[U+1][H]>=q[U][H+1])G.push({op:\"del\",text:Y[U]}),U++;else G.push({op:\"add\",text:Z[H]}),H++;while(U<Q)G.push({op:\"del\",text:Y[U]}),U++;while(H<$)G.push({op:\"add\",text:Z[H]}),H++;return G}function Tr(J,X){let Y=(Z)=>{if(X&&typeof X===\"object\"){let Q=X[Z];return Q!=null?String(Q):\"\"}return\"\"};switch(J){case\"Bash\":return Y(\"command\");case\"Read\":case\"Edit\":case\"Write\":return Y(\"file_path\");case\"Grep\":case\"Glob\":return Y(\"pattern\");case\"WebSearch\":return Y(\"query\");case\"WebFetch\":return Y(\"url\");case\"TaskCreate\":return Y(\"subject\")||Y(\"description\");case\"TaskUpdate\":return\"#\"+Y(\"taskId\")+\" → \"+Y(\"status\");case\"TaskGet\":return\"#\"+Y(\"taskId\");case\"TaskList\":return\"\";case\"Agent\":return Y(\"description\");default:return jD(X).slice(0,80)}}var eV0={Bash:\"▶\",Read:\"\\uD83D\\uDCC4\",Edit:\"✎\",Write:\"✎\",Grep:\"\\uD83D\\uDD0E\",Glob:\"\\uD83D\\uDDC2\",WebSearch:\"\\uD83C\\uDF10\",WebFetch:\"\\uD83C\\uDF10\",TaskCreate:\"\\uD83D\\uDCCC\",TaskUpdate:\"\\uD83D\\uDCCC\",TaskGet:\"\\uD83D\\uDCCC\",TaskList:\"\\uD83D\\uDCCC\",Agent:\"\\uD83E\\uDD16\"};function Lr(J){return eV0[J]??\"\\uD83D\\uDEE0\"}function Ir(J){let X=String(J||\"\").split(`\n`),Y=X.slice(0,50),Z=Y.map((Q)=>`<div class=\"diff-line ctx\"><span class=\"diff-text\">${Jr(Q)}</span></div>`);if(X.length>Y.length)Z.push(`<div class=\"diff-folds\">⋯ 共 ${X.length} 行，前 ${Y.length} 行</div>`);return`<div class=\"diff-block\">${Z.join(\"\")}</div>`}function kr({diffs:J}){let X=[],Y=[],Z=0,Q=()=>{if(!Y.length)return;if(Y.length<=3)for(let $ of Y)X.push(L(\"div\",{className:\"diff-line ctx\",children:L(\"span\",{className:\"diff-text\",children:$.text})},Z++));else{let $=Y[0],q=Y[Y.length-1];X.push(L(\"div\",{className:\"diff-line ctx\",children:L(\"span\",{className:\"diff-text\",children:$.text})},Z++)),X.push(m(\"div\",{className:\"diff-folds\",children:[\"⋯ \",Y.length-2,\" 行未改\"]},Z++)),X.push(L(\"div\",{className:\"diff-line ctx\",children:L(\"span\",{className:\"diff-text\",children:q.text})},Z++))}Y=[]};for(let $ of J){if($.op===\"ctx\"){Y.push($);continue}if(Q(),$.op===\"add\")X.push(m(\"div\",{className:\"diff-line add\",children:[L(\"span\",{className:\"diff-sign\",children:\"+\"}),L(\"span\",{className:\"diff-text\",children:$.text})]},Z++));else X.push(m(\"div\",{className:\"diff-line del\",children:[L(\"span\",{className:\"diff-sign\",children:\"-\"}),L(\"span\",{className:\"diff-text\",children:$.text})]},Z++))}return Q(),L(\"div\",{className:\"diff-block\",children:X})}function Er({t:J}){let X=J.name||\"?\",Y=J.input&&typeof J.input===\"object\"?J.input:{},Z=(G)=>Y[G]!=null?String(Y[G]):\"\",Q=Tr(X,Y).slice(0,100),{body:$,stat:q}=QJ(()=>{if(X===\"Edit\"){let G=wr(Z(\"old_string\"),Z(\"new_string\")),U=0,H=0;for(let V of G)if(V.op===\"add\")U++;else if(V.op===\"del\")H++;return{body:L(kr,{diffs:G}),stat:{add:U,del:H}}}if(X===\"Write\")return{body:L(\"div\",{dangerouslySetInnerHTML:{__html:Ir(Z(\"content\"))}}),stat:null};return{body:L(\"pre\",{className:\"card-output\",children:jD(Y)}),stat:null}},[X,Y]);return m(\"details\",{className:\"tool-card\",children:[m(\"summary\",{className:\"card-trigger\",children:[L(\"span\",{className:\"card-chev\",children:L(X7,{name:\"chevron\",size:12})}),L(\"span\",{className:\"tool-icon\",children:Lr(X)}),L(\"span\",{className:\"tool-title\",children:X}),L(\"span\",{className:\"tool-sub\",children:Q}),q&&m(\"span\",{className:\"tool-stat\",children:[m(\"span\",{className:\"s-add\",children:[\"+\",q.add]}),\" \",m(\"span\",{className:\"s-del\",children:[\"-\",q.del]})]})]}),L(\"div\",{className:\"tool-content\",children:$})]})}function yr({m:J}){if(J.role===\"user\")return L(\"div\",{className:\"msg-row user-row\",children:L(\"div\",{className:\"bubble\",children:J.text})});if(J.role===\"tool\")return L(\"div\",{className:\"msg-row\",children:m(\"details\",{className:`result-card${J.isError?\" is-error\":\"\"}`,children:[m(\"summary\",{className:\"card-trigger\",children:[L(\"span\",{className:\"card-chev\",children:L(X7,{name:\"chevron\",size:12})}),L(\"span\",{className:\"result-label\",children:J.toolName||\"结果\"})]}),L(\"pre\",{className:\"card-output\",children:J.text})]})});return m(\"div\",{className:\"msg-row assistant-row\",children:[m(\"div\",{className:\"role-head\",children:[L(\"span\",{className:\"role-mark\",children:L(X7,{name:\"diamond\",size:10})}),L(\"span\",{className:\"role-name\",children:\"Claude\"}),J.usage&&L(\"span\",{className:\"role-tokens\",title:g$(J.usage),children:yH(J.usage)}),J.ts!=null&&L(\"span\",{className:\"role-ts\",children:Xr(J.ts)})]}),J.thinking&&m(\"details\",{className:\"think-card\",children:[m(\"summary\",{className:\"card-trigger\",children:[L(\"span\",{className:\"card-chev\",children:L(X7,{name:\"chevron\",size:12})}),L(\"span\",{className:\"think-label\",children:\"Thinking\"})]}),L(\"div\",{className:\"think-body\",children:L(Zz,{src:J.thinking})})]}),J.text&&L(\"div\",{className:\"assistant-text msg-text\",children:L(Zz,{src:J.text})}),J.tools.map((X,Y)=>L(Er,{t:X},Y))]})}function JK0(J,X){if(!X)return!0;if((J.text||\"\").toLowerCase().includes(X))return!0;if((J.thinking||\"\").toLowerCase().includes(X))return!0;if((J.toolName||\"\").toLowerCase().includes(X))return!0;return(J.tools||[]).some((Y)=>(Y.name||\"\").toLowerCase().includes(X)||JSON.stringify(Y.input).toLowerCase().includes(X))}function XK0(){return m(R6,{children:[L(\"div\",{className:\"skeleton skel-bubble\"}),L(\"div\",{className:\"skeleton skel-block\"}),L(\"div\",{className:\"skeleton skel-bubble\"}),L(\"div\",{className:\"skeleton skel-block\",style:{width:\"68%\"}})]})}function xr({messages:J,loading:X,error:Y,search:Z,tokenTotal:Q}){let $=Z.trim().toLowerCase(),q=QJ(()=>$?J.filter((V)=>JK0(V,$)):J,[J,$]),G=QJ(()=>Yr(J),[J]),U=Q??G,H;if(X&&J.length===0)H=L(XK0,{});else if(Y)H=m(\"div\",{className:\"empty-state\",children:[L(X7,{name:\"warning\",size:28}),L(\"span\",{className:\"es-hint\",children:\"加载失败\"}),L(\"span\",{className:\"es-sub\",children:Y})]});else if(!J.length)H=m(\"div\",{className:\"empty-state\",children:[L(X7,{name:\"chat\",size:30}),L(\"span\",{className:\"es-hint\",children:\"暂无对话\"}),L(\"span\",{className:\"es-sub\",children:\"该会话无 transcript 或尚未产生对话\"})]});else if(!q.length)H=m(\"div\",{className:\"empty-state\",children:[L(\"span\",{className:\"es-hint\",children:\"无匹配消息\"}),m(\"span\",{className:\"es-sub\",children:[\"“\",Z,\"” 未命中（0/\",J.length,\"）\"]})]});else H=m(R6,{children:[$&&L(\"div\",{className:\"search-count\",children:`${q.length}/${J.length} 条匹配`}),q.map((V,K)=>L(yr,{m:V},K))]});return m(\"div\",{id:\"conversation\",className:\"conversation\",children:[!X&&!Y&&J.length>0&&(U.input>0||U.output>0)&&m(\"div\",{className:\"conv-token-bar\",title:g$(U),children:[\"本会话累计 \",L(\"b\",{children:yH(U)}),m(\"span\",{className:\"conv-token-cache\",children:[\" \",\"· 缓存读 \",N6(U.cacheRead),\" / 写 \",N6(U.cacheCreation)]})]}),H]})}function br({sessionId:J,cwd:X}){let{token:Y}=m6(),Z=w5(Y),[Q,$]=F0(\"\"),{messages:q,tokenTotal:G,loading:U,error:H}=Gr(Z,J,!0);return m(\"div\",{className:\"session-detail\",children:[m(\"div\",{className:\"detail-head\",children:[L(\"span\",{className:\"detail-sid\",title:J,children:J.slice(0,8)}),X&&L(\"span\",{className:\"detail-cwd\",title:X,children:bH(X)}),G&&BJ(G)>0&&L(\"span\",{className:\"detail-token\",title:g$(G),children:xH(G)})]}),L(\"div\",{className:\"toolbar\",children:L(\"input\",{className:\"search-input\",type:\"search\",placeholder:\"搜索对话…\",value:Q,onChange:(V)=>$(V.target.value),autoComplete:\"off\"})}),L(\"div\",{className:\"detail-body\",children:L(xr,{messages:q,loading:U,error:H,search:Q,tokenTotal:G})})]})}function _J({loading:J}){if(!J)return null;return m(R6,{children:[L(\"style\",{children:\"@keyframes shine-loadingbar { 0% { left: -35%; } 100% { left: 100%; } }\"}),L(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,height:3,zIndex:9999,pointerEvents:\"none\",overflow:\"hidden\"},children:L(\"div\",{style:{position:\"absolute\",height:\"100%\",width:\"35%\",background:\"#4f8cff\",animation:\"shine-loadingbar 1s ease-in-out infinite\"}})})]})}var YK0=[{key:\"name\",header:\"项目\",render:(J)=>L(\"span\",{title:J.cwd,children:J.name})},{key:\"sessionCount\",header:\"会话数\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>J.sessionCount},{key:\"token\",header:\"Token\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(BJ(J.totalTokens))},{key:\"cc\",header:\"缓存创建\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(J.totalTokens.cacheCreation)},{key:\"cr\",header:\"缓存读\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(J.totalTokens.cacheRead)},{key:\"lastActive\",header:\"最后活跃\",render:(J)=>v$(J.lastActive)}],ZK0=[{key:\"sid\",header:\"Session\",render:(J)=>L(\"span\",{title:J.sessionId,style:{fontFamily:\"monospace\"},children:J.sessionId.slice(0,8)})},{key:\"title\",header:\"标题\",render:(J)=>L(\"div\",{title:J.title||J.sessionId,style:{width:300,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:J.title||J.sessionId.slice(0,8)})},{key:\"lastActive\",header:\"时间\",render:(J)=>v$(J.lastActive)},{key:\"input\",header:\"输入 token\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(J.tokenTotal?.input??0)},{key:\"output\",header:\"输出 token\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(J.tokenTotal?.output??0)},{key:\"cc\",header:\"缓存创建\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(J.tokenTotal?.cacheCreation??0)},{key:\"cr\",header:\"缓存读\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(J.tokenTotal?.cacheRead??0)},{key:\"total\",header:\"总数\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(J)=>N6(BJ(J.tokenTotal))}];function Cr(){let{token:J,selectedSessionId:X,setSelectedSessionId:Y}=m6(),Z=w5(J),{totals:Q,reload:$,loading:q}=CH(Z,!0),[G,U]=F0(\"l1\"),[H,V]=F0(null),[K,j]=F0(0),W=()=>{$(),j((B)=>B+1)},z=[{label:\"项目\",onClick:G!==\"l1\"?()=>U(\"l1\"):void 0},...H?[{label:bH(H),onClick:G===\"l3\"?()=>U(\"l2\"):void 0}]:[],...G===\"l3\"&&X?[{label:X.slice(0,8)}]:[]].filter((B)=>B.label);return m(\"div\",{className:\"report-view\",style:{display:\"flex\",flexDirection:\"column\",height:\"100%\",minHeight:0},children:[L(_J,{loading:q}),m(\"div\",{className:\"panel-header\",style:{display:\"flex\",gap:\"0.6rem\",alignItems:\"center\",flexWrap:\"wrap\"},children:[z.map((B,P)=>m(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:\"0.4rem\"},children:[B.onClick?L(\"button\",{type:\"button\",className:\"tab\",onClick:B.onClick,children:B.label}):L(\"b\",{children:B.label}),P<z.length-1&&L(\"span\",{style:{color:\"#9aa\"},children:\"/\"})]},P)),m(\"span\",{style:{marginLeft:\"auto\",display:\"flex\",gap:\"0.6rem\",alignItems:\"center\"},children:[G===\"l1\"&&L(\"span\",{children:Q?`${Q.projects} 项目 · ${Q.sessions} 会话 · ${xH(Q.tokens)}`:\"…\"}),L(\"button\",{type:\"button\",className:\"tab\",onClick:W,title:\"重新加载数据\",children:\"↻ 刷新\"})]})]}),G===\"l1\"&&L(\"div\",{className:\"field-hint\",style:{padding:\"0.3rem 0.2rem\"},children:\"\\uD83D\\uDCA1 点项目查看会话 → 点会话查看对话\"}),m(\"div\",{style:{flex:\"1 1 0\",minHeight:0,display:\"flex\",flexDirection:\"column\"},children:[G===\"l1\"&&L(SH,{columns:YK0,pageSize:20,rowKey:(B)=>B.cwd,fetchPage:async(B)=>{let P=await Z(`/api/projects?page=${B}&pageSize=20`);return{rows:P.projects,total:P.total}},onRowClick:(B)=>{V(B.cwd),U(\"l2\")},refreshKey:K}),G===\"l2\"&&H&&L(SH,{columns:ZK0,pageSize:20,rowKey:(B)=>B.sessionId,fetchPage:async(B)=>{let P=await Z(`/api/sessions?cwd=${encodeURIComponent(H)}&page=${B}&pageSize=20`);return{rows:P.sessions,total:P.total}},onRowClick:(B)=>{Y(B.sessionId),U(\"l3\")},refreshKey:K}),G===\"l3\"&&X&&L(br,{sessionId:X,cwd:H??void 0})]})]})}X8();X8();function Sr(J,X,Y){let[Z,Q]=F0([]),[$,q]=F0(!1),[G,U]=F0(null),H=_7(void 0);return Q6(()=>{if(!Y)return;if(H.current!==X)Q([]),H.current=X;let V=!0;return q(!0),U(null),(async()=>{try{let K=X?\"?sessionId=\"+encodeURIComponent(X)+\"&limit=200\":\"?limit=200\",j=await J(\"/api/events\"+K);if(V)Q(j.events),U(null)}catch(K){if(V)U(K instanceof Error?K.message:String(K))}finally{if(V)q(!1)}})(),()=>{V=!1}},[J,X,Y]),{events:Z,loading:$,error:G}}X8();function fr(J,X,Y){let[Z,Q]=F0([]),[$,q]=F0(!1),G=_7(\"\");return Q6(()=>{if(!Y)return;let U=X.join(`\n`);if(G.current===U)return;if(G.current=U,X.length===0){Q([]);return}let H=!0;return q(!0),(async()=>{try{let V=await Promise.all(X.map(async(j)=>{try{let W=await J(`/api/commits?cwd=${encodeURIComponent(j)}&limit=200`);return{cwd:j,commits:W.commits??[]}}catch{return{cwd:j,commits:[]}}}));if(!H)return;let K=V.flatMap((j)=>j.commits.map((W)=>({...W,cwd:j.cwd})));K.sort((j,W)=>W.time-j.time),Q(K)}finally{if(H)q(!1)}})(),()=>{H=!1}},[J,X,Y]),{commits:Z,loading:$}}function Ey(){let{token:J,stats:X}=m6(),Y=w5(J),{events:Z}=Sr(Y,null,!0),{projects:Q,totals:$,loading:q}=CH(Y,!0),{commits:G}=fr(Y,Q.map((V)=>V.cwd),!0),U=$?.tokens??null,H=QJ(()=>{let V=Z.slice(0,20).map((j)=>({ts:j.timestamp,kind:\"event\",text:j.type,cwd:j.cwd})),K=G.slice(0,20).map((j)=>({ts:j.time,kind:\"commit\",text:j.subject||\"(无说明)\",cwd:j.cwd}));return[...V,...K].sort((j,W)=>W.ts-j.ts).slice(0,20)},[Z,G]);return m(\"div\",{className:\"overview-view\",children:[L(_J,{loading:q}),m(\"div\",{className:\"kpi-grid\",children:[m(\"div\",{className:\"kpi-card\",children:[L(\"span\",{className:\"kpi-label\",children:\"Token 总量\"}),L(\"b\",{className:\"kpi-value\",children:U?N6(BJ(U)):\"…\"})]}),m(\"div\",{className:\"kpi-card\",children:[L(\"span\",{className:\"kpi-label\",children:\"Token 输出\"}),L(\"b\",{className:\"kpi-value\",children:U?N6(U.output):\"…\"})]}),m(\"div\",{className:\"kpi-card\",children:[L(\"span\",{className:\"kpi-label\",children:\"会话数\"}),L(\"b\",{className:\"kpi-value\",children:$?.sessions??\"…\"})]}),m(\"div\",{className:\"kpi-card\",children:[L(\"span\",{className:\"kpi-label\",children:\"事件总数\"}),L(\"b\",{className:\"kpi-value\",children:X?.totalEvents??0})]}),m(\"div\",{className:\"kpi-card\",children:[L(\"span\",{className:\"kpi-label\",children:\"提交数\"}),L(\"b\",{className:\"kpi-value\",children:G.length})]})]}),m(\"section\",{className:\"sum-section\",children:[L(\"div\",{className:\"sum-head\",children:L(\"h3\",{children:\"近期活动\"})}),H.length===0?L(\"div\",{className:\"sum-empty\",children:\"暂无活动\"}):L(\"ul\",{className:\"sum-list\",children:H.map((V,K)=>m(\"li\",{children:[L(\"span\",{className:\"sum-ts\",children:v$(V.ts)}),L(\"span\",{className:`tl-kind ${V.kind}`,children:V.kind===\"event\"?\"事件\":\"提交\"}),L(\"span\",{className:\"sum-cwd\",title:V.cwd,children:bH(V.cwd)||\"?\"}),L(\"span\",{className:\"sum-subject\",children:V.text})]},K))})]})]})}X8();function hr(){let{token:J}=m6(),X=w5(J),{totals:Y,reload:Z,loading:Q}=CH(X,!0),[$,q]=F0(null),[G,U]=F0(0),[H,V]=F0(!1),[K,j]=F0(null),W=()=>{Z(),U((_)=>_+1)},z=async(_)=>{V(!0),j(null);try{let A=await fetch(`${location.origin}/api/report/upload${_?\"?full=1\":\"\"}`,{method:\"POST\",headers:{Authorization:`Bearer ${J}`}}),O=await A.json().catch(()=>({}));if(A.ok&&O.status===\"ok\")j({ok:!0,text:`${_?\"全量\":\"增量\"}上报成功`});else if(A.ok&&O.status===\"skipped\")j({ok:!1,text:`已跳过：${O.reason??\"无 git 身份\"}`});else j({ok:!1,text:O.error??`HTTP ${A.status}`})}catch(A){j({ok:!1,text:A instanceof Error?A.message:String(A)})}finally{V(!1),setTimeout(()=>j(null),3000)}},B=[{key:\"name\",header:\"项目\",render:(_)=>L(\"span\",{title:_.cwd,children:_.name})},{key:\"gitUser\",header:\"成员\",render:(_)=>_.gitUser??\"—\"},{key:\"sessionCount\",header:\"会话\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>_.sessionCount},{key:\"token\",header:\"Token\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(BJ(_.totalTokens))},{key:\"cc\",header:\"缓存创建\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(_.totalTokens.cacheCreation)},{key:\"cr\",header:\"缓存读\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(_.totalTokens.cacheRead)},{key:\"lines\",header:\"代码变更\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>`+${_.totalLines.added} -${_.totalLines.deleted} M${_.totalLines.modified}`},{key:\"lastActive\",header:\"最后活跃\",render:(_)=>v$(_.lastActive)}],P=[{key:\"sid\",header:\"Session\",render:(_)=>L(\"span\",{title:_.sessionId,style:{fontFamily:\"monospace\"},children:_.sessionId.slice(0,8)})},{key:\"title\",header:\"标题\",render:(_)=>L(\"div\",{title:_.title||_.sessionId,style:{width:300,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:_.title||_.sessionId.slice(0,8)})},{key:\"lastActive\",header:\"时间\",render:(_)=>v$(_.lastActive)},{key:\"input\",header:\"输入 token\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(_.tokenTotal?.input??0)},{key:\"output\",header:\"输出 token\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(_.tokenTotal?.output??0)},{key:\"cc\",header:\"缓存创建\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(_.tokenTotal?.cacheCreation??0)},{key:\"cr\",header:\"缓存读\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(_.tokenTotal?.cacheRead??0)},{key:\"total\",header:\"总数\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>N6(BJ(_.tokenTotal))},{key:\"lines\",header:\"代码变更\",thClassName:\"rt-num\",tdClassName:\"rt-num\",render:(_)=>_.linesTotal?`+${_.linesTotal.added} -${_.linesTotal.deleted} M${_.linesTotal.modified}`:\"-\"}];return m(\"div\",{className:\"report-view\",style:{display:\"flex\",flexDirection:\"column\",height:\"100%\",minHeight:0},children:[L(_J,{loading:Q}),m(\"div\",{className:\"panel-header\",style:{display:\"flex\",gap:\"1.1rem\",alignItems:\"baseline\",flexWrap:\"wrap\"},children:[L(\"b\",{children:\"报表\"}),L(\"span\",{style:{marginLeft:\"auto\"},children:Y?`${Y.projects} 项目 · ${Y.sessions} 会话 · ${xH(Y.tokens)}`:\"…\"})]}),m(\"div\",{className:\"report-toolbar\",style:{display:\"flex\",gap:\"0.6rem\",alignItems:\"center\",flexWrap:\"wrap\",padding:\"0.2rem 0.2rem 0.4rem\"},children:[L(\"button\",{type:\"button\",className:\"tab tab-upload\",onClick:W,title:\"重新加载数据\",children:\"↻ 刷新\"}),m(\"button\",{type:\"button\",className:\"tab tab-upload\",disabled:H,title:\"增量上报:只发变化的 session(和自动 tick 一致,省带宽)\",onClick:()=>z(!1),children:[\"☁ \",H?\"上报中…\":\"增量\"]}),m(\"button\",{type:\"button\",className:\"tab tab-upload\",disabled:H,title:\"全量上报:强制发所有 session(tokenserver 数据异常/漂移时用,重锚全量)\",onClick:()=>z(!0),children:[\"☁☁ \",H?\"上报中…\":\"全量\"]}),L(\"span\",{className:`upload-slot ${K?K.ok?\"field-ok\":\"field-err\":\"\"}`,children:K?.text??\"\"})]}),!$&&L(\"div\",{className:\"field-hint\",style:{padding:\"0.3rem 0.2rem\"},children:\"\\uD83D\\uDCA1 点项目查看会话明细\"}),L(\"div\",{style:{flex:\"1 1 0\",minHeight:0,display:\"flex\",flexDirection:\"column\"},children:!$?L(SH,{columns:B,pageSize:20,rowKey:(_)=>_.cwd,fetchPage:async(_)=>{let A=await X(`/api/projects?page=${_}&pageSize=20`);return{rows:A.projects,total:A.total}},onRowClick:(_)=>q(_.cwd),refreshKey:G}):m(R6,{children:[m(\"div\",{className:\"panel-header\",style:{paddingBottom:\"0.4rem\"},children:[L(\"button\",{type:\"button\",className:\"tab\",onClick:()=>q(null),children:\"‹ 返回项目列表\"}),L(\"span\",{title:$,style:{marginLeft:\"0.6rem\"},children:$})]}),L(SH,{columns:P,pageSize:20,rowKey:(_)=>_.sessionId,fetchPage:async(_)=>{let A=await X(`/api/sessions?cwd=${encodeURIComponent($)}&page=${_}&pageSize=20`);return{rows:A.sessions,total:A.total}},refreshKey:G})]})})]})}X8();var QK0={background:\"#4f8cff\",color:\"#fff\",border:\"none\",borderRadius:4,padding:\"0.55rem 1.6rem\",fontSize:\"var(--fs-sm)\",fontWeight:600,cursor:\"pointer\"};function vr(){let{token:J}=m6(),X=w5(J),Y=location.origin,[Z,Q]=F0(\"\"),[$,q]=F0(\"\"),[G,U]=F0(\"\"),[H,V]=F0(!0),[K,j]=F0(\"\"),[W,z]=F0(\"\"),[B,P]=F0(\"\"),[_,A]=F0(\"\"),[O,D]=F0(\"\"),[R,N]=F0(!1),[w,k]=F0(\"\"),[I,S]=F0(null),[h,u]=F0(!0),[p,s]=F0(\"本次内容由AI填报\"),[l,n]=F0(!0),[X0,V0]=F0(!1),[e,L0]=F0(null);Q6(()=>{Promise.all([X(\"/api/settings\"),fetch(Y+\"/api/health\").then((N0)=>N0.json()),X(\"/api/zentao-config\").catch(()=>({}))]).then(([N0,u0,z1])=>{Q(N0.reportUrl??\"\"),q(N0.reportSecret??\"\"),U(N0.reportIntervalMin!=null?String(N0.reportIntervalMin):\"\"),V(N0.autoUpdate!==!1),j(N0.autoUpdateIntervalMin!=null?String(N0.autoUpdateIntervalMin):\"\"),z(N0.zentaoCacheTtlMin!=null?String(N0.zentaoCacheTtlMin):\"\"),S(N0.latestVersion??null),u(N0.aiSubmitMark?.enabled!==!1),s(N0.aiSubmitMark?.text??\"本次内容由AI填报\"),k(u0.version??\"\"),P(z1.url??\"\"),A(z1.account??\"\"),N(!!z1.hasPassword),D(\"\"),n(!1)}).catch(()=>{L0({kind:\"err\",text:\"读取设置失败\"}),n(!1)})},[X,Y]);let k0=async()=>{V0(!0),L0(null);let N0=parseInt(G,10),u0=parseInt(K,10),z1=parseInt(W,10),F1={reportUrl:Z.trim()||null,reportSecret:$.trim()||null,reportIntervalMin:Number.isFinite(N0)&&N0>0?N0:null,autoUpdate:H,autoUpdateIntervalMin:Number.isFinite(u0)&&u0>0?u0:null,zentaoCacheTtlMin:Number.isFinite(z1)&&z1>0?z1:null,aiSubmitMark:{enabled:h,text:p.trim()||null}};try{let e0=await fetch(Y+\"/api/settings\",{method:\"PUT\",headers:{Authorization:\"Bearer \"+J,\"content-type\":\"application/json\"},body:JSON.stringify(F1)});if(!e0.ok)throw Error(String(e0.status));let v6=await e0.json();Q(v6.reportUrl??\"\"),q(v6.reportSecret??\"\"),U(v6.reportIntervalMin!=null?String(v6.reportIntervalMin):\"\"),V(v6.autoUpdate!==!1),j(v6.autoUpdateIntervalMin!=null?String(v6.autoUpdateIntervalMin):\"\"),z(v6.zentaoCacheTtlMin!=null?String(v6.zentaoCacheTtlMin):\"\"),u(v6.aiSubmitMark?.enabled!==!1),s(v6.aiSubmitMark?.text??\"本次内容由AI填报\");let q1=!0;try{let C5={url:B.trim(),account:_.trim()};if(O)C5.password=O;let Z6=await fetch(Y+\"/api/zentao-config\",{method:\"PUT\",headers:{Authorization:\"Bearer \"+J,\"content-type\":\"application/json\"},body:JSON.stringify(C5)});if(!Z6.ok)throw Error(String(Z6.status));let r5=await Z6.json();P(r5.url??\"\"),A(r5.account??\"\"),N(!!r5.hasPassword),D(\"\")}catch{q1=!1}L0({kind:q1?\"ok\":\"err\",text:q1?\"已保存\":\"设置已保存,禅道配置未保存(升级 daemon 后可用)\"}),setTimeout(()=>L0(null),2000)}catch{L0({kind:\"err\",text:\"保存失败,请重试\"})}finally{V0(!1)}};return m(\"div\",{className:\"stats-view\",children:[L(\"div\",{className:\"panel-header\",children:L(\"h2\",{children:\"设置\"})}),L(\"div\",{className:\"stats-body\",children:l?L(\"div\",{className:\"sum-empty\",children:\"加载中…\"}):m(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"1rem\"},children:[m(\"section\",{className:\"sum-section\",children:[L(\"div\",{className:\"sum-head\",children:L(\"h3\",{children:\"上报\"})}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"上报地址\"}),L(\"input\",{className:\"field-input\",type:\"url\",placeholder:\"https://your-server/api/report\",value:Z,onChange:(N0)=>Q(N0.target.value),spellCheck:!1})]}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"上报密钥\"}),L(\"input\",{className:\"field-input\",type:\"password\",placeholder:\"与 tokenserver 的 reportSecret 一致;服务端未验签则留空\",value:$,onChange:(N0)=>q(N0.target.value),spellCheck:!1,autoComplete:\"new-password\"})]}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"上报间隔\"}),L(\"input\",{className:\"field-input\",type:\"number\",min:1,placeholder:\"0 = 不自动上报\",value:G,onChange:(N0)=>U(N0.target.value),spellCheck:!1,style:{flex:\"0 0 120px\"}}),L(\"span\",{className:\"field-hint\",style:{padding:0},children:\"分钟(填了地址且间隔大于 0 才会自动上报)\"})]}),L(\"div\",{className:\"field-hint\",children:\"daemon 每分钟检查一次:地址 + 间隔都配了,就把「报表」数据 POST 到该地址;留空 / 间隔 0 = 不上报。改完无需重启。 密钥默认随包分发(成员机零配置);服务端验签时不一致会被拒且不推水位、不丢数据,轮换需服务端+发新版同步。\"})]}),m(\"section\",{className:\"sum-section\",children:[L(\"div\",{className:\"sum-head\",children:L(\"h3\",{children:\"自动更新\"})}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"版本\"}),m(\"span\",{className:\"field-hint\",style:{padding:0},children:[\"当前 v\",w||\"?\",I&&I!==w?`（npm 最新 v${I}）`:\"（已是最新）\"]})]}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"自动更新\"}),L(\"input\",{type:\"checkbox\",checked:H,onChange:(N0)=>V(N0.target.checked)}),L(\"span\",{className:\"field-hint\",style:{padding:0},children:\"开启后 daemon 启动时 + 定时检测 npm 新版本,有新版自动后台升级\"})]}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"检测间隔\"}),L(\"input\",{className:\"field-input\",type:\"number\",min:1,placeholder:\"60\",value:K,onChange:(N0)=>j(N0.target.value),style:{flex:\"0 0 120px\"}}),L(\"span\",{className:\"field-hint\",style:{padding:0},children:\"分钟(daemon 每分钟 tick,按此间隔节流)\"})]}),m(\"div\",{className:\"field-hint\",children:[\"升级后 daemon 自动重启到新版(版本感知);plugin 需重启 Claude Code 生效。也可命令行手动 \",L(\"code\",{children:\"shine-worklog update\"}),\"。\"]})]}),m(\"section\",{className:\"sum-section\",children:[L(\"div\",{className:\"sum-head\",children:L(\"h3\",{children:\"禅道\"})}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"禅道地址\"}),L(\"input\",{className:\"field-input\",type:\"url\",placeholder:\"https://easy.shine.com.cn\",value:B,onChange:(N0)=>P(N0.target.value),spellCheck:!1})]}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"账号\"}),L(\"input\",{className:\"field-input\",type:\"text\",placeholder:\"禅道登录账号\",value:_,onChange:(N0)=>A(N0.target.value),spellCheck:!1,autoComplete:\"off\"})]}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"密码\"}),L(\"input\",{className:\"field-input\",type:\"password\",placeholder:R?\"已配置(留空不修改)\":\"禅道登录密码\",value:O,onChange:(N0)=>D(N0.target.value),spellCheck:!1,autoComplete:\"new-password\"}),L(\"span\",{className:\"field-hint\",style:{padding:0},children:R?\"已设置密码,改密码才填,留空保持不变\":\"首次填写\"})]}),L(\"div\",{className:\"field-hint\",children:\"与 setup 写入同一位置(DATA_DIR/zenpilot/config.json),配置后 /report、/daily、/weekly 据此连禅道。已配置的字段会显示出来,密码仅显示「已配置」。\"}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"刷新间隔\"}),L(\"input\",{className:\"field-input\",type:\"number\",min:0,placeholder:\"300\",value:W,onChange:(N0)=>z(N0.target.value),style:{flex:\"0 0 120px\"}}),L(\"span\",{className:\"field-hint\",style:{padding:0},children:\"分钟(超过此间隔,下次用 /report、/daily、/weekly 时自动重拉禅道任务与项目;0 = 仅手动刷新)\"})]}),L(\"div\",{className:\"field-hint\",children:\"禅道任务/项目缓存(cache.json)默认命中即复用。设了 TTL 后,过期会在下次填报/生成报表时自动重拉,无需手动 refresh。改完无需重启。\"})]}),m(\"section\",{className:\"sum-section\",children:[L(\"div\",{className:\"sum-head\",children:L(\"h3\",{children:\"AI 提交标识\"})}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"启用\"}),L(\"input\",{type:\"checkbox\",checked:h,onChange:(N0)=>u(N0.target.checked)}),L(\"span\",{className:\"field-hint\",style:{padding:0},children:\"开启后 /report 提交禅道工时时,在 work 末尾追加标识行;/daily /weekly 据此对账统计 AI 代报工时\"})]}),m(\"div\",{className:\"field-row\",children:[L(\"label\",{children:\"标识文案\"}),L(\"input\",{className:\"field-input\",type:\"text\",placeholder:\"本次内容由AI填报\",value:p,onChange:(N0)=>s(N0.target.value),spellCheck:!1}),L(\"span\",{className:\"field-hint\",style:{padding:0},children:\"拼到工作内容末尾的独立一行;留空恢复默认文案\"})]}),m(\"div\",{className:\"field-hint\",children:[\"标识随禅道 effort 走,不依赖本地台账;改文案后历史提交需按旧文案才能被报表识别。命令行亦可用 \",L(\"code\",{children:\"shine-worklog mark --show/--on/--off/--text\"}),\"。\"]})]}),m(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",alignItems:\"center\",gap:\"0.8rem\",padding:\"0.2rem 0.2rem 0\"},children:[e&&L(\"span\",{className:e.kind===\"ok\"?\"field-ok\":\"field-err\",children:e.text}),L(\"button\",{type:\"button\",onClick:k0,disabled:X0,title:\"保存设置\",style:{...QK0,cursor:X0?\"default\":\"pointer\",opacity:X0?0.6:1},children:X0?\"保存中…\":\"\\uD83D\\uDCBE 保存设置\"})]})]})})]})}X8();function gr(J){if(!J)return\"—\";let X=new Date(J);if(isNaN(X.getTime()))return J;let Y=(Z)=>String(Z).padStart(2,\"0\");return`${X.getFullYear()}-${Y(X.getMonth()+1)}-${Y(X.getDate())} ${Y(X.getHours())}:${Y(X.getMinutes())}`}function pr(){let{token:J}=m6(),X=w5(J),[Y,Z]=F0(null),[Q,$]=F0(!0),[q,G]=F0(null),[U,H]=F0(\"tasks\"),[V,K]=F0(!1),[j,W]=F0(null),z=n5(async()=>{$(!0),G(null);try{Z(await X(\"/api/zentao-cache\"))}catch(D){G(D instanceof Error?D.message:String(D))}finally{$(!1)}},[X]);Q6(()=>{z()},[z]);let B=async()=>{K(!0),W(null);try{let D=await fetch(`${location.origin}/api/zentao-cache/refresh`,{method:\"POST\",headers:{Authorization:`Bearer ${J}`}}),R=await D.json().catch(()=>({}));if(D.ok&&R.ok)W({ok:!0,text:`已更新:${R.projects??0} 项目 · ${R.tasks??0} 任务`}),await z();else W({ok:!1,text:R.error||`HTTP ${D.status}`})}catch(D){W({ok:!1,text:D instanceof Error?D.message:String(D)})}finally{K(!1),setTimeout(()=>W(null),4000)}};if(Q&&!Y)return L(\"div\",{className:\"empty-state\",children:L(\"span\",{className:\"es-hint\",children:\"加载中…\"})});if(q)return L(\"div\",{className:\"empty-state\",children:m(\"span\",{className:\"es-hint\",children:[\"读取失败:\",q]})});if(!Y)return null;let P=Y.cache,_=P?.tasks??[],A=P?.projects??[],O=(D)=>D==null?\"—\":A.find((R)=>R.id===D)?.name??`#${D}`;return m(\"div\",{className:\"report-view\",style:{display:\"flex\",flexDirection:\"column\",height:\"100%\",minHeight:0},children:[L(_J,{loading:Q}),m(\"div\",{className:\"panel-header\",style:{display:\"flex\",gap:\"1.1rem\",alignItems:\"baseline\",flexWrap:\"wrap\"},children:[L(\"b\",{children:\"禅道\"}),L(\"span\",{style:{marginLeft:\"auto\"},children:P?`${_.length} 任务 · ${A.length} 项目`:\"无缓存\"}),L(\"button\",{type:\"button\",className:\"tab tab-upload\",onClick:()=>void z(),title:\"重新读取本地缓存\",children:\"↻ 刷新\"}),L(\"button\",{type:\"button\",className:\"tab tab-upload\",disabled:V,onClick:()=>void B(),title:\"登录禅道重新拉取任务/项目(慢,约30~60秒)\",children:V?\"更新中…\":\"↻ 更新禅道\"}),j&&L(\"span\",{className:j.ok?\"field-ok\":\"field-err\",children:j.text})]}),!P?L(\"div\",{className:\"empty-state\",style:{marginTop:\"2rem\"},children:m(\"span\",{className:\"es-hint\",children:[\"未生成缓存。运行 \",L(\"code\",{children:\"/shine-worklog:report\"}),\" 后自动拉取禅道任务与项目。\"]})}):m(R6,{children:[m(\"div\",{className:\"field-hint\",style:{padding:\"0.3rem 0.2rem\",display:\"flex\",gap:\"1rem\",flexWrap:\"wrap\",alignItems:\"baseline\"},children:[m(\"span\",{children:[\"最后拉取\",L(\"b\",{style:{marginLeft:4},children:gr(P.fetchedAt)})]}),m(\"span\",{children:[\"TTL:\",Y.ttl?`${Y.ttl} 分钟`:\"未启用(仅手动刷新)\"]}),L(\"span\",{className:Y.expired?\"field-err\":\"field-ok\",children:Y.expired?\"● 已过期(下次填报将自动重拉)\":\"● 有效\"})]}),m(\"div\",{className:\"field-hint\",style:{padding:\"0 0.2rem 0.4rem\"},children:[\"\\uD83D\\uDCA1 更新禅道数据请运行 \",L(\"code\",{children:\"/shine-worklog:report\"}),\";此处「刷新」仅重读本地缓存文件。\"]}),m(\"div\",{style:{display:\"flex\",gap:\"0.4rem\",padding:\"0.2rem 0.2rem 0.4rem\"},children:[m(\"button\",{type:\"button\",className:\"tab\",style:U===\"tasks\"?{background:\"#4f8cff\",color:\"#fff\",borderColor:\"#4f8cff\"}:{},onClick:()=>H(\"tasks\"),children:[\"任务(\",_.length,\")\"]}),m(\"button\",{type:\"button\",className:\"tab\",style:U===\"projects\"?{background:\"#4f8cff\",color:\"#fff\",borderColor:\"#4f8cff\"}:{},onClick:()=>H(\"projects\"),children:[\"项目(\",A.length,\")\"]})]}),L(\"div\",{style:{flex:\"1 1 0\",minHeight:0,overflow:\"auto\"},children:U===\"tasks\"?m(\"table\",{className:\"report-table\",children:[L(\"thead\",{children:m(\"tr\",{children:[L(\"th\",{className:\"rt-num\",children:\"#\"}),L(\"th\",{children:\"任务\"}),L(\"th\",{children:\"状态\"}),L(\"th\",{className:\"rt-num\",children:\"预估\"}),L(\"th\",{className:\"rt-num\",children:\"消耗\"}),L(\"th\",{className:\"rt-num\",children:\"剩余\"}),L(\"th\",{children:\"项目\"}),L(\"th\",{children:\"执行\"})]})}),L(\"tbody\",{children:_.length===0?L(\"tr\",{children:L(\"td\",{colSpan:8,style:{textAlign:\"center\",color:\"var(--muted)\"},children:\"无任务\"})}):_.map((D,R)=>{let N=D.name??`#${D.id}`,w=Y.zentaoUrl?`${Y.zentaoUrl}/index.php?m=task&f=view&taskID=${D.id}`:null;return m(\"tr\",{children:[L(\"td\",{className:\"rt-num\",children:R+1}),m(\"td\",{children:[w?L(\"a\",{href:w,target:\"_blank\",rel:\"noopener\",style:{textDecoration:\"none\"},children:N}):N,m(\"span\",{style:{color:\"var(--muted)\",fontSize:\"0.85em\",marginLeft:4},children:[\"#\",D.id]})]}),L(\"td\",{children:D.status??\"—\"}),L(\"td\",{className:\"rt-num\",children:D.estimate??\"—\"}),L(\"td\",{className:\"rt-num\",children:D.consumed??\"—\"}),L(\"td\",{className:\"rt-num\",children:D.left??\"—\"}),L(\"td\",{children:O(D.project)}),L(\"td\",{children:D.executionName??\"—\"})]},D.id)})})]}):m(\"table\",{className:\"report-table\",children:[L(\"thead\",{children:m(\"tr\",{children:[L(\"th\",{className:\"rt-num\",children:\"#\"}),L(\"th\",{className:\"rt-num\",children:\"ID\"}),L(\"th\",{children:\"项目\"}),L(\"th\",{children:\"最后编辑\"})]})}),L(\"tbody\",{children:A.length===0?L(\"tr\",{children:L(\"td\",{colSpan:4,style:{textAlign:\"center\",color:\"var(--muted)\"},children:\"无项目\"})}):A.map((D,R)=>m(\"tr\",{children:[L(\"td\",{className:\"rt-num\",children:R+1}),L(\"td\",{className:\"rt-num\",children:D.id}),L(\"td\",{children:D.name}),L(\"td\",{children:gr(D.lastEdited)})]},D.id))})]})})]})]})}X8();function mr(){let{token:J}=m6(),X=w5(J),[Y,Z]=F0([]),[Q,$]=F0(!0),[q,G]=F0(null),[U,H]=F0(new Set),[V,K]=F0(null),[j,W]=F0(!1),[z,B]=F0(!1),P=n5(async()=>{$(!0),G(null);try{Z(await X(\"/api/reports/daily\"))}catch(I){G(I instanceof Error?I.message:String(I))}finally{$(!1)}},[X]);Q6(()=>{P()},[P]);let _=(I)=>H((S)=>{let h=new Set(S);if(h.has(I))h.delete(I);else h.add(I);return h}),A=()=>{if(U.size===Y.length)H(new Set);else H(new Set(Y.map((I)=>I.date)))},O=(I)=>{window.open(`${location.origin}/reports/daily/${I}?t=${encodeURIComponent(J)}`,\"_blank\")},D=async(I,S)=>{let h=await fetch(`${location.origin}/api/reports/daily/${I}`,{headers:{Authorization:`Bearer ${J}`}}),u=document.createElement(\"a\");u.href=URL.createObjectURL(await h.blob()),u.download=S,u.click(),URL.revokeObjectURL(u.href)},R=async()=>{B(!0);try{for(let I of U){let S=Y.find((h)=>h.date===I)?.filename??`日报-${I}.html`;await D(I,S),await new Promise((h)=>setTimeout(h,200))}}finally{B(!1)}},N=async()=>{let I=j?[...U]:V?[V]:[];if(!I.length)return;for(let S of I)await fetch(`${location.origin}/api/reports/daily/${S}`,{method:\"DELETE\",headers:{Authorization:`Bearer ${J}`}});K(null),W(!1),H(new Set),await P()},w=j||V!==null,k=j?U.size:V?1:0;if(Q)return L(\"div\",{className:\"empty-state\",children:L(\"span\",{className:\"es-hint\",children:\"加载中…\"})});if(q)return L(\"div\",{className:\"empty-state\",children:m(\"span\",{className:\"es-hint\",children:[\"读取失败:\",q]})});return m(R6,{children:[w&&L(\"div\",{style:{position:\"fixed\",inset:0,background:\"rgba(15,23,42,.45)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:1000},onClick:()=>{K(null),W(!1)},children:m(\"div\",{style:{background:\"#fff\",borderRadius:12,padding:\"24px 28px\",maxWidth:360,boxShadow:\"0 20px 60px rgba(0,0,0,.3)\"},onClick:(I)=>I.stopPropagation(),children:[m(\"div\",{style:{fontSize:15,fontWeight:700,marginBottom:8},children:[\"确认删除\",k>1?` ${k} 份`:\"\",\"日报?\"]}),L(\"div\",{style:{fontSize:13,color:\"var(--muted)\",marginBottom:18},children:\"此操作不可恢复。\"}),m(\"div\",{style:{display:\"flex\",gap:8,justifyContent:\"flex-end\"},children:[L(\"button\",{type:\"button\",className:\"tab\",onClick:()=>{K(null),W(!1)},children:\"取消\"}),L(\"button\",{type:\"button\",className:\"tab\",style:{background:\"#ef4444\",color:\"#fff\",borderColor:\"#ef4444\"},onClick:()=>void N(),children:\"删除\"})]})]})}),m(\"div\",{className:\"report-view\",style:{display:\"flex\",flexDirection:\"column\",height:\"100%\",minHeight:0},children:[L(_J,{loading:Q}),m(\"div\",{className:\"panel-header\",style:{display:\"flex\",gap:\"0.6rem\",alignItems:\"baseline\",flexWrap:\"wrap\"},children:[L(\"b\",{children:\"日报\"}),m(\"span\",{style:{color:\"var(--muted)\"},children:[Y.length,\" 份\",U.size>0?` · 已选 ${U.size}`:\"\"]}),m(\"span\",{style:{marginLeft:\"auto\",display:\"flex\",gap:\"0.4rem\"},children:[L(\"button\",{type:\"button\",className:\"tab\",disabled:U.size===0||z,onClick:()=>void R(),title:\"下载选中\",children:z?\"下载中…\":\"⬇ 批量下载\"}),L(\"button\",{type:\"button\",className:\"tab\",disabled:U.size===0,onClick:()=>W(!0),title:\"删除选中\",style:U.size>0?{color:\"#ef4444\"}:{},children:\"\\uD83D\\uDDD1 批量删除\"}),L(\"button\",{type:\"button\",className:\"tab tab-upload\",onClick:()=>void P(),title:\"重新读取列表\",children:\"↻ 刷新\"})]})]}),L(\"div\",{style:{flex:\"1 1 0\",minHeight:0,overflow:\"auto\"},children:Y.length===0?L(\"div\",{className:\"empty-state\",style:{marginTop:\"2rem\"},children:m(\"span\",{className:\"es-hint\",children:[\"暂无日报。运行 \",L(\"code\",{children:\"/shine-worklog:daily\"}),\" 生成。\"]})}):m(\"table\",{className:\"report-table\",children:[L(\"thead\",{children:m(\"tr\",{children:[L(\"th\",{style:{width:32},children:L(\"input\",{type:\"checkbox\",checked:U.size===Y.length&&Y.length>0,onChange:()=>A()})}),L(\"th\",{className:\"rt-num\",children:\"#\"}),L(\"th\",{children:\"日期\"}),L(\"th\",{children:\"操作\"})]})}),L(\"tbody\",{children:Y.map((I,S)=>m(\"tr\",{children:[L(\"td\",{children:L(\"input\",{type:\"checkbox\",checked:U.has(I.date),onChange:()=>_(I.date)})}),L(\"td\",{className:\"rt-num\",children:S+1}),L(\"td\",{style:{cursor:\"pointer\",color:\"var(--accent)\"},onClick:()=>void O(I.date),children:I.date}),m(\"td\",{style:{whiteSpace:\"nowrap\"},children:[L(\"button\",{type:\"button\",className:\"tab\",onClick:()=>void D(I.date,I.filename),children:\"下载\"}),\" \",L(\"button\",{type:\"button\",className:\"tab\",onClick:()=>K(I.date),children:\"删除\"})]})]},I.filename))})]})})]})]})}X8();function ur(){let{token:J}=m6(),X=w5(J),[Y,Z]=F0([]),[Q,$]=F0(!0),[q,G]=F0(null),[U,H]=F0(new Set),[V,K]=F0(null),[j,W]=F0(!1),[z,B]=F0(!1),P=n5(async()=>{$(!0),G(null);try{Z(await X(\"/api/reports/weekly\"))}catch(I){G(I instanceof Error?I.message:String(I))}finally{$(!1)}},[X]);Q6(()=>{P()},[P]);let _=(I)=>H((S)=>{let h=new Set(S);if(h.has(I))h.delete(I);else h.add(I);return h}),A=()=>{if(U.size===Y.length)H(new Set);else H(new Set(Y.map((I)=>I.date)))},O=(I)=>{window.open(`${location.origin}/reports/weekly/${I}?t=${encodeURIComponent(J)}`,\"_blank\")},D=async(I,S)=>{let h=await fetch(`${location.origin}/api/reports/weekly/${I}`,{headers:{Authorization:`Bearer ${J}`}}),u=document.createElement(\"a\");u.href=URL.createObjectURL(await h.blob()),u.download=S,u.click(),URL.revokeObjectURL(u.href)},R=async()=>{B(!0);try{for(let I of U){let S=Y.find((h)=>h.date===I)?.filename??`周报-${I}.html`;await D(I,S),await new Promise((h)=>setTimeout(h,200))}}finally{B(!1)}},N=async()=>{let I=j?[...U]:V?[V]:[];if(!I.length)return;for(let S of I)await fetch(`${location.origin}/api/reports/weekly/${S}`,{method:\"DELETE\",headers:{Authorization:`Bearer ${J}`}});K(null),W(!1),H(new Set),await P()},w=j||V!==null,k=j?U.size:V?1:0;if(Q)return L(\"div\",{className:\"empty-state\",children:L(\"span\",{className:\"es-hint\",children:\"加载中…\"})});if(q)return L(\"div\",{className:\"empty-state\",children:m(\"span\",{className:\"es-hint\",children:[\"读取失败:\",q]})});return m(R6,{children:[w&&L(\"div\",{style:{position:\"fixed\",inset:0,background:\"rgba(15,23,42,.45)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:1000},onClick:()=>{K(null),W(!1)},children:m(\"div\",{style:{background:\"#fff\",borderRadius:12,padding:\"24px 28px\",maxWidth:360,boxShadow:\"0 20px 60px rgba(0,0,0,.3)\"},onClick:(I)=>I.stopPropagation(),children:[m(\"div\",{style:{fontSize:15,fontWeight:700,marginBottom:8},children:[\"确认删除\",k>1?` ${k} 份`:\"\",\"周报?\"]}),L(\"div\",{style:{fontSize:13,color:\"var(--muted)\",marginBottom:18},children:\"此操作不可恢复。\"}),m(\"div\",{style:{display:\"flex\",gap:8,justifyContent:\"flex-end\"},children:[L(\"button\",{type:\"button\",className:\"tab\",onClick:()=>{K(null),W(!1)},children:\"取消\"}),L(\"button\",{type:\"button\",className:\"tab\",style:{background:\"#ef4444\",color:\"#fff\",borderColor:\"#ef4444\"},onClick:()=>void N(),children:\"删除\"})]})]})}),m(\"div\",{className:\"report-view\",style:{display:\"flex\",flexDirection:\"column\",height:\"100%\",minHeight:0},children:[L(_J,{loading:Q}),m(\"div\",{className:\"panel-header\",style:{display:\"flex\",gap:\"0.6rem\",alignItems:\"baseline\",flexWrap:\"wrap\"},children:[L(\"b\",{children:\"周报\"}),m(\"span\",{style:{color:\"var(--muted)\"},children:[Y.length,\" 份\",U.size>0?` · 已选 ${U.size}`:\"\"]}),m(\"span\",{style:{marginLeft:\"auto\",display:\"flex\",gap:\"0.4rem\"},children:[L(\"button\",{type:\"button\",className:\"tab\",disabled:U.size===0||z,onClick:()=>void R(),title:\"下载选中\",children:z?\"下载中…\":\"⬇ 批量下载\"}),L(\"button\",{type:\"button\",className:\"tab\",disabled:U.size===0,onClick:()=>W(!0),title:\"删除选中\",style:U.size>0?{color:\"#ef4444\"}:{},children:\"\\uD83D\\uDDD1 批量删除\"}),L(\"button\",{type:\"button\",className:\"tab tab-upload\",onClick:()=>void P(),title:\"重新读取列表\",children:\"↻ 刷新\"})]})]}),L(\"div\",{style:{flex:\"1 1 0\",minHeight:0,overflow:\"auto\"},children:Y.length===0?L(\"div\",{className:\"empty-state\",style:{marginTop:\"2rem\"},children:m(\"span\",{className:\"es-hint\",children:[\"暂无周报。运行 \",L(\"code\",{children:\"/shine-worklog:weekly\"}),\" 生成。\"]})}):m(\"table\",{className:\"report-table\",children:[L(\"thead\",{children:m(\"tr\",{children:[L(\"th\",{style:{width:32},children:L(\"input\",{type:\"checkbox\",checked:U.size===Y.length&&Y.length>0,onChange:()=>A()})}),L(\"th\",{className:\"rt-num\",children:\"#\"}),L(\"th\",{children:\"区间\"}),L(\"th\",{children:\"操作\"})]})}),L(\"tbody\",{children:Y.map((I,S)=>m(\"tr\",{children:[L(\"td\",{children:L(\"input\",{type:\"checkbox\",checked:U.has(I.date),onChange:()=>_(I.date)})}),L(\"td\",{className:\"rt-num\",children:S+1}),L(\"td\",{style:{cursor:\"pointer\",color:\"var(--accent)\"},onClick:()=>void O(I.date),children:I.date}),m(\"td\",{style:{whiteSpace:\"nowrap\"},children:[L(\"button\",{type:\"button\",className:\"tab\",onClick:()=>void D(I.date,I.filename),children:\"下载\"}),\" \",L(\"button\",{type:\"button\",className:\"tab\",onClick:()=>K(I.date),children:\"删除\"})]})]},I.filename))})]})})]})]})}function cr(){let{stats:J}=m6();if(!J)return L(\"div\",{className:\"empty-state\",children:L(\"span\",{className:\"es-hint\",children:\"连接中…\"})});let X=Math.floor(J.uptime/1000);return L(\"div\",{className:\"system-view\",children:m(\"section\",{className:\"sum-section\",children:[L(\"div\",{className:\"sum-head\",children:L(\"h3\",{children:\"Daemon\"})}),m(\"div\",{className:\"sys-grid\",children:[m(\"div\",{className:\"sys-row\",children:[L(\"span\",{children:\"服务\"}),L(\"b\",{children:J.service})]}),m(\"div\",{className:\"sys-row\",children:[L(\"span\",{children:\"版本\"}),m(\"b\",{children:[\"v\",J.version]})]}),m(\"div\",{className:\"sys-row\",children:[L(\"span\",{children:\"pid\"}),L(\"b\",{children:J.pid})]}),m(\"div\",{className:\"sys-row\",children:[L(\"span\",{children:\"uptime\"}),m(\"b\",{children:[X,\"s\"]})]}),m(\"div\",{className:\"sys-row\",children:[L(\"span\",{children:\"事件总数\"}),L(\"b\",{children:J.totalEvents})]}),m(\"div\",{className:\"sys-row\",children:[L(\"span\",{children:\"事件速率\"}),m(\"b\",{children:[J.eventsPerSec.toFixed(1),\" evt/s\"]})]}),m(\"div\",{className:\"sys-row\",children:[L(\"span\",{children:\"spool 积压\"}),L(\"b\",{children:J.spoolBacklog})]}),J.lastError&&m(\"div\",{className:\"sys-row err\",children:[L(\"span\",{children:\"最近错误\"}),L(\"b\",{children:J.lastError.message})]})]})]})})}X8();X8();function dr(J){if(J.length===0)throw Error(\"Invalid tail call\");return[J.slice(0,J.length-1),J[J.length-1]]}function w1(J,X,Y=(Z,Q)=>Z===Q){if(J===X)return!0;if(!J||!X)return!1;if(J.length!==X.length)return!1;for(let Z=0,Q=J.length;Z<Q;Z++)if(!Y(J[Z],X[Z]))return!1;return!0}function lr(J,X){let Y=J.length-1;if(X<Y)J[X]=J[Y];J.pop()}function sr(J,X,Y){return vH(J.length,(Z)=>Y(J[Z],X))}function vH(J,X){let Y=0,Z=J-1;while(Y<=Z){let Q=(Y+Z)/2|0,$=X(Q);if($<0)Y=Q+1;else if($>0)Z=Q-1;else return Q}return-(Y+1)}function*gH(J,X){let Y,Z;for(let Q of J){if(Z!==void 0&&X(Z,Q))Y.push(Q);else{if(Y)yield Y;Y=[Q]}Z=Q}if(Y)yield Y}function PD(J,X){for(let Y=0;Y<=J.length;Y++)X(Y===0?void 0:J[Y-1],Y===J.length?void 0:J[Y])}function ar(J,X){for(let Y=0;Y<J.length;Y++)X(Y===0?void 0:J[Y-1],J[Y],Y+1===J.length?void 0:J[Y+1])}function r4(J){return J.filter((X)=>!!X)}function yy(J){let X=0;for(let Y=0;Y<J.length;Y++)if(J[Y])J[X]=J[Y],X+=1;J.length=X}function ir(J){return!Array.isArray(J)||J.length===0}function Yq(J){return Array.isArray(J)&&J.length>0}function o4(J,X=(Y)=>Y){let Y=new Set;return J.filter((Z)=>{let Q=X(Z);if(Y.has(Q))return!1;return Y.add(Q),!0})}function H5(J,X){let Y=typeof X===\"number\"?J:0;if(typeof X===\"number\")Y=J;else Y=0,X=J;let Z=[];if(Y<=X)for(let Q=Y;Q<X;Q++)Z.push(Q);else for(let Q=Y;Q>X;Q--)Z.push(Q);return Z}function m$(J,X,Y){let Z=J.slice(0,X),Q=J.slice(X);return Z.concat(Y,Q)}function DD(J,X){let Y=J.indexOf(X);if(Y>-1)J.splice(Y,1),J.unshift(X)}function $z(J,X){let Y=J.indexOf(X);if(Y>-1)J.splice(Y,1),J.push(X)}function aZ(J,X){for(let Y of X)J.push(Y)}function $K0(J,X,Y){let Z=rr(J,X),Q=J.length,$=Y.length;J.length=Q+$;for(let q=Q-1;q>=Z;q--)J[q+$]=J[q];for(let q=0;q<$;q++)J[q+Z]=Y[q]}function Zq(J,X,Y,Z){let Q=rr(J,X),$=J.splice(Q,Y);if($===void 0)$=[];return $K0(J,Q,Z),$}function rr(J,X){return X<0?Math.max(X+J.length,0):Math.min(X,J.length)}var Qz;(function(J){function X($){return $<0}J.isLessThan=X;function Y($){return $<=0}J.isLessThanOrEqual=Y;function Z($){return $>0}J.isGreaterThan=Z;function Q($){return $===0}J.isNeitherLessOrGreaterThan=Q,J.greaterThan=1,J.lessThan=-1,J.neitherLessOrGreaterThan=0})(Qz||(Qz={}));function V5(J,X){return(Y,Z)=>X(J(Y),J(Z))}function or(...J){return(X,Y)=>{for(let Z of J){let Q=Z(X,Y);if(!Qz.isNeitherLessOrGreaterThan(Q))return Q}return Qz.neitherLessOrGreaterThan}}var I9=(J,X)=>J-X,nr=(J,X)=>I9(J?1:0,X?1:0);function tr(J){return(X,Y)=>-J(X,Y)}class AJ{constructor(J){this.firstIdx=0,this.items=J,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(J){let X=this.firstIdx;while(X<this.items.length&&J(this.items[X]))X++;let Y=X===this.firstIdx?null:this.items.slice(this.firstIdx,X);return this.firstIdx=X,Y}peek(){if(this.length===0)return;return this.items[this.firstIdx]}dequeue(){let J=this.items[this.firstIdx];return this.firstIdx++,J}takeCount(J){let X=this.items.slice(this.firstIdx,this.firstIdx+J);return this.firstIdx+=J,X}}class UX{static{this.empty=new UX((J)=>{})}constructor(J){this.iterate=J}toArray(){let J=[];return this.iterate((X)=>{return J.push(X),!0}),J}filter(J){return new UX((X)=>this.iterate((Y)=>J(Y)?X(Y):!0))}map(J){return new UX((X)=>this.iterate((Y)=>X(J(Y))))}findLast(J){let X;return this.iterate((Y)=>{if(J(Y))X=Y;return!0}),X}findLastMaxBy(J){let X,Y=!0;return this.iterate((Z)=>{if(Y||Qz.isGreaterThan(J(Z,X)))Y=!1,X=Z;return!0}),X}}class er{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(J){setTimeout(()=>{if(J.stack){if(pH.isErrorNoTelemetry(J))throw new pH(J.message+`\n\n`+J.stack);throw Error(J.message+`\n\n`+J.stack)}throw J},0)}}emit(J){this.listeners.forEach((X)=>{X(J)})}onUnexpectedError(J){this.unexpectedErrorHandler(J),this.emit(J)}onUnexpectedExternalError(J){this.unexpectedErrorHandler(J)}}var xy=new er;function Qq(J){xy.onUnexpectedError(J);return}function b0(J){if(!n4(J))xy.onUnexpectedError(J);return}function VY(J){if(!n4(J))xy.onUnexpectedExternalError(J);return}function MD(J){if(J instanceof Error){let{name:X,message:Y,cause:Z}=J,Q=J.stacktrace||J.stack;return{$isError:!0,name:X,message:Y,stack:Q,noTelemetry:pH.isErrorNoTelemetry(J),cause:Z?MD(Z):void 0,code:J.code}}return J}var OD=\"Canceled\";function n4(J){if(J instanceof PJ)return!0;return J instanceof Error&&J.name===OD&&J.message===OD}class PJ extends Error{constructor(){super(OD);this.name=this.message}}function Jo(){let J=Error(OD);return J.name=J.message,J}function HX(J){if(J)return Error(`Illegal argument: ${J}`);else return Error(\"Illegal argument\")}function mH(J){if(J)return Error(`Illegal state: ${J}`);else return Error(\"Illegal state\")}class by extends Error{constructor(J){super(\"NotSupported\");if(J)this.message=J}}class pH extends Error{constructor(J){super(J);this.name=\"CodeExpectedError\"}static fromError(J){if(J instanceof pH)return J;let X=new pH;return X.message=J.message,X.stack=J.stack,X}static isErrorNoTelemetry(J){return J.name===\"CodeExpectedError\"}}class j0 extends Error{constructor(J){super(J||\"An unexpected bug occurred.\");Object.setPrototypeOf(this,j0.prototype)}}function RD(J,X){if(!J)throw Error(X?`Assertion failed (${X})`:\"Assertion Failed\")}function uH(J,X=\"Unreachable\"){throw Error(X)}function $q(J,X=\"unexpected state\"){if(!J)throw typeof X===\"string\"?new j0(`Assertion Failed: ${X}`):X}function Cy(J,X=\"Soft Assertion Failed\"){if(!J)b0(new j0(X))}function k9(J){if(!J()){debugger;J(),b0(new j0(\"Assertion Failed\"))}}function cH(J,X){let Y=0;while(Y<J.length-1){let Z=J[Y],Q=J[Y+1];if(!X(Z,Q))return!1;Y++}return!0}function t1(J){return typeof J===\"string\"}function E6(J){return typeof J===\"object\"&&J!==null&&!Array.isArray(J)&&!(J instanceof RegExp)&&!(J instanceof Date)}function Xo(J){let X=Object.getPrototypeOf(Uint8Array);return typeof J===\"object\"&&J instanceof X}function r7(J){return typeof J===\"number\"&&!isNaN(J)}function qz(J){return!!J&&typeof J[Symbol.iterator]===\"function\"}function Gz(J){return J===!0||J===!1}function C8(J){return typeof J>\"u\"}function Y7(J){return!Z7(J)}function Z7(J){return C8(J)||J===null}function t4(J,X){if(!J)throw Error(X?`Unexpected type, expected '${X}'`:\"Unexpected type\")}function qq(J){return $q(J!==null&&J!==void 0,\"Argument is `undefined` or `null`.\"),J}function KY(J){return typeof J===\"function\"}function Yo(J,X){let Y=Math.min(J.length,X.length);for(let Z=0;Z<Y;Z++)qK0(J[Z],X[Z])}function qK0(J,X){if(t1(X)){if(typeof J!==X)throw Error(`argument does not match constraint: typeof ${X}`)}else if(KY(X)){try{if(J instanceof X)return}catch{}if(!Z7(J)&&J.constructor===X)return;if(X.length===1&&X.call(void 0,J)===!0)return;throw Error(\"argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true\")}}function Zo(J){return J}function DJ(J){if(!J||typeof J!==\"object\")return J;if(J instanceof RegExp)return J;let X=Array.isArray(J)?[]:{};return Object.entries(J).forEach(([Y,Z])=>{X[Y]=Z&&typeof Z===\"object\"?DJ(Z):Z}),X}function Qo(J){if(!J||typeof J!==\"object\")return J;let X=[J];while(X.length>0){let Y=X.shift();Object.freeze(Y);for(let Z in Y)if($o.call(Y,Z)){let Q=Y[Z];if(typeof Q===\"object\"&&!Object.isFrozen(Q)&&!Xo(Q))X.push(Q)}}return J}var $o=Object.prototype.hasOwnProperty;function ND(J,X){return Sy(J,X,new Set)}function Sy(J,X,Y){if(Z7(J))return J;let Z=X(J);if(typeof Z<\"u\")return Z;if(Array.isArray(J)){let Q=[];for(let $ of J)Q.push(Sy($,X,Y));return Q}if(E6(J)){if(Y.has(J))throw Error(\"Cannot clone recursive data-structure\");Y.add(J);let Q={};for(let $ in J)if($o.call(J,$))Q[$]=Sy(J[$],X,Y);return Y.delete(J),Q}return J}function O8(J,X){if(J===X)return!0;if(J===null||J===void 0||X===null||X===void 0)return!1;if(typeof J!==typeof X)return!1;if(typeof J!==\"object\")return!1;if(Array.isArray(J)!==Array.isArray(X))return!1;let Y,Z;if(Array.isArray(J)){if(J.length!==X.length)return!1;for(Y=0;Y<J.length;Y++)if(!O8(J[Y],X[Y]))return!1}else{let Q=[];for(Z in J)Q.push(Z);Q.sort();let $=[];for(Z in X)$.push(Z);if($.sort(),!O8(Q,$))return!1;for(Y=0;Y<Q.length;Y++)if(!O8(J[Q[Y]],X[Q[Y]]))return!1}return!0}function fy(){return globalThis._VSCODE_NLS_MESSAGES}function Uz(){return globalThis._VSCODE_NLS_LANGUAGE}var GK0=Uz()===\"pseudo\"||typeof document<\"u\"&&document.location&&typeof document.location.hash===\"string\"&&document.location.hash.indexOf(\"pseudo=true\")>=0;function wD(J,X){let Y;if(X.length===0)Y=J;else Y=J.replace(/\\{(\\d+)\\}/g,(Z,Q)=>{let $=Q[0],q=X[$],G=Z;if(typeof q===\"string\")G=q;else if(typeof q===\"number\"||typeof q===\"boolean\"||q===void 0||q===null)G=String(q);return G});if(GK0)Y=\"［\"+Y.replace(/[aouei]/g,\"$&$&\")+\"］\";return Y}function F(J,X,...Y){if(typeof J===\"number\")return wD(qo(J,X),Y);return wD(X,Y)}function qo(J,X){let Y=fy()?.[J];if(typeof Y!==\"string\"){if(typeof X===\"string\")return X;throw Error(`!!! NLS MISSING: ${J} !!!`)}return Y}function B0(J,X,...Y){let Z;if(typeof J===\"number\")Z=qo(J,X);else Z=X;let Q=wD(Z,Y);return{value:Q,original:X===Z?Q:wD(X,Y)}}var u$=\"en\",Vz=!1,Kz=!1,Hz=!1,Vo=!1,vy=!1,gy=!1,Ko=!1,TD=void 0,hy=u$,Go=u$,UK0=void 0,iZ=void 0,rZ=globalThis,e4=void 0;if(typeof rZ.vscode<\"u\"&&typeof rZ.vscode.process<\"u\")e4=rZ.vscode.process;else if(typeof process<\"u\"&&typeof process?.versions?.node===\"string\")e4=process;var HK0=typeof e4?.versions?.electron===\"string\",VK0=HK0&&e4?.type===\"renderer\";if(typeof e4===\"object\"){Vz=e4.platform===\"win32\",Kz=e4.platform===\"darwin\",Hz=e4.platform===\"linux\",Hz&&!!e4.env.SNAP&&e4.env.SNAP_REVISION,!!e4.env.CI||!!e4.env.BUILD_ARTIFACTSTAGINGDIRECTORY||e4.env.GITHUB_WORKSPACE,TD=u$,hy=u$;let J=e4.env.VSCODE_NLS_CONFIG;if(J)try{let X=JSON.parse(J);TD=X.userLocale,Go=X.osLocale,hy=X.resolvedLanguage||u$,UK0=X.languagePack?.translationsConfigFile}catch(X){}Vo=!0}else if(typeof navigator===\"object\"&&!VK0)iZ=navigator.userAgent,Vz=iZ.indexOf(\"Windows\")>=0,Kz=iZ.indexOf(\"Macintosh\")>=0,gy=(iZ.indexOf(\"Macintosh\")>=0||iZ.indexOf(\"iPad\")>=0||iZ.indexOf(\"iPhone\")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Hz=iZ.indexOf(\"Linux\")>=0,Ko=iZ?.indexOf(\"Mobi\")>=0,vy=!0,hy=Uz()||u$,TD=navigator.language.toLowerCase(),Go=TD;else console.error(\"Unable to resolve platform.\");var LD=0;if(Kz)LD=1;else if(Vz)LD=3;else if(Hz)LD=2;var z6=Vz,I0=Kz,y6=Hz,Q7=Vo,o7=vy,KK0=vy&&typeof rZ.importScripts===\"function\",jo=KK0?rZ.origin:void 0,n7=gy,ID=Ko,kD=LD,jY=iZ;var jK0=typeof rZ.postMessage===\"function\"&&!rZ.importScripts,OJ=(()=>{if(jK0){let J=[];rZ.addEventListener(\"message\",(Y)=>{if(Y.data&&Y.data.vscodeScheduleAsyncWork)for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z];if($.id===Y.data.vscodeScheduleAsyncWork){J.splice(Z,1),$.callback();return}}});let X=0;return(Y)=>{let Z=++X;J.push({id:Z,callback:Y}),rZ.postMessage({vscodeScheduleAsyncWork:Z},\"*\")}}return(J)=>setTimeout(J)})(),h5=Kz||gy?2:Vz?1:3,Uo=!0,Ho=!1;function Wo(){if(!Ho){Ho=!0;let J=new Uint8Array(2);J[0]=1,J[1]=2,Uo=new Uint16Array(J.buffer)[0]===513}return Uo}var jz=!!(jY&&jY.indexOf(\"Chrome\")>=0),zo=!!(jY&&jY.indexOf(\"Firefox\")>=0),Fo=!!(!jz&&(jY&&jY.indexOf(\"Safari\")>=0)),ED=!!(jY&&jY.indexOf(\"Edg/\")>=0),Bo=!!(jY&&jY.indexOf(\"Android\")>=0);function oZ(J,X){let Y=this,Z=!1,Q;return function(){if(Z)return Q;return Z=!0,Q=J.apply(Y,arguments),Q}}var s0;(function(J){function X(w){return!!w&&typeof w===\"object\"&&typeof w[Symbol.iterator]===\"function\"}J.is=X;let Y=Object.freeze([]);function Z(){return Y}J.empty=Z;function*Q(w){yield w}J.single=Q;function $(w){if(X(w))return w;else return Q(w)}J.wrap=$;function q(w){return w??Y}J.from=q;function*G(w){for(let k=w.length-1;k>=0;k--)yield w[k]}J.reverse=G;function U(w){return!w||w[Symbol.iterator]().next().done===!0}J.isEmpty=U;function H(w){return w[Symbol.iterator]().next().value}J.first=H;function V(w,k){let I=0;for(let S of w)if(k(S,I++))return!0;return!1}J.some=V;function K(w,k){let I=0;for(let S of w)if(!k(S,I++))return!1;return!0}J.every=K;function j(w,k){for(let I of w)if(k(I))return I;return}J.find=j;function*W(w,k){for(let I of w)if(k(I))yield I}J.filter=W;function*z(w,k){let I=0;for(let S of w)yield k(S,I++)}J.map=z;function*B(w,k){let I=0;for(let S of w)yield*k(S,I++)}J.flatMap=B;function*P(...w){for(let k of w)if(qz(k))yield*k;else yield k}J.concat=P;function _(w,k,I){let S=I;for(let h of w)S=k(S,h);return S}J.reduce=_;function A(w){let k=0;for(let I of w)k++;return k}J.length=A;function*O(w,k,I=w.length){if(k<-w.length)k=0;if(k<0)k+=w.length;if(I<0)I+=w.length;else if(I>w.length)I=w.length;for(;k<I;k++)yield w[k]}J.slice=O;function D(w,k=Number.POSITIVE_INFINITY){let I=[];if(k===0)return[I,w];let S=w[Symbol.iterator]();for(let h=0;h<k;h++){let u=S.next();if(u.done)return[I,J.empty()];I.push(u.value)}return[I,{[Symbol.iterator](){return S}}]}J.consume=D;async function R(w){let k=[];for await(let I of w)k.push(I);return k}J.asyncToArray=R;async function N(w){let k=[];for await(let I of w)k=k.concat(I);return k}J.asyncToArrayFlat=N})(s0||(s0={}));function WK0(J,X){}function t7(J){return J}function WY(J){return typeof J===\"object\"&&J!==null&&typeof J.dispose===\"function\"&&J.dispose.length===0}function D1(J){if(s0.is(J)){let X=[];for(let Y of J)if(Y)try{Y.dispose()}catch(Z){X.push(Z)}if(X.length===1)throw X[0];else if(X.length>1)throw AggregateError(X,\"Encountered errors while disposing of store\");return Array.isArray(J)?[]:J}else if(J)return J.dispose(),J}function e7(...J){return J0(()=>D1(J))}class _o{constructor(J){this._isDisposed=!1,this._fn=J}dispose(){if(this._isDisposed)return;if(!this._fn)throw Error(\"Unbound disposable context: Need to use an arrow function to preserve the value of this\");this._isDisposed=!0,this._fn()}}function J0(J){return new _o(J)}class a{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){if(this._isDisposed)return;this._isDisposed=!0,this.clear()}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size===0)return;try{D1(this._toDispose)}finally{this._toDispose.clear()}}add(J){if(!J||J===y.None)return J;if(J===this)throw Error(\"Cannot register a disposable on itself!\");if(this._isDisposed){if(!a.DISABLE_DISPOSED_WARNING)console.warn(Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\").stack)}else this._toDispose.add(J);return J}delete(J){if(!J)return;if(J===this)throw Error(\"Cannot dispose a disposable on itself!\");this._toDispose.delete(J),J.dispose()}}class y{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new a,WK0(this._store)}dispose(){this._store.dispose()}_register(J){if(J===this)throw Error(\"Cannot register a disposable on itself!\");return this._store.add(J)}}class Q1{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(J){if(this._isDisposed||J===this._value)return;this._value?.dispose(),this._value=J}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}}class py{constructor(J){this.object=J}dispose(){}}class VX{constructor(J=new Map){this._isDisposed=!1,this._store=J}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(!this._store.size)return;try{D1(this._store.values())}finally{this._store.clear()}}get(J){return this._store.get(J)}set(J,X,Y=!1){if(this._isDisposed)console.warn(Error(\"Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!\").stack);if(!Y)this._store.get(J)?.dispose();this._store.set(J,X)}deleteAndDispose(J){this._store.get(J)?.dispose(),this._store.delete(J)}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}class Z8{static{this.Undefined=new Z8(void 0)}constructor(J){this.element=J,this.next=Z8.Undefined,this.prev=Z8.Undefined}}class x6{constructor(){this._first=Z8.Undefined,this._last=Z8.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Z8.Undefined}clear(){let J=this._first;while(J!==Z8.Undefined){let X=J.next;J.prev=Z8.Undefined,J.next=Z8.Undefined,J=X}this._first=Z8.Undefined,this._last=Z8.Undefined,this._size=0}unshift(J){return this._insert(J,!1)}push(J){return this._insert(J,!0)}_insert(J,X){let Y=new Z8(J);if(this._first===Z8.Undefined)this._first=Y,this._last=Y;else if(X){let Q=this._last;this._last=Y,Y.prev=Q,Q.next=Y}else{let Q=this._first;this._first=Y,Y.next=Q,Q.prev=Y}this._size+=1;let Z=!1;return()=>{if(!Z)Z=!0,this._remove(Y)}}shift(){if(this._first===Z8.Undefined)return;else{let J=this._first.element;return this._remove(this._first),J}}pop(){if(this._last===Z8.Undefined)return;else{let J=this._last.element;return this._remove(this._last),J}}_remove(J){if(J.prev!==Z8.Undefined&&J.next!==Z8.Undefined){let X=J.prev;X.next=J.next,J.next.prev=X}else if(J.prev===Z8.Undefined&&J.next===Z8.Undefined)this._first=Z8.Undefined,this._last=Z8.Undefined;else if(J.next===Z8.Undefined)this._last=this._last.prev,this._last.next=Z8.Undefined;else if(J.prev===Z8.Undefined)this._first=this._first.next,this._first.prev=Z8.Undefined;this._size-=1}*[Symbol.iterator](){let J=this._first;while(J!==Z8.Undefined)yield J.element,J=J.next}}var dH,my=globalThis.vscode;if(typeof my<\"u\"&&typeof my.process<\"u\"){let J=my.process;dH={get platform(){return J.platform},get arch(){return J.arch},get env(){return J.env},cwd(){return J.cwd()}}}else if(typeof process<\"u\"&&typeof process?.versions?.node===\"string\")dH={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}};else dH={get platform(){return z6?\"win32\":I0?\"darwin\":\"linux\"},get arch(){return},get env(){return{}},cwd(){return\"/\"}};var{cwd:Wz,env:nZ,platform:Ao}=dH;var zK0=globalThis.performance.now.bind(globalThis.performance);class v5{static create(J){return new v5(J)}constructor(J){this._now=J===!1?Date.now:zK0,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){if(this._stopTime!==-1)return this._stopTime-this._startTime;return this._now()-this._startTime}}var FK0=100,Po=60000;function Do(){return!!nZ.VSCODE_DEV}var i;(function(J){J.None=()=>y.None;function X(p,s,l){return j(p,()=>{return},0,void 0,s??!0,void 0,l)}J.defer=X;function Y(p){return(s,l=null,n)=>{let X0=!1,V0=void 0;if(V0=p((e)=>{if(X0)return;else if(V0)V0.dispose();else X0=!0;return s.call(l,e)},null,n),X0)V0.dispose();return V0}}J.once=Y;function Z(p,s){return J.once(J.filter(p,s))}J.onceIf=Z;function Q(p,s,l){return V((n,X0=null,V0)=>p((e)=>n.call(X0,s(e)),null,V0),l)}J.map=Q;function $(p,s,l){return V((n,X0=null,V0)=>p((e)=>{s(e),n.call(X0,e)},null,V0),l)}J.forEach=$;function q(p,s,l){return V((n,X0=null,V0)=>p((e)=>s(e)&&n.call(X0,e),null,V0),l)}J.filter=q;function G(p){return p}J.signal=G;function U(...p){return(s,l=null,n)=>{let X0=e7(...p.map((V0)=>V0((e)=>s.call(l,e))));return K(X0,n)}}J.any=U;function H(p,s,l,n){let X0=l;return Q(p,(V0)=>{return X0=s(X0,V0),X0},n)}J.reduce=H;function V(p,s){let l,X0=new E({onWillAddFirstListener(){l=p(X0.fire,X0)},onDidRemoveLastListener(){l?.dispose()}});return s?.add(X0),X0.event}function K(p,s){if(s instanceof Array)s.push(p);else if(s)s.add(p);return p}function j(p,s,l=100,n=!1,X0=!1,V0,e){let L0,k0=void 0,N0=void 0,u0=0,z1,e0=new E({leakWarningThreshold:V0,onWillAddFirstListener(){L0=p((v6)=>{if(u0++,k0=s(k0,v6),n&&!N0)e0.fire(k0),k0=void 0;if(z1=()=>{let q1=k0;if(k0=void 0,N0=void 0,!n||u0>1)e0.fire(q1);u0=0},typeof l===\"number\"){if(N0)clearTimeout(N0);N0=setTimeout(z1,l)}else if(N0===void 0)N0=null,queueMicrotask(z1)})},onWillRemoveListener(){if(X0&&u0>0)z1?.()},onDidRemoveLastListener(){z1=void 0,L0.dispose()}});return e?.add(e0),e0.event}J.debounce=j;function W(p,s=0,l,n){return J.debounce(p,(X0,V0)=>{if(!X0)return[V0];return X0.push(V0),X0},s,void 0,l??!0,void 0,n)}J.accumulate=W;function z(p,s,l=100,n=!0,X0=!0,V0,e){let L0,k0=void 0,N0=void 0,u0=0,F1=new E({leakWarningThreshold:V0,onWillAddFirstListener(){L0=p((e0)=>{if(u0++,k0=s(k0,e0),N0===void 0){if(n)F1.fire(k0),k0=void 0,u0=0;if(typeof l===\"number\")N0=setTimeout(()=>{if(X0&&u0>0)F1.fire(k0);k0=void 0,N0=void 0,u0=0},l);else N0=0,queueMicrotask(()=>{if(X0&&u0>0)F1.fire(k0);k0=void 0,N0=void 0,u0=0})}})},onDidRemoveLastListener(){L0.dispose()}});return e?.add(F1),F1.event}J.throttle=z;function B(p,s=(n,X0)=>n===X0,l){let n=!0,X0;return q(p,(V0)=>{let e=n||!s(V0,X0);return n=!1,X0=V0,e},l)}J.latch=B;function P(p,s,l){return[J.filter(p,s,l),J.filter(p,(n)=>!s(n),l)]}J.split=P;function _(p,s,l=!1,n=[],X0){let V0=n.slice(),e;if(Do()){if(e={stack:bD.create(),timerId:setTimeout(()=>{if(V0&&V0.length>0&&e&&!e.warned)e.warned=!0,console.warn(`[Event.buffer][${s}] potential LEAK detected: ${V0.length} events buffered for ${Po/1000}s without being consumed. Buffered here:`),e.stack.print()},Po),warned:!1},X0)X0.add(J0(()=>clearTimeout(e.timerId)))}let L0=()=>{if(e)clearTimeout(e.timerId)},k0=p((z1)=>{if(V0){if(V0.push(z1),Do()&&e&&!e.warned&&V0.length>=FK0)e.warned=!0,console.warn(`[Event.buffer][${s}] potential LEAK detected: ${V0.length} events buffered without being consumed. Buffered here:`),e.stack.print()}else u0.fire(z1)});if(X0)X0.add(k0);let N0=()=>{V0?.forEach((z1)=>u0.fire(z1)),V0=null,L0()},u0=new E({onWillAddFirstListener(){if(!k0){if(k0=p((z1)=>u0.fire(z1)),X0)X0.add(k0)}},onDidAddFirstListener(){if(V0)if(l)setTimeout(N0);else N0()},onDidRemoveLastListener(){if(k0)k0.dispose();k0=null,L0()}});if(X0)X0.add(u0);return u0.event}J.buffer=_;function A(p,s){return(n,X0,V0)=>{let e=s(new D);return p(function(L0){let k0=e.evaluate(L0);if(k0!==O)n.call(X0,k0)},void 0,V0)}}J.chain=A;let O=Symbol(\"HaltChainable\");class D{constructor(){this.steps=[]}map(p){return this.steps.push(p),this}forEach(p){return this.steps.push((s)=>{return p(s),s}),this}filter(p){return this.steps.push((s)=>p(s)?s:O),this}reduce(p,s){let l=s;return this.steps.push((n)=>{return l=p(l,n),l}),this}latch(p=(s,l)=>s===l){let s=!0,l;return this.steps.push((n)=>{let X0=s||!p(n,l);return s=!1,l=n,X0?n:O}),this}evaluate(p){for(let s of this.steps)if(p=s(p),p===O)break;return p}}function R(p,s,l=(n)=>n){let n=(...L0)=>e.fire(l(...L0)),e=new E({onWillAddFirstListener:()=>p.on(s,n),onDidRemoveLastListener:()=>p.removeListener(s,n)});return e.event}J.fromNodeEventEmitter=R;function N(p,s,l=(n)=>n){let n=(...L0)=>e.fire(l(...L0)),e=new E({onWillAddFirstListener:()=>p.addEventListener(s,n),onDidRemoveLastListener:()=>p.removeEventListener(s,n)});return e.event}J.fromDOMEventEmitter=N;function w(p,s){let l,n,X0=new Promise((V0)=>{n=Y(p)(V0),uy(n,s),l=()=>{Oo(n,s)}});if(X0.cancel=l,s)X0.finally(()=>Oo(n,s));return X0}J.toPromise=w;function k(p,s){return p((l)=>s.fire(l))}J.forward=k;function I(p,s,l){return s(l),p((n)=>s(n))}J.runAndSubscribe=I;class S{constructor(p,s){this._observable=p,this._counter=0,this._hasChanged=!1;let l={onWillAddFirstListener:()=>{p.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{p.removeObserver(this)}};if(this.emitter=new E(l),s)s.add(this.emitter)}beginUpdate(p){this._counter++}handlePossibleChange(p){}handleChange(p,s){this._hasChanged=!0}endUpdate(p){if(this._counter--,this._counter===0){if(this._observable.reportChanges(),this._hasChanged)this._hasChanged=!1,this.emitter.fire(this._observable.get())}}}function h(p,s){return new S(p,s).emitter.event}J.fromObservable=h;function u(p){return(s,l,n)=>{let X0=0,V0=!1,e={beginUpdate(){X0++},endUpdate(){if(X0--,X0===0){if(p.reportChanges(),V0)V0=!1,s.call(l)}},handlePossibleChange(){},handleChange(){V0=!0}};p.addObserver(e),p.reportChanges();let L0={dispose(){p.removeObserver(e)}};return uy(L0,n),L0}}J.fromObservableLight=u})(i||(i={}));class xD{static{this.all=new Set}static{this._idPool=0}constructor(J){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${J}_${xD._idPool++}`,xD.all.add(this)}start(J){this._stopWatch=new v5,this.listenerCount=J}stop(){if(this._stopWatch){let J=this._stopWatch.elapsed();this.durations.push(J),this.elapsedOverall+=J,this.invocationCount+=1,this._stopWatch=void 0}}}var BK0=-1;class cy{static{this._idPool=1}constructor(J,X,Y=(cy._idPool++).toString(16).padStart(3,\"0\")){this._errorHandler=J,this.threshold=X,this.name=Y,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(J,X){let Y=this.threshold;if(Y<=0||X<Y)return;if(!this._stacks)this._stacks=new Map;let Z=this._stacks.get(J.value)||0;if(this._stacks.set(J.value,Z+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=Y*0.5;let[Q,$]=this.getMostFrequentStack(),q=/^[0-9a-f]+$/i.test(this.name)?void 0:this.name,G=`[${this.name}] potential listener LEAK detected, having ${X} listeners already. MOST frequent listener (${$}):`;console.warn(G),console.warn(Q);let U=$/X>0.3?\"dominated\":\"popular\",H=new CD(U,G,Q,X,q);this._errorHandler(H)}return()=>{let Q=this._stacks.get(J.value)||0;this._stacks.set(J.value,Q-1)}}getMostFrequentStack(){if(!this._stacks)return;let J,X=0;for(let[Y,Z]of this._stacks)if(!J||X<Z)J=[Y,Z],X=Z;return J}}class bD{static create(){let J=Error();return new bD(J.stack??\"\")}constructor(J){this.value=J}print(){console.warn(this.value.split(`\n`).slice(2).join(`\n`))}}class CD extends Error{constructor(J,X,Y,Z,Q){super(Q?`[${Q}] potential listener LEAK detected, ${J}`:`potential listener LEAK detected, ${J}`);this.name=\"ListenerLeakError\",this.kind=J,this.listenerCount=Z,this.details=X,this.stack=Y}static is(J){return J instanceof CD||J instanceof Error&&typeof J.kind===\"string\"&&typeof J.listenerCount===\"number\"}}class Mo extends CD{constructor(J,X,Y,Z,Q){super(J,X,Y,Z,Q);this.name=\"ListenerRefusalError\"}}class yD{constructor(J){this.value=J}}var _K0=2;class E{constructor(J){this._size=0,this._options=J,this._leakageMon=this._options?.leakWarningThreshold?new cy(J?.onListenerError??b0,this._options?.leakWarningThreshold??BK0,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new xD(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();if(this._listeners)this._listeners=void 0,this._size=0;this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(J,X,Y)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let q=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(q);let G=this._leakageMon.getMostFrequentStack()??[\"UNKNOWN stack\",-1],U=G[1]/this._size>0.3?\"dominated\":\"popular\",H=new Mo(U,`${q}. HINT: Stack shows most frequent listener (${G[1]}-times)`,G[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||b0)(H),y.None}if(this._disposed)return y.None;if(X)J=J.bind(X);let Z=new yD(J),Q;if(this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*0.2))Z.stack=bD.create(),Q=this._leakageMon.check(Z.stack,this._size+1);if(!this._listeners)this._options?.onWillAddFirstListener?.(this),this._listeners=Z,this._options?.onDidAddFirstListener?.(this);else if(this._listeners instanceof yD)this._deliveryQueue??=new dy,this._listeners=[this._listeners,Z];else this._listeners.push(Z);this._options?.onDidAddListener?.(this),this._size++;let $=J0(()=>{Q?.(),this._removeListener(Z)});return uy($,Y),$},this._event}_removeListener(J){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 X=this._listeners,Y=X.indexOf(J);if(Y===-1)throw console.log(\"disposed?\",this._disposed),console.log(\"size?\",this._size),console.log(\"arr?\",JSON.stringify(this._listeners)),Error(\"Attempted to dispose unknown listener\");this._size--,X[Y]=void 0;let Z=this._deliveryQueue.current===this;if(this._size*_K0<=X.length){let Q=0;for(let $=0;$<X.length;$++)if(X[$])X[Q++]=X[$];else if(Z&&Q<this._deliveryQueue.end){if(this._deliveryQueue.end--,Q<this._deliveryQueue.i)this._deliveryQueue.i--}X.length=Q}}_deliver(J,X){if(!J)return;let Y=this._options?.onListenerError||b0;if(!Y){J.value(X);return}try{J.value(X)}catch(Z){Y(Z)}}_deliverQueue(J){let X=J.current._listeners;while(J.i<J.end)this._deliver(X[J.i++],J.value);J.reset()}fire(J){if(this._deliveryQueue?.current)this._deliverQueue(this._deliveryQueue),this._perfMon?.stop();if(this._perfMon?.start(this._size),!this._listeners);else if(this._listeners instanceof yD)this._deliver(this._listeners,J);else{let X=this._deliveryQueue;X.enqueue(this,J,this._listeners.length),this._deliverQueue(X)}this._perfMon?.stop()}hasListeners(){return this._size>0}}var Ro=()=>new dy;class dy{constructor(){this.i=-1,this.end=0}enqueue(J,X,Y){this.i=0,this.end=Y,this.current=J,this.value=X}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class tZ extends E{constructor(J){super(J);this._isPaused=0,this._eventQueue=new x6,this._mergeFn=J?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){let J=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(J))}}else while(!this._isPaused&&this._eventQueue.size!==0)super.fire(this._eventQueue.shift())}fire(J){if(this._size)if(this._isPaused!==0)this._eventQueue.push(J);else super.fire(J)}}class ly extends tZ{constructor(J){super(J);this._delay=J.delay??100}fire(J){if(!this._handle)this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay);super.fire(J)}}class zz extends E{constructor(J){super(J);this._queuedEvents=[],this._mergeFn=J?.merge}fire(J){if(!this.hasListeners())return;if(this._queuedEvents.push(J),this._queuedEvents.length===1)queueMicrotask(()=>{if(this._mergeFn)super.fire(this._mergeFn(this._queuedEvents));else this._queuedEvents.forEach((X)=>super.fire(X));this._queuedEvents=[]})}}class sy{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new E({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(J){let X={event:J,listener:null};if(this.events.push(X),this.hasListeners)this.hook(X);return J0(oZ(()=>{if(this.hasListeners)this.unhook(X);let Z=this.events.indexOf(X);this.events.splice(Z,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((J)=>this.hook(J))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((J)=>this.unhook(J))}hook(J){J.listener=J.event((X)=>this.emitter.fire(X))}unhook(J){J.listener?.dispose(),J.listener=null}dispose(){this.emitter.dispose();for(let J of this.events)J.listener?.dispose();this.events=[]}}class KX{constructor(){this.data=[]}wrapEvent(J,X,Y){return(Z,Q,$)=>{return J((q)=>{let G=this.data[this.data.length-1];if(!X){if(G)G.buffers.push(()=>Z.call(Q,q));else Z.call(Q,q);return}let U=G;if(!U){Z.call(Q,X(Y,q));return}if(U.items??=[],U.items.push(q),U.buffers.length===0)G.buffers.push(()=>{U.reducedResult??=Y?U.items.reduce(X,Y):U.items.reduce(X),Z.call(Q,U.reducedResult)})},void 0,$)}}bufferEvents(J){let X={buffers:[]};this.data.push(X);let Y=J();return this.data.pop(),X.buffers.forEach((Z)=>Z()),Y}}class Gq{constructor(){this.listening=!1,this.inputEvent=i.None,this.inputEventListener=y.None,this.emitter=new E({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(J){if(this.inputEvent=J,this.listening)this.inputEventListener.dispose(),this.inputEventListener=J(this.emitter.fire,this.emitter)}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}function uy(J,X){if(X instanceof a)X.add(J);else if(Array.isArray(X))X.push(J)}function Oo(J,X){if(X instanceof a)X.delete(J);else if(Array.isArray(X)){let Y=X.indexOf(J);if(Y!==-1)X.splice(Y,1)}J.dispose()}var MJ=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new E,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(J){if(J=Math.min(Math.max(-5,J),20),this._zoomLevel===J)return;this._zoomLevel=J,this._onDidChangeZoomLevel.fire(this._zoomLevel)}};var AK0=I0?1.5:1.35,ay=8;class eZ{static _create(J,X,Y,Z,Q,$,q,G,U){if($===0)$=AK0*Y;else if($<ay)$=$*Y;if($=Math.round($),$<ay)$=ay;let H=1+(U?0:MJ.getZoomLevel()*0.1);if(Y*=H,$*=H,Q===ry)if(X===\"normal\"||X===\"bold\")Q=iy;else Q=`'wght' ${parseInt(X,10)}`,X=\"normal\";return new eZ({pixelRatio:G,fontFamily:J,fontWeight:X,fontSize:Y,fontFeatureSettings:Z,fontVariationSettings:Q,lineHeight:$,letterSpacing:q})}constructor(J){this._bareFontInfoBrand=void 0,this.pixelRatio=J.pixelRatio,this.fontFamily=String(J.fontFamily),this.fontWeight=String(J.fontWeight),this.fontSize=J.fontSize,this.fontFeatureSettings=J.fontFeatureSettings,this.fontVariationSettings=J.fontVariationSettings,this.lineHeight=J.lineHeight|0,this.letterSpacing=J.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let J=J4.fontFamily,X=eZ._wrapInQuotes(this.fontFamily);if(this.fontFamily!==J)return`${X}, ${J}`;return X}static _wrapInQuotes(J){if(/[,\"']/.test(J))return J;if(/[+ ]/.test(J))return`\"${J}\"`;return J}}var PK0=2;class c$ extends eZ{constructor(J,X){super(J);this._editorStylingBrand=void 0,this.version=PK0,this.isTrusted=X,this.isMonospace=J.isMonospace,this.typicalHalfwidthCharacterWidth=J.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=J.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=J.canUseHalfwidthRightwardsArrow,this.spaceWidth=J.spaceWidth,this.middotWidth=J.middotWidth,this.wsmiddotWidth=J.wsmiddotWidth,this.maxDigitWidth=J.maxDigitWidth}equals(J){return this.fontFamily===J.fontFamily&&this.fontWeight===J.fontWeight&&this.fontSize===J.fontSize&&this.fontFeatureSettings===J.fontFeatureSettings&&this.fontVariationSettings===J.fontVariationSettings&&this.lineHeight===J.lineHeight&&this.letterSpacing===J.letterSpacing&&this.typicalHalfwidthCharacterWidth===J.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===J.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===J.canUseHalfwidthRightwardsArrow&&this.spaceWidth===J.spaceWidth&&this.middotWidth===J.middotWidth&&this.wsmiddotWidth===J.wsmiddotWidth&&this.maxDigitWidth===J.maxDigitWidth}}var iy=\"normal\",ry=\"translate\",DK0=\"Consolas, 'Courier New', monospace\",OK0=\"Menlo, Monaco, 'Courier New', monospace\",MK0=\"'Droid Sans Mono', monospace\",J4={fontFamily:I0?OK0:z6?DK0:MK0,fontWeight:\"normal\",fontSize:I0?12:14,lineHeight:0,letterSpacing:0};var L8={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var oy=\"`~!@#$%^&*()-=+[{]}\\\\|;:'\\\",.<>/?\";function RK0(J=\"\"){let X=\"(-?\\\\d*\\\\.\\\\d\\\\w*)|([^\";for(let Y of oy){if(J.indexOf(Y)>=0)continue;X+=\"\\\\\"+Y}return X+=\"\\\\s]+)\",new RegExp(X,\"g\")}var Fz=RK0();function Bz(J){let X=Fz;if(J&&J instanceof RegExp)if(!J.global){let Y=\"g\";if(J.ignoreCase)Y+=\"i\";if(J.multiline)Y+=\"m\";if(J.unicode)Y+=\"u\";X=new RegExp(J.source,Y)}else X=J;return X.lastIndex=0,X}var No=new x6;No.unshift({maxLen:1000,windowSize:15,timeBudget:150});function d$(J,X,Y,Z,Q){if(X=Bz(X),!Q)Q=s0.first(No);if(Y.length>Q.maxLen){let H=J-Q.maxLen/2;if(H<0)H=0;else Z+=H;return Y=Y.substring(H,J+Q.maxLen/2),d$(J,X,Y,Z,Q)}let $=Date.now(),q=J-1-Z,G=-1,U=null;for(let H=1;;H++){if(Date.now()-$>=Q.timeBudget)break;let V=q-Q.windowSize*H;X.lastIndex=Math.max(0,V);let K=NK0(X,Y,q,G);if(!K&&U)break;if(U=K,V<=0)break;G=V}if(U){let H={word:U[0],startColumn:Z+1+U.index,endColumn:Z+1+U.index+U[0].length};return X.lastIndex=0,H}return null}function NK0(J,X,Y,Z){let Q;while(Q=J.exec(X)){let $=Q.index||0;if($<=Y&&J.lastIndex>=Y)return Q;else if(Z>0&&$>Z)return null}return null}var WX=8;class _z{constructor(J){this._values=J}hasChanged(J){return this._values[J]}}class SD{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class G6{constructor(J,X,Y,Z){this.id=J,this.name=X,this.defaultValue=Y,this.schema=Z}applyUpdate(J,X){return fD(J,X)}compute(J,X,Y){return Y}}class Kq{constructor(J,X){this.newValue=J,this.didChange=X}}function fD(J,X){if(typeof J!==\"object\"||typeof X!==\"object\"||!J||!X)return new Kq(X,J!==X);if(Array.isArray(J)||Array.isArray(X)){let Z=Array.isArray(J)&&Array.isArray(X)&&w1(J,X);return new Kq(X,!Z)}let Y=!1;for(let Z in X)if(X.hasOwnProperty(Z)){let Q=fD(J[Z],X[Z]);if(Q.didChange)J[Z]=Q.newValue,Y=!0}return new Kq(J,Y)}class XQ{constructor(J,X){this.schema=void 0,this.id=J,this.name=\"_never_\",this.defaultValue=X}applyUpdate(J,X){return fD(J,X)}validate(J){return this.defaultValue}}class Wq{constructor(J,X,Y,Z){this.id=J,this.name=X,this.defaultValue=Y,this.schema=Z}applyUpdate(J,X){return fD(J,X)}compute(J,X,Y){return Y}}function _0(J,X){if(typeof J>\"u\")return X;if(J===\"false\")return!1;return Boolean(J)}class c0 extends Wq{constructor(J,X,Y,Z=void 0){if(typeof Z<\"u\")Z.type=\"boolean\",Z.default=Y;super(J,X,Y,Z)}validate(J){return _0(J,this.defaultValue)}}function zX(J,X,Y,Z){if(typeof J===\"string\")J=parseInt(J,10);if(typeof J!==\"number\"||isNaN(J))return X;let Q=J;return Q=Math.max(Y,Q),Q=Math.min(Z,Q),Q|0}class R1 extends Wq{static clampedInt(J,X,Y,Z){return zX(J,X,Y,Z)}constructor(J,X,Y,Z,Q,$=void 0){if(typeof $<\"u\")$.type=\"integer\",$.default=Y,$.minimum=Z,$.maximum=Q;super(J,X,Y,$);this.minimum=Z,this.maximum=Q}validate(J){return R1.clampedInt(J,this.defaultValue,this.minimum,this.maximum)}}function Lo(J,X,Y,Z){if(typeof J>\"u\")return X;let Q=X4.float(J,X);return X4.clamp(Q,Y,Z)}class X4 extends Wq{static clamp(J,X,Y){if(J<X)return X;if(J>Y)return Y;return J}static float(J,X){if(typeof J===\"string\")J=parseFloat(J);if(typeof J!==\"number\"||isNaN(J))return X;return J}constructor(J,X,Y,Z,Q,$,q){if(typeof Q<\"u\")Q.type=\"number\",Q.default=Y,Q.minimum=$,Q.maximum=q;super(J,X,Y,Q);this.validationFn=Z,this.minimum=$,this.maximum=q}validate(J){return this.validationFn(X4.float(J,this.defaultValue))}}class $7 extends Wq{static string(J,X){if(typeof J!==\"string\")return X;return J}constructor(J,X,Y,Z=void 0){if(typeof Z<\"u\")Z.type=\"string\",Z.default=Y;super(J,X,Y,Z)}validate(J){return $7.string(J,this.defaultValue)}}function S1(J,X,Y,Z){if(typeof J!==\"string\")return X;if(Z&&J in Z)return Z[J];if(Y.indexOf(J)===-1)return X;return J}class q6 extends Wq{constructor(J,X,Y,Z,Q=void 0){if(typeof Q<\"u\")Q.type=\"string\",Q.enum=Z.slice(0),Q.default=Y;super(J,X,Y,Q);this._allowedValues=Z}validate(J){return S1(J,this.defaultValue,this._allowedValues)}}class lH extends G6{constructor(J,X,Y,Z,Q,$,q=void 0){if(typeof q<\"u\")q.type=\"string\",q.enum=Q,q.default=Z;super(J,X,Y,q);this._allowedValues=Q,this._convert=$}validate(J){if(typeof J!==\"string\")return this.defaultValue;if(this._allowedValues.indexOf(J)===-1)return this.defaultValue;return this._convert(J)}}function wK0(J){switch(J){case\"none\":return 0;case\"keep\":return 1;case\"brackets\":return 2;case\"advanced\":return 3;case\"full\":return 4}}class Io extends G6{constructor(){super(2,\"accessibilitySupport\",0,{type:\"string\",enum:[\"auto\",\"on\",\"off\"],enumDescriptions:[F(220,\"Use platform APIs to detect when a Screen Reader is attached.\"),F(221,\"Optimize for usage with a Screen Reader.\"),F(222,\"Assume a screen reader is not attached.\")],default:\"auto\",tags:[\"accessibility\"],description:F(223,\"Controls if the UI should run in a mode where it is optimized for screen readers.\")})}validate(J){switch(J){case\"auto\":return 0;case\"off\":return 1;case\"on\":return 2}return this.defaultValue}compute(J,X,Y){if(Y===0)return J.accessibilitySupport;return Y}}class ko extends G6{constructor(){let J={insertSpace:!0,ignoreEmptyLines:!0};super(29,\"comments\",J,{\"editor.comments.insertSpace\":{type:\"boolean\",default:J.insertSpace,description:F(224,\"Controls whether a space character is inserted when commenting.\")},\"editor.comments.ignoreEmptyLines\":{type:\"boolean\",default:J.ignoreEmptyLines,description:F(225,\"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{insertSpace:_0(X.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:_0(X.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function TK0(J){switch(J){case\"blink\":return 1;case\"smooth\":return 2;case\"phase\":return 3;case\"expand\":return 4;case\"solid\":return 5}}var M8;(function(J){J[J.Line=1]=\"Line\",J[J.Block=2]=\"Block\",J[J.Underline=3]=\"Underline\",J[J.LineThin=4]=\"LineThin\",J[J.BlockOutline=5]=\"BlockOutline\",J[J.UnderlineThin=6]=\"UnderlineThin\"})(M8||(M8={}));function wo(J){switch(J){case\"line\":return M8.Line;case\"block\":return M8.Block;case\"underline\":return M8.Underline;case\"line-thin\":return M8.LineThin;case\"block-outline\":return M8.BlockOutline;case\"underline-thin\":return M8.UnderlineThin}}class Eo extends XQ{constructor(){super(162,\"\")}compute(J,X,Y){let Z=[\"monaco-editor\"];if(X.get(48))Z.push(X.get(48));if(J.extraEditorClassName)Z.push(J.extraEditorClassName);if(X.get(82)===\"default\")Z.push(\"mouse-default\");else if(X.get(82)===\"copy\")Z.push(\"mouse-copy\");if(X.get(127))Z.push(\"showUnused\");if(X.get(157))Z.push(\"showDeprecated\");return Z.join(\" \")}}class yo extends c0{constructor(){super(45,\"emptySelectionClipboard\",!0,{description:F(226,\"Controls whether copying without a selection copies the current line.\")})}compute(J,X,Y){return Y&&J.emptySelectionClipboard}}class xo extends G6{constructor(){let J={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:\"always\",autoFindInSelection:\"never\",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,closeOnResult:!1,history:\"workspace\",replaceHistory:\"workspace\"};super(50,\"find\",J,{\"editor.find.cursorMoveOnType\":{type:\"boolean\",default:J.cursorMoveOnType,description:F(227,\"Controls whether the cursor should jump to find matches while typing.\")},\"editor.find.seedSearchStringFromSelection\":{type:\"string\",enum:[\"never\",\"always\",\"selection\"],default:J.seedSearchStringFromSelection,enumDescriptions:[F(228,\"Never seed search string from the editor selection.\"),F(229,\"Always seed search string from the editor selection, including word at cursor position.\"),F(230,\"Only seed search string from the editor selection.\")],description:F(231,\"Controls whether the search string in the Find Widget is seeded from the editor selection.\")},\"editor.find.autoFindInSelection\":{type:\"string\",enum:[\"never\",\"always\",\"multiline\"],default:J.autoFindInSelection,enumDescriptions:[F(232,\"Never turn on Find in Selection automatically (default).\"),F(233,\"Always turn on Find in Selection automatically.\"),F(234,\"Turn on Find in Selection automatically when multiple lines of content are selected.\")],description:F(235,\"Controls the condition for turning on Find in Selection automatically.\")},\"editor.find.globalFindClipboard\":{type:\"boolean\",default:J.globalFindClipboard,description:F(236,\"Controls whether the Find Widget should read or modify the shared find clipboard on macOS.\"),included:I0},\"editor.find.addExtraSpaceOnTop\":{type:\"boolean\",default:J.addExtraSpaceOnTop,description:F(237,\"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.\")},\"editor.find.loop\":{type:\"boolean\",default:J.loop,description:F(238,\"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.\")},\"editor.find.closeOnResult\":{type:\"boolean\",default:J.closeOnResult,description:F(239,\"Controls whether the Find Widget closes after an explicit find navigation command lands on a result.\")},\"editor.find.history\":{type:\"string\",enum:[\"never\",\"workspace\"],default:\"workspace\",enumDescriptions:[F(240,\"Do not store search history from the find widget.\"),F(241,\"Store search history across the active workspace\")],description:F(242,\"Controls how the find widget history should be stored\")},\"editor.find.replaceHistory\":{type:\"string\",enum:[\"never\",\"workspace\"],default:\"workspace\",enumDescriptions:[F(243,\"Do not store history from the replace widget.\"),F(244,\"Store replace history across the active workspace\")],description:F(245,\"Controls how the replace widget history should be stored\")},\"editor.find.findOnType\":{type:\"boolean\",default:J.findOnType,description:F(246,\"Controls whether the Find Widget should search as you type.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{cursorMoveOnType:_0(X.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:_0(X.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof X.seedSearchStringFromSelection===\"boolean\"?X.seedSearchStringFromSelection?\"always\":\"never\":S1(X.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[\"never\",\"always\",\"selection\"]),autoFindInSelection:typeof X.autoFindInSelection===\"boolean\"?X.autoFindInSelection?\"always\":\"never\":S1(X.autoFindInSelection,this.defaultValue.autoFindInSelection,[\"never\",\"always\",\"multiline\"]),globalFindClipboard:_0(X.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:_0(X.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:_0(X.loop,this.defaultValue.loop),closeOnResult:_0(X.closeOnResult,this.defaultValue.closeOnResult),history:S1(X.history,this.defaultValue.history,[\"never\",\"workspace\"]),replaceHistory:S1(X.replaceHistory,this.defaultValue.replaceHistory,[\"never\",\"workspace\"])}}}class R7 extends G6{static{this.OFF='\"liga\" off, \"calt\" off'}static{this.ON='\"liga\" on, \"calt\" on'}constructor(){super(60,\"fontLigatures\",R7.OFF,{anyOf:[{type:\"boolean\",description:F(247,\"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.\")},{type:\"string\",description:F(248,\"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.\")}],description:F(249,\"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.\"),default:!1})}validate(J){if(typeof J>\"u\")return this.defaultValue;if(typeof J===\"string\"){if(J===\"false\"||J.length===0)return R7.OFF;if(J===\"true\")return R7.ON;return J}if(Boolean(J))return R7.ON;return R7.OFF}}class Hq extends G6{static{this.OFF=iy}static{this.TRANSLATE=ry}constructor(){super(63,\"fontVariations\",Hq.OFF,{anyOf:[{type:\"boolean\",description:F(250,\"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.\")},{type:\"string\",description:F(251,\"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.\")}],description:F(252,\"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.\"),default:!1})}validate(J){if(typeof J>\"u\")return this.defaultValue;if(typeof J===\"string\"){if(J===\"false\")return Hq.OFF;if(J===\"true\")return Hq.TRANSLATE;return J}if(Boolean(J))return Hq.TRANSLATE;return Hq.OFF}compute(J,X,Y){return J.fontInfo.fontVariationSettings}}class bo extends XQ{constructor(){super(59,new c$({pixelRatio:0,fontFamily:\"\",fontWeight:\"\",fontSize:0,fontFeatureSettings:\"\",fontVariationSettings:\"\",lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(J,X,Y){return J.fontInfo}}class Co extends XQ{constructor(){super(161,M8.Line)}compute(J,X,Y){return J.inputMode===\"overtype\"?X.get(92):X.get(34)}}class So extends XQ{constructor(){super(170,!1)}compute(J,X){return J.editContextSupported&&X.get(44)}}class fo extends XQ{constructor(){super(172,!1)}compute(J,X){if(J.accessibilitySupport===2)return X.get(7);else return X.get(6)}}class ho extends Wq{constructor(){super(61,\"fontSize\",J4.fontSize,{type:\"number\",minimum:6,maximum:100,default:J4.fontSize,description:F(253,\"Controls the font size in pixels.\")})}validate(J){let X=X4.float(J,this.defaultValue);if(X===0)return J4.fontSize;return X4.clamp(X,6,100)}compute(J,X,Y){return J.fontInfo.fontSize}}class Vq extends G6{static{this.SUGGESTION_VALUES=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1000}constructor(){super(62,\"fontWeight\",J4.fontWeight,{anyOf:[{type:\"number\",minimum:Vq.MINIMUM_VALUE,maximum:Vq.MAXIMUM_VALUE,errorMessage:F(254,'Only \"normal\" and \"bold\" keywords or numbers between 1 and 1000 are allowed.')},{type:\"string\",pattern:\"^(normal|bold|1000|[1-9][0-9]{0,2})$\"},{enum:Vq.SUGGESTION_VALUES}],default:J4.fontWeight,description:F(255,'Controls the font weight. Accepts \"normal\" and \"bold\" keywords or numbers between 1 and 1000.')})}validate(J){if(J===\"normal\"||J===\"bold\")return J;return String(R1.clampedInt(J,J4.fontWeight,Vq.MINIMUM_VALUE,Vq.MAXIMUM_VALUE))}}class vo extends G6{constructor(){let J={multiple:\"peek\",multipleDefinitions:\"peek\",multipleTypeDefinitions:\"peek\",multipleDeclarations:\"peek\",multipleImplementations:\"peek\",multipleReferences:\"peek\",multipleTests:\"peek\",alternativeDefinitionCommand:\"editor.action.goToReferences\",alternativeTypeDefinitionCommand:\"editor.action.goToReferences\",alternativeDeclarationCommand:\"editor.action.goToReferences\",alternativeImplementationCommand:\"\",alternativeReferenceCommand:\"\",alternativeTestsCommand:\"\"},X={type:\"string\",enum:[\"peek\",\"gotoAndPeek\",\"goto\"],default:J.multiple,enumDescriptions:[F(256,\"Show Peek view of the results (default)\"),F(257,\"Go to the primary result and show a Peek view\"),F(258,\"Go to the primary result and enable Peek-less navigation to others\")]},Y=[\"\",\"editor.action.referenceSearch.trigger\",\"editor.action.goToReferences\",\"editor.action.peekImplementation\",\"editor.action.goToImplementation\",\"editor.action.peekTypeDefinition\",\"editor.action.goToTypeDefinition\",\"editor.action.peekDeclaration\",\"editor.action.revealDeclaration\",\"editor.action.peekDefinition\",\"editor.action.revealDefinitionAside\",\"editor.action.revealDefinition\"];super(67,\"gotoLocation\",J,{\"editor.gotoLocation.multiple\":{deprecationMessage:F(259,\"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.\")},\"editor.gotoLocation.multipleDefinitions\":{description:F(260,\"Controls the behavior the 'Go to Definition'-command when multiple target locations exist.\"),...X},\"editor.gotoLocation.multipleTypeDefinitions\":{description:F(261,\"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.\"),...X},\"editor.gotoLocation.multipleDeclarations\":{description:F(262,\"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.\"),...X},\"editor.gotoLocation.multipleImplementations\":{description:F(263,\"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.\"),...X},\"editor.gotoLocation.multipleReferences\":{description:F(264,\"Controls the behavior the 'Go to References'-command when multiple target locations exist.\"),...X},\"editor.gotoLocation.alternativeDefinitionCommand\":{type:\"string\",default:J.alternativeDefinitionCommand,enum:Y,description:F(265,\"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.\")},\"editor.gotoLocation.alternativeTypeDefinitionCommand\":{type:\"string\",default:J.alternativeTypeDefinitionCommand,enum:Y,description:F(266,\"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.\")},\"editor.gotoLocation.alternativeDeclarationCommand\":{type:\"string\",default:J.alternativeDeclarationCommand,enum:Y,description:F(267,\"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.\")},\"editor.gotoLocation.alternativeImplementationCommand\":{type:\"string\",default:J.alternativeImplementationCommand,enum:Y,description:F(268,\"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.\")},\"editor.gotoLocation.alternativeReferenceCommand\":{type:\"string\",default:J.alternativeReferenceCommand,enum:Y,description:F(269,\"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{multiple:S1(X.multiple,this.defaultValue.multiple,[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleDefinitions:S1(X.multipleDefinitions,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleTypeDefinitions:S1(X.multipleTypeDefinitions,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleDeclarations:S1(X.multipleDeclarations,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleImplementations:S1(X.multipleImplementations,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleReferences:S1(X.multipleReferences,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),multipleTests:S1(X.multipleTests,\"peek\",[\"peek\",\"gotoAndPeek\",\"goto\"]),alternativeDefinitionCommand:$7.string(X.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:$7.string(X.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:$7.string(X.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:$7.string(X.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:$7.string(X.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:$7.string(X.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class go extends G6{constructor(){let J={enabled:\"on\",delay:300,hidingDelay:300,sticky:!0,above:!0,showLongLineWarning:!0};super(69,\"hover\",J,{\"editor.hover.enabled\":{type:\"string\",enum:[\"on\",\"off\",\"onKeyboardModifier\"],default:J.enabled,markdownEnumDescriptions:[F(270,\"Hover is enabled.\"),F(271,\"Hover is disabled.\"),F(272,\"Hover is shown when holding `{0}` or `Alt` (the opposite modifier of `#editor.multiCursorModifier#`)\",I0?\"Command\":\"Control\")],description:F(273,\"Controls whether the hover is shown.\"),keywords:[\"hint\",\"info\",\"tooltip\"]},\"editor.hover.delay\":{type:\"number\",default:J.delay,minimum:0,maximum:1e4,description:F(274,\"Controls the delay in milliseconds after which the hover is shown.\")},\"editor.hover.sticky\":{type:\"boolean\",default:J.sticky,description:F(275,\"Controls whether the hover should remain visible when mouse is moved over it.\")},\"editor.hover.hidingDelay\":{type:\"integer\",minimum:0,default:J.hidingDelay,markdownDescription:F(276,\"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.\")},\"editor.hover.above\":{type:\"boolean\",default:J.above,description:F(277,\"Prefer showing hovers above the line, if there's space.\")},\"editor.hover.showLongLineWarning\":{type:\"boolean\",default:J.showLongLineWarning,description:F(278,\"Controls whether long line warning hovers are shown, such as when tokenization is skipped or rendering is paused.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{enabled:S1(X.enabled,this.defaultValue.enabled,[\"on\",\"off\",\"onKeyboardModifier\"]),delay:R1.clampedInt(X.delay,this.defaultValue.delay,0,1e4),sticky:_0(X.sticky,this.defaultValue.sticky),hidingDelay:R1.clampedInt(X.hidingDelay,this.defaultValue.hidingDelay,0,600000),above:_0(X.above,this.defaultValue.above),showLongLineWarning:_0(X.showLongLineWarning,this.defaultValue.showLongLineWarning)}}}class jq extends XQ{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(J,X,Y){return jq.computeLayout(X,{memory:J.memory,outerWidth:J.outerWidth,outerHeight:J.outerHeight,isDominatedByLongLines:J.isDominatedByLongLines,lineHeight:J.fontInfo.lineHeight,viewLineCount:J.viewLineCount,lineNumbersDigitCount:J.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:J.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:J.fontInfo.maxDigitWidth,pixelRatio:J.pixelRatio,glyphMarginDecorationLaneCount:J.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(J){let X=J.height/J.lineHeight,Y=Math.floor(J.paddingTop/J.lineHeight),Z=Math.floor(J.paddingBottom/J.lineHeight);if(J.scrollBeyondLastLine)Z=Math.max(Z,X-1);let Q=(Y+J.viewLineCount+Z)/(J.pixelRatio*J.height),$=Math.floor(J.viewLineCount/Q);return{typicalViewportLineCount:X,extraLinesBeforeFirstLine:Y,extraLinesBeyondLastLine:Z,desiredRatio:Q,minimapLineCount:$}}static _computeMinimapLayout(J,X){let{outerWidth:Y,outerHeight:Z,pixelRatio:Q}=J;if(!J.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(Q*Z),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:Z};let $=X.stableMinimapLayoutInput,q=$&&J.outerHeight===$.outerHeight&&J.lineHeight===$.lineHeight&&J.typicalHalfwidthCharacterWidth===$.typicalHalfwidthCharacterWidth&&J.pixelRatio===$.pixelRatio&&J.scrollBeyondLastLine===$.scrollBeyondLastLine&&J.paddingTop===$.paddingTop&&J.paddingBottom===$.paddingBottom&&J.minimap.enabled===$.minimap.enabled&&J.minimap.side===$.minimap.side&&J.minimap.size===$.minimap.size&&J.minimap.showSlider===$.minimap.showSlider&&J.minimap.renderCharacters===$.minimap.renderCharacters&&J.minimap.maxColumn===$.minimap.maxColumn&&J.minimap.scale===$.minimap.scale&&J.verticalScrollbarWidth===$.verticalScrollbarWidth&&J.isViewportWrapping===$.isViewportWrapping,G=J.lineHeight,U=J.typicalHalfwidthCharacterWidth,H=J.scrollBeyondLastLine,V=J.minimap.renderCharacters,K=Q>=2?Math.round(J.minimap.scale*2):J.minimap.scale,j=J.minimap.maxColumn,W=J.minimap.size,z=J.minimap.side,B=J.verticalScrollbarWidth,P=J.viewLineCount,_=J.remainingWidth,A=J.isViewportWrapping,O=V?2:3,D=Math.floor(Q*Z),R=D/Q,N=!1,w=!1,k=O*K,I=K/Q,S=1;if(W===\"fill\"||W===\"fit\"){let{typicalViewportLineCount:X0,extraLinesBeforeFirstLine:V0,extraLinesBeyondLastLine:e,desiredRatio:L0,minimapLineCount:k0}=jq.computeContainedMinimapLineCount({viewLineCount:P,scrollBeyondLastLine:H,paddingTop:J.paddingTop,paddingBottom:J.paddingBottom,height:Z,lineHeight:G,pixelRatio:Q});if(P/k0>1)N=!0,w=!0,K=1,k=1,I=K/Q;else{let u0=!1,z1=K+1;if(W===\"fit\"){let F1=Math.ceil((V0+P+e)*k);if(A&&q&&_<=X.stableFitRemainingWidth)u0=!0,z1=X.stableFitMaxMinimapScale;else u0=F1>D}if(W===\"fill\"||u0){N=!0;let F1=K;if(k=Math.min(G*Q,Math.max(1,Math.floor(1/L0))),A&&q&&_<=X.stableFitRemainingWidth)z1=X.stableFitMaxMinimapScale;if(K=Math.min(z1,Math.max(1,Math.floor(k/O))),K>F1)S=Math.min(2,K/F1);if(I=K/Q/S,D=Math.ceil(Math.max(X0,V0+P+e)*k),A)X.stableMinimapLayoutInput=J,X.stableFitRemainingWidth=_,X.stableFitMaxMinimapScale=K;else X.stableMinimapLayoutInput=null,X.stableFitRemainingWidth=0}}}let h=Math.floor(j*I),u=Math.min(h,Math.max(0,Math.floor((_-B-2)*I/(U+I)))+WX),p=Math.floor(Q*u),s=p/Q;p=Math.floor(p*S);let l=V?1:2,n=z===\"left\"?0:Y-u-B;return{renderMinimap:l,minimapLeft:n,minimapWidth:u,minimapHeightIsEditorHeight:N,minimapIsSampling:w,minimapScale:K,minimapLineHeight:k,minimapCanvasInnerWidth:p,minimapCanvasInnerHeight:D,minimapCanvasOuterWidth:s,minimapCanvasOuterHeight:R}}static computeLayout(J,X){let Y=X.outerWidth|0,Z=X.outerHeight|0,Q=X.lineHeight|0,$=X.lineNumbersDigitCount|0,q=X.typicalHalfwidthCharacterWidth,G=X.maxDigitWidth,U=X.pixelRatio,H=X.viewLineCount,V=J.get(154),K=V===\"inherit\"?J.get(153):V,j=K===\"inherit\"?J.get(149):K,W=J.get(152),z=X.isDominatedByLongLines,B=J.get(66),P=J.get(76).renderType!==0,_=J.get(77),A=J.get(119),O=J.get(96),D=J.get(81),R=J.get(117),N=R.verticalScrollbarSize,w=R.verticalHasArrows,k=R.arrowSize,I=R.horizontalScrollbarSize,S=J.get(52),h=J.get(126)!==\"never\",u=J.get(74);if(S&&h)u+=16;let p=0;if(P){let v6=Math.max($,_);p=Math.round(v6*G)}let s=0;if(B)s=Q*X.glyphMarginDecorationLaneCount;let l=0,n=l+s,X0=n+p,V0=X0+u,e=Y-s-p-u,L0=!1,k0=!1,N0=-1;if(J.get(2)===2&&K===\"inherit\"&&z)L0=!0,k0=!0;else if(j===\"on\"||j===\"bounded\")k0=!0;else if(j===\"wordWrapColumn\")N0=W;let u0=jq._computeMinimapLayout({outerWidth:Y,outerHeight:Z,lineHeight:Q,typicalHalfwidthCharacterWidth:q,pixelRatio:U,scrollBeyondLastLine:A,paddingTop:O.top,paddingBottom:O.bottom,minimap:D,verticalScrollbarWidth:N,viewLineCount:H,remainingWidth:e,isViewportWrapping:k0},X.memory||new SD);if(u0.renderMinimap!==0&&u0.minimapLeft===0)l+=u0.minimapWidth,n+=u0.minimapWidth,X0+=u0.minimapWidth,V0+=u0.minimapWidth;let z1=e-u0.minimapWidth,F1=Math.max(1,Math.floor((z1-N-2)/q)),e0=w?k:0;if(k0){if(N0=Math.max(1,F1),j===\"bounded\")N0=Math.min(N0,W)}return{width:Y,height:Z,glyphMarginLeft:l,glyphMarginWidth:s,glyphMarginDecorationLaneCount:X.glyphMarginDecorationLaneCount,lineNumbersLeft:n,lineNumbersWidth:p,decorationsLeft:X0,decorationsWidth:u,contentLeft:V0,contentWidth:z1,minimap:u0,viewportColumn:F1,isWordWrapMinified:L0,isViewportWrapping:k0,wrappingColumn:N0,verticalScrollbarWidth:N,horizontalScrollbarHeight:I,overviewRuler:{top:e0,width:N,height:Z-2*e0,right:0}}}}class po extends G6{constructor(){super(156,\"wrappingStrategy\",\"simple\",{\"editor.wrappingStrategy\":{enumDescriptions:[F(279,\"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.\"),F(280,\"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.\")],type:\"string\",enum:[\"simple\",\"advanced\"],default:\"simple\",description:F(281,\"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.\")}})}validate(J){return S1(J,\"simple\",[\"simple\",\"advanced\"])}compute(J,X,Y){if(X.get(2)===2)return\"advanced\";return Y}}var JQ;(function(J){J.Off=\"off\",J.OnCode=\"onCode\",J.On=\"on\"})(JQ||(JQ={}));class mo extends G6{constructor(){let J={enabled:JQ.OnCode};super(73,\"lightbulb\",J,{\"editor.lightbulb.enabled\":{type:\"string\",enum:[JQ.Off,JQ.OnCode,JQ.On],default:J.enabled,enumDescriptions:[F(282,\"Disable the code action menu.\"),F(283,\"Show the code action menu when the cursor is on lines with code.\"),F(284,\"Show the code action menu when the cursor is on lines with code or on empty lines.\")],description:F(285,\"Enables the Code Action lightbulb in the editor.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;return{enabled:S1(J.enabled,this.defaultValue.enabled,[JQ.Off,JQ.OnCode,JQ.On])}}}class uo extends G6{constructor(){let J={enabled:!0,maxLineCount:5,defaultModel:\"outlineModel\",scrollWithEditor:!0};super(131,\"stickyScroll\",J,{\"editor.stickyScroll.enabled\":{type:\"boolean\",default:J.enabled,description:F(286,\"Shows the nested current scopes during the scroll at the top of the editor.\")},\"editor.stickyScroll.maxLineCount\":{type:\"number\",default:J.maxLineCount,minimum:1,maximum:20,description:F(287,\"Defines the maximum number of sticky lines to show.\")},\"editor.stickyScroll.defaultModel\":{type:\"string\",enum:[\"outlineModel\",\"foldingProviderModel\",\"indentationModel\"],default:J.defaultModel,description:F(288,\"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.\")},\"editor.stickyScroll.scrollWithEditor\":{type:\"boolean\",default:J.scrollWithEditor,description:F(289,\"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{enabled:_0(X.enabled,this.defaultValue.enabled),maxLineCount:R1.clampedInt(X.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:S1(X.defaultModel,this.defaultValue.defaultModel,[\"outlineModel\",\"foldingProviderModel\",\"indentationModel\"]),scrollWithEditor:_0(X.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class co extends G6{constructor(){let J={enabled:\"on\",fontSize:0,fontFamily:\"\",padding:!1,maximumLength:43};super(159,\"inlayHints\",J,{\"editor.inlayHints.enabled\":{type:\"string\",default:J.enabled,description:F(290,\"Enables the inlay hints in the editor.\"),enum:[\"on\",\"onUnlessPressed\",\"offUnlessPressed\",\"off\"],markdownEnumDescriptions:[F(291,\"Inlay hints are enabled\"),F(292,\"Inlay hints are showing by default and hide when holding {0}\",I0?\"Ctrl+Option\":\"Ctrl+Alt\"),F(293,\"Inlay hints are hidden by default and show when holding {0}\",I0?\"Ctrl+Option\":\"Ctrl+Alt\"),F(294,\"Inlay hints are disabled\")]},\"editor.inlayHints.fontSize\":{type:\"number\",default:J.fontSize,markdownDescription:F(295,\"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.\",\"`#editor.fontSize#`\",\"`5`\")},\"editor.inlayHints.fontFamily\":{type:\"string\",default:J.fontFamily,markdownDescription:F(296,\"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.\",\"`#editor.fontFamily#`\")},\"editor.inlayHints.padding\":{type:\"boolean\",default:J.padding,description:F(297,\"Enables the padding around the inlay hints in the editor.\")},\"editor.inlayHints.maximumLength\":{type:\"number\",default:J.maximumLength,markdownDescription:F(298,\"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;if(typeof X.enabled===\"boolean\")X.enabled=X.enabled?\"on\":\"off\";return{enabled:S1(X.enabled,this.defaultValue.enabled,[\"on\",\"off\",\"offUnlessPressed\",\"onUnlessPressed\"]),fontSize:R1.clampedInt(X.fontSize,this.defaultValue.fontSize,0,100),fontFamily:$7.string(X.fontFamily,this.defaultValue.fontFamily),padding:_0(X.padding,this.defaultValue.padding),maximumLength:R1.clampedInt(X.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}}class lo extends G6{constructor(){super(74,\"lineDecorationsWidth\",10)}validate(J){if(typeof J===\"string\"&&/^\\d+(\\.\\d+)?ch$/.test(J))return-parseFloat(J.substring(0,J.length-2));else return R1.clampedInt(J,this.defaultValue,0,1000)}compute(J,X,Y){if(Y<0)return R1.clampedInt(-Y*J.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1000);else return Y}}class so extends X4{constructor(){super(75,\"lineHeight\",J4.lineHeight,(J)=>X4.clamp(J,0,150),{markdownDescription:F(299,`Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(J,X,Y){return J.fontInfo.lineHeight}}class ao extends G6{constructor(){let J={enabled:!0,size:\"proportional\",side:\"right\",showSlider:\"mouseover\",autohide:\"none\",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:\"\\\\bMARK:\\\\s*(?<separator>-?)\\\\s*(?<label>.*)$\",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,\"minimap\",J,{\"editor.minimap.enabled\":{type:\"boolean\",default:J.enabled,description:F(300,\"Controls whether the minimap is shown.\")},\"editor.minimap.autohide\":{type:\"string\",enum:[\"none\",\"mouseover\",\"scroll\"],enumDescriptions:[F(301,\"The minimap is always shown.\"),F(302,\"The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap.\"),F(303,\"The minimap is only shown when the editor is scrolled\")],default:J.autohide,description:F(304,\"Controls whether the minimap is hidden automatically.\")},\"editor.minimap.size\":{type:\"string\",enum:[\"proportional\",\"fill\",\"fit\"],enumDescriptions:[F(305,\"The minimap has the same size as the editor contents (and might scroll).\"),F(306,\"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).\"),F(307,\"The minimap will shrink as necessary to never be larger than the editor (no scrolling).\")],default:J.size,description:F(308,\"Controls the size of the minimap.\")},\"editor.minimap.side\":{type:\"string\",enum:[\"left\",\"right\"],default:J.side,description:F(309,\"Controls the side where to render the minimap.\")},\"editor.minimap.showSlider\":{type:\"string\",enum:[\"always\",\"mouseover\"],default:J.showSlider,description:F(310,\"Controls when the minimap slider is shown.\")},\"editor.minimap.scale\":{type:\"number\",default:J.scale,minimum:1,maximum:3,enum:[1,2,3],description:F(311,\"Scale of content drawn in the minimap: 1, 2 or 3.\")},\"editor.minimap.renderCharacters\":{type:\"boolean\",default:J.renderCharacters,description:F(312,\"Render the actual characters on a line as opposed to color blocks.\")},\"editor.minimap.maxColumn\":{type:\"number\",default:J.maxColumn,description:F(313,\"Limit the width of the minimap to render at most a certain number of columns.\")},\"editor.minimap.showRegionSectionHeaders\":{type:\"boolean\",default:J.showRegionSectionHeaders,description:F(314,\"Controls whether named regions are shown as section headers in the minimap.\")},\"editor.minimap.showMarkSectionHeaders\":{type:\"boolean\",default:J.showMarkSectionHeaders,description:F(315,\"Controls whether MARK: comments are shown as section headers in the minimap.\")},\"editor.minimap.markSectionHeaderRegex\":{type:\"string\",default:J.markSectionHeaderRegex,description:F(316,\"Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\\\n in the pattern to match multi-line headers.\")},\"editor.minimap.sectionHeaderFontSize\":{type:\"number\",default:J.sectionHeaderFontSize,description:F(317,\"Controls the font size of section headers in the minimap.\")},\"editor.minimap.sectionHeaderLetterSpacing\":{type:\"number\",default:J.sectionHeaderLetterSpacing,description:F(318,\"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J,Y=this.defaultValue.markSectionHeaderRegex,Z=X.markSectionHeaderRegex;if(typeof Z===\"string\")try{new RegExp(Z,\"d\"),Y=Z}catch{}return{enabled:_0(X.enabled,this.defaultValue.enabled),autohide:S1(X.autohide,this.defaultValue.autohide,[\"none\",\"mouseover\",\"scroll\"]),size:S1(X.size,this.defaultValue.size,[\"proportional\",\"fill\",\"fit\"]),side:S1(X.side,this.defaultValue.side,[\"right\",\"left\"]),showSlider:S1(X.showSlider,this.defaultValue.showSlider,[\"always\",\"mouseover\"]),renderCharacters:_0(X.renderCharacters,this.defaultValue.renderCharacters),scale:R1.clampedInt(X.scale,1,1,3),maxColumn:R1.clampedInt(X.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:_0(X.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:_0(X.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:Y,sectionHeaderFontSize:X4.clamp(X4.float(X.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:X4.clamp(X4.float(X.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}}function LK0(J){if(J===\"ctrlCmd\")return I0?\"metaKey\":\"ctrlKey\";return\"altKey\"}class io extends G6{constructor(){super(96,\"padding\",{top:0,bottom:0},{\"editor.padding.top\":{type:\"number\",default:0,minimum:0,maximum:1000,description:F(319,\"Controls the amount of space between the top edge of the editor and the first line.\")},\"editor.padding.bottom\":{type:\"number\",default:0,minimum:0,maximum:1000,description:F(320,\"Controls the amount of space between the bottom edge of the editor and the last line.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{top:R1.clampedInt(X.top,0,0,1000),bottom:R1.clampedInt(X.bottom,0,0,1000)}}}class ro extends G6{constructor(){let J={enabled:!0,cycle:!0};super(98,\"parameterHints\",J,{\"editor.parameterHints.enabled\":{type:\"boolean\",default:J.enabled,description:F(321,\"Enables a pop-up that shows parameter documentation and type information as you type.\")},\"editor.parameterHints.cycle\":{type:\"boolean\",default:J.cycle,description:F(322,\"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{enabled:_0(X.enabled,this.defaultValue.enabled),cycle:_0(X.cycle,this.defaultValue.cycle)}}}class oo extends XQ{constructor(){super(163,1)}compute(J,X,Y){return J.pixelRatio}}class no extends G6{constructor(){super(100,\"placeholder\",void 0)}validate(J){if(typeof J>\"u\")return this.defaultValue;if(typeof J===\"string\")return J;return this.defaultValue}}class to extends G6{constructor(){let J={other:\"offWhenInlineCompletions\",comments:\"off\",strings:\"off\"},X=[{type:\"boolean\"},{type:\"string\",enum:[\"on\",\"inline\",\"off\",\"offWhenInlineCompletions\"],enumDescriptions:[F(323,\"Quick suggestions show inside the suggest widget\"),F(324,\"Quick suggestions show as ghost text\"),F(325,\"Quick suggestions are disabled\"),F(326,\"Quick suggestions are disabled when inline completions are showing\")]}];super(102,\"quickSuggestions\",J,{anyOf:[{type:\"boolean\"},{type:\"string\",enum:[\"on\",\"inline\",\"off\",\"offWhenInlineCompletions\"],enumDescriptions:[F(327,\"Quick suggestions are enabled for all token types\"),F(328,\"Quick suggestions show as ghost text for all token types\"),F(329,\"Quick suggestions are disabled for all token types\"),F(330,\"Quick suggestions are disabled for all token types when inline completions are showing\")]},{type:\"object\",additionalProperties:!1,properties:{strings:{anyOf:X,default:J.strings,description:F(331,\"Enable quick suggestions inside strings.\")},comments:{anyOf:X,default:J.comments,description:F(332,\"Enable quick suggestions inside comments.\")},other:{anyOf:X,default:J.other,description:F(333,\"Enable quick suggestions outside of strings and comments.\")}}}],default:J,markdownDescription:F(334,\"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.\",\"`#editor.suggestOnTriggerCharacters#`\"),experiment:{mode:\"auto\"}});this.defaultValue=J}validate(J){if(typeof J===\"boolean\"){let U=J?\"on\":\"off\";return{comments:U,strings:U,other:U}}if(typeof J===\"string\"){let U=[\"on\",\"inline\",\"off\",\"offWhenInlineCompletions\"],H=S1(J,this.defaultValue.other,U);return{comments:H,strings:H,other:H}}if(!J||typeof J!==\"object\")return this.defaultValue;let{other:X,comments:Y,strings:Z}=J,Q=[\"on\",\"inline\",\"off\",\"offWhenInlineCompletions\"],$,q,G;if(typeof X===\"boolean\")$=X?\"on\":\"off\";else $=S1(X,this.defaultValue.other,Q);if(typeof Y===\"boolean\")q=Y?\"on\":\"off\";else q=S1(Y,this.defaultValue.comments,Q);if(typeof Z===\"boolean\")G=Z?\"on\":\"off\";else G=S1(Z,this.defaultValue.strings,Q);return{other:$,comments:q,strings:G}}}class eo extends G6{constructor(){super(76,\"lineNumbers\",{renderType:1,renderFn:null},{type:\"string\",enum:[\"off\",\"on\",\"relative\",\"interval\"],enumDescriptions:[F(335,\"Line numbers are not rendered.\"),F(336,\"Line numbers are rendered as absolute number.\"),F(337,\"Line numbers are rendered as distance in lines to cursor position.\"),F(338,\"Line numbers are rendered every 10 lines.\")],default:\"on\",description:F(339,\"Controls the display of line numbers.\")})}validate(J){let X=this.defaultValue.renderType,Y=this.defaultValue.renderFn;if(typeof J<\"u\")if(typeof J===\"function\")X=4,Y=J;else if(J===\"interval\")X=3;else if(J===\"relative\")X=2;else if(J===\"on\")X=1;else X=0;return{renderType:X,renderFn:Y}}}function zq(J){let X=J.get(112);if(X===\"editable\")return J.get(104);return X===\"on\"?!1:!0}function Fq(J){return!J.get(172)}class Jn extends G6{constructor(){let J=[],X={type:\"number\",description:F(340,\"Number of monospace characters at which this editor ruler will render.\")};super(116,\"rulers\",J,{type:\"array\",items:{anyOf:[X,{type:[\"object\"],properties:{column:X,color:{type:\"string\",description:F(341,\"Color of this editor ruler.\"),format:\"color-hex\"}}}]},default:J,description:F(342,\"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.\")})}validate(J){if(Array.isArray(J)){let X=[];for(let Y of J)if(typeof Y===\"number\")X.push({column:R1.clampedInt(Y,0,0,1e4),color:null});else if(Y&&typeof Y===\"object\"){let Z=Y;X.push({column:R1.clampedInt(Z.column,0,0,1e4),color:Z.color})}return X.sort((Y,Z)=>Y.column-Z.column),X}return this.defaultValue}}class Xn extends G6{constructor(){super(105,\"readOnlyMessage\",void 0)}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;return J}}function To(J,X){if(typeof J!==\"string\")return X;switch(J){case\"hidden\":return 2;case\"visible\":return 3;default:return 1}}class Yn extends G6{constructor(){let J={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(117,\"scrollbar\",J,{\"editor.scrollbar.vertical\":{type:\"string\",enum:[\"auto\",\"visible\",\"hidden\"],enumDescriptions:[F(343,\"The vertical scrollbar will be visible only when necessary.\"),F(344,\"The vertical scrollbar will always be visible.\"),F(345,\"The vertical scrollbar will always be hidden.\")],default:\"auto\",description:F(346,\"Controls the visibility of the vertical scrollbar.\")},\"editor.scrollbar.horizontal\":{type:\"string\",enum:[\"auto\",\"visible\",\"hidden\"],enumDescriptions:[F(347,\"The horizontal scrollbar will be visible only when necessary.\"),F(348,\"The horizontal scrollbar will always be visible.\"),F(349,\"The horizontal scrollbar will always be hidden.\")],default:\"auto\",description:F(350,\"Controls the visibility of the horizontal scrollbar.\")},\"editor.scrollbar.verticalScrollbarSize\":{type:\"number\",default:J.verticalScrollbarSize,description:F(351,\"The width of the vertical scrollbar.\")},\"editor.scrollbar.horizontalScrollbarSize\":{type:\"number\",default:J.horizontalScrollbarSize,description:F(352,\"The height of the horizontal scrollbar.\")},\"editor.scrollbar.scrollByPage\":{type:\"boolean\",default:J.scrollByPage,description:F(353,\"Controls whether clicks scroll by page or jump to click position.\")},\"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight\":{type:\"boolean\",default:J.ignoreHorizontalScrollbarInContentHeight,description:F(354,\"When set, the horizontal scrollbar will not increase the size of the editor's content.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J,Y=R1.clampedInt(X.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1000),Z=R1.clampedInt(X.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1000);return{arrowSize:R1.clampedInt(X.arrowSize,this.defaultValue.arrowSize,0,1000),vertical:To(X.vertical,this.defaultValue.vertical),horizontal:To(X.horizontal,this.defaultValue.horizontal),useShadows:_0(X.useShadows,this.defaultValue.useShadows),verticalHasArrows:_0(X.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:_0(X.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:_0(X.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:_0(X.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:Y,horizontalSliderSize:R1.clampedInt(X.horizontalSliderSize,Y,0,1000),verticalScrollbarSize:Z,verticalSliderSize:R1.clampedInt(X.verticalSliderSize,Z,0,1000),scrollByPage:_0(X.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:_0(X.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}var jX=\"inUntrustedWorkspace\",Uq={allowedCharacters:\"editor.unicodeHighlight.allowedCharacters\",invisibleCharacters:\"editor.unicodeHighlight.invisibleCharacters\",nonBasicASCII:\"editor.unicodeHighlight.nonBasicASCII\",ambiguousCharacters:\"editor.unicodeHighlight.ambiguousCharacters\",includeComments:\"editor.unicodeHighlight.includeComments\",includeStrings:\"editor.unicodeHighlight.includeStrings\",allowedLocales:\"editor.unicodeHighlight.allowedLocales\"};class Zn extends G6{constructor(){let J={nonBasicASCII:jX,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:jX,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,\"unicodeHighlight\",J,{[Uq.nonBasicASCII]:{restricted:!0,type:[\"boolean\",\"string\"],enum:[!0,!1,jX],default:J.nonBasicASCII,description:F(355,\"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.\")},[Uq.invisibleCharacters]:{restricted:!0,type:\"boolean\",default:J.invisibleCharacters,description:F(356,\"Controls whether characters that just reserve space or have no width at all are highlighted.\")},[Uq.ambiguousCharacters]:{restricted:!0,type:\"boolean\",default:J.ambiguousCharacters,description:F(357,\"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.\")},[Uq.includeComments]:{restricted:!0,type:[\"boolean\",\"string\"],enum:[!0,!1,jX],default:J.includeComments,description:F(358,\"Controls whether characters in comments should also be subject to Unicode highlighting.\")},[Uq.includeStrings]:{restricted:!0,type:[\"boolean\",\"string\"],enum:[!0,!1,jX],default:J.includeStrings,description:F(359,\"Controls whether characters in strings should also be subject to Unicode highlighting.\")},[Uq.allowedCharacters]:{restricted:!0,type:\"object\",default:J.allowedCharacters,description:F(360,\"Defines allowed characters that are not being highlighted.\"),additionalProperties:{type:\"boolean\"}},[Uq.allowedLocales]:{restricted:!0,type:\"object\",additionalProperties:{type:\"boolean\"},default:J.allowedLocales,description:F(361,\"Unicode characters that are common in allowed locales are not being highlighted.\")}})}applyUpdate(J,X){let Y=!1;if(X.allowedCharacters&&J){if(!O8(J.allowedCharacters,X.allowedCharacters))J={...J,allowedCharacters:X.allowedCharacters},Y=!0}if(X.allowedLocales&&J){if(!O8(J.allowedLocales,X.allowedLocales))J={...J,allowedLocales:X.allowedLocales},Y=!0}let Z=super.applyUpdate(J,X);if(Y)return new Kq(Z.newValue,!0);return Z}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{nonBasicASCII:sH(X.nonBasicASCII,jX,[!0,!1,jX]),invisibleCharacters:_0(X.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:_0(X.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:sH(X.includeComments,jX,[!0,!1,jX]),includeStrings:sH(X.includeStrings,jX,[!0,!1,jX]),allowedCharacters:this.validateBooleanMap(X.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(X.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(J,X){if(typeof J!==\"object\"||!J)return X;let Y={};for(let[Z,Q]of Object.entries(J))if(Q===!0)Y[Z]=!0;return Y}}class Qn extends G6{constructor(){let J={enabled:!0,mode:\"subwordSmart\",showToolbar:\"onHover\",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:\"default\",syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!0,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:\"auto\",allowCodeShifting:\"always\",showLongDistanceHint:!0},triggerCommandOnProviderChange:!1,experimental:{suppressInlineSuggestions:\"\",showOnSuggestConflict:\"never\",emptyResponseInformation:!0}};super(71,\"inlineSuggest\",J,{\"editor.inlineSuggest.enabled\":{type:\"boolean\",default:J.enabled,description:F(362,\"Controls whether to automatically show inline suggestions in the editor.\")},\"editor.inlineSuggest.showToolbar\":{type:\"string\",default:J.showToolbar,enum:[\"always\",\"onHover\",\"never\"],enumDescriptions:[F(363,\"Show the inline suggestion toolbar whenever an inline suggestion is shown.\"),F(364,\"Show the inline suggestion toolbar when hovering over an inline suggestion.\"),F(365,\"Never show the inline suggestion toolbar.\")],description:F(366,\"Controls when to show the inline suggestion toolbar.\")},\"editor.inlineSuggest.syntaxHighlightingEnabled\":{type:\"boolean\",default:J.syntaxHighlightingEnabled,description:F(367,\"Controls whether to show syntax highlighting for inline suggestions in the editor.\")},\"editor.inlineSuggest.suppressSuggestions\":{type:\"boolean\",default:J.suppressSuggestions,description:F(368,\"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.\")},\"editor.inlineSuggest.suppressInSnippetMode\":{type:\"boolean\",default:J.suppressInSnippetMode,description:F(369,\"Controls whether inline suggestions are suppressed when in snippet mode.\")},\"editor.inlineSuggest.minShowDelay\":{type:\"number\",default:0,minimum:0,maximum:1e4,description:F(370,\"Controls the minimal delay in milliseconds after which inline suggestions are shown after typing.\")},\"editor.inlineSuggest.experimental.suppressInlineSuggestions\":{type:\"string\",default:J.experimental.suppressInlineSuggestions,tags:[\"experimental\"],description:F(371,\"Suppresses inline completions for specified extension IDs -- comma separated.\"),experiment:{mode:\"auto\"}},\"editor.inlineSuggest.experimental.emptyResponseInformation\":{type:\"boolean\",default:J.experimental.emptyResponseInformation,tags:[\"experimental\"],description:F(372,\"Controls whether to send request information from the inline suggestion provider.\"),experiment:{mode:\"auto\"}},\"editor.inlineSuggest.triggerCommandOnProviderChange\":{type:\"boolean\",default:J.triggerCommandOnProviderChange,tags:[\"experimental\"],description:F(373,\"Controls whether to trigger a command when the inline suggestion provider changes.\"),experiment:{mode:\"auto\"}},\"editor.inlineSuggest.experimental.showOnSuggestConflict\":{type:\"string\",default:J.experimental.showOnSuggestConflict,tags:[\"experimental\"],enum:[\"always\",\"never\",\"whenSuggestListIsIncomplete\"],description:F(374,\"Controls whether to show inline suggestions when there is a suggest conflict.\"),experiment:{mode:\"auto\"}},\"editor.inlineSuggest.fontFamily\":{type:\"string\",default:J.fontFamily,description:F(375,\"Controls the font family of the inline suggestions.\")},\"editor.inlineSuggest.edits.allowCodeShifting\":{type:\"string\",default:J.edits.allowCodeShifting,description:F(376,\"Controls whether showing a suggestion will shift the code to make space for the suggestion inline.\"),enum:[\"always\",\"horizontal\",\"never\"],tags:[\"nextEditSuggestions\"]},\"editor.inlineSuggest.edits.showLongDistanceHint\":{type:\"boolean\",default:J.edits.showLongDistanceHint,description:F(377,\"Controls whether long distance inline suggestions are shown.\"),tags:[\"nextEditSuggestions\",\"experimental\"]},\"editor.inlineSuggest.edits.renderSideBySide\":{type:\"string\",default:J.edits.renderSideBySide,description:F(378,\"Controls whether larger suggestions can be shown side by side.\"),enum:[\"auto\",\"never\"],enumDescriptions:[F(379,\"Larger suggestions will show side by side if there is enough space, otherwise they will be shown below.\"),F(380,\"Larger suggestions are never shown side by side and will always be shown below.\")],tags:[\"nextEditSuggestions\"]},\"editor.inlineSuggest.edits.showCollapsed\":{type:\"boolean\",default:J.edits.showCollapsed,description:F(381,\"Controls whether the suggestion will show as collapsed until jumping to it.\"),tags:[\"nextEditSuggestions\"]}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{enabled:_0(X.enabled,this.defaultValue.enabled),mode:S1(X.mode,this.defaultValue.mode,[\"prefix\",\"subword\",\"subwordSmart\"]),showToolbar:S1(X.showToolbar,this.defaultValue.showToolbar,[\"always\",\"onHover\",\"never\"]),suppressSuggestions:_0(X.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:_0(X.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:$7.string(X.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:_0(X.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:R1.clampedInt(X.minShowDelay,0,0,1e4),suppressInSnippetMode:_0(X.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:this._validateEdits(X.edits),triggerCommandOnProviderChange:_0(X.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:this._validateExperimental(X.experimental)}}_validateEdits(J){if(!J||typeof J!==\"object\")return this.defaultValue.edits;let X=J;return{enabled:_0(X.enabled,this.defaultValue.edits.enabled),showCollapsed:_0(X.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:S1(X.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,[\"always\",\"horizontal\",\"never\"]),showLongDistanceHint:_0(X.showLongDistanceHint,this.defaultValue.edits.showLongDistanceHint),renderSideBySide:S1(X.renderSideBySide,this.defaultValue.edits.renderSideBySide,[\"never\",\"auto\"])}}_validateExperimental(J){if(!J||typeof J!==\"object\")return this.defaultValue.experimental;let X=J;return{suppressInlineSuggestions:$7.string(X.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:S1(X.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,[\"always\",\"never\",\"whenSuggestListIsIncomplete\"]),emptyResponseInformation:_0(X.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}}class $n extends G6{constructor(){let J={enabled:L8.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:L8.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,\"bracketPairColorization\",J,{\"editor.bracketPairColorization.enabled\":{type:\"boolean\",default:J.enabled,markdownDescription:F(382,\"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.\",\"`#workbench.colorCustomizations#`\")},\"editor.bracketPairColorization.independentColorPoolPerBracketType\":{type:\"boolean\",default:J.independentColorPoolPerBracketType,description:F(383,\"Controls whether each bracket type has its own independent color pool.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{enabled:_0(X.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:_0(X.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class qn extends G6{constructor(){let J={bracketPairs:!1,bracketPairsHorizontal:\"active\",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,\"guides\",J,{\"editor.guides.bracketPairs\":{type:[\"boolean\",\"string\"],enum:[!0,\"active\",!1],enumDescriptions:[F(384,\"Enables bracket pair guides.\"),F(385,\"Enables bracket pair guides only for the active bracket pair.\"),F(386,\"Disables bracket pair guides.\")],default:J.bracketPairs,description:F(387,\"Controls whether bracket pair guides are enabled or not.\")},\"editor.guides.bracketPairsHorizontal\":{type:[\"boolean\",\"string\"],enum:[!0,\"active\",!1],enumDescriptions:[F(388,\"Enables horizontal guides as addition to vertical bracket pair guides.\"),F(389,\"Enables horizontal guides only for the active bracket pair.\"),F(390,\"Disables horizontal bracket pair guides.\")],default:J.bracketPairsHorizontal,description:F(391,\"Controls whether horizontal bracket pair guides are enabled or not.\")},\"editor.guides.highlightActiveBracketPair\":{type:\"boolean\",default:J.highlightActiveBracketPair,description:F(392,\"Controls whether the editor should highlight the active bracket pair.\")},\"editor.guides.indentation\":{type:\"boolean\",default:J.indentation,description:F(393,\"Controls whether the editor should render indent guides.\")},\"editor.guides.highlightActiveIndentation\":{type:[\"boolean\",\"string\"],enum:[!0,\"always\",!1],enumDescriptions:[F(394,\"Highlights the active indent guide.\"),F(395,\"Highlights the active indent guide even if bracket guides are highlighted.\"),F(396,\"Do not highlight the active indent guide.\")],default:J.highlightActiveIndentation,description:F(397,\"Controls whether the editor should highlight the active indent guide.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{bracketPairs:sH(X.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,\"active\"]),bracketPairsHorizontal:sH(X.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,\"active\"]),highlightActiveBracketPair:_0(X.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:_0(X.indentation,this.defaultValue.indentation),highlightActiveIndentation:sH(X.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,\"always\"])}}}function sH(J,X,Y){let Z=Y.indexOf(J);if(Z===-1)return X;return Y[Z]}class Gn extends G6{constructor(){let J={insertMode:\"insert\",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:\"always\",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:\"subwordSmart\",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(134,\"suggest\",J,{\"editor.suggest.insertMode\":{type:\"string\",enum:[\"insert\",\"replace\"],enumDescriptions:[F(398,\"Insert suggestion without overwriting text right of the cursor.\"),F(399,\"Insert suggestion and overwrite text right of the cursor.\")],default:J.insertMode,description:F(400,\"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.\")},\"editor.suggest.filterGraceful\":{type:\"boolean\",default:J.filterGraceful,description:F(401,\"Controls whether filtering and sorting suggestions accounts for small typos.\")},\"editor.suggest.localityBonus\":{type:\"boolean\",default:J.localityBonus,description:F(402,\"Controls whether sorting favors words that appear close to the cursor.\")},\"editor.suggest.shareSuggestSelections\":{type:\"boolean\",default:J.shareSuggestSelections,markdownDescription:F(403,\"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).\")},\"editor.suggest.selectionMode\":{type:\"string\",enum:[\"always\",\"never\",\"whenTriggerCharacter\",\"whenQuickSuggestion\"],enumDescriptions:[F(404,\"Always select a suggestion when automatically triggering IntelliSense.\"),F(405,\"Never select a suggestion when automatically triggering IntelliSense.\"),F(406,\"Select a suggestion only when triggering IntelliSense from a trigger character.\"),F(407,\"Select a suggestion only when triggering IntelliSense as you type.\")],default:J.selectionMode,markdownDescription:F(408,\"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.\",\"`#editor.quickSuggestions#`\",\"`#editor.suggestOnTriggerCharacters#`\")},\"editor.suggest.snippetsPreventQuickSuggestions\":{type:\"boolean\",default:J.snippetsPreventQuickSuggestions,description:F(409,\"Controls whether an active snippet prevents quick suggestions.\")},\"editor.suggest.showIcons\":{type:\"boolean\",default:J.showIcons,description:F(410,\"Controls whether to show or hide icons in suggestions.\")},\"editor.suggest.showStatusBar\":{type:\"boolean\",default:J.showStatusBar,description:F(411,\"Controls the visibility of the status bar at the bottom of the suggest widget.\")},\"editor.suggest.preview\":{type:\"boolean\",default:J.preview,description:F(412,\"Controls whether to preview the suggestion outcome in the editor.\")},\"editor.suggest.showInlineDetails\":{type:\"boolean\",default:J.showInlineDetails,description:F(413,\"Controls whether suggest details show inline with the label or only in the details widget.\")},\"editor.suggest.maxVisibleSuggestions\":{type:\"number\",deprecationMessage:F(414,\"This setting is deprecated. The suggest widget can now be resized.\")},\"editor.suggest.filteredTypes\":{type:\"object\",deprecationMessage:F(415,\"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.\")},\"editor.suggest.showMethods\":{type:\"boolean\",default:!0,markdownDescription:F(416,\"When enabled IntelliSense shows `method`-suggestions.\")},\"editor.suggest.showFunctions\":{type:\"boolean\",default:!0,markdownDescription:F(417,\"When enabled IntelliSense shows `function`-suggestions.\")},\"editor.suggest.showConstructors\":{type:\"boolean\",default:!0,markdownDescription:F(418,\"When enabled IntelliSense shows `constructor`-suggestions.\")},\"editor.suggest.showDeprecated\":{type:\"boolean\",default:!0,markdownDescription:F(419,\"When enabled IntelliSense shows `deprecated`-suggestions.\")},\"editor.suggest.matchOnWordStartOnly\":{type:\"boolean\",default:!0,markdownDescription:F(420,\"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.\")},\"editor.suggest.showFields\":{type:\"boolean\",default:!0,markdownDescription:F(421,\"When enabled IntelliSense shows `field`-suggestions.\")},\"editor.suggest.showVariables\":{type:\"boolean\",default:!0,markdownDescription:F(422,\"When enabled IntelliSense shows `variable`-suggestions.\")},\"editor.suggest.showClasses\":{type:\"boolean\",default:!0,markdownDescription:F(423,\"When enabled IntelliSense shows `class`-suggestions.\")},\"editor.suggest.showStructs\":{type:\"boolean\",default:!0,markdownDescription:F(424,\"When enabled IntelliSense shows `struct`-suggestions.\")},\"editor.suggest.showInterfaces\":{type:\"boolean\",default:!0,markdownDescription:F(425,\"When enabled IntelliSense shows `interface`-suggestions.\")},\"editor.suggest.showModules\":{type:\"boolean\",default:!0,markdownDescription:F(426,\"When enabled IntelliSense shows `module`-suggestions.\")},\"editor.suggest.showProperties\":{type:\"boolean\",default:!0,markdownDescription:F(427,\"When enabled IntelliSense shows `property`-suggestions.\")},\"editor.suggest.showEvents\":{type:\"boolean\",default:!0,markdownDescription:F(428,\"When enabled IntelliSense shows `event`-suggestions.\")},\"editor.suggest.showOperators\":{type:\"boolean\",default:!0,markdownDescription:F(429,\"When enabled IntelliSense shows `operator`-suggestions.\")},\"editor.suggest.showUnits\":{type:\"boolean\",default:!0,markdownDescription:F(430,\"When enabled IntelliSense shows `unit`-suggestions.\")},\"editor.suggest.showValues\":{type:\"boolean\",default:!0,markdownDescription:F(431,\"When enabled IntelliSense shows `value`-suggestions.\")},\"editor.suggest.showConstants\":{type:\"boolean\",default:!0,markdownDescription:F(432,\"When enabled IntelliSense shows `constant`-suggestions.\")},\"editor.suggest.showEnums\":{type:\"boolean\",default:!0,markdownDescription:F(433,\"When enabled IntelliSense shows `enum`-suggestions.\")},\"editor.suggest.showEnumMembers\":{type:\"boolean\",default:!0,markdownDescription:F(434,\"When enabled IntelliSense shows `enumMember`-suggestions.\")},\"editor.suggest.showKeywords\":{type:\"boolean\",default:!0,markdownDescription:F(435,\"When enabled IntelliSense shows `keyword`-suggestions.\")},\"editor.suggest.showWords\":{type:\"boolean\",default:!0,markdownDescription:F(436,\"When enabled IntelliSense shows `text`-suggestions.\")},\"editor.suggest.showColors\":{type:\"boolean\",default:!0,markdownDescription:F(437,\"When enabled IntelliSense shows `color`-suggestions.\")},\"editor.suggest.showFiles\":{type:\"boolean\",default:!0,markdownDescription:F(438,\"When enabled IntelliSense shows `file`-suggestions.\")},\"editor.suggest.showReferences\":{type:\"boolean\",default:!0,markdownDescription:F(439,\"When enabled IntelliSense shows `reference`-suggestions.\")},\"editor.suggest.showCustomcolors\":{type:\"boolean\",default:!0,markdownDescription:F(440,\"When enabled IntelliSense shows `customcolor`-suggestions.\")},\"editor.suggest.showFolders\":{type:\"boolean\",default:!0,markdownDescription:F(441,\"When enabled IntelliSense shows `folder`-suggestions.\")},\"editor.suggest.showTypeParameters\":{type:\"boolean\",default:!0,markdownDescription:F(442,\"When enabled IntelliSense shows `typeParameter`-suggestions.\")},\"editor.suggest.showSnippets\":{type:\"boolean\",default:!0,markdownDescription:F(443,\"When enabled IntelliSense shows `snippet`-suggestions.\")},\"editor.suggest.showUsers\":{type:\"boolean\",default:!0,markdownDescription:F(444,\"When enabled IntelliSense shows `user`-suggestions.\")},\"editor.suggest.showIssues\":{type:\"boolean\",default:!0,markdownDescription:F(445,\"When enabled IntelliSense shows `issues`-suggestions.\")}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{insertMode:S1(X.insertMode,this.defaultValue.insertMode,[\"insert\",\"replace\"]),filterGraceful:_0(X.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:_0(X.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:_0(X.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:_0(X.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:S1(X.selectionMode,this.defaultValue.selectionMode,[\"always\",\"never\",\"whenQuickSuggestion\",\"whenTriggerCharacter\"]),showIcons:_0(X.showIcons,this.defaultValue.showIcons),showStatusBar:_0(X.showStatusBar,this.defaultValue.showStatusBar),preview:_0(X.preview,this.defaultValue.preview),previewMode:S1(X.previewMode,this.defaultValue.previewMode,[\"prefix\",\"subword\",\"subwordSmart\"]),showInlineDetails:_0(X.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:_0(X.showMethods,this.defaultValue.showMethods),showFunctions:_0(X.showFunctions,this.defaultValue.showFunctions),showConstructors:_0(X.showConstructors,this.defaultValue.showConstructors),showDeprecated:_0(X.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:_0(X.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:_0(X.showFields,this.defaultValue.showFields),showVariables:_0(X.showVariables,this.defaultValue.showVariables),showClasses:_0(X.showClasses,this.defaultValue.showClasses),showStructs:_0(X.showStructs,this.defaultValue.showStructs),showInterfaces:_0(X.showInterfaces,this.defaultValue.showInterfaces),showModules:_0(X.showModules,this.defaultValue.showModules),showProperties:_0(X.showProperties,this.defaultValue.showProperties),showEvents:_0(X.showEvents,this.defaultValue.showEvents),showOperators:_0(X.showOperators,this.defaultValue.showOperators),showUnits:_0(X.showUnits,this.defaultValue.showUnits),showValues:_0(X.showValues,this.defaultValue.showValues),showConstants:_0(X.showConstants,this.defaultValue.showConstants),showEnums:_0(X.showEnums,this.defaultValue.showEnums),showEnumMembers:_0(X.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:_0(X.showKeywords,this.defaultValue.showKeywords),showWords:_0(X.showWords,this.defaultValue.showWords),showColors:_0(X.showColors,this.defaultValue.showColors),showFiles:_0(X.showFiles,this.defaultValue.showFiles),showReferences:_0(X.showReferences,this.defaultValue.showReferences),showFolders:_0(X.showFolders,this.defaultValue.showFolders),showTypeParameters:_0(X.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:_0(X.showSnippets,this.defaultValue.showSnippets),showUsers:_0(X.showUsers,this.defaultValue.showUsers),showIssues:_0(X.showIssues,this.defaultValue.showIssues)}}}class Un extends G6{constructor(){super(129,\"smartSelect\",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{\"editor.smartSelect.selectLeadingAndTrailingWhitespace\":{description:F(446,\"Whether leading and trailing whitespace should always be selected.\"),default:!0,type:\"boolean\"},\"editor.smartSelect.selectSubwords\":{description:F(447,\"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected.\"),default:!0,type:\"boolean\"}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;return{selectLeadingAndTrailingWhitespace:_0(J.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:_0(J.selectSubwords,this.defaultValue.selectSubwords)}}}class Hn extends G6{constructor(){let J=[];super(147,\"wordSegmenterLocales\",J,{anyOf:[{type:\"string\"},{type:\"array\",items:{type:\"string\"}}],description:F(448,\"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.).\"),type:\"array\",items:{type:\"string\"},default:J})}validate(J){if(typeof J===\"string\")J=[J];if(Array.isArray(J)){let X=[];for(let Y of J)if(typeof Y===\"string\")try{if(Intl.Segmenter.supportedLocalesOf(Y).length>0)X.push(Y)}catch{}return X}return this.defaultValue}}class Vn extends G6{constructor(){super(155,\"wrappingIndent\",1,{\"editor.wrappingIndent\":{type:\"string\",enum:[\"none\",\"same\",\"indent\",\"deepIndent\"],enumDescriptions:[F(449,\"No indentation. Wrapped lines begin at column 1.\"),F(450,\"Wrapped lines get the same indentation as the parent.\"),F(451,\"Wrapped lines get +1 indentation toward the parent.\"),F(452,\"Wrapped lines get +2 indentation toward the parent.\")],description:F(453,\"Controls the indentation of wrapped lines.\"),default:\"same\"}})}validate(J){switch(J){case\"none\":return 0;case\"same\":return 1;case\"indent\":return 2;case\"deepIndent\":return 3}return 1}compute(J,X,Y){if(X.get(2)===2)return 0;return Y}}class Kn extends XQ{constructor(){super(166,{isDominatedByLongLines:!1,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1})}compute(J,X,Y){let Z=X.get(165);return{isDominatedByLongLines:J.isDominatedByLongLines,isWordWrapMinified:Z.isWordWrapMinified,isViewportWrapping:Z.isViewportWrapping,wrappingColumn:Z.wrappingColumn}}}class jn extends G6{constructor(){let J={enabled:!0,showDropSelector:\"afterDrop\"};super(43,\"dropIntoEditor\",J,{\"editor.dropIntoEditor.enabled\":{type:\"boolean\",default:J.enabled,markdownDescription:F(454,\"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).\")},\"editor.dropIntoEditor.showDropSelector\":{type:\"string\",markdownDescription:F(455,\"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped.\"),enum:[\"afterDrop\",\"never\"],enumDescriptions:[F(456,\"Show the drop selector widget after a file is dropped into the editor.\"),F(457,\"Never show the drop selector widget. Instead the default drop provider is always used.\")],default:\"afterDrop\"}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{enabled:_0(X.enabled,this.defaultValue.enabled),showDropSelector:S1(X.showDropSelector,this.defaultValue.showDropSelector,[\"afterDrop\",\"never\"])}}}class Wn extends G6{constructor(){let J={enabled:!0,showPasteSelector:\"afterPaste\"};super(97,\"pasteAs\",J,{\"editor.pasteAs.enabled\":{type:\"boolean\",default:J.enabled,markdownDescription:F(458,\"Controls whether you can paste content in different ways.\")},\"editor.pasteAs.showPasteSelector\":{type:\"string\",markdownDescription:F(459,\"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted.\"),enum:[\"afterPaste\",\"never\"],enumDescriptions:[F(460,\"Show the paste selector widget after content is pasted into the editor.\"),F(461,\"Never show the paste selector widget. Instead the default pasting behavior is always used.\")],default:\"afterPaste\"}})}validate(J){if(!J||typeof J!==\"object\")return this.defaultValue;let X=J;return{enabled:_0(X.enabled,this.defaultValue.enabled),showPasteSelector:S1(X.showPasteSelector,this.defaultValue.showPasteSelector,[\"afterPaste\",\"never\"])}}}var l$=[];function o(J){return l$[J.id]=J,J}var I8={acceptSuggestionOnCommitCharacter:o(new c0(0,\"acceptSuggestionOnCommitCharacter\",!0,{markdownDescription:F(462,\"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.\")})),acceptSuggestionOnEnter:o(new q6(1,\"acceptSuggestionOnEnter\",\"on\",[\"on\",\"smart\",\"off\"],{markdownEnumDescriptions:[\"\",F(463,\"Only accept a suggestion with `Enter` when it makes a textual change.\"),\"\"],markdownDescription:F(464,\"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.\")})),accessibilitySupport:o(new Io),accessibilityPageSize:o(new R1(3,\"accessibilityPageSize\",500,1,1073741824,{description:F(465,\"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.\"),tags:[\"accessibility\"]})),allowOverflow:o(new c0(4,\"allowOverflow\",!0)),allowVariableLineHeights:o(new c0(5,\"allowVariableLineHeights\",!0,{description:F(466,\"Controls whether to allow using variable line heights in the editor.\")})),allowVariableFonts:o(new c0(6,\"allowVariableFonts\",!0,{description:F(467,\"Controls whether to allow using variable fonts in the editor.\")})),allowVariableFontsInAccessibilityMode:o(new c0(7,\"allowVariableFontsInAccessibilityMode\",!1,{description:F(468,\"Controls whether to allow using variable fonts in the editor in the accessibility mode.\"),tags:[\"accessibility\"]})),ariaLabel:o(new $7(8,\"ariaLabel\",F(469,\"Editor content\"))),ariaRequired:o(new c0(9,\"ariaRequired\",!1,void 0)),screenReaderAnnounceInlineSuggestion:o(new c0(12,\"screenReaderAnnounceInlineSuggestion\",!0,{description:F(470,\"Control whether inline suggestions are announced by a screen reader.\"),tags:[\"accessibility\"]})),autoClosingBrackets:o(new q6(10,\"autoClosingBrackets\",\"languageDefined\",[\"always\",\"languageDefined\",\"beforeWhitespace\",\"never\"],{enumDescriptions:[\"\",F(471,\"Use language configurations to determine when to autoclose brackets.\"),F(472,\"Autoclose brackets only when the cursor is to the left of whitespace.\"),\"\"],description:F(473,\"Controls whether the editor should automatically close brackets after the user adds an opening bracket.\")})),autoClosingComments:o(new q6(11,\"autoClosingComments\",\"languageDefined\",[\"always\",\"languageDefined\",\"beforeWhitespace\",\"never\"],{enumDescriptions:[\"\",F(474,\"Use language configurations to determine when to autoclose comments.\"),F(475,\"Autoclose comments only when the cursor is to the left of whitespace.\"),\"\"],description:F(476,\"Controls whether the editor should automatically close comments after the user adds an opening comment.\")})),autoClosingDelete:o(new q6(13,\"autoClosingDelete\",\"auto\",[\"always\",\"auto\",\"never\"],{enumDescriptions:[\"\",F(477,\"Remove adjacent closing quotes or brackets only if they were automatically inserted.\"),\"\"],description:F(478,\"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.\")})),autoClosingOvertype:o(new q6(14,\"autoClosingOvertype\",\"auto\",[\"always\",\"auto\",\"never\"],{enumDescriptions:[\"\",F(479,\"Type over closing quotes or brackets only if they were automatically inserted.\"),\"\"],description:F(480,\"Controls whether the editor should type over closing quotes or brackets.\")})),autoClosingQuotes:o(new q6(15,\"autoClosingQuotes\",\"languageDefined\",[\"always\",\"languageDefined\",\"beforeWhitespace\",\"never\"],{enumDescriptions:[\"\",F(481,\"Use language configurations to determine when to autoclose quotes.\"),F(482,\"Autoclose quotes only when the cursor is to the left of whitespace.\"),\"\"],description:F(483,\"Controls whether the editor should automatically close quotes after the user adds an opening quote.\")})),autoIndent:o(new lH(16,\"autoIndent\",4,\"full\",[\"none\",\"keep\",\"brackets\",\"advanced\",\"full\"],wK0,{enumDescriptions:[F(484,\"The editor will not insert indentation automatically.\"),F(485,\"The editor will keep the current line's indentation.\"),F(486,\"The editor will keep the current line's indentation and honor language defined brackets.\"),F(487,\"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.\"),F(488,\"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.\")],description:F(489,\"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.\")})),autoIndentOnPaste:o(new c0(17,\"autoIndentOnPaste\",!1,{description:F(490,\"Controls whether the editor should automatically auto-indent the pasted content.\")})),autoIndentOnPasteWithinString:o(new c0(18,\"autoIndentOnPasteWithinString\",!0,{description:F(491,\"Controls whether the editor should automatically auto-indent the pasted content when pasted within a string. This takes effect when autoIndentOnPaste is true.\")})),automaticLayout:o(new c0(19,\"automaticLayout\",!1)),autoSurround:o(new q6(20,\"autoSurround\",\"languageDefined\",[\"languageDefined\",\"quotes\",\"brackets\",\"never\"],{enumDescriptions:[F(492,\"Use language configurations to determine when to automatically surround selections.\"),F(493,\"Surround with quotes but not brackets.\"),F(494,\"Surround with brackets but not quotes.\"),\"\"],description:F(495,\"Controls whether the editor should automatically surround selections when typing quotes or brackets.\")})),bracketPairColorization:o(new $n),bracketPairGuides:o(new qn),stickyTabStops:o(new c0(132,\"stickyTabStops\",!1,{description:F(496,\"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.\")})),codeLens:o(new c0(23,\"codeLens\",!0,{description:F(497,\"Controls whether the editor shows CodeLens.\")})),codeLensFontFamily:o(new $7(24,\"codeLensFontFamily\",\"\",{description:F(498,\"Controls the font family for CodeLens.\")})),codeLensFontSize:o(new R1(25,\"codeLensFontSize\",0,0,100,{type:\"number\",default:0,minimum:0,maximum:100,markdownDescription:F(499,\"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.\")})),colorDecorators:o(new c0(26,\"colorDecorators\",!0,{description:F(500,\"Controls whether the editor should render the inline color decorators and color picker.\")})),colorDecoratorActivatedOn:o(new q6(168,\"colorDecoratorsActivatedOn\",\"clickAndHover\",[\"clickAndHover\",\"hover\",\"click\"],{enumDescriptions:[F(501,\"Make the color picker appear both on click and hover of the color decorator\"),F(502,\"Make the color picker appear on hover of the color decorator\"),F(503,\"Make the color picker appear on click of the color decorator\")],description:F(504,\"Controls the condition to make a color picker appear from a color decorator.\")})),colorDecoratorsLimit:o(new R1(27,\"colorDecoratorsLimit\",500,1,1e6,{markdownDescription:F(505,\"Controls the max number of color decorators that can be rendered in an editor at once.\")})),columnSelection:o(new c0(28,\"columnSelection\",!1,{description:F(506,\"Enable that the selection with the mouse and keys is doing column selection.\")})),comments:o(new ko),contextmenu:o(new c0(30,\"contextmenu\",!0)),copyWithSyntaxHighlighting:o(new c0(31,\"copyWithSyntaxHighlighting\",!0,{description:F(507,\"Controls whether syntax highlighting should be copied into the clipboard.\")})),cursorBlinking:o(new lH(32,\"cursorBlinking\",1,\"blink\",[\"blink\",\"smooth\",\"phase\",\"expand\",\"solid\"],TK0,{description:F(508,\"Control the cursor animation style.\")})),cursorSmoothCaretAnimation:o(new q6(33,\"cursorSmoothCaretAnimation\",\"off\",[\"off\",\"explicit\",\"on\"],{enumDescriptions:[F(509,\"Smooth caret animation is disabled.\"),F(510,\"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture.\"),F(511,\"Smooth caret animation is always enabled.\")],description:F(512,\"Controls whether the smooth caret animation should be enabled.\")})),cursorStyle:o(new lH(34,\"cursorStyle\",M8.Line,\"line\",[\"line\",\"block\",\"underline\",\"line-thin\",\"block-outline\",\"underline-thin\"],wo,{description:F(513,\"Controls the cursor style in insert input mode.\")})),overtypeCursorStyle:o(new lH(92,\"overtypeCursorStyle\",M8.Block,\"block\",[\"line\",\"block\",\"underline\",\"line-thin\",\"block-outline\",\"underline-thin\"],wo,{description:F(514,\"Controls the cursor style in overtype input mode.\")})),cursorSurroundingLines:o(new R1(35,\"cursorSurroundingLines\",0,0,1073741824,{description:F(515,\"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.\")})),cursorSurroundingLinesStyle:o(new q6(36,\"cursorSurroundingLinesStyle\",\"default\",[\"default\",\"all\"],{enumDescriptions:[F(516,\"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.\"),F(517,\"`cursorSurroundingLines` is enforced always.\")],markdownDescription:F(518,\"Controls when `#editor.cursorSurroundingLines#` should be enforced.\")})),cursorWidth:o(new R1(37,\"cursorWidth\",0,0,1073741824,{markdownDescription:F(519,\"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.\")})),cursorHeight:o(new R1(38,\"cursorHeight\",0,0,1073741824,{markdownDescription:F(520,\"Controls the height of the cursor when `#editor.cursorStyle#` is set to `line`. Cursor's max height depends on line height.\")})),disableLayerHinting:o(new c0(39,\"disableLayerHinting\",!1)),disableMonospaceOptimizations:o(new c0(40,\"disableMonospaceOptimizations\",!1)),domReadOnly:o(new c0(41,\"domReadOnly\",!1)),doubleClickSelectsBlock:o(new c0(173,\"doubleClickSelectsBlock\",!0,{description:F(521,\"Controls whether double-clicking next to a bracket or quote selects the content inside.\")})),dragAndDrop:o(new c0(42,\"dragAndDrop\",!0,{description:F(522,\"Controls whether the editor should allow moving selections via drag and drop.\")})),emptySelectionClipboard:o(new yo),dropIntoEditor:o(new jn),editContext:o(new c0(44,\"editContext\",!0,{description:F(523,\"Sets whether the EditContext API should be used instead of the text area to power input in the editor.\"),included:jz||ED||Q7})),renderRichScreenReaderContent:o(new c0(107,\"renderRichScreenReaderContent\",!1,{markdownDescription:F(524,\"Whether to render rich screen reader content when the `#editor.editContext#` setting is enabled.\")})),stickyScroll:o(new uo),experimentalGpuAcceleration:o(new q6(46,\"experimentalGpuAcceleration\",\"off\",[\"off\",\"on\"],{tags:[\"experimental\"],enumDescriptions:[F(525,\"Use regular DOM-based rendering.\"),F(526,\"Use GPU acceleration.\")],description:F(527,\"Controls whether to use the experimental GPU acceleration to render the editor.\")})),experimentalWhitespaceRendering:o(new q6(47,\"experimentalWhitespaceRendering\",\"svg\",[\"svg\",\"font\",\"off\"],{enumDescriptions:[F(528,\"Use a new rendering method with svgs.\"),F(529,\"Use a new rendering method with font characters.\"),F(530,\"Use the stable rendering method.\")],description:F(531,\"Controls whether whitespace is rendered with a new, experimental method.\")})),extraEditorClassName:o(new $7(48,\"extraEditorClassName\",\"\")),fastScrollSensitivity:o(new X4(49,\"fastScrollSensitivity\",5,(J)=>J<=0?5:J,{markdownDescription:F(532,\"Scrolling speed multiplier when pressing `Alt`.\")})),find:o(new xo),fixedOverflowWidgets:o(new c0(51,\"fixedOverflowWidgets\",!1)),folding:o(new c0(52,\"folding\",!0,{description:F(533,\"Controls whether the editor has code folding enabled.\")})),foldingStrategy:o(new q6(53,\"foldingStrategy\",\"auto\",[\"auto\",\"indentation\"],{enumDescriptions:[F(534,\"Use a language-specific folding strategy if available, else the indentation-based one.\"),F(535,\"Use the indentation-based folding strategy.\")],description:F(536,\"Controls the strategy for computing folding ranges.\")})),foldingHighlight:o(new c0(54,\"foldingHighlight\",!0,{description:F(537,\"Controls whether the editor should highlight folded ranges.\")})),foldingImportsByDefault:o(new c0(55,\"foldingImportsByDefault\",!1,{description:F(538,\"Controls whether the editor automatically collapses import ranges.\")})),foldingMaximumRegions:o(new R1(56,\"foldingMaximumRegions\",5000,10,65000,{description:F(539,\"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.\")})),unfoldOnClickAfterEndOfLine:o(new c0(57,\"unfoldOnClickAfterEndOfLine\",!1,{description:F(540,\"Controls whether clicking on the empty content after a folded line will unfold the line.\")})),fontFamily:o(new $7(58,\"fontFamily\",J4.fontFamily,{description:F(541,\"Controls the font family.\")})),fontInfo:o(new bo),fontLigatures2:o(new R7),fontSize:o(new ho),fontWeight:o(new Vq),fontVariations:o(new Hq),formatOnPaste:o(new c0(64,\"formatOnPaste\",!1,{description:F(542,\"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.\")})),formatOnType:o(new c0(65,\"formatOnType\",!1,{description:F(543,\"Controls whether the editor should automatically format the line after typing.\")})),glyphMargin:o(new c0(66,\"glyphMargin\",!0,{description:F(544,\"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.\")})),gotoLocation:o(new vo),hideCursorInOverviewRuler:o(new c0(68,\"hideCursorInOverviewRuler\",!1,{description:F(545,\"Controls whether the cursor should be hidden in the overview ruler.\")})),hover:o(new go),inDiffEditor:o(new c0(70,\"inDiffEditor\",!1)),inertialScroll:o(new c0(158,\"inertialScroll\",!1,{description:F(546,\"Make scrolling inertial - mostly useful with touchpad on linux.\")})),letterSpacing:o(new X4(72,\"letterSpacing\",J4.letterSpacing,(J)=>X4.clamp(J,-5,20),{description:F(547,\"Controls the letter spacing in pixels.\")})),lightbulb:o(new mo),lineDecorationsWidth:o(new lo),lineHeight:o(new so),lineNumbers:o(new eo),lineNumbersMinChars:o(new R1(77,\"lineNumbersMinChars\",5,1,300)),linkedEditing:o(new c0(78,\"linkedEditing\",!1,{description:F(548,\"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.\")})),links:o(new c0(79,\"links\",!0,{description:F(549,\"Controls whether the editor should detect links and make them clickable.\")})),matchBrackets:o(new q6(80,\"matchBrackets\",\"always\",[\"always\",\"near\",\"never\"],{description:F(550,\"Highlight matching brackets.\")})),minimap:o(new ao),mouseStyle:o(new q6(82,\"mouseStyle\",\"text\",[\"text\",\"default\",\"copy\"])),mouseWheelScrollSensitivity:o(new X4(83,\"mouseWheelScrollSensitivity\",1,(J)=>J===0?1:J,{markdownDescription:F(551,\"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.\")})),mouseWheelZoom:o(new c0(84,\"mouseWheelZoom\",!1,{markdownDescription:I0?F(552,\"Zoom the font of the editor when using mouse wheel and holding `Cmd`.\"):F(553,\"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.\")})),multiCursorMergeOverlapping:o(new c0(85,\"multiCursorMergeOverlapping\",!0,{description:F(554,\"Merge multiple cursors when they are overlapping.\")})),multiCursorModifier:o(new lH(86,\"multiCursorModifier\",\"altKey\",\"alt\",[\"ctrlCmd\",\"alt\"],LK0,{markdownEnumDescriptions:[F(555,\"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),F(556,\"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")],markdownDescription:F(557,\"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).\")})),mouseMiddleClickAction:o(new q6(87,\"mouseMiddleClickAction\",\"default\",[\"default\",\"openLink\",\"ctrlLeftClick\"],{description:F(558,\"Controls what happens when middle mouse button is clicked in the editor.\")})),multiCursorPaste:o(new q6(88,\"multiCursorPaste\",\"spread\",[\"spread\",\"full\"],{markdownEnumDescriptions:[F(559,\"Each cursor pastes a single line of the text.\"),F(560,\"Each cursor pastes the full text.\")],markdownDescription:F(561,\"Controls pasting when the line count of the pasted text matches the cursor count.\")})),multiCursorLimit:o(new R1(89,\"multiCursorLimit\",1e4,1,1e5,{markdownDescription:F(562,\"Controls the max number of cursors that can be in an active editor at once.\")})),occurrencesHighlight:o(new q6(90,\"occurrencesHighlight\",\"singleFile\",[\"off\",\"singleFile\",\"multiFile\"],{markdownEnumDescriptions:[F(563,\"Does not highlight occurrences.\"),F(564,\"Highlights occurrences only in the current file.\"),F(565,\"Experimental: Highlights occurrences across all valid open files.\")],markdownDescription:F(566,\"Controls whether occurrences should be highlighted across open files.\")})),occurrencesHighlightDelay:o(new R1(91,\"occurrencesHighlightDelay\",0,0,2000,{description:F(567,\"Controls the delay in milliseconds after which occurrences are highlighted.\"),tags:[\"preview\"]})),overtypeOnPaste:o(new c0(93,\"overtypeOnPaste\",!0,{description:F(568,\"Controls whether pasting should overtype.\")})),overviewRulerBorder:o(new c0(94,\"overviewRulerBorder\",!0,{description:F(569,\"Controls whether a border should be drawn around the overview ruler.\")})),overviewRulerLanes:o(new R1(95,\"overviewRulerLanes\",3,0,3)),padding:o(new io),pasteAs:o(new Wn),parameterHints:o(new ro),peekWidgetDefaultFocus:o(new q6(99,\"peekWidgetDefaultFocus\",\"tree\",[\"tree\",\"editor\"],{enumDescriptions:[F(570,\"Focus the tree when opening peek\"),F(571,\"Focus the editor when opening peek\")],description:F(572,\"Controls whether to focus the inline editor or the tree in the peek widget.\")})),placeholder:o(new no),definitionLinkOpensInPeek:o(new c0(101,\"definitionLinkOpensInPeek\",!1,{description:F(573,\"Controls whether the Go to Definition mouse gesture always opens the peek widget.\")})),quickSuggestions:o(new to),quickSuggestionsDelay:o(new R1(103,\"quickSuggestionsDelay\",10,0,1073741824,{description:F(574,\"Controls the delay in milliseconds after which quick suggestions will show up.\"),experiment:{mode:\"auto\"}})),readOnly:o(new c0(104,\"readOnly\",!1)),readOnlyMessage:o(new Xn),renameOnType:o(new c0(106,\"renameOnType\",!1,{description:F(575,\"Controls whether the editor auto renames on type.\"),markdownDeprecationMessage:F(576,\"Deprecated, use `#editor.linkedEditing#` instead.\")})),renderControlCharacters:o(new c0(108,\"renderControlCharacters\",!0,{description:F(577,\"Controls whether the editor should render control characters.\"),restricted:!0})),renderFinalNewline:o(new q6(109,\"renderFinalNewline\",y6?\"dimmed\":\"on\",[\"off\",\"on\",\"dimmed\"],{description:F(578,\"Render last line number when the file ends with a newline.\")})),renderLineHighlight:o(new q6(110,\"renderLineHighlight\",\"line\",[\"none\",\"gutter\",\"line\",\"all\"],{enumDescriptions:[\"\",\"\",\"\",F(579,\"Highlights both the gutter and the current line.\")],description:F(580,\"Controls how the editor should render the current line highlight.\")})),renderLineHighlightOnlyWhenFocus:o(new c0(111,\"renderLineHighlightOnlyWhenFocus\",!1,{description:F(581,\"Controls if the editor should render the current line highlight only when the editor is focused.\")})),renderValidationDecorations:o(new q6(112,\"renderValidationDecorations\",\"editable\",[\"editable\",\"on\",\"off\"])),renderWhitespace:o(new q6(113,\"renderWhitespace\",\"selection\",[\"none\",\"boundary\",\"selection\",\"trailing\",\"all\"],{enumDescriptions:[\"\",F(582,\"Render whitespace characters except for single spaces between words.\"),F(583,\"Render whitespace characters only on selected text.\"),F(584,\"Render only trailing whitespace characters.\"),\"\"],description:F(585,\"Controls how the editor should render whitespace characters.\")})),revealHorizontalRightPadding:o(new R1(114,\"revealHorizontalRightPadding\",15,0,1000)),roundedSelection:o(new c0(115,\"roundedSelection\",!0,{description:F(586,\"Controls whether selections should have rounded corners.\")})),rulers:o(new Jn),scrollbar:o(new Yn),scrollBeyondLastColumn:o(new R1(118,\"scrollBeyondLastColumn\",4,0,1073741824,{description:F(587,\"Controls the number of extra characters beyond which the editor will scroll horizontally.\")})),scrollBeyondLastLine:o(new c0(119,\"scrollBeyondLastLine\",!0,{description:F(588,\"Controls whether the editor will scroll beyond the last line.\")})),scrollOnMiddleClick:o(new c0(171,\"scrollOnMiddleClick\",!1,{description:F(589,\"Controls whether the editor will scroll when the middle button is pressed.\")})),scrollPredominantAxis:o(new c0(120,\"scrollPredominantAxis\",!0,{description:F(590,\"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.\")})),selectionClipboard:o(new c0(121,\"selectionClipboard\",!0,{description:F(591,\"Controls whether the Linux primary clipboard should be supported.\"),included:y6})),selectionHighlight:o(new c0(122,\"selectionHighlight\",!0,{description:F(592,\"Controls whether the editor should highlight matches similar to the selection.\")})),selectionHighlightMaxLength:o(new R1(123,\"selectionHighlightMaxLength\",200,0,1073741824,{description:F(593,\"Controls how many characters can be in the selection before similiar matches are not highlighted. Set to zero for unlimited.\")})),selectionHighlightMultiline:o(new c0(124,\"selectionHighlightMultiline\",!1,{description:F(594,\"Controls whether the editor should highlight selection matches that span multiple lines.\")})),selectOnLineNumbers:o(new c0(125,\"selectOnLineNumbers\",!0)),showFoldingControls:o(new q6(126,\"showFoldingControls\",\"mouseover\",[\"always\",\"never\",\"mouseover\"],{enumDescriptions:[F(595,\"Always show the folding controls.\"),F(596,\"Never show the folding controls and reduce the gutter size.\"),F(597,\"Only show the folding controls when the mouse is over the gutter.\")],description:F(598,\"Controls when the folding controls on the gutter are shown.\")})),showUnused:o(new c0(127,\"showUnused\",!0,{description:F(599,\"Controls fading out of unused code.\")})),showDeprecated:o(new c0(157,\"showDeprecated\",!0,{description:F(600,\"Controls strikethrough deprecated variables.\")})),inlayHints:o(new co),snippetSuggestions:o(new q6(128,\"snippetSuggestions\",\"inline\",[\"top\",\"bottom\",\"inline\",\"none\"],{enumDescriptions:[F(601,\"Show snippet suggestions on top of other suggestions.\"),F(602,\"Show snippet suggestions below other suggestions.\"),F(603,\"Show snippets suggestions with other suggestions.\"),F(604,\"Do not show snippet suggestions.\")],description:F(605,\"Controls whether snippets are shown with other suggestions and how they are sorted.\")})),smartSelect:o(new Un),smoothScrolling:o(new c0(130,\"smoothScrolling\",!1,{description:F(606,\"Controls whether the editor will scroll using an animation.\")})),stopRenderingLineAfter:o(new R1(133,\"stopRenderingLineAfter\",1e4,-1,1073741824)),suggest:o(new Gn),inlineSuggest:o(new Qn),inlineCompletionsAccessibilityVerbose:o(new c0(169,\"inlineCompletionsAccessibilityVerbose\",!1,{description:F(607,\"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.\")})),suggestFontSize:o(new R1(135,\"suggestFontSize\",0,0,1000,{markdownDescription:F(608,\"Font size for the suggest widget. When set to {0}, the value of {1} is used.\",\"`0`\",\"`#editor.fontSize#`\")})),suggestLineHeight:o(new R1(136,\"suggestLineHeight\",0,0,1000,{markdownDescription:F(609,\"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.\",\"`0`\",\"`#editor.lineHeight#`\")})),suggestOnTriggerCharacters:o(new c0(137,\"suggestOnTriggerCharacters\",!0,{description:F(610,\"Controls whether suggestions should automatically show up when typing trigger characters.\")})),suggestSelection:o(new q6(138,\"suggestSelection\",\"first\",[\"first\",\"recentlyUsed\",\"recentlyUsedByPrefix\"],{markdownEnumDescriptions:[F(611,\"Always select the first suggestion.\"),F(612,\"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.\"),F(613,\"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.\")],description:F(614,\"Controls how suggestions are pre-selected when showing the suggest list.\")})),tabCompletion:o(new q6(139,\"tabCompletion\",\"off\",[\"on\",\"off\",\"onlySnippets\"],{enumDescriptions:[F(615,\"Tab complete will insert the best matching suggestion when pressing tab.\"),F(616,\"Disable tab completions.\"),F(617,\"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.\")],description:F(618,\"Enables tab completions.\")})),tabIndex:o(new R1(140,\"tabIndex\",0,-1,1073741824)),trimWhitespaceOnDelete:o(new c0(141,\"trimWhitespaceOnDelete\",!1,{description:F(619,\"Controls whether the editor will also delete the next line's indentation whitespace when deleting a newline.\")})),unicodeHighlight:o(new Zn),unusualLineTerminators:o(new q6(143,\"unusualLineTerminators\",\"prompt\",[\"auto\",\"off\",\"prompt\"],{enumDescriptions:[F(620,\"Unusual line terminators are automatically removed.\"),F(621,\"Unusual line terminators are ignored.\"),F(622,\"Unusual line terminators prompt to be removed.\")],description:F(623,\"Remove unusual line terminators that might cause problems.\")})),useShadowDOM:o(new c0(144,\"useShadowDOM\",!0)),useTabStops:o(new c0(145,\"useTabStops\",!0,{description:F(624,\"Spaces and tabs are inserted and deleted in alignment with tab stops.\")})),wordBreak:o(new q6(146,\"wordBreak\",\"normal\",[\"normal\",\"keepAll\"],{markdownEnumDescriptions:[F(625,\"Use the default line break rule.\"),F(626,\"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.\")],description:F(627,\"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.\")})),wordSegmenterLocales:o(new Hn),wordSeparators:o(new $7(148,\"wordSeparators\",oy,{description:F(628,\"Characters that will be used as word separators when doing word related navigations or operations.\")})),wordWrap:o(new q6(149,\"wordWrap\",\"off\",[\"off\",\"on\",\"wordWrapColumn\",\"bounded\"],{markdownEnumDescriptions:[F(629,\"Lines will never wrap.\"),F(630,\"Lines will wrap at the viewport width.\"),F(631,\"Lines will wrap at `#editor.wordWrapColumn#`.\"),F(632,\"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.\")],description:F(633,\"Controls how lines should wrap.\")})),wordWrapBreakAfterCharacters:o(new $7(150,\"wordWrapBreakAfterCharacters\",\" \\t})]?|/&.,;¢°′″‰℃、。｡､￠，．：；？！％・･ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ｧｨｩｪｫｬｭｮｯｰ”〉》」』】〕）］｝｣\")),wordWrapBreakBeforeCharacters:o(new $7(151,\"wordWrapBreakBeforeCharacters\",\"([{‘“〈《「『【〔（［｛｢£¥＄￡￥+＋\")),wordWrapColumn:o(new R1(152,\"wordWrapColumn\",80,1,1073741824,{markdownDescription:F(634,\"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.\")})),wordWrapOverride1:o(new q6(153,\"wordWrapOverride1\",\"inherit\",[\"off\",\"on\",\"inherit\"])),wordWrapOverride2:o(new q6(154,\"wordWrapOverride2\",\"inherit\",[\"off\",\"on\",\"inherit\"])),wrapOnEscapedLineFeeds:o(new c0(160,\"wrapOnEscapedLineFeeds\",!1,{markdownDescription:F(635,'Controls whether literal `\\\\n` shall trigger a wordWrap when `#editor.wordWrap#` is enabled.\\n\\nFor example:\\n```c\\nchar* str=\"hello\\\\nworld\"\\n```\\nwill be displayed as\\n```c\\nchar* str=\"hello\\\\n\\n           world\"\\n```')})),effectiveCursorStyle:o(new Co),editorClassName:o(new Eo),defaultColorDecorators:o(new q6(167,\"defaultColorDecorators\",\"auto\",[\"auto\",\"always\",\"never\"],{enumDescriptions:[F(636,\"Show default color decorators only when no extension provides colors decorators.\"),F(637,\"Always show default color decorators.\"),F(638,\"Never show default color decorators.\")],description:F(639,\"Controls whether inline color decorations should be shown using the default document color provider.\")})),pixelRatio:o(new oo),tabFocusMode:o(new c0(164,\"tabFocusMode\",!1,{markdownDescription:F(640,\"Controls whether the editor receives tabs or defers them to the workbench for navigation.\")})),layoutInfo:o(new jq),wrappingInfo:o(new Kn),wrappingIndent:o(new Vn),wrappingStrategy:o(new po),effectiveEditContextEnabled:o(new So),effectiveAllowVariableFonts:o(new fo)};var zn=Object.freeze(function(J,X){let Y=setTimeout(J.bind(X),0);return{dispose(){clearTimeout(Y)}}}),U8;(function(J){function X(Y){if(Y===J.None||Y===J.Cancelled)return!0;if(Y instanceof Az)return!0;if(!Y||typeof Y!==\"object\")return!1;return typeof Y.isCancellationRequested===\"boolean\"&&typeof Y.onCancellationRequested===\"function\"}J.isCancellationToken=X,J.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.None}),J.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:zn})})(U8||(U8={}));class Az{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){if(!this._isCancelled){if(this._isCancelled=!0,this._emitter)this._emitter.fire(void 0),this.dispose()}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled)return zn;if(!this._emitter)this._emitter=new E;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=null}}class S8{constructor(J){this._token=void 0,this._parentListener=void 0,this._parentListener=J&&J.onCancellationRequested(this.cancel,this)}get token(){if(!this._token)this._token=new Az;return this._token}cancel(){if(!this._token)this._token=U8.Cancelled;else if(this._token instanceof Az)this._token.cancel()}dispose(J=!1){if(J)this.cancel();if(this._parentListener?.dispose(),!this._token)this._token=U8.None;else if(this._token instanceof Az)this._token.dispose()}}class vD{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(J,X){this._keyCodeToStr[J]=X,this._strToKeyCode[X.toLowerCase()]=J}keyCodeToStr(J){return this._keyCodeToStr[J]}strToKeyCode(J){return this._strToKeyCode[J.toLowerCase()]||0}}var hD=new vD,ny=new vD,ty=new vD,ey=Array(230),IK0=Object.create(null),kK0=Object.create(null),gD=[];for(let J=0;J<=193;J++)gD[J]=-1;(function(){let X=[[1,0,\"None\",0,\"unknown\",0,\"VK_UNKNOWN\",\"\",\"\"],[1,1,\"Hyper\",0,\"\",0,\"\",\"\",\"\"],[1,2,\"Super\",0,\"\",0,\"\",\"\",\"\"],[1,3,\"Fn\",0,\"\",0,\"\",\"\",\"\"],[1,4,\"FnLock\",0,\"\",0,\"\",\"\",\"\"],[1,5,\"Suspend\",0,\"\",0,\"\",\"\",\"\"],[1,6,\"Resume\",0,\"\",0,\"\",\"\",\"\"],[1,7,\"Turbo\",0,\"\",0,\"\",\"\",\"\"],[1,8,\"Sleep\",0,\"\",0,\"VK_SLEEP\",\"\",\"\"],[1,9,\"WakeUp\",0,\"\",0,\"\",\"\",\"\"],[0,10,\"KeyA\",31,\"A\",65,\"VK_A\",\"\",\"\"],[0,11,\"KeyB\",32,\"B\",66,\"VK_B\",\"\",\"\"],[0,12,\"KeyC\",33,\"C\",67,\"VK_C\",\"\",\"\"],[0,13,\"KeyD\",34,\"D\",68,\"VK_D\",\"\",\"\"],[0,14,\"KeyE\",35,\"E\",69,\"VK_E\",\"\",\"\"],[0,15,\"KeyF\",36,\"F\",70,\"VK_F\",\"\",\"\"],[0,16,\"KeyG\",37,\"G\",71,\"VK_G\",\"\",\"\"],[0,17,\"KeyH\",38,\"H\",72,\"VK_H\",\"\",\"\"],[0,18,\"KeyI\",39,\"I\",73,\"VK_I\",\"\",\"\"],[0,19,\"KeyJ\",40,\"J\",74,\"VK_J\",\"\",\"\"],[0,20,\"KeyK\",41,\"K\",75,\"VK_K\",\"\",\"\"],[0,21,\"KeyL\",42,\"L\",76,\"VK_L\",\"\",\"\"],[0,22,\"KeyM\",43,\"M\",77,\"VK_M\",\"\",\"\"],[0,23,\"KeyN\",44,\"N\",78,\"VK_N\",\"\",\"\"],[0,24,\"KeyO\",45,\"O\",79,\"VK_O\",\"\",\"\"],[0,25,\"KeyP\",46,\"P\",80,\"VK_P\",\"\",\"\"],[0,26,\"KeyQ\",47,\"Q\",81,\"VK_Q\",\"\",\"\"],[0,27,\"KeyR\",48,\"R\",82,\"VK_R\",\"\",\"\"],[0,28,\"KeyS\",49,\"S\",83,\"VK_S\",\"\",\"\"],[0,29,\"KeyT\",50,\"T\",84,\"VK_T\",\"\",\"\"],[0,30,\"KeyU\",51,\"U\",85,\"VK_U\",\"\",\"\"],[0,31,\"KeyV\",52,\"V\",86,\"VK_V\",\"\",\"\"],[0,32,\"KeyW\",53,\"W\",87,\"VK_W\",\"\",\"\"],[0,33,\"KeyX\",54,\"X\",88,\"VK_X\",\"\",\"\"],[0,34,\"KeyY\",55,\"Y\",89,\"VK_Y\",\"\",\"\"],[0,35,\"KeyZ\",56,\"Z\",90,\"VK_Z\",\"\",\"\"],[0,36,\"Digit1\",22,\"1\",49,\"VK_1\",\"\",\"\"],[0,37,\"Digit2\",23,\"2\",50,\"VK_2\",\"\",\"\"],[0,38,\"Digit3\",24,\"3\",51,\"VK_3\",\"\",\"\"],[0,39,\"Digit4\",25,\"4\",52,\"VK_4\",\"\",\"\"],[0,40,\"Digit5\",26,\"5\",53,\"VK_5\",\"\",\"\"],[0,41,\"Digit6\",27,\"6\",54,\"VK_6\",\"\",\"\"],[0,42,\"Digit7\",28,\"7\",55,\"VK_7\",\"\",\"\"],[0,43,\"Digit8\",29,\"8\",56,\"VK_8\",\"\",\"\"],[0,44,\"Digit9\",30,\"9\",57,\"VK_9\",\"\",\"\"],[0,45,\"Digit0\",21,\"0\",48,\"VK_0\",\"\",\"\"],[1,46,\"Enter\",3,\"Enter\",13,\"VK_RETURN\",\"\",\"\"],[1,47,\"Escape\",9,\"Escape\",27,\"VK_ESCAPE\",\"\",\"\"],[1,48,\"Backspace\",1,\"Backspace\",8,\"VK_BACK\",\"\",\"\"],[1,49,\"Tab\",2,\"Tab\",9,\"VK_TAB\",\"\",\"\"],[1,50,\"Space\",10,\"Space\",32,\"VK_SPACE\",\"\",\"\"],[0,51,\"Minus\",88,\"-\",189,\"VK_OEM_MINUS\",\"-\",\"OEM_MINUS\"],[0,52,\"Equal\",86,\"=\",187,\"VK_OEM_PLUS\",\"=\",\"OEM_PLUS\"],[0,53,\"BracketLeft\",92,\"[\",219,\"VK_OEM_4\",\"[\",\"OEM_4\"],[0,54,\"BracketRight\",94,\"]\",221,\"VK_OEM_6\",\"]\",\"OEM_6\"],[0,55,\"Backslash\",93,\"\\\\\",220,\"VK_OEM_5\",\"\\\\\",\"OEM_5\"],[0,56,\"IntlHash\",0,\"\",0,\"\",\"\",\"\"],[0,57,\"Semicolon\",85,\";\",186,\"VK_OEM_1\",\";\",\"OEM_1\"],[0,58,\"Quote\",95,\"'\",222,\"VK_OEM_7\",\"'\",\"OEM_7\"],[0,59,\"Backquote\",91,\"`\",192,\"VK_OEM_3\",\"`\",\"OEM_3\"],[0,60,\"Comma\",87,\",\",188,\"VK_OEM_COMMA\",\",\",\"OEM_COMMA\"],[0,61,\"Period\",89,\".\",190,\"VK_OEM_PERIOD\",\".\",\"OEM_PERIOD\"],[0,62,\"Slash\",90,\"/\",191,\"VK_OEM_2\",\"/\",\"OEM_2\"],[1,63,\"CapsLock\",8,\"CapsLock\",20,\"VK_CAPITAL\",\"\",\"\"],[1,64,\"F1\",59,\"F1\",112,\"VK_F1\",\"\",\"\"],[1,65,\"F2\",60,\"F2\",113,\"VK_F2\",\"\",\"\"],[1,66,\"F3\",61,\"F3\",114,\"VK_F3\",\"\",\"\"],[1,67,\"F4\",62,\"F4\",115,\"VK_F4\",\"\",\"\"],[1,68,\"F5\",63,\"F5\",116,\"VK_F5\",\"\",\"\"],[1,69,\"F6\",64,\"F6\",117,\"VK_F6\",\"\",\"\"],[1,70,\"F7\",65,\"F7\",118,\"VK_F7\",\"\",\"\"],[1,71,\"F8\",66,\"F8\",119,\"VK_F8\",\"\",\"\"],[1,72,\"F9\",67,\"F9\",120,\"VK_F9\",\"\",\"\"],[1,73,\"F10\",68,\"F10\",121,\"VK_F10\",\"\",\"\"],[1,74,\"F11\",69,\"F11\",122,\"VK_F11\",\"\",\"\"],[1,75,\"F12\",70,\"F12\",123,\"VK_F12\",\"\",\"\"],[1,76,\"PrintScreen\",0,\"\",0,\"\",\"\",\"\"],[1,77,\"ScrollLock\",84,\"ScrollLock\",145,\"VK_SCROLL\",\"\",\"\"],[1,78,\"Pause\",7,\"PauseBreak\",19,\"VK_PAUSE\",\"\",\"\"],[1,79,\"Insert\",19,\"Insert\",45,\"VK_INSERT\",\"\",\"\"],[1,80,\"Home\",14,\"Home\",36,\"VK_HOME\",\"\",\"\"],[1,81,\"PageUp\",11,\"PageUp\",33,\"VK_PRIOR\",\"\",\"\"],[1,82,\"Delete\",20,\"Del\",46,\"VK_DELETE\",\"Delete\",\"\"],[1,83,\"End\",13,\"End\",35,\"VK_END\",\"\",\"\"],[1,84,\"PageDown\",12,\"PageDown\",34,\"VK_NEXT\",\"\",\"\"],[1,85,\"ArrowRight\",17,\"RightArrow\",39,\"VK_RIGHT\",\"Right\",\"\"],[1,86,\"ArrowLeft\",15,\"LeftArrow\",37,\"VK_LEFT\",\"Left\",\"\"],[1,87,\"ArrowDown\",18,\"DownArrow\",40,\"VK_DOWN\",\"Down\",\"\"],[1,88,\"ArrowUp\",16,\"UpArrow\",38,\"VK_UP\",\"Up\",\"\"],[1,89,\"NumLock\",83,\"NumLock\",144,\"VK_NUMLOCK\",\"\",\"\"],[1,90,\"NumpadDivide\",113,\"NumPad_Divide\",111,\"VK_DIVIDE\",\"\",\"\"],[1,91,\"NumpadMultiply\",108,\"NumPad_Multiply\",106,\"VK_MULTIPLY\",\"\",\"\"],[1,92,\"NumpadSubtract\",111,\"NumPad_Subtract\",109,\"VK_SUBTRACT\",\"\",\"\"],[1,93,\"NumpadAdd\",109,\"NumPad_Add\",107,\"VK_ADD\",\"\",\"\"],[1,94,\"NumpadEnter\",3,\"\",0,\"\",\"\",\"\"],[1,95,\"Numpad1\",99,\"NumPad1\",97,\"VK_NUMPAD1\",\"\",\"\"],[1,96,\"Numpad2\",100,\"NumPad2\",98,\"VK_NUMPAD2\",\"\",\"\"],[1,97,\"Numpad3\",101,\"NumPad3\",99,\"VK_NUMPAD3\",\"\",\"\"],[1,98,\"Numpad4\",102,\"NumPad4\",100,\"VK_NUMPAD4\",\"\",\"\"],[1,99,\"Numpad5\",103,\"NumPad5\",101,\"VK_NUMPAD5\",\"\",\"\"],[1,100,\"Numpad6\",104,\"NumPad6\",102,\"VK_NUMPAD6\",\"\",\"\"],[1,101,\"Numpad7\",105,\"NumPad7\",103,\"VK_NUMPAD7\",\"\",\"\"],[1,102,\"Numpad8\",106,\"NumPad8\",104,\"VK_NUMPAD8\",\"\",\"\"],[1,103,\"Numpad9\",107,\"NumPad9\",105,\"VK_NUMPAD9\",\"\",\"\"],[1,104,\"Numpad0\",98,\"NumPad0\",96,\"VK_NUMPAD0\",\"\",\"\"],[1,105,\"NumpadDecimal\",112,\"NumPad_Decimal\",110,\"VK_DECIMAL\",\"\",\"\"],[0,106,\"IntlBackslash\",97,\"OEM_102\",226,\"VK_OEM_102\",\"\",\"\"],[1,107,\"ContextMenu\",58,\"ContextMenu\",93,\"\",\"\",\"\"],[1,108,\"Power\",0,\"\",0,\"\",\"\",\"\"],[1,109,\"NumpadEqual\",0,\"\",0,\"\",\"\",\"\"],[1,110,\"F13\",71,\"F13\",124,\"VK_F13\",\"\",\"\"],[1,111,\"F14\",72,\"F14\",125,\"VK_F14\",\"\",\"\"],[1,112,\"F15\",73,\"F15\",126,\"VK_F15\",\"\",\"\"],[1,113,\"F16\",74,\"F16\",127,\"VK_F16\",\"\",\"\"],[1,114,\"F17\",75,\"F17\",128,\"VK_F17\",\"\",\"\"],[1,115,\"F18\",76,\"F18\",129,\"VK_F18\",\"\",\"\"],[1,116,\"F19\",77,\"F19\",130,\"VK_F19\",\"\",\"\"],[1,117,\"F20\",78,\"F20\",131,\"VK_F20\",\"\",\"\"],[1,118,\"F21\",79,\"F21\",132,\"VK_F21\",\"\",\"\"],[1,119,\"F22\",80,\"F22\",133,\"VK_F22\",\"\",\"\"],[1,120,\"F23\",81,\"F23\",134,\"VK_F23\",\"\",\"\"],[1,121,\"F24\",82,\"F24\",135,\"VK_F24\",\"\",\"\"],[1,122,\"Open\",0,\"\",0,\"\",\"\",\"\"],[1,123,\"Help\",0,\"\",0,\"\",\"\",\"\"],[1,124,\"Select\",0,\"\",0,\"\",\"\",\"\"],[1,125,\"Again\",0,\"\",0,\"\",\"\",\"\"],[1,126,\"Undo\",0,\"\",0,\"\",\"\",\"\"],[1,127,\"Cut\",0,\"\",0,\"\",\"\",\"\"],[1,128,\"Copy\",0,\"\",0,\"\",\"\",\"\"],[1,129,\"Paste\",0,\"\",0,\"\",\"\",\"\"],[1,130,\"Find\",0,\"\",0,\"\",\"\",\"\"],[1,131,\"AudioVolumeMute\",117,\"AudioVolumeMute\",173,\"VK_VOLUME_MUTE\",\"\",\"\"],[1,132,\"AudioVolumeUp\",118,\"AudioVolumeUp\",175,\"VK_VOLUME_UP\",\"\",\"\"],[1,133,\"AudioVolumeDown\",119,\"AudioVolumeDown\",174,\"VK_VOLUME_DOWN\",\"\",\"\"],[1,134,\"NumpadComma\",110,\"NumPad_Separator\",108,\"VK_SEPARATOR\",\"\",\"\"],[0,135,\"IntlRo\",115,\"ABNT_C1\",193,\"VK_ABNT_C1\",\"\",\"\"],[1,136,\"KanaMode\",0,\"\",0,\"\",\"\",\"\"],[0,137,\"IntlYen\",0,\"\",0,\"\",\"\",\"\"],[1,138,\"Convert\",0,\"\",0,\"\",\"\",\"\"],[1,139,\"NonConvert\",0,\"\",0,\"\",\"\",\"\"],[1,140,\"Lang1\",0,\"\",0,\"\",\"\",\"\"],[1,141,\"Lang2\",0,\"\",0,\"\",\"\",\"\"],[1,142,\"Lang3\",0,\"\",0,\"\",\"\",\"\"],[1,143,\"Lang4\",0,\"\",0,\"\",\"\",\"\"],[1,144,\"Lang5\",0,\"\",0,\"\",\"\",\"\"],[1,145,\"Abort\",0,\"\",0,\"\",\"\",\"\"],[1,146,\"Props\",0,\"\",0,\"\",\"\",\"\"],[1,147,\"NumpadParenLeft\",0,\"\",0,\"\",\"\",\"\"],[1,148,\"NumpadParenRight\",0,\"\",0,\"\",\"\",\"\"],[1,149,\"NumpadBackspace\",0,\"\",0,\"\",\"\",\"\"],[1,150,\"NumpadMemoryStore\",0,\"\",0,\"\",\"\",\"\"],[1,151,\"NumpadMemoryRecall\",0,\"\",0,\"\",\"\",\"\"],[1,152,\"NumpadMemoryClear\",0,\"\",0,\"\",\"\",\"\"],[1,153,\"NumpadMemoryAdd\",0,\"\",0,\"\",\"\",\"\"],[1,154,\"NumpadMemorySubtract\",0,\"\",0,\"\",\"\",\"\"],[1,155,\"NumpadClear\",131,\"Clear\",12,\"VK_CLEAR\",\"\",\"\"],[1,156,\"NumpadClearEntry\",0,\"\",0,\"\",\"\",\"\"],[1,0,\"\",5,\"Ctrl\",17,\"VK_CONTROL\",\"\",\"\"],[1,0,\"\",4,\"Shift\",16,\"VK_SHIFT\",\"\",\"\"],[1,0,\"\",6,\"Alt\",18,\"VK_MENU\",\"\",\"\"],[1,0,\"\",57,\"Meta\",91,\"VK_COMMAND\",\"\",\"\"],[1,157,\"ControlLeft\",5,\"\",0,\"VK_LCONTROL\",\"\",\"\"],[1,158,\"ShiftLeft\",4,\"\",0,\"VK_LSHIFT\",\"\",\"\"],[1,159,\"AltLeft\",6,\"\",0,\"VK_LMENU\",\"\",\"\"],[1,160,\"MetaLeft\",57,\"\",0,\"VK_LWIN\",\"\",\"\"],[1,161,\"ControlRight\",5,\"\",0,\"VK_RCONTROL\",\"\",\"\"],[1,162,\"ShiftRight\",4,\"\",0,\"VK_RSHIFT\",\"\",\"\"],[1,163,\"AltRight\",6,\"\",0,\"VK_RMENU\",\"\",\"\"],[1,164,\"MetaRight\",57,\"\",0,\"VK_RWIN\",\"\",\"\"],[1,165,\"BrightnessUp\",0,\"\",0,\"\",\"\",\"\"],[1,166,\"BrightnessDown\",0,\"\",0,\"\",\"\",\"\"],[1,167,\"MediaPlay\",0,\"\",0,\"\",\"\",\"\"],[1,168,\"MediaRecord\",0,\"\",0,\"\",\"\",\"\"],[1,169,\"MediaFastForward\",0,\"\",0,\"\",\"\",\"\"],[1,170,\"MediaRewind\",0,\"\",0,\"\",\"\",\"\"],[1,171,\"MediaTrackNext\",124,\"MediaTrackNext\",176,\"VK_MEDIA_NEXT_TRACK\",\"\",\"\"],[1,172,\"MediaTrackPrevious\",125,\"MediaTrackPrevious\",177,\"VK_MEDIA_PREV_TRACK\",\"\",\"\"],[1,173,\"MediaStop\",126,\"MediaStop\",178,\"VK_MEDIA_STOP\",\"\",\"\"],[1,174,\"Eject\",0,\"\",0,\"\",\"\",\"\"],[1,175,\"MediaPlayPause\",127,\"MediaPlayPause\",179,\"VK_MEDIA_PLAY_PAUSE\",\"\",\"\"],[1,176,\"MediaSelect\",128,\"LaunchMediaPlayer\",181,\"VK_MEDIA_LAUNCH_MEDIA_SELECT\",\"\",\"\"],[1,177,\"LaunchMail\",129,\"LaunchMail\",180,\"VK_MEDIA_LAUNCH_MAIL\",\"\",\"\"],[1,178,\"LaunchApp2\",130,\"LaunchApp2\",183,\"VK_MEDIA_LAUNCH_APP2\",\"\",\"\"],[1,179,\"LaunchApp1\",0,\"\",0,\"VK_MEDIA_LAUNCH_APP1\",\"\",\"\"],[1,180,\"SelectTask\",0,\"\",0,\"\",\"\",\"\"],[1,181,\"LaunchScreenSaver\",0,\"\",0,\"\",\"\",\"\"],[1,182,\"BrowserSearch\",120,\"BrowserSearch\",170,\"VK_BROWSER_SEARCH\",\"\",\"\"],[1,183,\"BrowserHome\",121,\"BrowserHome\",172,\"VK_BROWSER_HOME\",\"\",\"\"],[1,184,\"BrowserBack\",122,\"BrowserBack\",166,\"VK_BROWSER_BACK\",\"\",\"\"],[1,185,\"BrowserForward\",123,\"BrowserForward\",167,\"VK_BROWSER_FORWARD\",\"\",\"\"],[1,186,\"BrowserStop\",0,\"\",0,\"VK_BROWSER_STOP\",\"\",\"\"],[1,187,\"BrowserRefresh\",0,\"\",0,\"VK_BROWSER_REFRESH\",\"\",\"\"],[1,188,\"BrowserFavorites\",0,\"\",0,\"VK_BROWSER_FAVORITES\",\"\",\"\"],[1,189,\"ZoomToggle\",0,\"\",0,\"\",\"\",\"\"],[1,190,\"MailReply\",0,\"\",0,\"\",\"\",\"\"],[1,191,\"MailForward\",0,\"\",0,\"\",\"\",\"\"],[1,192,\"MailSend\",0,\"\",0,\"\",\"\",\"\"],[1,0,\"\",114,\"KeyInComposition\",229,\"\",\"\",\"\"],[1,0,\"\",116,\"ABNT_C2\",194,\"VK_ABNT_C2\",\"\",\"\"],[1,0,\"\",96,\"OEM_8\",223,\"VK_OEM_8\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_KANA\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_HANGUL\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_JUNJA\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_FINAL\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_HANJA\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_KANJI\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_CONVERT\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_NONCONVERT\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_ACCEPT\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_MODECHANGE\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_SELECT\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_PRINT\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_EXECUTE\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_SNAPSHOT\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_HELP\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_APPS\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_PROCESSKEY\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_PACKET\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_DBE_SBCSCHAR\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_DBE_DBCSCHAR\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_ATTN\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_CRSEL\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_EXSEL\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_EREOF\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_PLAY\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_ZOOM\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_NONAME\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_PA1\",\"\",\"\"],[1,0,\"\",0,\"\",0,\"VK_OEM_CLEAR\",\"\",\"\"]],Y=[],Z=[];for(let Q of X){let[$,q,G,U,H,V,K,j,W]=Q;if(!Z[q]){if(Z[q]=!0,IK0[G]=q,kK0[G.toLowerCase()]=q,$)gD[q]=U}if(!Y[U]){if(Y[U]=!0,!H)throw Error(`String representation missing for key code ${U} around scan code ${G}`);hD.define(U,H),ny.define(U,j||H),ty.define(U,W||j||H)}if(V)ey[V]=U}})();var RJ;(function(J){function X(G){return hD.keyCodeToStr(G)}J.toString=X;function Y(G){return hD.strToKeyCode(G)}J.fromString=Y;function Z(G){return ny.keyCodeToStr(G)}J.toUserSettingsUS=Z;function Q(G){return ty.keyCodeToStr(G)}J.toUserSettingsGeneral=Q;function $(G){return ny.strToKeyCode(G)||ty.strToKeyCode(G)}J.fromUserSettings=$;function q(G){if(G>=98&&G<=113)return null;switch(G){case 16:return\"Up\";case 18:return\"Down\";case 15:return\"Left\";case 17:return\"Right\";case 20:return\"Delete\"}return hD.keyCodeToStr(G)}J.toElectronAccelerator=q})(RJ||(RJ={}));function H8(J,X){let Y=(X&65535)<<16>>>0;return(J|Y)>>>0}function Pz(J){return J===5||J===4||J===6||J===57}var EK0=65,yK0=97,xK0=90,bK0=122,Bq=46,q7=47,J9=92,YQ=58,CK0=63;class Xx extends Error{constructor(J,X,Y){let Z;if(typeof X===\"string\"&&X.indexOf(\"not \")===0)Z=\"must not be\",X=X.replace(/^not /,\"\");else Z=\"must be\";let Q=J.indexOf(\".\")!==-1?\"property\":\"argument\",$=`The \"${J}\" ${Q} ${Z} of type ${X}`;$+=`. Received type ${typeof Y}`;super($);this.code=\"ERR_INVALID_ARG_TYPE\"}}function SK0(J,X){if(J===null||typeof J!==\"object\")throw new Xx(X,\"Object\",J)}function s8(J,X){if(typeof J!==\"string\")throw new Xx(X,\"string\",J)}var QQ=Ao===\"win32\";function N1(J){return J===q7||J===J9}function Jx(J){return J===q7}function ZQ(J){return J>=EK0&&J<=xK0||J>=yK0&&J<=bK0}function pD(J,X,Y,Z){let Q=\"\",$=0,q=-1,G=0,U=0;for(let H=0;H<=J.length;++H){if(H<J.length)U=J.charCodeAt(H);else if(Z(U))break;else U=q7;if(Z(U)){if(q===H-1||G===1);else if(G===2){if(Q.length<2||$!==2||Q.charCodeAt(Q.length-1)!==Bq||Q.charCodeAt(Q.length-2)!==Bq){if(Q.length>2){let V=Q.lastIndexOf(Y);if(V===-1)Q=\"\",$=0;else Q=Q.slice(0,V),$=Q.length-1-Q.lastIndexOf(Y);q=H,G=0;continue}else if(Q.length!==0){Q=\"\",$=0,q=H,G=0;continue}}if(X)Q+=Q.length>0?`${Y}..`:\"..\",$=2}else{if(Q.length>0)Q+=`${Y}${J.slice(q+1,H)}`;else Q=J.slice(q+1,H);$=H-q-1}q=H,G=0}else if(U===Bq&&G!==-1)++G;else G=-1}return Q}function fK0(J){return J?`${J[0]===\".\"?\"\":\".\"}${J}`:\"\"}function Fn(J,X){SK0(X,\"pathObject\");let Y=X.dir||X.root,Z=X.base||`${X.name||\"\"}${fK0(X.ext)}`;if(!Y)return Z;return Y===X.root?`${Y}${Z}`:`${Y}${J}${Z}`}var N7={resolve(...J){let X=\"\",Y=\"\",Z=!1;for(let Q=J.length-1;Q>=-1;Q--){let $;if(Q>=0){if($=J[Q],s8($,`paths[${Q}]`),$.length===0)continue}else if(X.length===0)$=Wz();else if($=nZ[`=${X}`]||Wz(),$===void 0||$.slice(0,2).toLowerCase()!==X.toLowerCase()&&$.charCodeAt(2)===J9)$=`${X}\\\\`;let q=$.length,G=0,U=\"\",H=!1,V=$.charCodeAt(0);if(q===1){if(N1(V))G=1,H=!0}else if(N1(V))if(H=!0,N1($.charCodeAt(1))){let K=2,j=K;while(K<q&&!N1($.charCodeAt(K)))K++;if(K<q&&K!==j){let W=$.slice(j,K);j=K;while(K<q&&N1($.charCodeAt(K)))K++;if(K<q&&K!==j){j=K;while(K<q&&!N1($.charCodeAt(K)))K++;if(K===q||K!==j)U=`\\\\\\\\${W}\\\\${$.slice(j,K)}`,G=K}}}else G=1;else if(ZQ(V)&&$.charCodeAt(1)===YQ){if(U=$.slice(0,2),G=2,q>2&&N1($.charCodeAt(2)))H=!0,G=3}if(U.length>0)if(X.length>0){if(U.toLowerCase()!==X.toLowerCase())continue}else X=U;if(Z){if(X.length>0)break}else if(Y=`${$.slice(G)}\\\\${Y}`,Z=H,H&&X.length>0)break}return Y=pD(Y,!Z,\"\\\\\",N1),Z?`${X}\\\\${Y}`:`${X}${Y}`||\".\"},normalize(J){s8(J,\"path\");let X=J.length;if(X===0)return\".\";let Y=0,Z,Q=!1,$=J.charCodeAt(0);if(X===1)return Jx($)?\"\\\\\":J;if(N1($))if(Q=!0,N1(J.charCodeAt(1))){let G=2,U=G;while(G<X&&!N1(J.charCodeAt(G)))G++;if(G<X&&G!==U){let H=J.slice(U,G);U=G;while(G<X&&N1(J.charCodeAt(G)))G++;if(G<X&&G!==U){U=G;while(G<X&&!N1(J.charCodeAt(G)))G++;if(G===X)return`\\\\\\\\${H}\\\\${J.slice(U)}\\\\`;if(G!==U)Z=`\\\\\\\\${H}\\\\${J.slice(U,G)}`,Y=G}}}else Y=1;else if(ZQ($)&&J.charCodeAt(1)===YQ){if(Z=J.slice(0,2),Y=2,X>2&&N1(J.charCodeAt(2)))Q=!0,Y=3}let q=Y<X?pD(J.slice(Y),!Q,\"\\\\\",N1):\"\";if(q.length===0&&!Q)q=\".\";if(q.length>0&&N1(J.charCodeAt(X-1)))q+=\"\\\\\";if(!Q&&Z===void 0&&J.includes(\":\")){if(q.length>=2&&ZQ(q.charCodeAt(0))&&q.charCodeAt(1)===YQ)return`.\\\\${q}`;let G=J.indexOf(\":\");do if(G===X-1||N1(J.charCodeAt(G+1)))return`.\\\\${q}`;while((G=J.indexOf(\":\",G+1))!==-1)}if(Z===void 0)return Q?`\\\\${q}`:q;return Q?`${Z}\\\\${q}`:`${Z}${q}`},isAbsolute(J){s8(J,\"path\");let X=J.length;if(X===0)return!1;let Y=J.charCodeAt(0);return N1(Y)||X>2&&ZQ(Y)&&J.charCodeAt(1)===YQ&&N1(J.charCodeAt(2))},join(...J){if(J.length===0)return\".\";let X,Y;for(let $=0;$<J.length;++$){let q=J[$];if(s8(q,\"path\"),q.length>0)if(X===void 0)X=Y=q;else X+=`\\\\${q}`}if(X===void 0)return\".\";let Z=!0,Q=0;if(typeof Y===\"string\"&&N1(Y.charCodeAt(0))){++Q;let $=Y.length;if($>1&&N1(Y.charCodeAt(1))){if(++Q,$>2)if(N1(Y.charCodeAt(2)))++Q;else Z=!1}}if(Z){while(Q<X.length&&N1(X.charCodeAt(Q)))Q++;if(Q>=2)X=`\\\\${X.slice(Q)}`}return N7.normalize(X)},relative(J,X){if(s8(J,\"from\"),s8(X,\"to\"),J===X)return\"\";let Y=N7.resolve(J),Z=N7.resolve(X);if(Y===Z)return\"\";if(J=Y.toLowerCase(),X=Z.toLowerCase(),J===X)return\"\";if(Y.length!==J.length||Z.length!==X.length){let z=Y.split(\"\\\\\"),B=Z.split(\"\\\\\");if(z[z.length-1]===\"\")z.pop();if(B[B.length-1]===\"\")B.pop();let P=z.length,_=B.length,A=P<_?P:_,O;for(O=0;O<A;O++)if(z[O].toLowerCase()!==B[O].toLowerCase())break;if(O===0)return Z;else if(O===A){if(_>A)return B.slice(O).join(\"\\\\\");if(P>A)return\"..\\\\\".repeat(P-1-O)+\"..\";return\"\"}return\"..\\\\\".repeat(P-O)+B.slice(O).join(\"\\\\\")}let Q=0;while(Q<J.length&&J.charCodeAt(Q)===J9)Q++;let $=J.length;while($-1>Q&&J.charCodeAt($-1)===J9)$--;let q=$-Q,G=0;while(G<X.length&&X.charCodeAt(G)===J9)G++;let U=X.length;while(U-1>G&&X.charCodeAt(U-1)===J9)U--;let H=U-G,V=q<H?q:H,K=-1,j=0;for(;j<V;j++){let z=J.charCodeAt(Q+j);if(z!==X.charCodeAt(G+j))break;else if(z===J9)K=j}if(j!==V){if(K===-1)return Z}else{if(H>V){if(X.charCodeAt(G+j)===J9)return Z.slice(G+j+1);if(j===2)return Z.slice(G+j)}if(q>V){if(J.charCodeAt(Q+j)===J9)K=j;else if(j===2)K=3}if(K===-1)K=0}let W=\"\";for(j=Q+K+1;j<=$;++j)if(j===$||J.charCodeAt(j)===J9)W+=W.length===0?\"..\":\"\\\\..\";if(G+=K,W.length>0)return`${W}${Z.slice(G,U)}`;if(Z.charCodeAt(G)===J9)++G;return Z.slice(G,U)},toNamespacedPath(J){if(typeof J!==\"string\"||J.length===0)return J;let X=N7.resolve(J);if(X.length<=2)return J;if(X.charCodeAt(0)===J9){if(X.charCodeAt(1)===J9){let Y=X.charCodeAt(2);if(Y!==CK0&&Y!==Bq)return`\\\\\\\\?\\\\UNC\\\\${X.slice(2)}`}}else if(ZQ(X.charCodeAt(0))&&X.charCodeAt(1)===YQ&&X.charCodeAt(2)===J9)return`\\\\\\\\?\\\\${X}`;return X},dirname(J){s8(J,\"path\");let X=J.length;if(X===0)return\".\";let Y=-1,Z=0,Q=J.charCodeAt(0);if(X===1)return N1(Q)?J:\".\";if(N1(Q)){if(Y=Z=1,N1(J.charCodeAt(1))){let G=2,U=G;while(G<X&&!N1(J.charCodeAt(G)))G++;if(G<X&&G!==U){U=G;while(G<X&&N1(J.charCodeAt(G)))G++;if(G<X&&G!==U){U=G;while(G<X&&!N1(J.charCodeAt(G)))G++;if(G===X)return J;if(G!==U)Y=Z=G+1}}}}else if(ZQ(Q)&&J.charCodeAt(1)===YQ)Y=X>2&&N1(J.charCodeAt(2))?3:2,Z=Y;let $=-1,q=!0;for(let G=X-1;G>=Z;--G)if(N1(J.charCodeAt(G))){if(!q){$=G;break}}else q=!1;if($===-1){if(Y===-1)return\".\";$=Y}return J.slice(0,$)},basename(J,X){if(X!==void 0)s8(X,\"suffix\");s8(J,\"path\");let Y=0,Z=-1,Q=!0,$;if(J.length>=2&&ZQ(J.charCodeAt(0))&&J.charCodeAt(1)===YQ)Y=2;if(X!==void 0&&X.length>0&&X.length<=J.length){if(X===J)return\"\";let q=X.length-1,G=-1;for($=J.length-1;$>=Y;--$){let U=J.charCodeAt($);if(N1(U)){if(!Q){Y=$+1;break}}else{if(G===-1)Q=!1,G=$+1;if(q>=0)if(U===X.charCodeAt(q)){if(--q===-1)Z=$}else q=-1,Z=G}}if(Y===Z)Z=G;else if(Z===-1)Z=J.length;return J.slice(Y,Z)}for($=J.length-1;$>=Y;--$)if(N1(J.charCodeAt($))){if(!Q){Y=$+1;break}}else if(Z===-1)Q=!1,Z=$+1;if(Z===-1)return\"\";return J.slice(Y,Z)},extname(J){s8(J,\"path\");let X=0,Y=-1,Z=0,Q=-1,$=!0,q=0;if(J.length>=2&&J.charCodeAt(1)===YQ&&ZQ(J.charCodeAt(0)))X=Z=2;for(let G=J.length-1;G>=X;--G){let U=J.charCodeAt(G);if(N1(U)){if(!$){Z=G+1;break}continue}if(Q===-1)$=!1,Q=G+1;if(U===Bq){if(Y===-1)Y=G;else if(q!==1)q=1}else if(Y!==-1)q=-1}if(Y===-1||Q===-1||q===0||q===1&&Y===Q-1&&Y===Z+1)return\"\";return J.slice(Y,Q)},format:Fn.bind(null,\"\\\\\"),parse(J){s8(J,\"path\");let X={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(J.length===0)return X;let Y=J.length,Z=0,Q=J.charCodeAt(0);if(Y===1){if(N1(Q))return X.root=X.dir=J,X;return X.base=X.name=J,X}if(N1(Q)){if(Z=1,N1(J.charCodeAt(1))){let K=2,j=K;while(K<Y&&!N1(J.charCodeAt(K)))K++;if(K<Y&&K!==j){j=K;while(K<Y&&N1(J.charCodeAt(K)))K++;if(K<Y&&K!==j){j=K;while(K<Y&&!N1(J.charCodeAt(K)))K++;if(K===Y)Z=K;else if(K!==j)Z=K+1}}}}else if(ZQ(Q)&&J.charCodeAt(1)===YQ){if(Y<=2)return X.root=X.dir=J,X;if(Z=2,N1(J.charCodeAt(2))){if(Y===3)return X.root=X.dir=J,X;Z=3}}if(Z>0)X.root=J.slice(0,Z);let $=-1,q=Z,G=-1,U=!0,H=J.length-1,V=0;for(;H>=Z;--H){if(Q=J.charCodeAt(H),N1(Q)){if(!U){q=H+1;break}continue}if(G===-1)U=!1,G=H+1;if(Q===Bq){if($===-1)$=H;else if(V!==1)V=1}else if($!==-1)V=-1}if(G!==-1)if($===-1||V===0||V===1&&$===G-1&&$===q+1)X.base=X.name=J.slice(q,G);else X.name=J.slice(q,$),X.base=J.slice(q,G),X.ext=J.slice($,G);if(q>0&&q!==Z)X.dir=J.slice(0,q-1);else X.dir=X.root;return X},sep:\"\\\\\",delimiter:\";\",win32:null,posix:null},hK0=(()=>{if(QQ){let J=/\\\\/g;return()=>{let X=Wz().replace(J,\"/\");return X.slice(X.indexOf(\"/\"))}}return()=>Wz()})(),r1={resolve(...J){let X=\"\",Y=!1;for(let Z=J.length-1;Z>=0&&!Y;Z--){let Q=J[Z];if(s8(Q,`paths[${Z}]`),Q.length===0)continue;X=`${Q}/${X}`,Y=Q.charCodeAt(0)===q7}if(!Y){let Z=hK0();X=`${Z}/${X}`,Y=Z.charCodeAt(0)===q7}if(X=pD(X,!Y,\"/\",Jx),Y)return`/${X}`;return X.length>0?X:\".\"},normalize(J){if(s8(J,\"path\"),J.length===0)return\".\";let X=J.charCodeAt(0)===q7,Y=J.charCodeAt(J.length-1)===q7;if(J=pD(J,!X,\"/\",Jx),J.length===0){if(X)return\"/\";return Y?\"./\":\".\"}if(Y)J+=\"/\";return X?`/${J}`:J},isAbsolute(J){return s8(J,\"path\"),J.length>0&&J.charCodeAt(0)===q7},join(...J){if(J.length===0)return\".\";let X=[];for(let Y=0;Y<J.length;++Y){let Z=J[Y];if(s8(Z,\"path\"),Z.length>0)X.push(Z)}if(X.length===0)return\".\";return r1.normalize(X.join(\"/\"))},relative(J,X){if(s8(J,\"from\"),s8(X,\"to\"),J===X)return\"\";if(J=r1.resolve(J),X=r1.resolve(X),J===X)return\"\";let Y=1,Z=J.length,Q=Z-Y,$=1,q=X.length-$,G=Q<q?Q:q,U=-1,H=0;for(;H<G;H++){let K=J.charCodeAt(Y+H);if(K!==X.charCodeAt($+H))break;else if(K===q7)U=H}if(H===G){if(q>G){if(X.charCodeAt($+H)===q7)return X.slice($+H+1);if(H===0)return X.slice($+H)}else if(Q>G){if(J.charCodeAt(Y+H)===q7)U=H;else if(H===0)U=0}}let V=\"\";for(H=Y+U+1;H<=Z;++H)if(H===Z||J.charCodeAt(H)===q7)V+=V.length===0?\"..\":\"/..\";return`${V}${X.slice($+U)}`},toNamespacedPath(J){return J},dirname(J){if(s8(J,\"path\"),J.length===0)return\".\";let X=J.charCodeAt(0)===q7,Y=-1,Z=!0;for(let Q=J.length-1;Q>=1;--Q)if(J.charCodeAt(Q)===q7){if(!Z){Y=Q;break}}else Z=!1;if(Y===-1)return X?\"/\":\".\";if(X&&Y===1)return\"//\";return J.slice(0,Y)},basename(J,X){if(X!==void 0)s8(X,\"suffix\");s8(J,\"path\");let Y=0,Z=-1,Q=!0,$;if(X!==void 0&&X.length>0&&X.length<=J.length){if(X===J)return\"\";let q=X.length-1,G=-1;for($=J.length-1;$>=0;--$){let U=J.charCodeAt($);if(U===q7){if(!Q){Y=$+1;break}}else{if(G===-1)Q=!1,G=$+1;if(q>=0)if(U===X.charCodeAt(q)){if(--q===-1)Z=$}else q=-1,Z=G}}if(Y===Z)Z=G;else if(Z===-1)Z=J.length;return J.slice(Y,Z)}for($=J.length-1;$>=0;--$)if(J.charCodeAt($)===q7){if(!Q){Y=$+1;break}}else if(Z===-1)Q=!1,Z=$+1;if(Z===-1)return\"\";return J.slice(Y,Z)},extname(J){s8(J,\"path\");let X=-1,Y=0,Z=-1,Q=!0,$=0;for(let q=J.length-1;q>=0;--q){let G=J[q];if(G===\"/\"){if(!Q){Y=q+1;break}continue}if(Z===-1)Q=!1,Z=q+1;if(G===\".\"){if(X===-1)X=q;else if($!==1)$=1}else if(X!==-1)$=-1}if(X===-1||Z===-1||$===0||$===1&&X===Z-1&&X===Y+1)return\"\";return J.slice(X,Z)},format:Fn.bind(null,\"/\"),parse(J){s8(J,\"path\");let X={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(J.length===0)return X;let Y=J.charCodeAt(0)===q7,Z;if(Y)X.root=\"/\",Z=1;else Z=0;let Q=-1,$=0,q=-1,G=!0,U=J.length-1,H=0;for(;U>=Z;--U){let V=J.charCodeAt(U);if(V===q7){if(!G){$=U+1;break}continue}if(q===-1)G=!1,q=U+1;if(V===Bq){if(Q===-1)Q=U;else if(H!==1)H=1}else if(Q!==-1)H=-1}if(q!==-1){let V=$===0&&Y?1:$;if(Q===-1||H===0||H===1&&Q===q-1&&Q===$+1)X.base=X.name=J.slice(V,q);else X.name=J.slice(V,Q),X.base=J.slice(V,q),X.ext=J.slice(Q,q)}if($>0)X.dir=J.slice(0,$-1);else if(Y)X.dir=\"/\";return X},sep:\"/\",delimiter:\":\",win32:null,posix:null};r1.win32=N7.win32=N7;r1.posix=N7.posix=r1;var _q=QQ?N7.normalize:r1.normalize,Bn=QQ?N7.join:r1.join,_n=QQ?N7.resolve:r1.resolve,An=QQ?N7.relative:r1.relative,Pn=QQ?N7.dirname:r1.dirname,Dz=QQ?N7.basename:r1.basename,Dn=QQ?N7.extname:r1.extname,FX=QQ?N7.sep:r1.sep;var vK0=/^\\w[\\w\\d+.-]*$/,gK0=/^\\//,pK0=/^\\/\\//;function mK0(J,X){if(!J.scheme&&X)throw Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${J.authority}\", path: \"${J.path}\", query: \"${J.query}\", fragment: \"${J.fragment}\"}`);if(J.scheme&&!vK0.test(J.scheme)){let Y=[...J.scheme.matchAll(/[^\\w\\d+.-]/gu)],Z=Y.length>0?` Found '${Y[0][0]}' at index ${Y[0].index} (${Y.length} total)`:\"\";throw Error(`[UriError]: Scheme contains illegal characters.${Z} (len:${J.scheme.length})`)}if(J.path){if(J.authority){if(!gK0.test(J.path))throw 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(pK0.test(J.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}}function uK0(J,X){if(!J&&!X)return\"file\";return J}function cK0(J,X){switch(J){case\"https\":case\"http\":case\"file\":if(!X)X=BX;else if(X[0]!==BX)X=BX+X;break}return X}var Q8=\"\",BX=\"/\",dK0=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;class R0{static isUri(J){if(J instanceof R0)return!0;if(!J||typeof J!==\"object\")return!1;return typeof J.authority===\"string\"&&typeof J.fragment===\"string\"&&typeof J.path===\"string\"&&typeof J.query===\"string\"&&typeof J.scheme===\"string\"&&typeof J.fsPath===\"string\"&&typeof J.with===\"function\"&&typeof J.toString===\"function\"}constructor(J,X,Y,Z,Q,$=!1){if(typeof J===\"object\")this.scheme=J.scheme||Q8,this.authority=J.authority||Q8,this.path=J.path||Q8,this.query=J.query||Q8,this.fragment=J.fragment||Q8;else this.scheme=uK0(J,$),this.authority=X||Q8,this.path=cK0(this.scheme,Y||Q8),this.query=Z||Q8,this.fragment=Q||Q8,mK0(this,$)}get fsPath(){return Oz(this,!1)}with(J){if(!J)return this;let{scheme:X,authority:Y,path:Z,query:Q,fragment:$}=J;if(X===void 0)X=this.scheme;else if(X===null)X=Q8;if(Y===void 0)Y=this.authority;else if(Y===null)Y=Q8;if(Z===void 0)Z=this.path;else if(Z===null)Z=Q8;if(Q===void 0)Q=this.query;else if(Q===null)Q=Q8;if($===void 0)$=this.fragment;else if($===null)$=Q8;if(X===this.scheme&&Y===this.authority&&Z===this.path&&Q===this.query&&$===this.fragment)return this;return new Aq(X,Y,Z,Q,$)}static parse(J,X=!1){let Y=dK0.exec(J);if(!Y)return new Aq(Q8,Q8,Q8,Q8,Q8);return new Aq(Y[2]||Q8,mD(Y[4]||Q8),mD(Y[5]||Q8),mD(Y[7]||Q8),mD(Y[9]||Q8),X)}static file(J){let X=Q8;if(z6)J=J.replace(/\\\\/g,BX);if(J[0]===BX&&J[1]===BX){let Y=J.indexOf(BX,2);if(Y===-1)X=J.substring(2),J=BX;else X=J.substring(2,Y),J=J.substring(Y)||BX}return new Aq(\"file\",X,J,Q8,Q8)}static from(J,X){return new Aq(J.scheme,J.authority,J.path,J.query,J.fragment,X)}static joinPath(J,...X){if(!J.path)throw Error(`[UriError]: cannot call joinPath on URI without path: ${J.toString()}`);let Y;if(z6&&J.scheme===\"file\")Y=R0.file(N7.join(Oz(J,!0),...X)).path;else Y=r1.join(J.path,...X);return J.with({path:Y})}toString(J=!1){return Yx(this,J)}toJSON(){return this}static revive(J){if(!J)return J;else if(J instanceof R0)return J;else{let X=new Aq(J);return X._formatted=J.external??null,X._fsPath=J._sep===Rn?J.fsPath??null:null,X}}}var Rn=z6?1:void 0;class Aq extends R0{constructor(){super(...arguments);this._formatted=null,this._fsPath=null}get fsPath(){if(!this._fsPath)this._fsPath=Oz(this,!1);return this._fsPath}toString(J=!1){if(!J){if(!this._formatted)this._formatted=Yx(this,!1);return this._formatted}else return Yx(this,!0)}toJSON(){let J={$mid:1};if(this._fsPath)J.fsPath=this._fsPath,J._sep=Rn;if(this._formatted)J.external=this._formatted;if(this.path)J.path=this.path;if(this.scheme)J.scheme=this.scheme;if(this.authority)J.authority=this.authority;if(this.query)J.query=this.query;if(this.fragment)J.fragment=this.fragment;return J}}var Nn={[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 On(J,X,Y){let Z=void 0,Q=-1;for(let $=0;$<J.length;$++){let q=J.charCodeAt($);if(q>=97&&q<=122||q>=65&&q<=90||q>=48&&q<=57||q===45||q===46||q===95||q===126||X&&q===47||Y&&q===91||Y&&q===93||Y&&q===58){if(Q!==-1)Z+=encodeURIComponent(J.substring(Q,$)),Q=-1;if(Z!==void 0)Z+=J.charAt($)}else{if(Z===void 0)Z=J.substr(0,$);let G=Nn[q];if(G!==void 0){if(Q!==-1)Z+=encodeURIComponent(J.substring(Q,$)),Q=-1;Z+=G}else if(Q===-1)Q=$}}if(Q!==-1)Z+=encodeURIComponent(J.substring(Q));return Z!==void 0?Z:J}function lK0(J){let X=void 0;for(let Y=0;Y<J.length;Y++){let Z=J.charCodeAt(Y);if(Z===35||Z===63){if(X===void 0)X=J.substr(0,Y);X+=Nn[Z]}else if(X!==void 0)X+=J[Y]}return X!==void 0?X:J}function Oz(J,X){let Y;if(J.authority&&J.path.length>1&&J.scheme===\"file\")Y=`//${J.authority}${J.path}`;else if(J.path.charCodeAt(0)===47&&(J.path.charCodeAt(1)>=65&&J.path.charCodeAt(1)<=90||J.path.charCodeAt(1)>=97&&J.path.charCodeAt(1)<=122)&&J.path.charCodeAt(2)===58)if(!X)Y=J.path[1].toLowerCase()+J.path.substr(2);else Y=J.path.substr(1);else Y=J.path;if(z6)Y=Y.replace(/\\//g,\"\\\\\");return Y}function Yx(J,X){let Y=!X?On:lK0,Z=\"\",{scheme:Q,authority:$,path:q,query:G,fragment:U}=J;if(Q)Z+=Q,Z+=\":\";if($||Q===\"file\")Z+=BX,Z+=BX;if($){let H=$.indexOf(\"@\");if(H!==-1){let V=$.substr(0,H);if($=$.substr(H+1),H=V.lastIndexOf(\":\"),H===-1)Z+=Y(V,!1,!1);else Z+=Y(V.substr(0,H),!1,!1),Z+=\":\",Z+=Y(V.substr(H+1),!1,!0);Z+=\"@\"}if($=$.toLowerCase(),H=$.lastIndexOf(\":\"),H===-1)Z+=Y($,!1,!0);else Z+=Y($.substr(0,H),!1,!0),Z+=$.substr(H)}if(q){if(q.length>=3&&q.charCodeAt(0)===47&&q.charCodeAt(2)===58){let H=q.charCodeAt(1);if(H>=65&&H<=90)q=`/${String.fromCharCode(H+32)}:${q.substr(3)}`}else if(q.length>=2&&q.charCodeAt(1)===58){let H=q.charCodeAt(0);if(H>=65&&H<=90)q=`${String.fromCharCode(H+32)}:${q.substr(2)}`}Z+=Y(q,!0,!1)}if(G)Z+=\"?\",Z+=Y(G,!1,!1);if(U)Z+=\"#\",Z+=!X?On(U,!1,!1):U;return Z}function wn(J){try{return decodeURIComponent(J)}catch{if(J.length>3)return J.substr(0,3)+wn(J.substr(3));else return J}}var Mn=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function mD(J){if(!J.match(Mn))return J;return J.replace(Mn,(X)=>wn(X))}class C{constructor(J,X){this.lineNumber=J,this.column=X}with(J=this.lineNumber,X=this.column){if(J===this.lineNumber&&X===this.column)return this;else return new C(J,X)}delta(J=0,X=0){return this.with(Math.max(1,this.lineNumber+J),Math.max(1,this.column+X))}equals(J){return C.equals(this,J)}static equals(J,X){if(!J&&!X)return!0;return!!J&&!!X&&J.lineNumber===X.lineNumber&&J.column===X.column}isBefore(J){return C.isBefore(this,J)}static isBefore(J,X){if(J.lineNumber<X.lineNumber)return!0;if(X.lineNumber<J.lineNumber)return!1;return J.column<X.column}isBeforeOrEqual(J){return C.isBeforeOrEqual(this,J)}static isBeforeOrEqual(J,X){if(J.lineNumber<X.lineNumber)return!0;if(X.lineNumber<J.lineNumber)return!1;return J.column<=X.column}static compare(J,X){let Y=J.lineNumber|0,Z=X.lineNumber|0;if(Y===Z){let Q=J.column|0,$=X.column|0;return Q-$}return Y-Z}clone(){return new C(this.lineNumber,this.column)}toString(){return\"(\"+this.lineNumber+\",\"+this.column+\")\"}static lift(J){return new C(J.lineNumber,J.column)}static isIPosition(J){return!!J&&typeof J.lineNumber===\"number\"&&typeof J.column===\"number\"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}class T{constructor(J,X,Y,Z){if(J>Y||J===Y&&X>Z)this.startLineNumber=Y,this.startColumn=Z,this.endLineNumber=J,this.endColumn=X;else this.startLineNumber=J,this.startColumn=X,this.endLineNumber=Y,this.endColumn=Z}isEmpty(){return T.isEmpty(this)}static isEmpty(J){return J.startLineNumber===J.endLineNumber&&J.startColumn===J.endColumn}containsPosition(J){return T.containsPosition(this,J)}static containsPosition(J,X){if(X.lineNumber<J.startLineNumber||X.lineNumber>J.endLineNumber)return!1;if(X.lineNumber===J.startLineNumber&&X.column<J.startColumn)return!1;if(X.lineNumber===J.endLineNumber&&X.column>J.endColumn)return!1;return!0}static strictContainsPosition(J,X){if(X.lineNumber<J.startLineNumber||X.lineNumber>J.endLineNumber)return!1;if(X.lineNumber===J.startLineNumber&&X.column<=J.startColumn)return!1;if(X.lineNumber===J.endLineNumber&&X.column>=J.endColumn)return!1;return!0}containsRange(J){return T.containsRange(this,J)}static containsRange(J,X){if(X.startLineNumber<J.startLineNumber||X.endLineNumber<J.startLineNumber)return!1;if(X.startLineNumber>J.endLineNumber||X.endLineNumber>J.endLineNumber)return!1;if(X.startLineNumber===J.startLineNumber&&X.startColumn<J.startColumn)return!1;if(X.endLineNumber===J.endLineNumber&&X.endColumn>J.endColumn)return!1;return!0}strictContainsRange(J){return T.strictContainsRange(this,J)}static strictContainsRange(J,X){if(X.startLineNumber<J.startLineNumber||X.endLineNumber<J.startLineNumber)return!1;if(X.startLineNumber>J.endLineNumber||X.endLineNumber>J.endLineNumber)return!1;if(X.startLineNumber===J.startLineNumber&&X.startColumn<=J.startColumn)return!1;if(X.endLineNumber===J.endLineNumber&&X.endColumn>=J.endColumn)return!1;return!0}plusRange(J){return T.plusRange(this,J)}static plusRange(J,X){let Y,Z,Q,$;if(X.startLineNumber<J.startLineNumber)Y=X.startLineNumber,Z=X.startColumn;else if(X.startLineNumber===J.startLineNumber)Y=X.startLineNumber,Z=Math.min(X.startColumn,J.startColumn);else Y=J.startLineNumber,Z=J.startColumn;if(X.endLineNumber>J.endLineNumber)Q=X.endLineNumber,$=X.endColumn;else if(X.endLineNumber===J.endLineNumber)Q=X.endLineNumber,$=Math.max(X.endColumn,J.endColumn);else Q=J.endLineNumber,$=J.endColumn;return new T(Y,Z,Q,$)}intersectRanges(J){return T.intersectRanges(this,J)}static intersectRanges(J,X){let{startLineNumber:Y,startColumn:Z,endLineNumber:Q,endColumn:$}=J,q=X.startLineNumber,G=X.startColumn,U=X.endLineNumber,H=X.endColumn;if(Y<q)Y=q,Z=G;else if(Y===q)Z=Math.max(Z,G);if(Q>U)Q=U,$=H;else if(Q===U)$=Math.min($,H);if(Y>Q)return null;if(Y===Q&&Z>$)return null;return new T(Y,Z,Q,$)}equalsRange(J){return T.equalsRange(this,J)}static equalsRange(J,X){if(!J&&!X)return!0;return!!J&&!!X&&J.startLineNumber===X.startLineNumber&&J.startColumn===X.startColumn&&J.endLineNumber===X.endLineNumber&&J.endColumn===X.endColumn}getEndPosition(){return T.getEndPosition(this)}static getEndPosition(J){return new C(J.endLineNumber,J.endColumn)}getStartPosition(){return T.getStartPosition(this)}static getStartPosition(J){return new C(J.startLineNumber,J.startColumn)}toString(){return\"[\"+this.startLineNumber+\",\"+this.startColumn+\" -> \"+this.endLineNumber+\",\"+this.endColumn+\"]\"}setEndPosition(J,X){return new T(this.startLineNumber,this.startColumn,J,X)}setStartPosition(J,X){return new T(J,X,this.endLineNumber,this.endColumn)}collapseToStart(){return T.collapseToStart(this)}static collapseToStart(J){return new T(J.startLineNumber,J.startColumn,J.startLineNumber,J.startColumn)}collapseToEnd(){return T.collapseToEnd(this)}static collapseToEnd(J){return new T(J.endLineNumber,J.endColumn,J.endLineNumber,J.endColumn)}delta(J){return new T(this.startLineNumber+J,this.startColumn,this.endLineNumber+J,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(J,X=J){return new T(J.lineNumber,J.column,X.lineNumber,X.column)}static lift(J){if(!J)return null;return new T(J.startLineNumber,J.startColumn,J.endLineNumber,J.endColumn)}static isIRange(J){return!!J&&typeof J.startLineNumber===\"number\"&&typeof J.startColumn===\"number\"&&typeof J.endLineNumber===\"number\"&&typeof J.endColumn===\"number\"}static areIntersectingOrTouching(J,X){if(J.endLineNumber<X.startLineNumber||J.endLineNumber===X.startLineNumber&&J.endColumn<X.startColumn)return!1;if(X.endLineNumber<J.startLineNumber||X.endLineNumber===J.startLineNumber&&X.endColumn<J.startColumn)return!1;return!0}static areIntersecting(J,X){if(J.endLineNumber<X.startLineNumber||J.endLineNumber===X.startLineNumber&&J.endColumn<=X.startColumn)return!1;if(X.endLineNumber<J.startLineNumber||X.endLineNumber===J.startLineNumber&&X.endColumn<=J.startColumn)return!1;return!0}static areOnlyIntersecting(J,X){if(J.endLineNumber<X.startLineNumber-1||J.endLineNumber===X.startLineNumber&&J.endColumn<X.startColumn-1)return!1;if(X.endLineNumber<J.startLineNumber-1||X.endLineNumber===J.startLineNumber&&X.endColumn<J.startColumn-1)return!1;return!0}static compareRangesUsingStarts(J,X){if(J&&X){let Q=J.startLineNumber|0,$=X.startLineNumber|0;if(Q===$){let q=J.startColumn|0,G=X.startColumn|0;if(q===G){let U=J.endLineNumber|0,H=X.endLineNumber|0;if(U===H){let V=J.endColumn|0,K=X.endColumn|0;return V-K}return U-H}return q-G}return Q-$}return(J?1:0)-(X?1:0)}static compareRangesUsingEnds(J,X){if(J.endLineNumber===X.endLineNumber){if(J.endColumn===X.endColumn){if(J.startLineNumber===X.startLineNumber)return J.startColumn-X.startColumn;return J.startLineNumber-X.startLineNumber}return J.endColumn-X.endColumn}return J.endLineNumber-X.endLineNumber}static spansMultipleLines(J){return J.endLineNumber>J.startLineNumber}toJSON(){return this}}class Y0 extends T{constructor(J,X,Y,Z){super(J,X,Y,Z);this.selectionStartLineNumber=J,this.selectionStartColumn=X,this.positionLineNumber=Y,this.positionColumn=Z}toString(){return\"[\"+this.selectionStartLineNumber+\",\"+this.selectionStartColumn+\" -> \"+this.positionLineNumber+\",\"+this.positionColumn+\"]\"}equalsSelection(J){return Y0.selectionsEqual(this,J)}static selectionsEqual(J,X){return J.selectionStartLineNumber===X.selectionStartLineNumber&&J.selectionStartColumn===X.selectionStartColumn&&J.positionLineNumber===X.positionLineNumber&&J.positionColumn===X.positionColumn}getDirection(){if(this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn)return 0;return 1}setEndPosition(J,X){if(this.getDirection()===0)return new Y0(this.startLineNumber,this.startColumn,J,X);return new Y0(J,X,this.startLineNumber,this.startColumn)}getPosition(){return new C(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new C(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(J,X){if(this.getDirection()===0)return new Y0(J,X,this.endLineNumber,this.endColumn);return new Y0(this.endLineNumber,this.endColumn,J,X)}static fromPositions(J,X=J){return new Y0(J.lineNumber,J.column,X.lineNumber,X.column)}static fromRange(J,X){if(X===0)return new Y0(J.startLineNumber,J.startColumn,J.endLineNumber,J.endColumn);else return new Y0(J.endLineNumber,J.endColumn,J.startLineNumber,J.startColumn)}static liftSelection(J){return new Y0(J.selectionStartLineNumber,J.selectionStartColumn,J.positionLineNumber,J.positionColumn)}static selectionsArrEqual(J,X){if(J&&!X||!J&&X)return!1;if(!J&&!X)return!0;if(J.length!==X.length)return!1;for(let Y=0,Z=J.length;Y<Z;Y++)if(!this.selectionsEqual(J[Y],X[Y]))return!1;return!0}static isISelection(J){return!!J&&typeof J.selectionStartLineNumber===\"number\"&&typeof J.selectionStartColumn===\"number\"&&typeof J.positionLineNumber===\"number\"&&typeof J.positionColumn===\"number\"}static createWithDirection(J,X,Y,Z,Q){if(Q===0)return new Y0(J,X,Y,Z);return new Y0(Y,Z,J,X)}}var Zx=Object.create(null);function M(J,X){if(t1(X)){let Y=Zx[X];if(Y===void 0)throw Error(`${J} references an unknown codicon: ${X}`);X=Y}return Zx[J]=X,{id:J}}function uD(){return Zx}var Tn={add:M(\"add\",60000),plus:M(\"plus\",60000),gistNew:M(\"gist-new\",60000),repoCreate:M(\"repo-create\",60000),lightbulb:M(\"lightbulb\",60001),lightBulb:M(\"light-bulb\",60001),repo:M(\"repo\",60002),repoDelete:M(\"repo-delete\",60002),gistFork:M(\"gist-fork\",60003),repoForked:M(\"repo-forked\",60003),gitPullRequest:M(\"git-pull-request\",60004),gitPullRequestAbandoned:M(\"git-pull-request-abandoned\",60004),recordKeys:M(\"record-keys\",60005),keyboard:M(\"keyboard\",60005),tag:M(\"tag\",60006),gitPullRequestLabel:M(\"git-pull-request-label\",60006),tagAdd:M(\"tag-add\",60006),tagRemove:M(\"tag-remove\",60006),person:M(\"person\",60007),personFollow:M(\"person-follow\",60007),personOutline:M(\"person-outline\",60007),personFilled:M(\"person-filled\",60007),sourceControl:M(\"source-control\",60008),mirror:M(\"mirror\",60009),mirrorPublic:M(\"mirror-public\",60009),star:M(\"star\",60010),starAdd:M(\"star-add\",60010),starDelete:M(\"star-delete\",60010),starEmpty:M(\"star-empty\",60010),comment:M(\"comment\",60011),commentAdd:M(\"comment-add\",60011),alert:M(\"alert\",60012),warning:M(\"warning\",60012),search:M(\"search\",60013),searchSave:M(\"search-save\",60013),logOut:M(\"log-out\",60014),signOut:M(\"sign-out\",60014),logIn:M(\"log-in\",60015),signIn:M(\"sign-in\",60015),eye:M(\"eye\",60016),eyeUnwatch:M(\"eye-unwatch\",60016),eyeWatch:M(\"eye-watch\",60016),circleFilled:M(\"circle-filled\",60017),primitiveDot:M(\"primitive-dot\",60017),closeDirty:M(\"close-dirty\",60017),debugBreakpoint:M(\"debug-breakpoint\",60017),debugBreakpointDisabled:M(\"debug-breakpoint-disabled\",60017),debugHint:M(\"debug-hint\",60017),terminalDecorationSuccess:M(\"terminal-decoration-success\",60017),primitiveSquare:M(\"primitive-square\",60018),edit:M(\"edit\",60019),pencil:M(\"pencil\",60019),info:M(\"info\",60020),issueOpened:M(\"issue-opened\",60020),gistPrivate:M(\"gist-private\",60021),gitForkPrivate:M(\"git-fork-private\",60021),lock:M(\"lock\",60021),mirrorPrivate:M(\"mirror-private\",60021),close:M(\"close\",60022),removeClose:M(\"remove-close\",60022),x:M(\"x\",60022),repoSync:M(\"repo-sync\",60023),sync:M(\"sync\",60023),clone:M(\"clone\",60024),desktopDownload:M(\"desktop-download\",60024),beaker:M(\"beaker\",60025),microscope:M(\"microscope\",60025),vm:M(\"vm\",60026),deviceDesktop:M(\"device-desktop\",60026),file:M(\"file\",60027),more:M(\"more\",60028),ellipsis:M(\"ellipsis\",60028),kebabHorizontal:M(\"kebab-horizontal\",60028),mailReply:M(\"mail-reply\",60029),reply:M(\"reply\",60029),organization:M(\"organization\",60030),organizationFilled:M(\"organization-filled\",60030),organizationOutline:M(\"organization-outline\",60030),newFile:M(\"new-file\",60031),fileAdd:M(\"file-add\",60031),newFolder:M(\"new-folder\",60032),fileDirectoryCreate:M(\"file-directory-create\",60032),trash:M(\"trash\",60033),trashcan:M(\"trashcan\",60033),history:M(\"history\",60034),clock:M(\"clock\",60034),folder:M(\"folder\",60035),fileDirectory:M(\"file-directory\",60035),symbolFolder:M(\"symbol-folder\",60035),logoGithub:M(\"logo-github\",60036),markGithub:M(\"mark-github\",60036),github:M(\"github\",60036),terminal:M(\"terminal\",60037),console:M(\"console\",60037),repl:M(\"repl\",60037),zap:M(\"zap\",60038),symbolEvent:M(\"symbol-event\",60038),error:M(\"error\",60039),stop:M(\"stop\",60039),variable:M(\"variable\",60040),symbolVariable:M(\"symbol-variable\",60040),array:M(\"array\",60042),symbolArray:M(\"symbol-array\",60042),symbolModule:M(\"symbol-module\",60043),symbolPackage:M(\"symbol-package\",60043),symbolNamespace:M(\"symbol-namespace\",60043),symbolObject:M(\"symbol-object\",60043),symbolMethod:M(\"symbol-method\",60044),symbolFunction:M(\"symbol-function\",60044),symbolConstructor:M(\"symbol-constructor\",60044),symbolBoolean:M(\"symbol-boolean\",60047),symbolNull:M(\"symbol-null\",60047),symbolNumeric:M(\"symbol-numeric\",60048),symbolNumber:M(\"symbol-number\",60048),symbolStructure:M(\"symbol-structure\",60049),symbolStruct:M(\"symbol-struct\",60049),symbolParameter:M(\"symbol-parameter\",60050),symbolTypeParameter:M(\"symbol-type-parameter\",60050),symbolKey:M(\"symbol-key\",60051),symbolText:M(\"symbol-text\",60051),symbolReference:M(\"symbol-reference\",60052),goToFile:M(\"go-to-file\",60052),symbolEnum:M(\"symbol-enum\",60053),symbolValue:M(\"symbol-value\",60053),symbolRuler:M(\"symbol-ruler\",60054),symbolUnit:M(\"symbol-unit\",60054),activateBreakpoints:M(\"activate-breakpoints\",60055),archive:M(\"archive\",60056),arrowBoth:M(\"arrow-both\",60057),arrowDown:M(\"arrow-down\",60058),arrowLeft:M(\"arrow-left\",60059),arrowRight:M(\"arrow-right\",60060),arrowSmallDown:M(\"arrow-small-down\",60061),arrowSmallLeft:M(\"arrow-small-left\",60062),arrowSmallRight:M(\"arrow-small-right\",60063),arrowSmallUp:M(\"arrow-small-up\",60064),arrowUp:M(\"arrow-up\",60065),bell:M(\"bell\",60066),bold:M(\"bold\",60067),book:M(\"book\",60068),bookmark:M(\"bookmark\",60069),debugBreakpointConditionalUnverified:M(\"debug-breakpoint-conditional-unverified\",60070),debugBreakpointConditional:M(\"debug-breakpoint-conditional\",60071),debugBreakpointConditionalDisabled:M(\"debug-breakpoint-conditional-disabled\",60071),debugBreakpointDataUnverified:M(\"debug-breakpoint-data-unverified\",60072),debugBreakpointData:M(\"debug-breakpoint-data\",60073),debugBreakpointDataDisabled:M(\"debug-breakpoint-data-disabled\",60073),debugBreakpointLogUnverified:M(\"debug-breakpoint-log-unverified\",60074),debugBreakpointLog:M(\"debug-breakpoint-log\",60075),debugBreakpointLogDisabled:M(\"debug-breakpoint-log-disabled\",60075),briefcase:M(\"briefcase\",60076),broadcast:M(\"broadcast\",60077),browser:M(\"browser\",60078),bug:M(\"bug\",60079),calendar:M(\"calendar\",60080),caseSensitive:M(\"case-sensitive\",60081),check:M(\"check\",60082),checklist:M(\"checklist\",60083),chevronDown:M(\"chevron-down\",60084),chevronLeft:M(\"chevron-left\",60085),chevronRight:M(\"chevron-right\",60086),chevronUp:M(\"chevron-up\",60087),chromeClose:M(\"chrome-close\",60088),chromeMaximize:M(\"chrome-maximize\",60089),chromeMinimize:M(\"chrome-minimize\",60090),chromeRestore:M(\"chrome-restore\",60091),circleOutline:M(\"circle-outline\",60092),circle:M(\"circle\",60092),debugBreakpointUnverified:M(\"debug-breakpoint-unverified\",60092),terminalDecorationIncomplete:M(\"terminal-decoration-incomplete\",60092),circleSlash:M(\"circle-slash\",60093),circuitBoard:M(\"circuit-board\",60094),clearAll:M(\"clear-all\",60095),clippy:M(\"clippy\",60096),closeAll:M(\"close-all\",60097),cloudDownload:M(\"cloud-download\",60098),cloudUpload:M(\"cloud-upload\",60099),code:M(\"code\",60100),collapseAll:M(\"collapse-all\",60101),colorMode:M(\"color-mode\",60102),commentDiscussion:M(\"comment-discussion\",60103),creditCard:M(\"credit-card\",60105),dash:M(\"dash\",60108),dashboard:M(\"dashboard\",60109),database:M(\"database\",60110),debugContinue:M(\"debug-continue\",60111),debugDisconnect:M(\"debug-disconnect\",60112),debugPause:M(\"debug-pause\",60113),debugRestart:M(\"debug-restart\",60114),debugStart:M(\"debug-start\",60115),debugStepInto:M(\"debug-step-into\",60116),debugStepOut:M(\"debug-step-out\",60117),debugStepOver:M(\"debug-step-over\",60118),debugStop:M(\"debug-stop\",60119),debug:M(\"debug\",60120),deviceCameraVideo:M(\"device-camera-video\",60121),deviceCamera:M(\"device-camera\",60122),deviceMobile:M(\"device-mobile\",60123),diffAdded:M(\"diff-added\",60124),diffIgnored:M(\"diff-ignored\",60125),diffModified:M(\"diff-modified\",60126),diffRemoved:M(\"diff-removed\",60127),diffRenamed:M(\"diff-renamed\",60128),diff:M(\"diff\",60129),diffSidebyside:M(\"diff-sidebyside\",60129),discard:M(\"discard\",60130),editorLayout:M(\"editor-layout\",60131),emptyWindow:M(\"empty-window\",60132),exclude:M(\"exclude\",60133),extensions:M(\"extensions\",60134),eyeClosed:M(\"eye-closed\",60135),fileBinary:M(\"file-binary\",60136),fileCode:M(\"file-code\",60137),fileMedia:M(\"file-media\",60138),filePdf:M(\"file-pdf\",60139),fileSubmodule:M(\"file-submodule\",60140),fileSymlinkDirectory:M(\"file-symlink-directory\",60141),fileSymlinkFile:M(\"file-symlink-file\",60142),fileZip:M(\"file-zip\",60143),files:M(\"files\",60144),filter:M(\"filter\",60145),flame:M(\"flame\",60146),foldDown:M(\"fold-down\",60147),foldUp:M(\"fold-up\",60148),fold:M(\"fold\",60149),folderActive:M(\"folder-active\",60150),folderOpened:M(\"folder-opened\",60151),gear:M(\"gear\",60152),gift:M(\"gift\",60153),gistSecret:M(\"gist-secret\",60154),gist:M(\"gist\",60155),gitCommit:M(\"git-commit\",60156),gitCompare:M(\"git-compare\",60157),compareChanges:M(\"compare-changes\",60157),gitMerge:M(\"git-merge\",60158),githubAction:M(\"github-action\",60159),githubAlt:M(\"github-alt\",60160),globe:M(\"globe\",60161),grabber:M(\"grabber\",60162),graph:M(\"graph\",60163),gripper:M(\"gripper\",60164),heart:M(\"heart\",60165),home:M(\"home\",60166),horizontalRule:M(\"horizontal-rule\",60167),hubot:M(\"hubot\",60168),inbox:M(\"inbox\",60169),issueReopened:M(\"issue-reopened\",60171),issues:M(\"issues\",60172),italic:M(\"italic\",60173),jersey:M(\"jersey\",60174),json:M(\"json\",60175),bracket:M(\"bracket\",60175),kebabVertical:M(\"kebab-vertical\",60176),key:M(\"key\",60177),law:M(\"law\",60178),lightbulbAutofix:M(\"lightbulb-autofix\",60179),linkExternal:M(\"link-external\",60180),link:M(\"link\",60181),listOrdered:M(\"list-ordered\",60182),listUnordered:M(\"list-unordered\",60183),liveShare:M(\"live-share\",60184),loading:M(\"loading\",60185),location:M(\"location\",60186),mailRead:M(\"mail-read\",60187),mail:M(\"mail\",60188),markdown:M(\"markdown\",60189),megaphone:M(\"megaphone\",60190),mention:M(\"mention\",60191),milestone:M(\"milestone\",60192),gitPullRequestMilestone:M(\"git-pull-request-milestone\",60192),mortarBoard:M(\"mortar-board\",60193),move:M(\"move\",60194),multipleWindows:M(\"multiple-windows\",60195),mute:M(\"mute\",60196),noNewline:M(\"no-newline\",60197),note:M(\"note\",60198),octoface:M(\"octoface\",60199),openPreview:M(\"open-preview\",60200),package:M(\"package\",60201),paintcan:M(\"paintcan\",60202),pin:M(\"pin\",60203),play:M(\"play\",60204),run:M(\"run\",60204),plug:M(\"plug\",60205),preserveCase:M(\"preserve-case\",60206),preview:M(\"preview\",60207),project:M(\"project\",60208),pulse:M(\"pulse\",60209),question:M(\"question\",60210),quote:M(\"quote\",60211),radioTower:M(\"radio-tower\",60212),reactions:M(\"reactions\",60213),references:M(\"references\",60214),refresh:M(\"refresh\",60215),regex:M(\"regex\",60216),remoteExplorer:M(\"remote-explorer\",60217),remote:M(\"remote\",60218),remove:M(\"remove\",60219),replaceAll:M(\"replace-all\",60220),replace:M(\"replace\",60221),repoClone:M(\"repo-clone\",60222),repoForcePush:M(\"repo-force-push\",60223),repoPull:M(\"repo-pull\",60224),repoPush:M(\"repo-push\",60225),report:M(\"report\",60226),requestChanges:M(\"request-changes\",60227),rocket:M(\"rocket\",60228),rootFolderOpened:M(\"root-folder-opened\",60229),rootFolder:M(\"root-folder\",60230),rss:M(\"rss\",60231),ruby:M(\"ruby\",60232),saveAll:M(\"save-all\",60233),saveAs:M(\"save-as\",60234),save:M(\"save\",60235),screenFull:M(\"screen-full\",60236),screenNormal:M(\"screen-normal\",60237),searchStop:M(\"search-stop\",60238),server:M(\"server\",60240),settingsGear:M(\"settings-gear\",60241),settings:M(\"settings\",60242),shield:M(\"shield\",60243),smiley:M(\"smiley\",60244),sortPrecedence:M(\"sort-precedence\",60245),splitHorizontal:M(\"split-horizontal\",60246),splitVertical:M(\"split-vertical\",60247),squirrel:M(\"squirrel\",60248),starFull:M(\"star-full\",60249),starHalf:M(\"star-half\",60250),symbolClass:M(\"symbol-class\",60251),symbolColor:M(\"symbol-color\",60252),symbolConstant:M(\"symbol-constant\",60253),symbolEnumMember:M(\"symbol-enum-member\",60254),symbolField:M(\"symbol-field\",60255),symbolFile:M(\"symbol-file\",60256),symbolInterface:M(\"symbol-interface\",60257),symbolKeyword:M(\"symbol-keyword\",60258),symbolMisc:M(\"symbol-misc\",60259),symbolOperator:M(\"symbol-operator\",60260),symbolProperty:M(\"symbol-property\",60261),wrench:M(\"wrench\",60261),wrenchSubaction:M(\"wrench-subaction\",60261),symbolSnippet:M(\"symbol-snippet\",60262),tasklist:M(\"tasklist\",60263),telescope:M(\"telescope\",60264),textSize:M(\"text-size\",60265),threeBars:M(\"three-bars\",60266),thumbsdown:M(\"thumbsdown\",60267),thumbsup:M(\"thumbsup\",60268),tools:M(\"tools\",60269),triangleDown:M(\"triangle-down\",60270),triangleLeft:M(\"triangle-left\",60271),triangleRight:M(\"triangle-right\",60272),triangleUp:M(\"triangle-up\",60273),twitter:M(\"twitter\",60274),unfold:M(\"unfold\",60275),unlock:M(\"unlock\",60276),unmute:M(\"unmute\",60277),unverified:M(\"unverified\",60278),verified:M(\"verified\",60279),versions:M(\"versions\",60280),vmActive:M(\"vm-active\",60281),vmOutline:M(\"vm-outline\",60282),vmRunning:M(\"vm-running\",60283),watch:M(\"watch\",60284),whitespace:M(\"whitespace\",60285),wholeWord:M(\"whole-word\",60286),window:M(\"window\",60287),wordWrap:M(\"word-wrap\",60288),zoomIn:M(\"zoom-in\",60289),zoomOut:M(\"zoom-out\",60290),listFilter:M(\"list-filter\",60291),listFlat:M(\"list-flat\",60292),listSelection:M(\"list-selection\",60293),selection:M(\"selection\",60293),listTree:M(\"list-tree\",60294),debugBreakpointFunctionUnverified:M(\"debug-breakpoint-function-unverified\",60295),debugBreakpointFunction:M(\"debug-breakpoint-function\",60296),debugBreakpointFunctionDisabled:M(\"debug-breakpoint-function-disabled\",60296),debugStackframeActive:M(\"debug-stackframe-active\",60297),circleSmallFilled:M(\"circle-small-filled\",60298),debugStackframeDot:M(\"debug-stackframe-dot\",60298),terminalDecorationMark:M(\"terminal-decoration-mark\",60298),debugStackframe:M(\"debug-stackframe\",60299),debugStackframeFocused:M(\"debug-stackframe-focused\",60299),debugBreakpointUnsupported:M(\"debug-breakpoint-unsupported\",60300),symbolString:M(\"symbol-string\",60301),debugReverseContinue:M(\"debug-reverse-continue\",60302),debugStepBack:M(\"debug-step-back\",60303),debugRestartFrame:M(\"debug-restart-frame\",60304),debugAlt:M(\"debug-alt\",60305),callIncoming:M(\"call-incoming\",60306),callOutgoing:M(\"call-outgoing\",60307),menu:M(\"menu\",60308),expandAll:M(\"expand-all\",60309),feedback:M(\"feedback\",60310),gitPullRequestReviewer:M(\"git-pull-request-reviewer\",60310),groupByRefType:M(\"group-by-ref-type\",60311),ungroupByRefType:M(\"ungroup-by-ref-type\",60312),account:M(\"account\",60313),gitPullRequestAssignee:M(\"git-pull-request-assignee\",60313),bellDot:M(\"bell-dot\",60314),debugConsole:M(\"debug-console\",60315),library:M(\"library\",60316),output:M(\"output\",60317),runAll:M(\"run-all\",60318),syncIgnored:M(\"sync-ignored\",60319),pinned:M(\"pinned\",60320),githubInverted:M(\"github-inverted\",60321),serverProcess:M(\"server-process\",60322),serverEnvironment:M(\"server-environment\",60323),pass:M(\"pass\",60324),issueClosed:M(\"issue-closed\",60324),stopCircle:M(\"stop-circle\",60325),playCircle:M(\"play-circle\",60326),record:M(\"record\",60327),debugAltSmall:M(\"debug-alt-small\",60328),vmConnect:M(\"vm-connect\",60329),cloud:M(\"cloud\",60330),merge:M(\"merge\",60331),export:M(\"export\",60332),graphLeft:M(\"graph-left\",60333),magnet:M(\"magnet\",60334),notebook:M(\"notebook\",60335),redo:M(\"redo\",60336),checkAll:M(\"check-all\",60337),pinnedDirty:M(\"pinned-dirty\",60338),passFilled:M(\"pass-filled\",60339),circleLargeFilled:M(\"circle-large-filled\",60340),circleLarge:M(\"circle-large\",60341),circleLargeOutline:M(\"circle-large-outline\",60341),combine:M(\"combine\",60342),gather:M(\"gather\",60342),table:M(\"table\",60343),variableGroup:M(\"variable-group\",60344),typeHierarchy:M(\"type-hierarchy\",60345),typeHierarchySub:M(\"type-hierarchy-sub\",60346),typeHierarchySuper:M(\"type-hierarchy-super\",60347),gitPullRequestCreate:M(\"git-pull-request-create\",60348),runAbove:M(\"run-above\",60349),runBelow:M(\"run-below\",60350),notebookTemplate:M(\"notebook-template\",60351),debugRerun:M(\"debug-rerun\",60352),workspaceTrusted:M(\"workspace-trusted\",60353),workspaceUntrusted:M(\"workspace-untrusted\",60354),workspaceUnknown:M(\"workspace-unknown\",60355),terminalCmd:M(\"terminal-cmd\",60356),terminalDebian:M(\"terminal-debian\",60357),terminalLinux:M(\"terminal-linux\",60358),terminalPowershell:M(\"terminal-powershell\",60359),terminalTmux:M(\"terminal-tmux\",60360),terminalUbuntu:M(\"terminal-ubuntu\",60361),terminalBash:M(\"terminal-bash\",60362),arrowSwap:M(\"arrow-swap\",60363),copy:M(\"copy\",60364),personAdd:M(\"person-add\",60365),filterFilled:M(\"filter-filled\",60366),wand:M(\"wand\",60367),debugLineByLine:M(\"debug-line-by-line\",60368),inspect:M(\"inspect\",60369),layers:M(\"layers\",60370),layersDot:M(\"layers-dot\",60371),layersActive:M(\"layers-active\",60372),compass:M(\"compass\",60373),compassDot:M(\"compass-dot\",60374),compassActive:M(\"compass-active\",60375),azure:M(\"azure\",60376),issueDraft:M(\"issue-draft\",60377),gitPullRequestClosed:M(\"git-pull-request-closed\",60378),gitPullRequestDraft:M(\"git-pull-request-draft\",60379),debugAll:M(\"debug-all\",60380),debugCoverage:M(\"debug-coverage\",60381),runErrors:M(\"run-errors\",60382),folderLibrary:M(\"folder-library\",60383),debugContinueSmall:M(\"debug-continue-small\",60384),beakerStop:M(\"beaker-stop\",60385),graphLine:M(\"graph-line\",60386),graphScatter:M(\"graph-scatter\",60387),pieChart:M(\"pie-chart\",60388),bracketDot:M(\"bracket-dot\",60389),bracketError:M(\"bracket-error\",60390),lockSmall:M(\"lock-small\",60391),azureDevops:M(\"azure-devops\",60392),verifiedFilled:M(\"verified-filled\",60393),newline:M(\"newline\",60394),layout:M(\"layout\",60395),layoutActivitybarLeft:M(\"layout-activitybar-left\",60396),layoutActivitybarRight:M(\"layout-activitybar-right\",60397),layoutPanelLeft:M(\"layout-panel-left\",60398),layoutPanelCenter:M(\"layout-panel-center\",60399),layoutPanelJustify:M(\"layout-panel-justify\",60400),layoutPanelRight:M(\"layout-panel-right\",60401),layoutPanel:M(\"layout-panel\",60402),layoutSidebarLeft:M(\"layout-sidebar-left\",60403),layoutSidebarRight:M(\"layout-sidebar-right\",60404),layoutStatusbar:M(\"layout-statusbar\",60405),layoutMenubar:M(\"layout-menubar\",60406),layoutCentered:M(\"layout-centered\",60407),target:M(\"target\",60408),indent:M(\"indent\",60409),recordSmall:M(\"record-small\",60410),errorSmall:M(\"error-small\",60411),terminalDecorationError:M(\"terminal-decoration-error\",60411),arrowCircleDown:M(\"arrow-circle-down\",60412),arrowCircleLeft:M(\"arrow-circle-left\",60413),arrowCircleRight:M(\"arrow-circle-right\",60414),arrowCircleUp:M(\"arrow-circle-up\",60415),layoutSidebarRightOff:M(\"layout-sidebar-right-off\",60416),layoutPanelOff:M(\"layout-panel-off\",60417),layoutSidebarLeftOff:M(\"layout-sidebar-left-off\",60418),blank:M(\"blank\",60419),heartFilled:M(\"heart-filled\",60420),map:M(\"map\",60421),mapHorizontal:M(\"map-horizontal\",60421),foldHorizontal:M(\"fold-horizontal\",60421),mapFilled:M(\"map-filled\",60422),mapHorizontalFilled:M(\"map-horizontal-filled\",60422),foldHorizontalFilled:M(\"fold-horizontal-filled\",60422),circleSmall:M(\"circle-small\",60423),bellSlash:M(\"bell-slash\",60424),bellSlashDot:M(\"bell-slash-dot\",60425),commentUnresolved:M(\"comment-unresolved\",60426),gitPullRequestGoToChanges:M(\"git-pull-request-go-to-changes\",60427),gitPullRequestNewChanges:M(\"git-pull-request-new-changes\",60428),searchFuzzy:M(\"search-fuzzy\",60429),commentDraft:M(\"comment-draft\",60430),send:M(\"send\",60431),sparkle:M(\"sparkle\",60432),insert:M(\"insert\",60433),mic:M(\"mic\",60434),thumbsdownFilled:M(\"thumbsdown-filled\",60435),thumbsupFilled:M(\"thumbsup-filled\",60436),coffee:M(\"coffee\",60437),snake:M(\"snake\",60438),game:M(\"game\",60439),vr:M(\"vr\",60440),chip:M(\"chip\",60441),piano:M(\"piano\",60442),music:M(\"music\",60443),micFilled:M(\"mic-filled\",60444),repoFetch:M(\"repo-fetch\",60445),copilot:M(\"copilot\",60446),lightbulbSparkle:M(\"lightbulb-sparkle\",60447),robot:M(\"robot\",60448),sparkleFilled:M(\"sparkle-filled\",60449),diffSingle:M(\"diff-single\",60450),diffMultiple:M(\"diff-multiple\",60451),surroundWith:M(\"surround-with\",60452),share:M(\"share\",60453),gitStash:M(\"git-stash\",60454),gitStashApply:M(\"git-stash-apply\",60455),gitStashPop:M(\"git-stash-pop\",60456),vscode:M(\"vscode\",60457),vscodeInsiders:M(\"vscode-insiders\",60458),codeOss:M(\"code-oss\",60459),runCoverage:M(\"run-coverage\",60460),runAllCoverage:M(\"run-all-coverage\",60461),coverage:M(\"coverage\",60462),githubProject:M(\"github-project\",60463),mapVertical:M(\"map-vertical\",60464),foldVertical:M(\"fold-vertical\",60464),mapVerticalFilled:M(\"map-vertical-filled\",60465),foldVerticalFilled:M(\"fold-vertical-filled\",60465),goToSearch:M(\"go-to-search\",60466),percentage:M(\"percentage\",60467),sortPercentage:M(\"sort-percentage\",60467),attach:M(\"attach\",60468),goToEditingSession:M(\"go-to-editing-session\",60469),editSession:M(\"edit-session\",60470),codeReview:M(\"code-review\",60471),copilotWarning:M(\"copilot-warning\",60472),python:M(\"python\",60473),copilotLarge:M(\"copilot-large\",60474),copilotWarningLarge:M(\"copilot-warning-large\",60475),keyboardTab:M(\"keyboard-tab\",60476),copilotBlocked:M(\"copilot-blocked\",60477),copilotNotConnected:M(\"copilot-not-connected\",60478),flag:M(\"flag\",60479),lightbulbEmpty:M(\"lightbulb-empty\",60480),symbolMethodArrow:M(\"symbol-method-arrow\",60481),copilotUnavailable:M(\"copilot-unavailable\",60482),repoPinned:M(\"repo-pinned\",60483),keyboardTabAbove:M(\"keyboard-tab-above\",60484),keyboardTabBelow:M(\"keyboard-tab-below\",60485),gitPullRequestDone:M(\"git-pull-request-done\",60486),mcp:M(\"mcp\",60487),extensionsLarge:M(\"extensions-large\",60488),layoutPanelDock:M(\"layout-panel-dock\",60489),layoutSidebarLeftDock:M(\"layout-sidebar-left-dock\",60490),layoutSidebarRightDock:M(\"layout-sidebar-right-dock\",60491),copilotInProgress:M(\"copilot-in-progress\",60492),copilotError:M(\"copilot-error\",60493),copilotSuccess:M(\"copilot-success\",60494),chatSparkle:M(\"chat-sparkle\",60495),searchSparkle:M(\"search-sparkle\",60496),editSparkle:M(\"edit-sparkle\",60497),copilotSnooze:M(\"copilot-snooze\",60498),sendToRemoteAgent:M(\"send-to-remote-agent\",60499),commentDiscussionSparkle:M(\"comment-discussion-sparkle\",60500),chatSparkleWarning:M(\"chat-sparkle-warning\",60501),chatSparkleError:M(\"chat-sparkle-error\",60502),collection:M(\"collection\",60503),newCollection:M(\"new-collection\",60504),thinking:M(\"thinking\",60505),build:M(\"build\",60506),commentDiscussionQuote:M(\"comment-discussion-quote\",60507),cursor:M(\"cursor\",60508),eraser:M(\"eraser\",60509),fileText:M(\"file-text\",60510),quotes:M(\"quotes\",60512),rename:M(\"rename\",60513),runWithDeps:M(\"run-with-deps\",60514),debugConnected:M(\"debug-connected\",60515),strikethrough:M(\"strikethrough\",60516),openInProduct:M(\"open-in-product\",60517),indexZero:M(\"index-zero\",60518),agent:M(\"agent\",60519),editCode:M(\"edit-code\",60520),repoSelected:M(\"repo-selected\",60521),skip:M(\"skip\",60522),mergeInto:M(\"merge-into\",60523),gitBranchChanges:M(\"git-branch-changes\",60524),gitBranchStagedChanges:M(\"git-branch-staged-changes\",60525),gitBranchConflicts:M(\"git-branch-conflicts\",60526),gitBranch:M(\"git-branch\",60527),gitBranchCreate:M(\"git-branch-create\",60527),gitBranchDelete:M(\"git-branch-delete\",60527),searchLarge:M(\"search-large\",60528),terminalGitBash:M(\"terminal-git-bash\",60529),windowActive:M(\"window-active\",60530),forward:M(\"forward\",60531),download:M(\"download\",60532),clockface:M(\"clockface\",60533),unarchive:M(\"unarchive\",60534),sessionInProgress:M(\"session-in-progress\",60535),collectionSmall:M(\"collection-small\",60536),vmSmall:M(\"vm-small\",60537),cloudSmall:M(\"cloud-small\",60538),addSmall:M(\"add-small\",60539),removeSmall:M(\"remove-small\",60540),worktreeSmall:M(\"worktree-small\",60541),worktree:M(\"worktree\",60542),screenCut:M(\"screen-cut\",60543),ask:M(\"ask\",60544),openai:M(\"openai\",60545),claude:M(\"claude\",60546),openInWindow:M(\"open-in-window\",60547),newSession:M(\"new-session\",60548),terminalSecure:M(\"terminal-secure\",60549),chatImport:M(\"chat-import\",60550),chatExport:M(\"chat-export\",60551),shareWindow:M(\"share-window\",60552),circleSlashCompact:M(\"circle-slash-compact\",60553),copilotCompact:M(\"copilot-compact\",60554),folderOpenedCompact:M(\"folder-opened-compact\",60555),folderCompact:M(\"folder-compact\",60556),gearCompact:M(\"gear-compact\",60557),gitBranchCompact:M(\"git-branch-compact\",60558),libraryCompact:M(\"library-compact\",60559),recordKeysCompact:M(\"record-keys-compact\",60560),remoteCompact:M(\"remote-compact\",60561),repoForkedCompact:M(\"repo-forked-compact\",60562),repoCompact:M(\"repo-compact\",60563),shieldCompact:M(\"shield-compact\",60564),sparkleCompact:M(\"sparkle-compact\",60565),symbolColorCompact:M(\"symbol-color-compact\",60566),windowCompact:M(\"window-compact\",60567),errorCompact:M(\"error-compact\",60568),warningCompact:M(\"warning-compact\",60569),passCompact:M(\"pass-compact\",60570),important:M(\"important\",60571),importantCompact:M(\"important-compact\",60572),rocketCompact:M(\"rocket-compact\",60573),unpin:M(\"unpin\",60574),addCompact:M(\"add-compact\",60575),attachCompact:M(\"attach-compact\",60576),beakerCompact:M(\"beaker-compact\",60577),checkCompact:M(\"check-compact\",60578),checklistCompact:M(\"checklist-compact\",60579),chevronDownCompact:M(\"chevron-down-compact\",60580),chevronLeftCompact:M(\"chevron-left-compact\",60581),chevronRightCompact:M(\"chevron-right-compact\",60582),chevronUpCompact:M(\"chevron-up-compact\",60583),circleFilledCompact:M(\"circle-filled-compact\",60584),circleSmallFilledCompact:M(\"circle-small-filled-compact\",60585),closeCompact:M(\"close-compact\",60586),collapseAllCompact:M(\"collapse-all-compact\",60587),commentCompact:M(\"comment-compact\",60588),commentUnresolvedCompact:M(\"comment-unresolved-compact\",60589),debugConnectedCompact:M(\"debug-connected-compact\",60590),debugDisconnectCompact:M(\"debug-disconnect-compact\",60591),editCompact:M(\"edit-compact\",60592),fileMediaCompact:M(\"file-media-compact\",60593),gitFetch:M(\"git-fetch\",60594),lightbulbCompact:M(\"lightbulb-compact\",60595),loadingCompact:M(\"loading-compact\",60596),passFilledCompact:M(\"pass-filled-compact\",60597),projectCompact:M(\"project-compact\",60598),refreshCompact:M(\"refresh-compact\",60599),searchCompact:M(\"search-compact\",60600),sessionInProgressCompact:M(\"session-in-progress-compact\",60601),syncCompact:M(\"sync-compact\",60602),terminalCompact:M(\"terminal-compact\",60603),vmPending:M(\"vm-pending\",60604),worktreeCompact:M(\"worktree-compact\",60605),developerTools:M(\"developer-tools\",60606),cloudCompact:M(\"cloud-compact\",60607),agentCompact:M(\"agent-compact\",60608),askCompact:M(\"ask-compact\",60609),settingsCompact:M(\"settings-compact\",60610),vmCompact:M(\"vm-compact\",60611),runCompact:M(\"run-compact\",60612),gitPullRequestComment:M(\"git-pull-request-comment\",60613),gitPullRequestError:M(\"git-pull-request-error\",60614),rightPanelHide:M(\"right-panel-hide\",60615),rightPanelShow:M(\"right-panel-show\",60616),vscodeInsidersOutline:M(\"vscode-insiders-outline\",60617),vscodeOutline:M(\"vscode-outline\",60618),voiceMode:M(\"voice-mode\",60619),voiceModeCompact:M(\"voice-mode-compact\",60620)};var sK0={dialogError:M(\"dialog-error\",\"error\"),dialogWarning:M(\"dialog-warning\",\"warning\"),dialogInfo:M(\"dialog-info\",\"info\"),dialogClose:M(\"dialog-close\",\"close\"),treeItemExpanded:M(\"tree-item-expanded\",\"chevron-down\"),treeFilterOnTypeOn:M(\"tree-filter-on-type-on\",\"list-filter\"),treeFilterOnTypeOff:M(\"tree-filter-on-type-off\",\"list-selection\"),treeFilterClear:M(\"tree-filter-clear\",\"close\"),treeItemLoading:M(\"tree-item-loading\",\"loading\"),menuSelection:M(\"menu-selection\",\"check\"),menuSubmenu:M(\"menu-submenu\",\"chevron-right\"),menuBarMore:M(\"menubar-more\",\"more\"),scrollbarButtonLeft:M(\"scrollbar-button-left\",\"triangle-left\"),scrollbarButtonRight:M(\"scrollbar-button-right\",\"triangle-right\"),scrollbarButtonUp:M(\"scrollbar-button-up\",\"triangle-up\"),scrollbarButtonDown:M(\"scrollbar-button-down\",\"triangle-down\"),toolBarMore:M(\"toolbar-more\",\"more\"),quickInputBack:M(\"quick-input-back\",\"arrow-left\"),dropDownButton:M(\"drop-down-button\",60084),symbolCustomColor:M(\"symbol-customcolor\",60252),exportIcon:M(\"export\",60332),workspaceUnspecified:M(\"workspace-unspecified\",60355),newLine:M(\"newline\",60394),thumbsDownFilled:M(\"thumbsdown-filled\",60435),thumbsUpFilled:M(\"thumbsup-filled\",60436),gitFetch:M(\"git-fetch\",60445),lightbulbSparkleAutofix:M(\"lightbulb-sparkle-autofix\",60447),debugBreakpointPending:M(\"debug-breakpoint-pending\",60377),chatImport:M(\"chat-import\",60550),chatExport:M(\"chat-export\",60551)},t={...Tn,...sK0};class Qx{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new E,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(J){this._onDidChange.fire({changedLanguages:J,changedColorMap:!1})}register(J,X){return this._tokenizationSupports.set(J,X),this.handleChange([J]),J0(()=>{if(this._tokenizationSupports.get(J)!==X)return;this._tokenizationSupports.delete(J),this.handleChange([J])})}get(J){return this._tokenizationSupports.get(J)||null}registerFactory(J,X){this._factories.get(J)?.dispose();let Y=new Ln(this,J,X);return this._factories.set(J,Y),J0(()=>{let Z=this._factories.get(J);if(!Z||Z!==Y)return;this._factories.delete(J),Z.dispose()})}async getOrCreate(J){let X=this.get(J);if(X)return X;let Y=this._factories.get(J);if(!Y||Y.isResolved)return null;return await Y.resolve(),this.get(J)}isResolved(J){if(this.get(J))return!0;let Y=this._factories.get(J);if(!Y||Y.isResolved)return!0;return!1}setColorMap(J){this._colorMap=J,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){if(this._colorMap&&this._colorMap.length>2)return this._colorMap[2];return null}}class Ln extends y{get isResolved(){return this._isResolved}constructor(J,X,Y){super();this._registry=J,this._languageId=X,this._factory=Y,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){if(!this._resolvePromise)this._resolvePromise=this._create();return this._resolvePromise}async _create(){let J=await this._factory.tokenizationSupport;if(this._isResolved=!0,J&&!this._isDisposed)this._register(this._registry.register(this._languageId,J))}}class zY{constructor(J,X,Y){this.offset=J,this.type=X,this.language=Y,this._tokenBrand=void 0}toString(){return\"(\"+this.offset+\", \"+this.type+\")\"}}class Dq{constructor(J,X){this.tokens=J,this.endState=X,this._tokenizationResultBrand=void 0}}class s${constructor(J,X,Y){this.tokens=J,this.fontInfo=X,this.endState=Y,this._encodedTokenizationResultBrand=void 0}}var In;(function(J){J[J.Increase=0]=\"Increase\",J[J.Decrease=1]=\"Decrease\"})(In||(In={}));var kn;(function(J){let X=new Map;X.set(0,t.symbolMethod),X.set(1,t.symbolFunction),X.set(2,t.symbolConstructor),X.set(3,t.symbolField),X.set(4,t.symbolVariable),X.set(5,t.symbolClass),X.set(6,t.symbolStruct),X.set(7,t.symbolInterface),X.set(8,t.symbolModule),X.set(9,t.symbolProperty),X.set(10,t.symbolEvent),X.set(11,t.symbolOperator),X.set(12,t.symbolUnit),X.set(13,t.symbolValue),X.set(15,t.symbolEnum),X.set(14,t.symbolConstant),X.set(15,t.symbolEnum),X.set(16,t.symbolEnumMember),X.set(17,t.symbolKeyword),X.set(28,t.symbolSnippet),X.set(18,t.symbolText),X.set(19,t.symbolColor),X.set(20,t.symbolFile),X.set(21,t.symbolReference),X.set(22,t.symbolCustomColor),X.set(23,t.symbolFolder),X.set(24,t.symbolTypeParameter),X.set(25,t.account),X.set(26,t.issues),X.set(27,t.tools);function Y(q){let G=X.get(q);if(!G)console.info(\"No codicon found for CompletionItemKind \"+q),G=t.symbolProperty;return G}J.toIcon=Y;function Z(q){switch(q){case 0:return F(763,\"Method\");case 1:return F(764,\"Function\");case 2:return F(765,\"Constructor\");case 3:return F(766,\"Field\");case 4:return F(767,\"Variable\");case 5:return F(768,\"Class\");case 6:return F(769,\"Struct\");case 7:return F(770,\"Interface\");case 8:return F(771,\"Module\");case 9:return F(772,\"Property\");case 10:return F(773,\"Event\");case 11:return F(774,\"Operator\");case 12:return F(775,\"Unit\");case 13:return F(776,\"Value\");case 14:return F(777,\"Constant\");case 15:return F(778,\"Enum\");case 16:return F(779,\"Enum Member\");case 17:return F(780,\"Keyword\");case 18:return F(781,\"Text\");case 19:return F(782,\"Color\");case 20:return F(783,\"File\");case 21:return F(784,\"Reference\");case 22:return F(785,\"Custom Color\");case 23:return F(786,\"Folder\");case 24:return F(787,\"Type Parameter\");case 25:return F(788,\"User\");case 26:return F(789,\"Issue\");case 27:return F(790,\"Tool\");case 28:return F(791,\"Snippet\");default:return\"\"}}J.toLabel=Z;let Q=new Map;Q.set(\"method\",0),Q.set(\"function\",1),Q.set(\"constructor\",2),Q.set(\"field\",3),Q.set(\"variable\",4),Q.set(\"class\",5),Q.set(\"struct\",6),Q.set(\"interface\",7),Q.set(\"module\",8),Q.set(\"property\",9),Q.set(\"event\",10),Q.set(\"operator\",11),Q.set(\"unit\",12),Q.set(\"value\",13),Q.set(\"constant\",14),Q.set(\"enum\",15),Q.set(\"enum-member\",16),Q.set(\"enumMember\",16),Q.set(\"keyword\",17),Q.set(\"snippet\",28),Q.set(\"text\",18),Q.set(\"color\",19),Q.set(\"file\",20),Q.set(\"reference\",21),Q.set(\"customcolor\",22),Q.set(\"folder\",23),Q.set(\"type-parameter\",24),Q.set(\"typeParameter\",24),Q.set(\"account\",25),Q.set(\"issue\",26),Q.set(\"tool\",27);function $(q,G){let U=Q.get(q);if(typeof U>\"u\"&&!G)U=9;return U}J.fromString=$})(kn||(kn={}));var En;(function(J){J[J.Automatic=0]=\"Automatic\",J[J.Explicit=1]=\"Explicit\"})(En||(En={}));class qx{constructor(J,X,Y,Z){this.range=J,this.text=X,this.completionKind=Y,this.isSnippetText=Z}equals(J){return T.lift(this.range).equalsRange(J.range)&&this.text===J.text&&this.completionKind===J.completionKind&&this.isSnippetText===J.isSnippetText}}var yn;(function(J){J[J.Code=1]=\"Code\",J[J.Label=2]=\"Label\"})(yn||(yn={}));var xn;(function(J){J[J.Accepted=0]=\"Accepted\",J[J.Rejected=1]=\"Rejected\",J[J.Ignored=2]=\"Ignored\"})(xn||(xn={}));var Pq;(function(J){J[J.Automatic=0]=\"Automatic\",J[J.PasteAs=1]=\"PasteAs\"})(Pq||(Pq={}));var bn;(function(J){J[J.Invoke=1]=\"Invoke\",J[J.TriggerCharacter=2]=\"TriggerCharacter\",J[J.ContentChange=3]=\"ContentChange\"})(bn||(bn={}));var $x;(function(J){J[J.Text=0]=\"Text\",J[J.Read=1]=\"Read\",J[J.Write=2]=\"Write\"})($x||($x={}));var ik0={[17]:F(792,\"array\"),[16]:F(793,\"boolean\"),[4]:F(794,\"class\"),[13]:F(795,\"constant\"),[8]:F(796,\"constructor\"),[9]:F(797,\"enumeration\"),[21]:F(798,\"enumeration member\"),[23]:F(799,\"event\"),[7]:F(800,\"field\"),[0]:F(801,\"file\"),[11]:F(802,\"function\"),[10]:F(803,\"interface\"),[19]:F(804,\"key\"),[5]:F(805,\"method\"),[1]:F(806,\"module\"),[2]:F(807,\"namespace\"),[20]:F(808,\"null\"),[15]:F(809,\"number\"),[18]:F(810,\"object\"),[24]:F(811,\"operator\"),[3]:F(812,\"package\"),[6]:F(813,\"property\"),[14]:F(814,\"string\"),[22]:F(815,\"struct\"),[25]:F(816,\"type parameter\"),[12]:F(817,\"variable\")};var cD;(function(J){let X=new Map;X.set(0,t.symbolFile),X.set(1,t.symbolModule),X.set(2,t.symbolNamespace),X.set(3,t.symbolPackage),X.set(4,t.symbolClass),X.set(5,t.symbolMethod),X.set(6,t.symbolProperty),X.set(7,t.symbolField),X.set(8,t.symbolConstructor),X.set(9,t.symbolEnum),X.set(10,t.symbolInterface),X.set(11,t.symbolFunction),X.set(12,t.symbolVariable),X.set(13,t.symbolConstant),X.set(14,t.symbolString),X.set(15,t.symbolNumber),X.set(16,t.symbolBoolean),X.set(17,t.symbolArray),X.set(18,t.symbolObject),X.set(19,t.symbolKey),X.set(20,t.symbolNull),X.set(21,t.symbolEnumMember),X.set(22,t.symbolStruct),X.set(23,t.symbolEvent),X.set(24,t.symbolOperator),X.set(25,t.symbolTypeParameter);function Y($){let q=X.get($);if(!q)console.info(\"No codicon found for SymbolKind \"+$),q=t.symbolProperty;return q}J.toIcon=Y;let Z=new Map;Z.set(0,20),Z.set(1,8),Z.set(2,8),Z.set(3,8),Z.set(4,5),Z.set(5,0),Z.set(6,9),Z.set(7,3),Z.set(8,2),Z.set(9,15),Z.set(10,7),Z.set(11,1),Z.set(12,4),Z.set(13,14),Z.set(14,18),Z.set(15,13),Z.set(16,13),Z.set(17,13),Z.set(18,13),Z.set(19,17),Z.set(20,13),Z.set(21,16),Z.set(22,6),Z.set(23,10),Z.set(24,11),Z.set(25,24);function Q($){let q=Z.get($);if(q===void 0)console.info(\"No completion kind found for SymbolKind \"+$),q=20;return q}J.toCompletionKind=Q})(cD||(cD={}));class w7{static{this.Comment=new w7(\"comment\")}static{this.Imports=new w7(\"imports\")}static{this.Region=new w7(\"region\")}static fromValue(J){switch(J){case\"comment\":return w7.Comment;case\"imports\":return w7.Imports;case\"region\":return w7.Region}return new w7(J)}constructor(J){this.value=J}}var Cn;(function(J){J[J.AIGenerated=1]=\"AIGenerated\"})(Cn||(Cn={}));var Sn;(function(J){J[J.Invoke=0]=\"Invoke\",J[J.Automatic=1]=\"Automatic\"})(Sn||(Sn={}));var fn;(function(J){function X(Y){if(!Y||typeof Y!==\"object\")return!1;return typeof Y.id===\"string\"&&typeof Y.title===\"string\"}J.is=X})(fn||(fn={}));var hn;(function(J){J[J.Type=1]=\"Type\",J[J.Parameter=2]=\"Parameter\"})(hn||(hn={}));class Gx{constructor(J){this.createSupport=J,this._tokenizationSupport=null}dispose(){if(this._tokenizationSupport)this._tokenizationSupport.then((J)=>{if(J)J.dispose()})}get tokenizationSupport(){if(!this._tokenizationSupport)this._tokenizationSupport=this.createSupport();return this._tokenizationSupport}}var f1=new Qx;var dD;(function(J){J[J.Unknown=0]=\"Unknown\",J[J.Disabled=1]=\"Disabled\",J[J.Enabled=2]=\"Enabled\"})(dD||(dD={}));var lD;(function(J){J[J.Invoke=1]=\"Invoke\",J[J.Auto=2]=\"Auto\"})(lD||(lD={}));var sD;(function(J){J[J.None=0]=\"None\",J[J.KeepWhitespace=1]=\"KeepWhitespace\",J[J.InsertAsSnippet=4]=\"InsertAsSnippet\"})(sD||(sD={}));var aD;(function(J){J[J.Method=0]=\"Method\",J[J.Function=1]=\"Function\",J[J.Constructor=2]=\"Constructor\",J[J.Field=3]=\"Field\",J[J.Variable=4]=\"Variable\",J[J.Class=5]=\"Class\",J[J.Struct=6]=\"Struct\",J[J.Interface=7]=\"Interface\",J[J.Module=8]=\"Module\",J[J.Property=9]=\"Property\",J[J.Event=10]=\"Event\",J[J.Operator=11]=\"Operator\",J[J.Unit=12]=\"Unit\",J[J.Value=13]=\"Value\",J[J.Constant=14]=\"Constant\",J[J.Enum=15]=\"Enum\",J[J.EnumMember=16]=\"EnumMember\",J[J.Keyword=17]=\"Keyword\",J[J.Text=18]=\"Text\",J[J.Color=19]=\"Color\",J[J.File=20]=\"File\",J[J.Reference=21]=\"Reference\",J[J.Customcolor=22]=\"Customcolor\",J[J.Folder=23]=\"Folder\",J[J.TypeParameter=24]=\"TypeParameter\",J[J.User=25]=\"User\",J[J.Issue=26]=\"Issue\",J[J.Tool=27]=\"Tool\",J[J.Snippet=28]=\"Snippet\"})(aD||(aD={}));var iD;(function(J){J[J.Deprecated=1]=\"Deprecated\"})(iD||(iD={}));var rD;(function(J){J[J.Invoke=0]=\"Invoke\",J[J.TriggerCharacter=1]=\"TriggerCharacter\",J[J.TriggerForIncompleteCompletions=2]=\"TriggerForIncompleteCompletions\"})(rD||(rD={}));var oD;(function(J){J[J.EXACT=0]=\"EXACT\",J[J.ABOVE=1]=\"ABOVE\",J[J.BELOW=2]=\"BELOW\"})(oD||(oD={}));var nD;(function(J){J[J.NotSet=0]=\"NotSet\",J[J.ContentFlush=1]=\"ContentFlush\",J[J.RecoverFromMarkers=2]=\"RecoverFromMarkers\",J[J.Explicit=3]=\"Explicit\",J[J.Paste=4]=\"Paste\",J[J.Undo=5]=\"Undo\",J[J.Redo=6]=\"Redo\"})(nD||(nD={}));var tD;(function(J){J[J.LF=1]=\"LF\",J[J.CRLF=2]=\"CRLF\"})(tD||(tD={}));var eD;(function(J){J[J.Text=0]=\"Text\",J[J.Read=1]=\"Read\",J[J.Write=2]=\"Write\"})(eD||(eD={}));var JO;(function(J){J[J.None=0]=\"None\",J[J.Keep=1]=\"Keep\",J[J.Brackets=2]=\"Brackets\",J[J.Advanced=3]=\"Advanced\",J[J.Full=4]=\"Full\"})(JO||(JO={}));var XO;(function(J){J[J.acceptSuggestionOnCommitCharacter=0]=\"acceptSuggestionOnCommitCharacter\",J[J.acceptSuggestionOnEnter=1]=\"acceptSuggestionOnEnter\",J[J.accessibilitySupport=2]=\"accessibilitySupport\",J[J.accessibilityPageSize=3]=\"accessibilityPageSize\",J[J.allowOverflow=4]=\"allowOverflow\",J[J.allowVariableLineHeights=5]=\"allowVariableLineHeights\",J[J.allowVariableFonts=6]=\"allowVariableFonts\",J[J.allowVariableFontsInAccessibilityMode=7]=\"allowVariableFontsInAccessibilityMode\",J[J.ariaLabel=8]=\"ariaLabel\",J[J.ariaRequired=9]=\"ariaRequired\",J[J.autoClosingBrackets=10]=\"autoClosingBrackets\",J[J.autoClosingComments=11]=\"autoClosingComments\",J[J.screenReaderAnnounceInlineSuggestion=12]=\"screenReaderAnnounceInlineSuggestion\",J[J.autoClosingDelete=13]=\"autoClosingDelete\",J[J.autoClosingOvertype=14]=\"autoClosingOvertype\",J[J.autoClosingQuotes=15]=\"autoClosingQuotes\",J[J.autoIndent=16]=\"autoIndent\",J[J.autoIndentOnPaste=17]=\"autoIndentOnPaste\",J[J.autoIndentOnPasteWithinString=18]=\"autoIndentOnPasteWithinString\",J[J.automaticLayout=19]=\"automaticLayout\",J[J.autoSurround=20]=\"autoSurround\",J[J.bracketPairColorization=21]=\"bracketPairColorization\",J[J.guides=22]=\"guides\",J[J.codeLens=23]=\"codeLens\",J[J.codeLensFontFamily=24]=\"codeLensFontFamily\",J[J.codeLensFontSize=25]=\"codeLensFontSize\",J[J.colorDecorators=26]=\"colorDecorators\",J[J.colorDecoratorsLimit=27]=\"colorDecoratorsLimit\",J[J.columnSelection=28]=\"columnSelection\",J[J.comments=29]=\"comments\",J[J.contextmenu=30]=\"contextmenu\",J[J.copyWithSyntaxHighlighting=31]=\"copyWithSyntaxHighlighting\",J[J.cursorBlinking=32]=\"cursorBlinking\",J[J.cursorSmoothCaretAnimation=33]=\"cursorSmoothCaretAnimation\",J[J.cursorStyle=34]=\"cursorStyle\",J[J.cursorSurroundingLines=35]=\"cursorSurroundingLines\",J[J.cursorSurroundingLinesStyle=36]=\"cursorSurroundingLinesStyle\",J[J.cursorWidth=37]=\"cursorWidth\",J[J.cursorHeight=38]=\"cursorHeight\",J[J.disableLayerHinting=39]=\"disableLayerHinting\",J[J.disableMonospaceOptimizations=40]=\"disableMonospaceOptimizations\",J[J.domReadOnly=41]=\"domReadOnly\",J[J.dragAndDrop=42]=\"dragAndDrop\",J[J.dropIntoEditor=43]=\"dropIntoEditor\",J[J.editContext=44]=\"editContext\",J[J.emptySelectionClipboard=45]=\"emptySelectionClipboard\",J[J.experimentalGpuAcceleration=46]=\"experimentalGpuAcceleration\",J[J.experimentalWhitespaceRendering=47]=\"experimentalWhitespaceRendering\",J[J.extraEditorClassName=48]=\"extraEditorClassName\",J[J.fastScrollSensitivity=49]=\"fastScrollSensitivity\",J[J.find=50]=\"find\",J[J.fixedOverflowWidgets=51]=\"fixedOverflowWidgets\",J[J.folding=52]=\"folding\",J[J.foldingStrategy=53]=\"foldingStrategy\",J[J.foldingHighlight=54]=\"foldingHighlight\",J[J.foldingImportsByDefault=55]=\"foldingImportsByDefault\",J[J.foldingMaximumRegions=56]=\"foldingMaximumRegions\",J[J.unfoldOnClickAfterEndOfLine=57]=\"unfoldOnClickAfterEndOfLine\",J[J.fontFamily=58]=\"fontFamily\",J[J.fontInfo=59]=\"fontInfo\",J[J.fontLigatures=60]=\"fontLigatures\",J[J.fontSize=61]=\"fontSize\",J[J.fontWeight=62]=\"fontWeight\",J[J.fontVariations=63]=\"fontVariations\",J[J.formatOnPaste=64]=\"formatOnPaste\",J[J.formatOnType=65]=\"formatOnType\",J[J.glyphMargin=66]=\"glyphMargin\",J[J.gotoLocation=67]=\"gotoLocation\",J[J.hideCursorInOverviewRuler=68]=\"hideCursorInOverviewRuler\",J[J.hover=69]=\"hover\",J[J.inDiffEditor=70]=\"inDiffEditor\",J[J.inlineSuggest=71]=\"inlineSuggest\",J[J.letterSpacing=72]=\"letterSpacing\",J[J.lightbulb=73]=\"lightbulb\",J[J.lineDecorationsWidth=74]=\"lineDecorationsWidth\",J[J.lineHeight=75]=\"lineHeight\",J[J.lineNumbers=76]=\"lineNumbers\",J[J.lineNumbersMinChars=77]=\"lineNumbersMinChars\",J[J.linkedEditing=78]=\"linkedEditing\",J[J.links=79]=\"links\",J[J.matchBrackets=80]=\"matchBrackets\",J[J.minimap=81]=\"minimap\",J[J.mouseStyle=82]=\"mouseStyle\",J[J.mouseWheelScrollSensitivity=83]=\"mouseWheelScrollSensitivity\",J[J.mouseWheelZoom=84]=\"mouseWheelZoom\",J[J.multiCursorMergeOverlapping=85]=\"multiCursorMergeOverlapping\",J[J.multiCursorModifier=86]=\"multiCursorModifier\",J[J.mouseMiddleClickAction=87]=\"mouseMiddleClickAction\",J[J.multiCursorPaste=88]=\"multiCursorPaste\",J[J.multiCursorLimit=89]=\"multiCursorLimit\",J[J.occurrencesHighlight=90]=\"occurrencesHighlight\",J[J.occurrencesHighlightDelay=91]=\"occurrencesHighlightDelay\",J[J.overtypeCursorStyle=92]=\"overtypeCursorStyle\",J[J.overtypeOnPaste=93]=\"overtypeOnPaste\",J[J.overviewRulerBorder=94]=\"overviewRulerBorder\",J[J.overviewRulerLanes=95]=\"overviewRulerLanes\",J[J.padding=96]=\"padding\",J[J.pasteAs=97]=\"pasteAs\",J[J.parameterHints=98]=\"parameterHints\",J[J.peekWidgetDefaultFocus=99]=\"peekWidgetDefaultFocus\",J[J.placeholder=100]=\"placeholder\",J[J.definitionLinkOpensInPeek=101]=\"definitionLinkOpensInPeek\",J[J.quickSuggestions=102]=\"quickSuggestions\",J[J.quickSuggestionsDelay=103]=\"quickSuggestionsDelay\",J[J.readOnly=104]=\"readOnly\",J[J.readOnlyMessage=105]=\"readOnlyMessage\",J[J.renameOnType=106]=\"renameOnType\",J[J.renderRichScreenReaderContent=107]=\"renderRichScreenReaderContent\",J[J.renderControlCharacters=108]=\"renderControlCharacters\",J[J.renderFinalNewline=109]=\"renderFinalNewline\",J[J.renderLineHighlight=110]=\"renderLineHighlight\",J[J.renderLineHighlightOnlyWhenFocus=111]=\"renderLineHighlightOnlyWhenFocus\",J[J.renderValidationDecorations=112]=\"renderValidationDecorations\",J[J.renderWhitespace=113]=\"renderWhitespace\",J[J.revealHorizontalRightPadding=114]=\"revealHorizontalRightPadding\",J[J.roundedSelection=115]=\"roundedSelection\",J[J.rulers=116]=\"rulers\",J[J.scrollbar=117]=\"scrollbar\",J[J.scrollBeyondLastColumn=118]=\"scrollBeyondLastColumn\",J[J.scrollBeyondLastLine=119]=\"scrollBeyondLastLine\",J[J.scrollPredominantAxis=120]=\"scrollPredominantAxis\",J[J.selectionClipboard=121]=\"selectionClipboard\",J[J.selectionHighlight=122]=\"selectionHighlight\",J[J.selectionHighlightMaxLength=123]=\"selectionHighlightMaxLength\",J[J.selectionHighlightMultiline=124]=\"selectionHighlightMultiline\",J[J.selectOnLineNumbers=125]=\"selectOnLineNumbers\",J[J.showFoldingControls=126]=\"showFoldingControls\",J[J.showUnused=127]=\"showUnused\",J[J.snippetSuggestions=128]=\"snippetSuggestions\",J[J.smartSelect=129]=\"smartSelect\",J[J.smoothScrolling=130]=\"smoothScrolling\",J[J.stickyScroll=131]=\"stickyScroll\",J[J.stickyTabStops=132]=\"stickyTabStops\",J[J.stopRenderingLineAfter=133]=\"stopRenderingLineAfter\",J[J.suggest=134]=\"suggest\",J[J.suggestFontSize=135]=\"suggestFontSize\",J[J.suggestLineHeight=136]=\"suggestLineHeight\",J[J.suggestOnTriggerCharacters=137]=\"suggestOnTriggerCharacters\",J[J.suggestSelection=138]=\"suggestSelection\",J[J.tabCompletion=139]=\"tabCompletion\",J[J.tabIndex=140]=\"tabIndex\",J[J.trimWhitespaceOnDelete=141]=\"trimWhitespaceOnDelete\",J[J.unicodeHighlighting=142]=\"unicodeHighlighting\",J[J.unusualLineTerminators=143]=\"unusualLineTerminators\",J[J.useShadowDOM=144]=\"useShadowDOM\",J[J.useTabStops=145]=\"useTabStops\",J[J.wordBreak=146]=\"wordBreak\",J[J.wordSegmenterLocales=147]=\"wordSegmenterLocales\",J[J.wordSeparators=148]=\"wordSeparators\",J[J.wordWrap=149]=\"wordWrap\",J[J.wordWrapBreakAfterCharacters=150]=\"wordWrapBreakAfterCharacters\",J[J.wordWrapBreakBeforeCharacters=151]=\"wordWrapBreakBeforeCharacters\",J[J.wordWrapColumn=152]=\"wordWrapColumn\",J[J.wordWrapOverride1=153]=\"wordWrapOverride1\",J[J.wordWrapOverride2=154]=\"wordWrapOverride2\",J[J.wrappingIndent=155]=\"wrappingIndent\",J[J.wrappingStrategy=156]=\"wrappingStrategy\",J[J.showDeprecated=157]=\"showDeprecated\",J[J.inertialScroll=158]=\"inertialScroll\",J[J.inlayHints=159]=\"inlayHints\",J[J.wrapOnEscapedLineFeeds=160]=\"wrapOnEscapedLineFeeds\",J[J.effectiveCursorStyle=161]=\"effectiveCursorStyle\",J[J.editorClassName=162]=\"editorClassName\",J[J.pixelRatio=163]=\"pixelRatio\",J[J.tabFocusMode=164]=\"tabFocusMode\",J[J.layoutInfo=165]=\"layoutInfo\",J[J.wrappingInfo=166]=\"wrappingInfo\",J[J.defaultColorDecorators=167]=\"defaultColorDecorators\",J[J.colorDecoratorsActivatedOn=168]=\"colorDecoratorsActivatedOn\",J[J.inlineCompletionsAccessibilityVerbose=169]=\"inlineCompletionsAccessibilityVerbose\",J[J.effectiveEditContext=170]=\"effectiveEditContext\",J[J.scrollOnMiddleClick=171]=\"scrollOnMiddleClick\",J[J.effectiveAllowVariableFonts=172]=\"effectiveAllowVariableFonts\",J[J.doubleClickSelectsBlock=173]=\"doubleClickSelectsBlock\"})(XO||(XO={}));var YO;(function(J){J[J.TextDefined=0]=\"TextDefined\",J[J.LF=1]=\"LF\",J[J.CRLF=2]=\"CRLF\"})(YO||(YO={}));var ZO;(function(J){J[J.LF=0]=\"LF\",J[J.CRLF=1]=\"CRLF\"})(ZO||(ZO={}));var QO;(function(J){J[J.Left=1]=\"Left\",J[J.Center=2]=\"Center\",J[J.Right=3]=\"Right\"})(QO||(QO={}));var $O;(function(J){J[J.Increase=0]=\"Increase\",J[J.Decrease=1]=\"Decrease\"})($O||($O={}));var qO;(function(J){J[J.None=0]=\"None\",J[J.Indent=1]=\"Indent\",J[J.IndentOutdent=2]=\"IndentOutdent\",J[J.Outdent=3]=\"Outdent\"})(qO||(qO={}));var GO;(function(J){J[J.Both=0]=\"Both\",J[J.Right=1]=\"Right\",J[J.Left=2]=\"Left\",J[J.None=3]=\"None\"})(GO||(GO={}));var UO;(function(J){J[J.Type=1]=\"Type\",J[J.Parameter=2]=\"Parameter\"})(UO||(UO={}));var HO;(function(J){J[J.Accepted=0]=\"Accepted\",J[J.Rejected=1]=\"Rejected\",J[J.Ignored=2]=\"Ignored\"})(HO||(HO={}));var VO;(function(J){J[J.Code=1]=\"Code\",J[J.Label=2]=\"Label\"})(VO||(VO={}));var KO;(function(J){J[J.Automatic=0]=\"Automatic\",J[J.Explicit=1]=\"Explicit\"})(KO||(KO={}));var jO;(function(J){J[J.DependsOnKbLayout=-1]=\"DependsOnKbLayout\",J[J.Unknown=0]=\"Unknown\",J[J.Backspace=1]=\"Backspace\",J[J.Tab=2]=\"Tab\",J[J.Enter=3]=\"Enter\",J[J.Shift=4]=\"Shift\",J[J.Ctrl=5]=\"Ctrl\",J[J.Alt=6]=\"Alt\",J[J.PauseBreak=7]=\"PauseBreak\",J[J.CapsLock=8]=\"CapsLock\",J[J.Escape=9]=\"Escape\",J[J.Space=10]=\"Space\",J[J.PageUp=11]=\"PageUp\",J[J.PageDown=12]=\"PageDown\",J[J.End=13]=\"End\",J[J.Home=14]=\"Home\",J[J.LeftArrow=15]=\"LeftArrow\",J[J.UpArrow=16]=\"UpArrow\",J[J.RightArrow=17]=\"RightArrow\",J[J.DownArrow=18]=\"DownArrow\",J[J.Insert=19]=\"Insert\",J[J.Delete=20]=\"Delete\",J[J.Digit0=21]=\"Digit0\",J[J.Digit1=22]=\"Digit1\",J[J.Digit2=23]=\"Digit2\",J[J.Digit3=24]=\"Digit3\",J[J.Digit4=25]=\"Digit4\",J[J.Digit5=26]=\"Digit5\",J[J.Digit6=27]=\"Digit6\",J[J.Digit7=28]=\"Digit7\",J[J.Digit8=29]=\"Digit8\",J[J.Digit9=30]=\"Digit9\",J[J.KeyA=31]=\"KeyA\",J[J.KeyB=32]=\"KeyB\",J[J.KeyC=33]=\"KeyC\",J[J.KeyD=34]=\"KeyD\",J[J.KeyE=35]=\"KeyE\",J[J.KeyF=36]=\"KeyF\",J[J.KeyG=37]=\"KeyG\",J[J.KeyH=38]=\"KeyH\",J[J.KeyI=39]=\"KeyI\",J[J.KeyJ=40]=\"KeyJ\",J[J.KeyK=41]=\"KeyK\",J[J.KeyL=42]=\"KeyL\",J[J.KeyM=43]=\"KeyM\",J[J.KeyN=44]=\"KeyN\",J[J.KeyO=45]=\"KeyO\",J[J.KeyP=46]=\"KeyP\",J[J.KeyQ=47]=\"KeyQ\",J[J.KeyR=48]=\"KeyR\",J[J.KeyS=49]=\"KeyS\",J[J.KeyT=50]=\"KeyT\",J[J.KeyU=51]=\"KeyU\",J[J.KeyV=52]=\"KeyV\",J[J.KeyW=53]=\"KeyW\",J[J.KeyX=54]=\"KeyX\",J[J.KeyY=55]=\"KeyY\",J[J.KeyZ=56]=\"KeyZ\",J[J.Meta=57]=\"Meta\",J[J.ContextMenu=58]=\"ContextMenu\",J[J.F1=59]=\"F1\",J[J.F2=60]=\"F2\",J[J.F3=61]=\"F3\",J[J.F4=62]=\"F4\",J[J.F5=63]=\"F5\",J[J.F6=64]=\"F6\",J[J.F7=65]=\"F7\",J[J.F8=66]=\"F8\",J[J.F9=67]=\"F9\",J[J.F10=68]=\"F10\",J[J.F11=69]=\"F11\",J[J.F12=70]=\"F12\",J[J.F13=71]=\"F13\",J[J.F14=72]=\"F14\",J[J.F15=73]=\"F15\",J[J.F16=74]=\"F16\",J[J.F17=75]=\"F17\",J[J.F18=76]=\"F18\",J[J.F19=77]=\"F19\",J[J.F20=78]=\"F20\",J[J.F21=79]=\"F21\",J[J.F22=80]=\"F22\",J[J.F23=81]=\"F23\",J[J.F24=82]=\"F24\",J[J.NumLock=83]=\"NumLock\",J[J.ScrollLock=84]=\"ScrollLock\",J[J.Semicolon=85]=\"Semicolon\",J[J.Equal=86]=\"Equal\",J[J.Comma=87]=\"Comma\",J[J.Minus=88]=\"Minus\",J[J.Period=89]=\"Period\",J[J.Slash=90]=\"Slash\",J[J.Backquote=91]=\"Backquote\",J[J.BracketLeft=92]=\"BracketLeft\",J[J.Backslash=93]=\"Backslash\",J[J.BracketRight=94]=\"BracketRight\",J[J.Quote=95]=\"Quote\",J[J.OEM_8=96]=\"OEM_8\",J[J.IntlBackslash=97]=\"IntlBackslash\",J[J.Numpad0=98]=\"Numpad0\",J[J.Numpad1=99]=\"Numpad1\",J[J.Numpad2=100]=\"Numpad2\",J[J.Numpad3=101]=\"Numpad3\",J[J.Numpad4=102]=\"Numpad4\",J[J.Numpad5=103]=\"Numpad5\",J[J.Numpad6=104]=\"Numpad6\",J[J.Numpad7=105]=\"Numpad7\",J[J.Numpad8=106]=\"Numpad8\",J[J.Numpad9=107]=\"Numpad9\",J[J.NumpadMultiply=108]=\"NumpadMultiply\",J[J.NumpadAdd=109]=\"NumpadAdd\",J[J.NUMPAD_SEPARATOR=110]=\"NUMPAD_SEPARATOR\",J[J.NumpadSubtract=111]=\"NumpadSubtract\",J[J.NumpadDecimal=112]=\"NumpadDecimal\",J[J.NumpadDivide=113]=\"NumpadDivide\",J[J.KEY_IN_COMPOSITION=114]=\"KEY_IN_COMPOSITION\",J[J.ABNT_C1=115]=\"ABNT_C1\",J[J.ABNT_C2=116]=\"ABNT_C2\",J[J.AudioVolumeMute=117]=\"AudioVolumeMute\",J[J.AudioVolumeUp=118]=\"AudioVolumeUp\",J[J.AudioVolumeDown=119]=\"AudioVolumeDown\",J[J.BrowserSearch=120]=\"BrowserSearch\",J[J.BrowserHome=121]=\"BrowserHome\",J[J.BrowserBack=122]=\"BrowserBack\",J[J.BrowserForward=123]=\"BrowserForward\",J[J.MediaTrackNext=124]=\"MediaTrackNext\",J[J.MediaTrackPrevious=125]=\"MediaTrackPrevious\",J[J.MediaStop=126]=\"MediaStop\",J[J.MediaPlayPause=127]=\"MediaPlayPause\",J[J.LaunchMediaPlayer=128]=\"LaunchMediaPlayer\",J[J.LaunchMail=129]=\"LaunchMail\",J[J.LaunchApp2=130]=\"LaunchApp2\",J[J.Clear=131]=\"Clear\",J[J.MAX_VALUE=132]=\"MAX_VALUE\"})(jO||(jO={}));var WO;(function(J){J[J.Hint=1]=\"Hint\",J[J.Info=2]=\"Info\",J[J.Warning=4]=\"Warning\",J[J.Error=8]=\"Error\"})(WO||(WO={}));var zO;(function(J){J[J.Unnecessary=1]=\"Unnecessary\",J[J.Deprecated=2]=\"Deprecated\"})(zO||(zO={}));var FO;(function(J){J[J.Inline=1]=\"Inline\",J[J.Gutter=2]=\"Gutter\"})(FO||(FO={}));var BO;(function(J){J[J.Normal=1]=\"Normal\",J[J.Underlined=2]=\"Underlined\"})(BO||(BO={}));var _O;(function(J){J[J.UNKNOWN=0]=\"UNKNOWN\",J[J.TEXTAREA=1]=\"TEXTAREA\",J[J.GUTTER_GLYPH_MARGIN=2]=\"GUTTER_GLYPH_MARGIN\",J[J.GUTTER_LINE_NUMBERS=3]=\"GUTTER_LINE_NUMBERS\",J[J.GUTTER_LINE_DECORATIONS=4]=\"GUTTER_LINE_DECORATIONS\",J[J.GUTTER_VIEW_ZONE=5]=\"GUTTER_VIEW_ZONE\",J[J.CONTENT_TEXT=6]=\"CONTENT_TEXT\",J[J.CONTENT_EMPTY=7]=\"CONTENT_EMPTY\",J[J.CONTENT_VIEW_ZONE=8]=\"CONTENT_VIEW_ZONE\",J[J.CONTENT_WIDGET=9]=\"CONTENT_WIDGET\",J[J.OVERVIEW_RULER=10]=\"OVERVIEW_RULER\",J[J.SCROLLBAR=11]=\"SCROLLBAR\",J[J.OVERLAY_WIDGET=12]=\"OVERLAY_WIDGET\",J[J.OUTSIDE_EDITOR=13]=\"OUTSIDE_EDITOR\"})(_O||(_O={}));var AO;(function(J){J[J.AIGenerated=1]=\"AIGenerated\"})(AO||(AO={}));var PO;(function(J){J[J.Invoke=0]=\"Invoke\",J[J.Automatic=1]=\"Automatic\"})(PO||(PO={}));var DO;(function(J){J[J.TOP_RIGHT_CORNER=0]=\"TOP_RIGHT_CORNER\",J[J.BOTTOM_RIGHT_CORNER=1]=\"BOTTOM_RIGHT_CORNER\",J[J.TOP_CENTER=2]=\"TOP_CENTER\"})(DO||(DO={}));var OO;(function(J){J[J.Left=1]=\"Left\",J[J.Center=2]=\"Center\",J[J.Right=4]=\"Right\",J[J.Full=7]=\"Full\"})(OO||(OO={}));var MO;(function(J){J[J.Word=0]=\"Word\",J[J.Line=1]=\"Line\",J[J.Suggest=2]=\"Suggest\"})(MO||(MO={}));var RO;(function(J){J[J.Left=0]=\"Left\",J[J.Right=1]=\"Right\",J[J.None=2]=\"None\",J[J.LeftOfInjectedText=3]=\"LeftOfInjectedText\",J[J.RightOfInjectedText=4]=\"RightOfInjectedText\"})(RO||(RO={}));var NO;(function(J){J[J.Off=0]=\"Off\",J[J.On=1]=\"On\",J[J.Relative=2]=\"Relative\",J[J.Interval=3]=\"Interval\",J[J.Custom=4]=\"Custom\"})(NO||(NO={}));var wO;(function(J){J[J.None=0]=\"None\",J[J.Text=1]=\"Text\",J[J.Blocks=2]=\"Blocks\"})(wO||(wO={}));var TO;(function(J){J[J.Smooth=0]=\"Smooth\",J[J.Immediate=1]=\"Immediate\"})(TO||(TO={}));var LO;(function(J){J[J.Auto=1]=\"Auto\",J[J.Hidden=2]=\"Hidden\",J[J.Visible=3]=\"Visible\"})(LO||(LO={}));var IO;(function(J){J[J.LTR=0]=\"LTR\",J[J.RTL=1]=\"RTL\"})(IO||(IO={}));var kO;(function(J){J.Off=\"off\",J.OnCode=\"onCode\",J.On=\"on\"})(kO||(kO={}));var EO;(function(J){J[J.Invoke=1]=\"Invoke\",J[J.TriggerCharacter=2]=\"TriggerCharacter\",J[J.ContentChange=3]=\"ContentChange\"})(EO||(EO={}));var yO;(function(J){J[J.File=0]=\"File\",J[J.Module=1]=\"Module\",J[J.Namespace=2]=\"Namespace\",J[J.Package=3]=\"Package\",J[J.Class=4]=\"Class\",J[J.Method=5]=\"Method\",J[J.Property=6]=\"Property\",J[J.Field=7]=\"Field\",J[J.Constructor=8]=\"Constructor\",J[J.Enum=9]=\"Enum\",J[J.Interface=10]=\"Interface\",J[J.Function=11]=\"Function\",J[J.Variable=12]=\"Variable\",J[J.Constant=13]=\"Constant\",J[J.String=14]=\"String\",J[J.Number=15]=\"Number\",J[J.Boolean=16]=\"Boolean\",J[J.Array=17]=\"Array\",J[J.Object=18]=\"Object\",J[J.Key=19]=\"Key\",J[J.Null=20]=\"Null\",J[J.EnumMember=21]=\"EnumMember\",J[J.Struct=22]=\"Struct\",J[J.Event=23]=\"Event\",J[J.Operator=24]=\"Operator\",J[J.TypeParameter=25]=\"TypeParameter\"})(yO||(yO={}));var xO;(function(J){J[J.Deprecated=1]=\"Deprecated\"})(xO||(xO={}));var bO;(function(J){J[J.LTR=0]=\"LTR\",J[J.RTL=1]=\"RTL\"})(bO||(bO={}));var CO;(function(J){J[J.Hidden=0]=\"Hidden\",J[J.Blink=1]=\"Blink\",J[J.Smooth=2]=\"Smooth\",J[J.Phase=3]=\"Phase\",J[J.Expand=4]=\"Expand\",J[J.Solid=5]=\"Solid\"})(CO||(CO={}));var SO;(function(J){J[J.Line=1]=\"Line\",J[J.Block=2]=\"Block\",J[J.Underline=3]=\"Underline\",J[J.LineThin=4]=\"LineThin\",J[J.BlockOutline=5]=\"BlockOutline\",J[J.UnderlineThin=6]=\"UnderlineThin\"})(SO||(SO={}));var fO;(function(J){J[J.AlwaysGrowsWhenTypingAtEdges=0]=\"AlwaysGrowsWhenTypingAtEdges\",J[J.NeverGrowsWhenTypingAtEdges=1]=\"NeverGrowsWhenTypingAtEdges\",J[J.GrowsOnlyWhenTypingBefore=2]=\"GrowsOnlyWhenTypingBefore\",J[J.GrowsOnlyWhenTypingAfter=3]=\"GrowsOnlyWhenTypingAfter\"})(fO||(fO={}));var hO;(function(J){J[J.None=0]=\"None\",J[J.Same=1]=\"Same\",J[J.Indent=2]=\"Indent\",J[J.DeepIndent=3]=\"DeepIndent\"})(hO||(hO={}));class vn{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(J,X){return H8(J,X)}}function vO(){return{editor:void 0,languages:void 0,CancellationTokenSource:S8,Emitter:E,KeyCode:jO,KeyMod:vn,Position:C,Range:T,Selection:Y0,SelectionDirection:IO,MarkerSeverity:WO,MarkerTag:zO,Uri:R0,Token:zY}}function gn(J,X){let Y=J;if(typeof Y.vscodeWindowId!==\"number\")Object.defineProperty(Y,\"vscodeWindowId\",{get:()=>X})}var X1=window;function pn(J){return J}class Ux{constructor(J,X){if(this.lastCache=void 0,this.lastArgKey=void 0,typeof J===\"function\")this._fn=J,this._computeKey=pn;else this._fn=X,this._computeKey=J.getCacheKey}get(J){let X=this._computeKey(J);if(this.lastArgKey!==X)this.lastArgKey=X,this.lastCache=this._fn(J);return this.lastCache}}class gO{get cachedValues(){return this._map}constructor(J,X){if(this._map=new Map,this._map2=new Map,typeof J===\"function\")this._fn=J,this._computeKey=pn;else this._fn=X,this._computeKey=J.getCacheKey}get(J){let X=this._computeKey(J);if(this._map2.has(X))return this._map2.get(X);let Y=this._fn(J);return this._map.set(J,Y),this._map2.set(X,Y),Y}}var Oq;(function(J){J[J.Uninitialized=0]=\"Uninitialized\",J[J.Running=1]=\"Running\",J[J.Completed=2]=\"Completed\"})(Oq||(Oq={}));class f8{constructor(J){this.executor=J,this._state=Oq.Uninitialized}get value(){if(this._state===Oq.Uninitialized){this._state=Oq.Running;try{this._value=this.executor()}catch(J){this._error=J}finally{this._state=Oq.Completed}}else if(this._state===Oq.Running)throw 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 un(J){if(!J||typeof J!==\"string\")return!0;return J.trim().length===0}var aK0=/{(\\d+)}/g;function i$(J,...X){if(X.length===0)return J;return J.replace(aK0,function(Y,Z){let Q=parseInt(Z,10);return isNaN(Q)||Q<0||Q>=X.length?Y:X[Q]})}function cn(J){return J.replace(/[<>\"'&]/g,(X)=>{switch(X){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";case\"'\":return\"&apos;\";case\"&\":return\"&amp;\"}return X})}function w4(J){return J.replace(/[<>&]/g,function(X){switch(X){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case\"&\":return\"&amp;\";default:return X}})}function a8(J){return J.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g,\"\\\\$&\")}function r$(J,X){if(!J||!X)return J;let Y=X.length,Z=0;if(Y===1){let Q=X.charCodeAt(0);while(Z<J.length&&J.charCodeAt(Z)===Q)Z++}else while(J.startsWith(X,Z))Z+=Y;return J.substring(Z)}function dn(J,X){if(!J||!X)return J;let Y=X.length,Z=J.length;if(Y===1){let $=Z,q=X.charCodeAt(0);while($>0&&J.charCodeAt($-1)===q)$--;return J.substring(0,$)}let Q=Z;while(Q>0&&J.endsWith(X,Q))Q-=Y;return J.substring(0,Q)}function ln(J){return J.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g,\"\\\\$&\").replace(/[\\*]/g,\".*\")}function pO(J,X,Y={}){if(!J)throw Error(\"Cannot create regex from empty string\");if(!X)J=a8(J);if(Y.wholeWord){if(!/\\B/.test(J.charAt(0)))J=\"\\\\b\"+J;if(!/\\B/.test(J.charAt(J.length-1)))J=J+\"\\\\b\"}let Z=\"\";if(Y.global)Z+=\"g\";if(!Y.matchCase)Z+=\"i\";if(Y.multiline)Z+=\"m\";if(Y.unicode)Z+=\"u\";return new RegExp(J,Z)}function mO(J){if(J.source===\"^\"||J.source===\"^$\"||J.source===\"$\"||J.source===\"^\\\\s*$\")return!1;return!!(J.exec(\"\")&&J.lastIndex===0)}function NJ(J){return J.split(/\\r\\n|\\r|\\n/)}function b6(J){for(let X=0,Y=J.length;X<Y;X++){let Z=J.charCodeAt(X);if(Z!==32&&Z!==9)return X}return-1}function w6(J,X=0,Y=J.length){for(let Z=X;Z<Y;Z++){let Q=J.charCodeAt(Z);if(Q!==32&&Q!==9)return J.substring(X,Z)}return J.substring(X,Y)}function T5(J,X=J.length-1){for(let Y=X;Y>=0;Y--){let Z=J.charCodeAt(Y);if(Z!==32&&Z!==9)return Y}return-1}function Mz(J,X){if(J<X)return-1;else if(J>X)return 1;else return 0}function uO(J,X,Y=0,Z=J.length,Q=0,$=X.length){for(;Y<Z&&Q<$;Y++,Q++){let U=J.charCodeAt(Y),H=X.charCodeAt(Q);if(U<H)return-1;else if(U>H)return 1}let q=Z-Y,G=$-Q;if(q<G)return-1;else if(q>G)return 1;return 0}function Vx(J,X){return Nq(J,X,0,J.length,0,X.length)}function Nq(J,X,Y=0,Z=J.length,Q=0,$=X.length){for(;Y<Z&&Q<$;Y++,Q++){let U=J.charCodeAt(Y),H=X.charCodeAt(Q);if(U===H)continue;if(U>=128||H>=128)return uO(J.toLowerCase(),X.toLowerCase(),Y,Z,Q,$);if(Rq(U))U-=32;if(Rq(H))H-=32;let V=U-H;if(V===0)continue;return V}let q=Z-Y,G=$-Q;if(q<G)return-1;else if(q>G)return 1;return 0}function Rz(J){return J>=48&&J<=57}function Rq(J){return J>=97&&J<=122}function FY(J){return J>=65&&J<=90}function wJ(J,X){return J.length===X.length&&Nq(J,X)===0}function sn(J,X,Y){return J===X||J!==void 0&&X!==void 0&&wJ(J,X)}function aH(J,X){let Y=X.length;return Y<=J.length&&Nq(J,X,0,Y)===0}function cO(J,X){let Y=J.length,Z=Y-X.length;return Z>=0&&Nq(J,X,Z,Y)===0}function BY(J,X){let Y=Math.min(J.length,X.length),Z;for(Z=0;Z<Y;Z++)if(J.charCodeAt(Z)!==X.charCodeAt(Z))return Z;return Y}function _Y(J,X){let Y=Math.min(J.length,X.length),Z,Q=J.length-1,$=X.length-1;for(Z=0;Z<Y;Z++)if(J.charCodeAt(Q-Z)!==X.charCodeAt($-Z))return Z;return Y}function V6(J){return 55296<=J&&J<=56319}function AY(J){return 56320<=J&&J<=57343}function dO(J,X){return(J-55296<<10)+(X-56320)+65536}function iH(J,X,Y){let Z=J.charCodeAt(Y);if(V6(Z)&&Y+1<X){let Q=J.charCodeAt(Y+1);if(AY(Q))return dO(Z,Q)}return Z}function iK0(J,X){let Y=J.charCodeAt(X-1);if(AY(Y)&&X>1){let Z=J.charCodeAt(X-2);if(V6(Z))return dO(Z,Y)}return Y}class lO{get offset(){return this._offset}constructor(J,X=0){this._str=J,this._len=J.length,this._offset=X}setOffset(J){this._offset=J}prevCodePoint(){let J=iK0(this._str,this._offset);return this._offset-=J>=65536?2:1,J}nextCodePoint(){let J=iH(this._str,this._len,this._offset);return this._offset+=J>=65536?2:1,J}eol(){return this._offset>=this._len}}class rH{get offset(){return this._iterator.offset}constructor(J,X=0){this._iterator=new lO(J,X)}nextGraphemeLength(){let J=Mq.getInstance(),X=this._iterator,Y=X.offset,Z=J.getGraphemeBreakType(X.nextCodePoint());while(!X.eol()){let Q=X.offset,$=J.getGraphemeBreakType(X.nextCodePoint());if(mn(Z,$)){X.setOffset(Q);break}Z=$}return X.offset-Y}prevGraphemeLength(){let J=Mq.getInstance(),X=this._iterator,Y=X.offset,Z=J.getGraphemeBreakType(X.prevCodePoint());while(X.offset>0){let Q=X.offset,$=J.getGraphemeBreakType(X.prevCodePoint());if(mn($,Z)){X.setOffset(Q);break}Z=$}return Y-X.offset}eol(){return this._iterator.eol()}}function Nz(J,X){return new rH(J,X).nextGraphemeLength()}function Kx(J,X){return new rH(J,X).prevGraphemeLength()}function an(J,X){if(X>0&&AY(J.charCodeAt(X)))X--;let Y=X+Nz(J,X);return[Y-Kx(J,Y),Y]}var Hx=void 0;function rK0(){return/(?:[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFD3D\\uFD50-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFEFC]|\\uD802[\\uDC00-\\uDD1B\\uDD20-\\uDE00\\uDE10-\\uDE35\\uDE40-\\uDEE4\\uDEEB-\\uDF35\\uDF40-\\uDFFF]|\\uD803[\\uDC00-\\uDD23\\uDE80-\\uDEA9\\uDEAD-\\uDF45\\uDF51-\\uDF81\\uDF86-\\uDFF6]|\\uD83A[\\uDC00-\\uDCCF\\uDD00-\\uDD43\\uDD4B-\\uDFFF]|\\uD83B[\\uDC00-\\uDEBB])/}function _X(J){if(!Hx)Hx=rK0();return Hx.test(J)}var oK0=/^[\\t\\n\\r\\x20-\\x7E]*$/;function oH(J){return oK0.test(J)}var jx=/[\\u2028\\u2029]/;function sO(J){return jx.test(J)}function T4(J){return J>=11904&&J<=55215||J>=63744&&J<=64255||J>=65281&&J<=65374||J>=65504&&J<=65510}function wz(J){return J>=127462&&J<=127487||J===8986||J===8987||J===9200||J===9203||J>=9728&&J<=10175||J===11088||J===11093||J>=127744&&J<=128591||J>=128640&&J<=128764||J>=128992&&J<=129008||J>=129280&&J<=129535||J>=129648&&J<=129782}var rn=String.fromCharCode(65279);function nH(J){return!!(J&&J.length>0&&J.charCodeAt(0)===65279)}function on(J,X=!1){if(!J)return!1;if(X)J=J.replace(/\\\\./g,\"\");return J.toLowerCase()!==J}function aO(J){if(J=J%52,J<26)return String.fromCharCode(97+J);return String.fromCharCode(65+J-26)}function mn(J,X){if(J===0)return X!==5&&X!==7;if(J===2){if(X===3)return!1}if(J===4||J===2||J===3)return!0;if(X===4||X===2||X===3)return!0;if(J===8){if(X===8||X===9||X===11||X===12)return!1}if(J===11||J===9){if(X===9||X===10)return!1}if(J===12||J===10){if(X===10)return!1}if(X===5||X===13)return!1;if(X===7)return!1;if(J===1)return!1;if(J===13&&X===14)return!1;if(J===6&&X===6)return!1;return!0}class Mq{static{this._INSTANCE=null}static getInstance(){if(!Mq._INSTANCE)Mq._INSTANCE=new Mq;return Mq._INSTANCE}constructor(){this._data=nK0()}getGraphemeBreakType(J){if(J<32){if(J===10)return 3;if(J===13)return 2;return 4}if(J<127)return 0;let X=this._data,Y=X.length/3,Z=1;while(Z<=Y)if(J<X[3*Z])Z=2*Z;else if(J>X[3*Z+1])Z=2*Z+1;else return X[3*Z+2];return 0}}function nK0(){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]\")}function nn(J,X){if(J===0)return 0;let Y=tK0(J,X);if(Y!==void 0)return Y;let Z=new lO(X,J);return Z.prevCodePoint(),Z.offset}function tK0(J,X){let Y=new lO(X,J),Z=Y.prevCodePoint();while(eK0(Z)||Z===65039||Z===8419){if(Y.offset===0)return;Z=Y.prevCodePoint()}if(!wz(Z))return;let Q=Y.offset;if(Q>0){if(Y.prevCodePoint()===8205)Q=Y.offset}return Q}function eK0(J){return 127995<=J&&J<=127999}var tn=\" \";class $Q{static{this.ambiguousCharacterData=new f8(()=>{return 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 Ux((J)=>{let X=J.split(\",\");function Y(V){let K=new Map;for(let j=0;j<V.length;j+=2)K.set(V[j],V[j+1]);return K}function Z(V,K){let j=new Map(V);for(let[W,z]of K)j.set(W,z);return j}function Q(V,K){if(!V)return K;let j=new Map;for(let[W,z]of V)if(K.has(W))j.set(W,z);return j}let $=this.ambiguousCharacterData.value,q=X.filter((V)=>!V.startsWith(\"_\")&&Object.hasOwn($,V));if(q.length===0)q=[\"_default\"];let G=void 0;for(let V of q){let K=Y($[V]);G=Q(G,K)}let U=Y($._common),H=Z(U,G);return new $Q(H)})}static getInstance(J){return $Q.cache.get(Array.from(J).join(\",\"))}static{this._locales=new f8(()=>Object.keys($Q.ambiguousCharacterData.value).filter((J)=>!J.startsWith(\"_\")))}static getLocales(){return $Q._locales.value}constructor(J){this.confusableDictionary=J}isAmbiguous(J){return this.confusableDictionary.has(J)}getPrimaryConfusable(J){return this.confusableDictionary.get(J)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class a${static getRawData(){return JSON.parse('{\"_common\":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],\"cs\":[173,8203,12288],\"de\":[173,8203,12288],\"es\":[8203,12288],\"fr\":[173,8203,12288],\"it\":[160,173,12288],\"ja\":[173],\"ko\":[173,12288],\"pl\":[173,8203,12288],\"pt-BR\":[173,8203,12288],\"qps-ploc\":[160,173,8203,12288],\"ru\":[173,12288],\"tr\":[160,173,8203,12288],\"zh-hans\":[160,173,8203,12288],\"zh-hant\":[173,12288]}')}static{this._data=void 0}static getData(){if(!this._data)this._data=new Set([...Object.values(a$.getRawData())].flat());return this._data}static isInvisibleCharacter(J){return a$.getData().has(J)}static get codePoints(){return a$.getData()}}class zx{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new zx}getZoomFactor(J){return this.mapWindowIdToZoomFactor.get(this.getWindowId(J))??1}getWindowId(J){return J.vscodeWindowId}}function Fx(J,X,Y){if(typeof X===\"string\")X=J.matchMedia(X);X.addEventListener(\"change\",Y)}function Tz(J){return zx.INSTANCE.getZoomFactor(J)}var tH=navigator.userAgent,C6=tH.indexOf(\"Firefox\")>=0,wq=tH.indexOf(\"AppleWebKit\")>=0,o$=tH.indexOf(\"Chrome\")>=0,TJ=!o$&&tH.indexOf(\"Safari\")>=0,iO=!o$&&!TJ&&wq;tH.indexOf(\"Electron/\")>=0;var Bx=tH.indexOf(\"Android\")>=0,Wx=!1;if(typeof X1.matchMedia===\"function\"){let J=X1.matchMedia(\"(display-mode: standalone) or (display-mode: window-controls-overlay)\"),X=X1.matchMedia(\"(display-mode: fullscreen)\");Wx=J.matches,Fx(X1,J,({matches:Y})=>{if(Wx&&X.matches)return;Wx=Y})}function Tq(){return globalThis.MonacoEnvironment}var qQ={clipboard:{writeText:Q7||document.queryCommandSupported&&document.queryCommandSupported(\"copy\")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Q7||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:X1.PointerEvent&&((\"ontouchstart\"in X1)||navigator.maxTouchPoints>0)};function Lz(J,X){if(typeof J===\"number\"){if(J===0)return null;let Y=(J&65535)>>>0,Z=(J&4294901760)>>>16;if(Z!==0)return new oO([rO(Y,X),rO(Z,X)]);return new oO([rO(Y,X)])}else{let Y=[];for(let Z=0;Z<J.length;Z++)Y.push(rO(J[Z],X));return new oO(Y)}}function rO(J,X){let Y=J&2048?!0:!1,Z=J&256?!0:!1,Q=X===2?Z:Y,$=J&1024?!0:!1,q=J&512?!0:!1,G=X===2?Y:Z,U=J&255;return new GQ(Q,$,q,G,U)}class GQ{constructor(J,X,Y,Z,Q){this.ctrlKey=J,this.shiftKey=X,this.altKey=Y,this.metaKey=Z,this.keyCode=Q}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}class oO{constructor(J){if(J.length===0)throw HX(\"chords\");this.chords=J}}class _x{constructor(J,X,Y,Z,Q,$){this.ctrlKey=J,this.shiftKey=X,this.altKey=Y,this.metaKey=Z,this.keyLabel=Q,this.keyAriaLabel=$}}class Ax{}function Jj0(J){if(J.charCode){let Y=String.fromCharCode(J.charCode).toUpperCase();return RJ.fromString(Y)}let X=J.keyCode;if(X===3)return 7;else if(C6)switch(X){case 59:return 85;case 60:if(y6)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(I0)return 57;break}else if(wq){if(I0&&X===93)return 57;else if(!I0&&X===92)return 57}return ey[X]||0}var Xj0=I0?256:2048,Yj0=512,Zj0=1024,Qj0=I0?2048:256;class Y1{constructor(J){this._standardKeyboardEventBrand=!0;let X=J;this.browserEvent=X,this.target=X.target,this.ctrlKey=X.ctrlKey,this.shiftKey=X.shiftKey,this.altKey=X.altKey,this.metaKey=X.metaKey,this.altGraphKey=X.getModifierState?.(\"AltGraph\"),this.keyCode=Jj0(X),this.code=X.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){if(this.browserEvent&&this.browserEvent.preventDefault)this.browserEvent.preventDefault()}stopPropagation(){if(this.browserEvent&&this.browserEvent.stopPropagation)this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(J){return this._asKeybinding===J}_computeKeybinding(){let J=0;if(!Pz(this.keyCode))J=this.keyCode;let X=0;if(this.ctrlKey)X|=Xj0;if(this.altKey)X|=Yj0;if(this.shiftKey)X|=Zj0;if(this.metaKey)X|=Qj0;return X|=J,X}_computeKeyCodeChord(){let J=0;if(!Pz(this.keyCode))J=this.keyCode;return new GQ(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,J)}}var en=new WeakMap;function $j0(J){if(!J.parent||J.parent===J)return null;try{let X=J.location,Y=J.parent.location;if(X.origin!==\"null\"&&Y.origin!==\"null\"&&X.origin!==Y.origin)return null}catch(X){return null}return J.parent}class Px{static getSameOriginWindowChain(J){let X=en.get(J);if(!X){X=[],en.set(J,X);let Y=J,Z;do{if(Z=$j0(Y),Z)X.push({window:new WeakRef(Y),iframeElement:Y.frameElement||null});else X.push({window:new WeakRef(Y),iframeElement:null});Y=Z}while(Y)}return X.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(J,X){if(!X||J===X)return{top:0,left:0};let Y=0,Z=0,Q=this.getSameOriginWindowChain(J);for(let $ of Q){let q=$.window.deref();if(Y+=q?.scrollY??0,Z+=q?.scrollX??0,q===X)break;if(!$.iframeElement)break;let G=$.iframeElement.getBoundingClientRect();Y+=G.top,Z+=G.left}return{top:Y,left:Z}}}class k8{constructor(J,X){if(this.timestamp=Date.now(),this.browserEvent=X,this.leftButton=X.button===0,this.middleButton=X.button===1,this.rightButton=X.button===2,this.buttons=X.buttons,this.defaultPrevented=X.defaultPrevented,this.target=X.target,this.detail=X.detail||1,X.type===\"dblclick\")this.detail=2;this.ctrlKey=X.ctrlKey,this.shiftKey=X.shiftKey,this.altKey=X.altKey,this.metaKey=X.metaKey,this.posx=X.pageX,this.posy=X.pageY;let Y=Px.getPositionOfChildWindowRelativeToAncestorWindow(J,X.view);this.posx-=Y.left,this.posy-=Y.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class LJ{constructor(J,X=0,Y=0){this.browserEvent=J||null,this.target=J?J.target||J.targetNode||J.srcElement:null,this.deltaY=Y,this.deltaX=X;let Z=!1;if(o$){let Q=navigator.userAgent.match(/Chrome\\/(\\d+)/);Z=(Q?parseInt(Q[1]):123)<=122}if(J){let Q=J,$=J,q=J.view?.devicePixelRatio||1;if(typeof Q.wheelDeltaY<\"u\")if(Z)this.deltaY=Q.wheelDeltaY/(120*q);else this.deltaY=Q.wheelDeltaY/120;else if(typeof $.VERTICAL_AXIS<\"u\"&&$.axis===$.VERTICAL_AXIS)this.deltaY=-$.detail/3;else if(J.type===\"wheel\"){let G=J;if(G.deltaMode===G.DOM_DELTA_LINE)if(C6&&!I0)this.deltaY=-J.deltaY/3;else this.deltaY=-J.deltaY;else this.deltaY=-J.deltaY/40}if(typeof Q.wheelDeltaX<\"u\")if(TJ&&z6)this.deltaX=-(Q.wheelDeltaX/120);else if(Z)this.deltaX=Q.wheelDeltaX/(120*q);else this.deltaX=Q.wheelDeltaX/120;else if(typeof $.HORIZONTAL_AXIS<\"u\"&&$.axis===$.HORIZONTAL_AXIS)this.deltaX=-J.detail/3;else if(J.type===\"wheel\"){let G=J;if(G.deltaMode===G.DOM_DELTA_LINE)if(C6&&!I0)this.deltaX=-J.deltaX/3;else this.deltaX=-J.deltaX;else this.deltaX=-J.deltaX/40}if(this.deltaY===0&&this.deltaX===0&&J.wheelDelta)if(Z)this.deltaY=J.wheelDelta/(120*q);else this.deltaY=J.wheelDelta/120}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}}var nO=Symbol(\"MicrotaskDelay\");function tO(J){return!!J&&typeof J.then===\"function\"}function IJ(J){let X=new S8,Y=J(X.token),Z=!1,Q=new Promise(($,q)=>{let G=X.token.onCancellationRequested(()=>{Z=!0,G.dispose(),q(new PJ)});Promise.resolve(Y).then((U)=>{if(G.dispose(),X.dispose(),!Z)$(U);else if(WY(U))U.dispose()},(U)=>{G.dispose(),X.dispose(),q(U)})});return new class{cancel(){X.cancel(),X.dispose()}then($,q){return Q.then($,q)}catch($){return this.then(void 0,$)}finally($){return Q.finally($)}}}function Dx(J,X,Y){return new Promise((Z,Q)=>{let $=X.onCancellationRequested(()=>{$.dispose(),Z(Y)});J.then(Z,Q).finally(()=>$.dispose())})}function Jt(J,X){return new Promise((Y,Z)=>{let Q=X.onCancellationRequested(()=>{Q.dispose(),Z(new PJ)});J.then(Y,Z).finally(()=>Q.dispose())})}function Ox(J){if(n4(J))return;return Promise.reject(J)}class Xt{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new S8}queue(J){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(Error(\"Throttler is disposed\"));if(this.activePromise){if(this.queuedPromiseFactory=J,!this.queuedPromise){let X=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let Y=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,Y};this.queuedPromise=new Promise((Y)=>{this.activePromise.then(X,X).then(Y)})}return new Promise((X,Y)=>{this.queuedPromise.then(X,Y)})}return this.activePromise=J(this.cancellationTokenSource.token),new Promise((X,Y)=>{this.activePromise.then((Z)=>{this.activePromise=null,X(Z)},(Z)=>{this.activePromise=null,Y(Z)})})}dispose(){this.cancellationTokenSource.cancel()}}var qj0=(J,X)=>{let Y=!0,Z=setTimeout(()=>{Y=!1,X()},J);return{isTriggered:()=>Y,dispose:()=>{clearTimeout(Z),Y=!1}}},Gj0=(J)=>{let X=!0;return queueMicrotask(()=>{if(X)X=!1,J()}),{isTriggered:()=>X,dispose:()=>{X=!1}}};class Y4{constructor(J){this.defaultDelay=J,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(J,X=this.defaultDelay){if(this.task=J,this.cancelTimeout(),!this.completionPromise)this.completionPromise=new Promise((Z,Q)=>{this.doResolve=Z,this.doReject=Q}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let Z=this.task;return this.task=null,Z()}return});let Y=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=X===nO?Gj0(Y):qj0(X,Y),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){if(this.cancelTimeout(),this.completionPromise)this.doReject?.(new PJ),this.completionPromise=null}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}class Iz{constructor(J){this.delayer=new Y4(J),this.throttler=new Xt}trigger(J,X){return this.delayer.trigger(()=>this.throttler.queue(J),X)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function PY(J,X){if(!X)return IJ((Y)=>PY(J,Y));return new Promise((Y,Z)=>{let Q=setTimeout(()=>{$.dispose(),Y()},J),$=X.onCancellationRequested(()=>{clearTimeout(Q),$.dispose(),Z(new PJ)})})}function AX(J,X=0,Y){let Z=setTimeout(()=>{if(J(),Y)Q.dispose()},X),Q=J0(()=>{clearTimeout(Z),Y?.delete(Q)});return Y?.add(Q),Q}class Mx{constructor(){this._runningTask=void 0,this._pendingTasks=[]}schedule(J){let X=new DY;return this._pendingTasks.push({task:J,deferred:X,setUndefinedWhenCleared:!1}),this._runIfNotRunning(),X.p}_runIfNotRunning(){if(this._runningTask===void 0)this._processQueue()}async _processQueue(){if(this._pendingTasks.length===0)return;let J=this._pendingTasks.shift();if(!J)return;if(this._runningTask)throw new j0;this._runningTask=J.task;try{let X=await J.task();J.deferred.complete(X)}catch(X){J.deferred.error(X)}finally{this._runningTask=void 0,this._processQueue()}}clearPending(){let J=this._pendingTasks;this._pendingTasks=[];for(let X of J)if(X.setUndefinedWhenCleared)X.deferred.complete(void 0);else X.deferred.error(new PJ)}}class i8{constructor(J,X){if(this._isDisposed=!1,this._token=void 0,typeof J===\"function\"&&typeof X===\"number\")this.setIfNotSet(J,X)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){if(this._token!==void 0)clearTimeout(this._token),this._token=void 0}cancelAndSet(J,X){if(this._isDisposed)throw new j0(\"Calling 'cancelAndSet' on a disposed TimeoutTimer\");this.cancel(),this._token=setTimeout(()=>{this._token=void 0,J()},X)}setIfNotSet(J,X){if(this._isDisposed)throw new j0(\"Calling 'setIfNotSet' on a disposed TimeoutTimer\");if(this._token!==void 0)return;this._token=setTimeout(()=>{this._token=void 0,J()},X)}}class Iq{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(J,X,Y=globalThis){if(this.isDisposed)throw new j0(\"Calling 'cancelAndSet' on a disposed IntervalTimer\");this.cancel();let Z=Y.setInterval(()=>{J()},X);this.disposable=J0(()=>{Y.clearInterval(Z),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}class B1{constructor(J,X){this.timeoutToken=void 0,this.runner=J,this.timeout=X,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){if(this.isScheduled())clearTimeout(this.timeoutToken),this.timeoutToken=void 0}schedule(J=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,J)}get delay(){return this.timeout}set delay(J){this.timeout=J}isScheduled(){return this.timeoutToken!==void 0}onTimeout(){if(this.timeoutToken=void 0,this.runner)this.doRun()}doRun(){this.runner?.()}}var kz,eH;(function(){let J=globalThis;if(typeof J.requestIdleCallback!==\"function\"||typeof J.cancelIdleCallback!==\"function\")eH=(X,Y,Z)=>{OJ(()=>{if(Q)return;let $=Date.now()+15;Y(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,$-Date.now())}}))});let Q=!1;return{dispose(){if(Q)return;Q=!0}}};else eH=(X,Y,Z)=>{let Q=X.requestIdleCallback(Y,typeof Z===\"number\"?{timeout:Z}:void 0),$=!1;return{dispose(){if($)return;$=!0,X.cancelIdleCallback(Q)}}};kz=(X,Y)=>eH(globalThis,X,Y)})();class Rx{constructor(J,X){this._didRun=!1,this._executor=()=>{try{this._value=X()}catch(Y){this._error=Y}finally{this._didRun=!0}},this._handle=eH(J,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(!this._didRun)this._handle.dispose(),this._executor();if(this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class Nx extends Rx{constructor(J){super(globalThis,J)}}class DY{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((J,X)=>{this.completeCallback=J,this.errorCallback=X})}complete(J){if(this.isSettled)return Promise.resolve();return new Promise((X)=>{this.completeCallback(J),this.outcome={outcome:0,value:J},X()})}error(J){if(this.isSettled)return Promise.resolve();return new Promise((X)=>{this.errorCallback(J),this.outcome={outcome:1,value:J},X()})}cancel(){return this.error(new PJ)}}var Lq;(function(J){async function X(Z){let Q=void 0,$=await Promise.all(Z.map((q)=>q.then((G)=>G,(G)=>{if(!Q)Q=G;return})));if(typeof Q<\"u\")throw Q;return $}J.settled=X;function Y(Z){return new Promise(async(Q,$)=>{try{await Z(Q,$)}catch(q){$(q)}})}J.withAsyncBody=Y})(Lq||(Lq={}));class Yt{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(J){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let X=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(X,J)}else this._unconsumedValues.push(J)}produceFinal(J){this._ensureNoFinalValue(),this._finalValue=J;for(let X of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(X,J);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new j0(\"ProducerConsumer: cannot produce after final value has been set\")}_resolveOrRejectDeferred(J,X){if(X.ok)J.complete(X.value);else J.error(X.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let J=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;if(J.ok)return Promise.resolve(J.value);else return Promise.reject(J.error)}else{let J=new DY;return this._unsatisfiedConsumers.push(J),J.p}}}class X9{constructor(J,X){this._onReturn=X,this._producerConsumer=new Yt,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>{return this._onReturn?.(),Promise.resolve({done:!0,value:void 0})},throw:async(Y)=>{return this._finishError(Y),{done:!0,value:void 0}}},queueMicrotask(async()=>{let Y=J({emitOne:(Z)=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:Z}}),emitMany:(Z)=>{for(let Q of Z)this._producerConsumer.produce({ok:!0,value:{done:!1,value:Q}})},reject:(Z)=>this._finishError(Z)});if(!this._producerConsumer.hasFinalValue)try{await Y,this._finishOk()}catch(Z){this._finishError(Z)}})}static fromArray(J){return new X9((X)=>{X.emitMany(J)})}static fromPromise(J){return new X9(async(X)=>{X.emitMany(await J)})}static fromPromisesResolveOrder(J){return new X9(async(X)=>{await Promise.all(J.map(async(Y)=>X.emitOne(await Y)))})}static merge(J){return new X9(async(X)=>{await Promise.all(J.map(async(Y)=>{for await(let Z of Y)X.emitOne(Z)}))})}static{this.EMPTY=X9.fromArray([])}static map(J,X){return new X9(async(Y)=>{for await(let Z of J)Y.emitOne(X(Z))})}static tee(J){let X,Y,Z=new DY,Q=async()=>{if(!X||!Y)return;try{for await(let G of J)X.emitOne(G),Y.emitOne(G)}catch(G){X.reject(G),Y.reject(G)}finally{Z.complete()}},$=new X9(async(G)=>{return X=G,Q(),Z.p}),q=new X9(async(G)=>{return Y=G,Q(),Z.p});return[$,q]}map(J){return X9.map(this,J)}static coalesce(J){return X9.filter(J,(X)=>!!X)}coalesce(){return X9.coalesce(this)}static filter(J,X){return new X9(async(Y)=>{for await(let Z of J)if(X(Z))Y.emitOne(Z)})}filter(J){return X9.filter(this,J)}_finishOk(){if(!this._producerConsumer.hasFinalValue)this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(J){if(!this._producerConsumer.hasFinalValue)this._producerConsumer.produceFinal({ok:!1,error:J})}[Symbol.asyncIterator](){return this._iterator}}var T0;(function(J){J.inMemory=\"inmemory\",J.vscode=\"vscode\",J.internal=\"private\",J.walkThrough=\"walkThrough\",J.walkThroughSnippet=\"walkThroughSnippet\",J.http=\"http\",J.https=\"https\",J.file=\"file\",J.mailto=\"mailto\",J.untitled=\"untitled\",J.data=\"data\",J.command=\"command\",J.vscodeRemote=\"vscode-remote\",J.vscodeRemoteResource=\"vscode-remote-resource\",J.vscodeManagedRemoteResource=\"vscode-managed-remote-resource\",J.vscodeUserData=\"vscode-userdata\",J.vscodeCustomEditor=\"vscode-custom-editor\",J.vscodeNotebookCell=\"vscode-notebook-cell\",J.vscodeNotebookCellMetadata=\"vscode-notebook-cell-metadata\",J.vscodeNotebookCellMetadataDiff=\"vscode-notebook-cell-metadata-diff\",J.vscodeNotebookCellOutput=\"vscode-notebook-cell-output\",J.vscodeNotebookCellOutputDiff=\"vscode-notebook-cell-output-diff\",J.vscodeNotebookMetadata=\"vscode-notebook-metadata\",J.vscodeInteractiveInput=\"vscode-interactive-input\",J.vscodeSettings=\"vscode-settings\",J.vscodeWorkspaceTrust=\"vscode-workspace-trust\",J.vscodeTerminal=\"vscode-terminal\",J.vscodeImageCarousel=\"vscode-image-carousel\",J.vscodeChatCodeBlock=\"vscode-chat-code-block\",J.vscodeChatCodeCompareBlock=\"vscode-chat-code-compare-block\",J.vscodeChatEditor=\"vscode-chat-editor\",J.vscodeChatInput=\"chatSessionInput\",J.vscodeLocalChatSession=\"vscode-chat-session\",J.webviewPanel=\"webview-panel\",J.vscodeWebview=\"vscode-webview\",J.vscodeBrowser=\"vscode-browser\",J.extension=\"extension\",J.vscodeFileResource=\"vscode-file\",J.tmp=\"tmp\",J.vsls=\"vsls\",J.vscodeSourceControl=\"vscode-scm\",J.commentsInput=\"comment\",J.codeSetting=\"code-setting\",J.outputChannel=\"output\",J.accessibleView=\"accessible-view\",J.chatEditingSnapshotScheme=\"chat-editing-snapshot-text-model\",J.chatEditingModel=\"chat-editing-text-model\",J.copilotPr=\"copilot-pr\"})(T0||(T0={}));function Ez(J,X){if(R0.isUri(J))return wJ(J.scheme,X);else return aH(J,X+\":\")}function wx(J,...X){return X.some((Y)=>Ez(J,Y))}var Uj0=\"tkn\";class Zt{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(J){this._preferredWebSchema=J}get _remoteResourcesPath(){return r1.join(this._serverRootPath,T0.vscodeRemoteResource)}rewrite(J){if(this._delegate)try{return this._delegate(J)}catch(q){return VY(q),J}let X=J.authority,Y=this._hosts[X];if(Y&&Y.indexOf(\":\")!==-1&&Y.indexOf(\"[\")===-1)Y=`[${Y}]`;let Z=this._ports[X],Q=this._connectionTokens[X],$=`path=${encodeURIComponent(J.path)}`;if(typeof Q===\"string\")$+=`&${Uj0}=${encodeURIComponent(Q)}`;return R0.from({scheme:o7?this._preferredWebSchema:T0.vscodeRemoteResource,authority:`${Y}:${Z}`,path:this._remoteResourcesPath,query:$})}}var Tx=new Zt,Qt=\"vs/../../node_modules\",Hj0=\"vscode-app\";class eO{static{this.FALLBACK_AUTHORITY=Hj0}asBrowserUri(J){let X=this.toUri(J);return this.uriToBrowserUri(X)}uriToBrowserUri(J){if(J.scheme===T0.vscodeRemote)return Tx.rewrite(J);if(J.scheme===T0.file&&(Q7||jo===`${T0.vscodeFileResource}://${eO.FALLBACK_AUTHORITY}`))return J.with({scheme:T0.vscodeFileResource,authority:J.authority||eO.FALLBACK_AUTHORITY,query:null,fragment:null});return J}toUri(J){if(R0.isUri(J))return J;if(globalThis._VSCODE_FILE_ROOT){let X=globalThis._VSCODE_FILE_ROOT;if(/^\\w[\\w\\d+.-]*:\\/\\//.test(X))return R0.joinPath(R0.parse(X,!0),J);let Y=Bn(X,J);return R0.file(Y)}throw Error(\"Cannot determine URI for module id!\")}}var n$=new eO,JM;(function(J){let X=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\"}]]);J.CoopAndCoep=Object.freeze(X.get(\"3\"));let Y=\"vscode-coi\";function Z($){let q;if(typeof $===\"string\")q=new URL($).searchParams;else if($ instanceof URL)q=$.searchParams;else if(R0.isUri($))q=new URL($.toString(!0)).searchParams;let G=q?.get(Y);if(!G)return;return X.get(G)}J.getHeadersFromQuery=Z;function Q($,q,G){if(!globalThis.crossOriginIsolated)return;let U=q&&G?\"3\":G?\"2\":\"1\";if($ instanceof URLSearchParams)$.set(Y,U);else $[Y]=U}J.addSearchParam=Q})(JM||(JM={}));var $t=typeof Buffer<\"u\";new f8(()=>new Uint8Array(256));var Lx;class JV{static wrap(J){if($t&&!Buffer.isBuffer(J))J=Buffer.from(J.buffer,J.byteOffset,J.byteLength);return new JV(J)}constructor(J){this.buffer=J,this.byteLength=this.buffer.byteLength}toString(){if($t)return this.buffer.toString();else{if(!Lx)Lx=new TextDecoder(void 0,{ignoreBOM:!0});return Lx.decode(this.buffer)}}}function Gt(J,X){return J[X+0]<<0>>>0|J[X+1]<<8>>>0}function Ut(J,X,Y){J[Y+0]=X&255,X=X>>>8,J[Y+1]=X&255}function E9(J,X){return J[X]*16777216+J[X+1]*65536+J[X+2]*256+J[X+3]}function y9(J,X,Y){J[Y+3]=X,X=X>>>8,J[Y+2]=X,X=X>>>8,J[Y+1]=X,X=X>>>8,J[Y]=X}function Ix(J,X){return J[X]}function kx(J,X,Y){J[Y]=X}var qt=\"0123456789abcdef\";function Ht({buffer:J}){let X=\"\";for(let Y=0;Y<J.length;Y++){let Z=J[Y];X+=qt[Z>>>4],X+=qt[Z&15]}return X}function t$(J){return xz(J,0)}function xz(J,X){switch(typeof J){case\"object\":if(J===null)return UQ(349,X);else if(Array.isArray(J))return Kj0(J,X);return jj0(J,X);case\"string\":return XM(J,X);case\"boolean\":return Vj0(J,X);case\"number\":return UQ(J,X);case\"undefined\":return UQ(937,X);default:return UQ(617,X)}}function UQ(J,X){return(X<<5)-X+J|0}function Vj0(J,X){return UQ(J?433:863,X)}function XM(J,X){X=UQ(149417,X);for(let Y=0,Z=J.length;Y<Z;Y++)X=UQ(J.charCodeAt(Y),X);return X}function Kj0(J,X){return X=UQ(104579,X),J.reduce((Y,Z)=>xz(Z,Y),X)}function jj0(J,X){return X=UQ(181387,X),Object.keys(J).sort().reduce((Y,Z)=>{return Y=XM(Z,Y),xz(J[Z],Y)},X)}function Ex(J,X,Y=32){let Z=Y-X,Q=~((1<<Z)-1);return(J<<X|(Q&J)>>>Z)>>>0}function yz(J,X=32){if(J instanceof ArrayBuffer)return Ht(JV.wrap(new Uint8Array(J)));return(J>>>0).toString(16).padStart(X/4,\"0\")}class YM{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(J){let X=J.length;if(X===0)return;let Y=this._buff,Z=this._buffLen,Q=this._leftoverHighSurrogate,$,q;if(Q!==0)$=Q,q=-1,Q=0;else $=J.charCodeAt(0),q=0;while(!0){let G=$;if(V6($))if(q+1<X){let U=J.charCodeAt(q+1);if(AY(U))q++,G=dO($,U);else G=65533}else{Q=$;break}else if(AY($))G=65533;if(Z=this._push(Y,Z,G),q++,q<X)$=J.charCodeAt(q);else break}this._buffLen=Z,this._leftoverHighSurrogate=Q}_push(J,X,Y){if(Y<128)J[X++]=Y;else if(Y<2048)J[X++]=192|(Y&1984)>>>6,J[X++]=128|(Y&63)>>>0;else if(Y<65536)J[X++]=224|(Y&61440)>>>12,J[X++]=128|(Y&4032)>>>6,J[X++]=128|(Y&63)>>>0;else J[X++]=240|(Y&1835008)>>>18,J[X++]=128|(Y&258048)>>>12,J[X++]=128|(Y&4032)>>>6,J[X++]=128|(Y&63)>>>0;if(X>=64)this._step(),X-=64,this._totalLen+=64,J[0]=J[64],J[1]=J[65],J[2]=J[66];return X}digest(){if(!this._finished){if(this._finished=!0,this._leftoverHighSurrogate)this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533);this._totalLen+=this._buffLen,this._wrapUp()}return yz(this._h0)+yz(this._h1)+yz(this._h2)+yz(this._h3)+yz(this._h4)}_wrapUp(){if(this._buff[this._buffLen++]=128,this._buff.subarray(this._buffLen).fill(0),this._buffLen>56)this._step(),this._buff.fill(0);let J=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(J/4294967296),!1),this._buffDV.setUint32(60,J%4294967296,!1),this._step()}_step(){let J=YM._bigBlock32,X=this._buffDV;for(let V=0;V<64;V+=4)J.setUint32(V,X.getUint32(V,!1),!1);for(let V=64;V<320;V+=4)J.setUint32(V,Ex(J.getUint32(V-12,!1)^J.getUint32(V-32,!1)^J.getUint32(V-56,!1)^J.getUint32(V-64,!1),1),!1);let Y=this._h0,Z=this._h1,Q=this._h2,$=this._h3,q=this._h4,G,U,H;for(let V=0;V<80;V++){if(V<20)G=Z&Q|~Z&$,U=1518500249;else if(V<40)G=Z^Q^$,U=1859775393;else if(V<60)G=Z&Q|Z&$|Q&$,U=2400959708;else G=Z^Q^$,U=3395469782;H=Ex(Y,5)+G+q+U+J.getUint32(V*4,!1)&4294967295,q=$,$=Q,Q=Ex(Z,30),Z=Y,Y=H}this._h0=this._h0+Y&4294967295,this._h1=this._h1+Z&4294967295,this._h2=this._h2+Q&4294967295,this._h3=this._h3+$&4294967295,this._h4=this._h4+q&4294967295}}function G7(J,X){return J===X}function Wj0(){return(J,X)=>J===X}function zj0(J,X,Y){return w1(J,X,Y??G7)}function XV(J){return(X,Y)=>w1(X,Y,J??G7)}function ZM(J,X){if(J===X)return!0;if(Array.isArray(J)&&Array.isArray(X)){if(J.length!==X.length)return!1;for(let Y=0;Y<J.length;Y++)if(!ZM(J[Y],X[Y]))return!1;return!0}if(J&&typeof J===\"object\"&&X&&typeof X===\"object\"){if(Object.getPrototypeOf(J)===Object.prototype&&Object.getPrototypeOf(X)===Object.prototype){let Y=J,Z=X,Q=Object.keys(Y),$=Object.keys(Z),q=new Set($);if(Q.length!==$.length)return!1;for(let G of Q){if(!q.has(G))return!1;if(!ZM(Y[G],Z[G]))return!1}return!0}}return!1}function Fj0(){return(J,X)=>ZM(J,X)}function Bj0(J,X){return JSON.stringify(J)===JSON.stringify(X)}function _j0(){return(J,X)=>JSON.stringify(J)===JSON.stringify(X)}function yx(){return(J,X)=>J.equals(X)}function Aj0(J,X,Y){if(J===void 0||J===null||X===void 0||X===null)return X===J;return Y(J,X)}function e$(J){return(X,Y)=>{if(X===void 0||X===null||Y===void 0||Y===null)return Y===X;return J(X,Y)}}var Vt;(function(J){J.strict=G7,J.strictC=Wj0,J.array=zj0,J.arrayC=XV,J.structural=ZM,J.structuralC=Fj0,J.jsonStringify=Bj0,J.jsonStringifyC=_j0,J.thisC=yx,J.ifDefined=Aj0,J.ifDefinedC=e$})(Vt||(Vt={}));var kq;function Kt(J){if(!kq)kq=J;else if(kq instanceof xx)kq.loggers.push(J);else kq=new xx([kq,J])}function V8(){return kq}class xx{constructor(J){this.loggers=J}handleObservableCreated(J,X){for(let Y of this.loggers)Y.handleObservableCreated(J,X)}handleOnListenerCountChanged(J,X){for(let Y of this.loggers)Y.handleOnListenerCountChanged(J,X)}handleObservableUpdated(J,X){for(let Y of this.loggers)Y.handleObservableUpdated(J,X)}handleAutorunCreated(J,X){for(let Y of this.loggers)Y.handleAutorunCreated(J,X)}handleAutorunDisposed(J){for(let X of this.loggers)X.handleAutorunDisposed(J)}handleAutorunDependencyChanged(J,X,Y){for(let Z of this.loggers)Z.handleAutorunDependencyChanged(J,X,Y)}handleAutorunStarted(J){for(let X of this.loggers)X.handleAutorunStarted(J)}handleAutorunFinished(J){for(let X of this.loggers)X.handleAutorunFinished(J)}handleDerivedDependencyChanged(J,X,Y){for(let Z of this.loggers)Z.handleDerivedDependencyChanged(J,X,Y)}handleDerivedCleared(J){for(let X of this.loggers)X.handleDerivedCleared(J)}handleBeginTransaction(J){for(let X of this.loggers)X.handleBeginTransaction(J)}handleEndTransaction(J){for(let X of this.loggers)X.handleEndTransaction(J)}}var K6;(function(J){let X=!1;function Y(){X=!0}J.enable=Y;function Z(){if(!X)return;let Q=Error,$=Q.stackTraceLimit;Q.stackTraceLimit=3;let q=Error().stack;return Q.stackTraceLimit=$,bx.fromStack(q,2)}J.ofCaller=Z})(K6||(K6={}));class bx{static fromStack(J,X){let Y=J.split(`\n`),Z=Pj0(Y[X+1]);if(Z)return new bx(Z.fileName,Z.line,Z.column,Z.id);else return}constructor(J,X,Y,Z){this.fileName=J,this.line=X,this.column=Y,this.id=Z}}function Pj0(J){let X=J.match(/\\((.*):(\\d+):(\\d+)\\)/);if(X)return{fileName:X[1],line:parseInt(X[2]),column:parseInt(X[3]),id:J};let Y=J.match(/at ([^\\(\\)]*):(\\d+):(\\d+)/);if(Y)return{fileName:Y[1],line:parseInt(Y[2]),column:parseInt(Y[3]),id:J};return}class K8{constructor(J,X,Y){this.owner=J,this.debugNameSource=X,this.referenceFn=Y}getDebugName(J){return Dj0(J,this)}}var jt=new Map,Cx=new WeakMap;function Dj0(J,X){let Y=Cx.get(J);if(Y)return Y;let Z=Oj0(J,X);if(Z){let Q=jt.get(Z)??0;Q++,jt.set(Z,Q);let $=Q===1?Z:`${Z}#${Q}`;return Cx.set(J,$),$}return}function Oj0(J,X){let Y=Cx.get(J);if(Y)return Y;let Z=X.owner?Rj0(X.owner)+\".\":\"\",Q,$=X.debugNameSource;if($!==void 0)if(typeof $===\"function\"){if(Q=$(),Q!==void 0)return Z+Q}else return Z+$;let q=X.referenceFn;if(q!==void 0){if(Q=bz(q),Q!==void 0)return Z+Q}if(X.owner!==void 0){let G=Mj0(X.owner,J);if(G!==void 0)return Z+G}return}function Mj0(J,X){for(let Y in J)if(J[Y]===X)return Y;return}var Wt=new Map,zt=new WeakMap;function Rj0(J){let X=zt.get(J);if(X)return X;let Y=Sx(J)??\"Object\",Z=Wt.get(Y)??0;Z++,Wt.set(Y,Z);let Q=Z===1?Y:`${Y}#${Z}`;return zt.set(J,Q),Q}function Sx(J){let X=J.constructor;if(X){if(X.name===\"Object\")return;return X.name}return}function bz(J){let X=J.toString(),Z=/\\/\\*\\*\\s*@description\\s*([^*]*)\\*\\//.exec(X);return(Z?Z[1]:void 0)?.trim()}var fx;function Ft(J){fx=J}var Bt;function _t(J){Bt=J}class QM{get TChange(){return null}reportChanges(){this.get()}read(J){if(J)return J.readObservable(this);else return this.get()}map(J,X,Y=K6.ofCaller()){let Z=X===void 0?void 0:J,Q=X===void 0?J:X;return fx({owner:Z,debugName:()=>{let $=bz(Q);if($!==void 0)return $;let G=/^\\s*\\(?\\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*\\)?\\s*=>\\s*\\1(?:\\??)\\.([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*$/.exec(Q.toString());if(G)return`${this.debugName}.${G[2]}`;if(!Z)return`${this.debugName} (mapped)`;return},debugReferenceFn:Q},($)=>Q(this.read($),$),Y)}flatten(){return fx({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(J)=>this.read(J).read(J))}recomputeInitiallyAndOnChange(J,X){return J.add(Bt(this,X)),this}}class x9 extends QM{constructor(J){super();this._observers=new Set,V8()?.handleObservableCreated(this,J)}addObserver(J){let X=this._observers.size;if(this._observers.add(J),X===0)this.onFirstObserverAdded();if(X!==this._observers.size)V8()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(J){let X=this._observers.delete(J);if(X&&this._observers.size===0)this.onLastObserverRemoved();if(X)V8()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}debugGetObservers(){return this._observers}}function Nj0(J){switch(J){case 0:return\"initial\";case 1:return\"dependenciesMightHaveChanged\";case 2:return\"stale\";case 3:return\"upToDate\";default:return\"<unknown>\"}}class L4 extends x9{get debugName(){return this._debugNameData.getDebugName(this)??\"(anonymous)\"}constructor(J,X,Y,Z=void 0,Q,$){super($);this._debugNameData=J,this._computeFn=X,this._changeTracker=Y,this._handleLastObserverRemoved=Z,this._equalityComparator=Q,this._state=0,this._value=void 0,this._updateCount=0,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._changeSummary=void 0,this._isUpdating=!1,this._isComputing=!1,this._didReportChange=!1,this._isInBeforeUpdate=!1,this._isReaderValid=!1,this._store=void 0,this._delayedStore=void 0,this._removedObserverToCallEndUpdateOn=null,this._changeSummary=this._changeTracker?.createChangeSummary(void 0)}onLastObserverRemoved(){this._state=0,this._value=void 0,V8()?.handleDerivedCleared(this);for(let J of this._dependencies)J.removeObserver(this);if(this._dependencies.clear(),this._store!==void 0)this._store.dispose(),this._store=void 0;if(this._delayedStore!==void 0)this._delayedStore.dispose(),this._delayedStore=void 0;this._handleLastObserverRemoved?.()}get(){if(this._isComputing,this._observers.size===0){let X;try{this._isReaderValid=!0;let Y=void 0;if(this._changeTracker)Y=this._changeTracker.createChangeSummary(void 0),this._changeTracker.beforeUpdate?.(this,Y);X=this._computeFn(this,Y)}finally{this._isReaderValid=!1}return this.onLastObserverRemoved(),X}else{do{if(this._state===1){for(let X of this._dependencies)if(X.reportChanges(),this._state===2)break}if(this._state===1)this._state=3;if(this._state!==3)this._recompute()}while(this._state!==3);return this._value}}_recompute(){let J=!1;this._isComputing=!0,this._didReportChange=!1;let X=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=X;try{let Y=this._changeSummary;if(this._isReaderValid=!0,this._changeTracker)this._isInBeforeUpdate=!0,this._changeTracker.beforeUpdate?.(this,Y),this._isInBeforeUpdate=!1,this._changeSummary=this._changeTracker?.createChangeSummary(Y);let Z=this._state!==0,Q=this._value;this._state=3;let $=this._delayedStore;if($!==void 0)this._delayedStore=void 0;try{if(this._store!==void 0)this._store.dispose(),this._store=void 0;this._value=this._computeFn(this,Y)}finally{this._isReaderValid=!1;for(let q of this._dependenciesToBeRemoved)q.removeObserver(this);if(this._dependenciesToBeRemoved.clear(),$!==void 0)$.dispose()}J=this._didReportChange||Z&&!this._equalityComparator(Q,this._value),V8()?.handleObservableUpdated(this,{oldValue:Q,newValue:this._value,change:void 0,didChange:J,hadValue:Z})}catch(Y){Qq(Y)}if(this._isComputing=!1,!this._didReportChange&&J)for(let Y of this._observers)Y.handleChange(this,void 0);else this._didReportChange=!1}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(J){if(this._isUpdating)throw new j0(\"Cyclic deriveds are not supported yet!\");this._updateCount++,this._isUpdating=!0;try{let X=this._updateCount===1;if(this._state===3){if(this._state=1,!X)for(let Y of this._observers)Y.handlePossibleChange(this)}if(X)for(let Y of this._observers)Y.beginUpdate(this)}finally{this._isUpdating=!1}}endUpdate(J){if(this._updateCount--,this._updateCount===0){let X=[...this._observers];for(let Y of X)Y.endUpdate(this);if(this._removedObserverToCallEndUpdateOn){let Y=[...this._removedObserverToCallEndUpdateOn];this._removedObserverToCallEndUpdateOn=null;for(let Z of Y)Z.endUpdate(this)}}k9(()=>this._updateCount>=0)}handlePossibleChange(J){if(this._state===3&&this._dependencies.has(J)&&!this._dependenciesToBeRemoved.has(J)){this._state=1;for(let X of this._observers)X.handlePossibleChange(this)}}handleChange(J,X){if(this._dependencies.has(J)&&!this._dependenciesToBeRemoved.has(J)||this._isInBeforeUpdate){V8()?.handleDerivedDependencyChanged(this,J,X);let Y=!1;try{Y=this._changeTracker?this._changeTracker.handleChange({changedObservable:J,change:X,didChange:(Q)=>Q===J},this._changeSummary):!0}catch(Q){Qq(Q)}let Z=this._state===3;if(Y&&(this._state===1||Z)){if(this._state=2,Z)for(let Q of this._observers)Q.handlePossibleChange(this)}}}_ensureReaderValid(){if(!this._isReaderValid)throw new j0(\"The reader object cannot be used outside its compute function!\")}readObservable(J){this._ensureReaderValid(),J.addObserver(this);let X=J.get();return this._dependencies.add(J),this._dependenciesToBeRemoved.delete(J),X}get store(){if(this._ensureReaderValid(),this._store===void 0)this._store=new a;return this._store}addObserver(J){let X=!this._observers.has(J)&&this._updateCount>0;if(super.addObserver(J),X){if(!this._removedObserverToCallEndUpdateOn?.delete(J))J.beginUpdate(this)}}removeObserver(J){if(this._observers.has(J)&&this._updateCount>0){if(!this._removedObserverToCallEndUpdateOn)this._removedObserverToCallEndUpdateOn=new Set;this._removedObserverToCallEndUpdateOn.add(J)}super.removeObserver(J)}debugGetState(){return{state:this._state,stateStr:Nj0(this._state),updateCount:this._updateCount,isComputing:this._isComputing,dependencies:this._dependencies,value:this._value}}debugSetValue(J){this._value=J}debugRecompute(){this.beginUpdate(this);try{if(!this._isComputing)this._recompute();else this._state=2}finally{this.endUpdate(this)}}setValue(J,X,Y){this._value=J;let Z=this._observers;X.updateObserver(this,this);for(let Q of Z)Q.handleChange(this,Y)}}class hx extends L4{constructor(J,X,Y,Z=void 0,Q,$,q){super(J,X,Y,Z,Q,q);this.set=$}}function z0(J,X,Y=K6.ofCaller()){if(X!==void 0)return new L4(new K8(J,void 0,X),X,void 0,void 0,G7,Y);return new L4(new K8(void 0,void 0,J),J,void 0,void 0,G7,Y)}function Eq(J,X,Y,Z=K6.ofCaller()){return new hx(new K8(J,void 0,X),X,void 0,void 0,G7,Y,Z)}function T7(J,X,Y=K6.ofCaller()){return new L4(new K8(J.owner,J.debugName,J.debugReferenceFn),X,void 0,J.onLastObserverRemoved,J.equalsFn??G7,Y)}Ft(T7);function Y9(J,X,Y=K6.ofCaller()){let Z,Q;if(X===void 0)Z=J,Q=void 0;else Q=J,Z=X;let $=void 0;return new L4(new K8(Q,void 0,Z),(q)=>{if(!$)$=new a;else $.clear();let G=Z(q);if(G)$.add(G);return G},void 0,()=>{if($)$.dispose(),$=void 0},G7,Y)}function wj0(J){switch(J){case 1:return\"dependenciesMightHaveChanged\";case 2:return\"stale\";case 3:return\"upToDate\";default:return\"<unknown>\"}}class J2{get debugName(){return this._debugNameData.getDebugName(this)??\"(anonymous)\"}constructor(J,X,Y,Z){this._debugNameData=J,this._runFn=X,this._changeTracker=Y,this._state=2,this._updateCount=0,this._disposed=!1,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._isRunning=!1,this._iteration=0,this._store=void 0,this._delayedStore=void 0,this._changeSummary=this._changeTracker?.createChangeSummary(void 0),V8()?.handleAutorunCreated(this,Z),this._run()}dispose(){if(this._disposed)return;this._disposed=!0;for(let J of this._dependencies)J.removeObserver(this);if(this._dependencies.clear(),this._store!==void 0)this._store.dispose();if(this._delayedStore!==void 0)this._delayedStore.dispose();V8()?.handleAutorunDisposed(this)}_run(){let J=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=J,this._state=3;try{if(!this._disposed){V8()?.handleAutorunStarted(this);let X=this._changeSummary,Y=this._delayedStore;if(Y!==void 0)this._delayedStore=void 0;try{if(this._isRunning=!0,this._changeTracker)this._changeTracker.beforeUpdate?.(this,X),this._changeSummary=this._changeTracker.createChangeSummary(X);if(this._store!==void 0)this._store.dispose(),this._store=void 0;this._runFn(this,X)}catch(Z){Qq(Z)}finally{if(this._isRunning=!1,Y!==void 0)Y.dispose()}}}finally{if(!this._disposed)V8()?.handleAutorunFinished(this);for(let X of this._dependenciesToBeRemoved)X.removeObserver(this);this._dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(J){if(this._state===3)this._checkIterations(),this._state=1;this._updateCount++}endUpdate(J){try{if(this._updateCount===1){this._iteration=1;do{if(this._checkIterations())return;if(this._state===1){this._state=3;for(let X of this._dependencies)if(X.reportChanges(),this._state===2)break}if(this._iteration++,this._state!==3)this._run()}while(this._state!==3)}}finally{this._updateCount--}k9(()=>this._updateCount>=0)}handlePossibleChange(J){if(this._state===3&&this._isDependency(J))this._checkIterations(),this._state=1}handleChange(J,X){if(this._isDependency(J)){V8()?.handleAutorunDependencyChanged(this,J,X);try{if(this._changeTracker?this._changeTracker.handleChange({changedObservable:J,change:X,didChange:(Z)=>Z===J},this._changeSummary):!0)this._checkIterations(),this._state=2}catch(Y){Qq(Y)}}}_isDependency(J){return this._dependencies.has(J)&&!this._dependenciesToBeRemoved.has(J)}_ensureNoRunning(){if(!this._isRunning)throw new j0(\"The reader object cannot be used outside its compute function!\")}readObservable(J){if(this._ensureNoRunning(),this._disposed)return J.get();J.addObserver(this);let X=J.get();return this._dependencies.add(J),this._dependenciesToBeRemoved.delete(J),X}get store(){if(this._ensureNoRunning(),this._disposed)throw new j0(\"Cannot access store after dispose\");if(this._store===void 0)this._store=new a;return this._store}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:wj0(this._state)}}debugRerun(){if(!this._isRunning)this._run();else this._state=2}_checkIterations(){if(this._iteration>100)return Qq(new j0(`Autorun '${this.debugName}' is stuck in an infinite update loop.`)),!0;return!1}}function C0(J,X=K6.ofCaller()){return new J2(new K8(void 0,void 0,J),J,void 0,X)}function Cz(J,X,Y=K6.ofCaller()){return new J2(new K8(J.owner,J.debugName,J.debugReferenceFn??X),X,void 0,Y)}function OY(J,X,Y=K6.ofCaller()){return new J2(new K8(J.owner,J.debugName,J.debugReferenceFn??X),X,J.changeTracker,Y)}function At(J,X){let Y=new a,Z=OY({owner:J.owner,debugName:J.debugName,debugReferenceFn:J.debugReferenceFn??X,changeTracker:J.changeTracker},(Q,$)=>{Y.clear(),X(Q,$,Y)});return J0(()=>{Z.dispose(),Y.dispose()})}function U7(J){let X=new a,Y=Cz({owner:void 0,debugName:void 0,debugReferenceFn:J},(Z)=>{X.clear(),J(Z,X)});return J0(()=>{Y.dispose(),X.dispose()})}function vx(J){let X=Error(\"BugIndicatingErrorRecovery: \"+J);b0(X),console.error(\"recovered from an error that indicates a bug\",X)}function k1(J,X){let Y=new HQ(J,X);try{J(Y)}finally{Y.finish()}}var $M=void 0;function yq(J){if($M)J($M);else{let X=new HQ(J,void 0);$M=X;try{J(X)}finally{X.finish(),$M=void 0}}}function YV(J,X,Y){if(!J)k1(X,Y);else X(J)}class HQ{constructor(J,X){this._fn=J,this._getDebugName=X,this._updatingObservers=[],V8()?.handleBeginTransaction(this)}getDebugName(){if(this._getDebugName)return this._getDebugName();return bz(this._fn)}updateObserver(J,X){if(!this._updatingObservers){vx(\"Transaction already finished!\"),k1((Y)=>{Y.updateObserver(J,X)});return}this._updatingObservers.push({observer:J,observable:X}),J.beginUpdate(X)}finish(){let J=this._updatingObservers;if(!J){vx(\"transaction.finish() has already been called!\");return}for(let X=0;X<J.length;X++){let{observer:Y,observable:Z}=J[X];Y.endUpdate(Z)}this._updatingObservers=null,V8()?.handleEndTransaction(this)}debugGetUpdatingObservers(){return this._updatingObservers}}function A0(J,X,Y=K6.ofCaller()){let Z;if(typeof J===\"string\")Z=new K8(void 0,J,void 0);else Z=new K8(J,void 0,void 0);return new X2(Z,X,G7,Y)}class X2 extends x9{get debugName(){return this._debugNameData.getDebugName(this)??\"ObservableValue\"}constructor(J,X,Y,Z){super(Z);this._debugNameData=J,this._equalityComparator=Y,this._value=X,V8()?.handleObservableUpdated(this,{hadValue:!1,newValue:X,change:void 0,didChange:!0,oldValue:void 0})}get(){return this._value}set(J,X,Y){if(Y===void 0&&this._equalityComparator(this._value,J))return;let Z;if(!X)X=Z=new HQ(()=>{},()=>`Setting ${this.debugName}`);try{let Q=this._value;this._setValue(J),V8()?.handleObservableUpdated(this,{oldValue:Q,newValue:J,change:Y,didChange:!0,hadValue:!0});for(let $ of this._observers)X.updateObserver($,this),$.handleChange(this,Y)}finally{if(Z)Z.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(J){this._value=J}debugGetState(){return{value:this._value}}debugSetValue(J){this._value=J}}function qM(J,X,Y=K6.ofCaller()){let Z;if(typeof J===\"string\")Z=new K8(void 0,J,void 0);else Z=new K8(J,void 0,void 0);return new Pt(Z,X,G7,Y)}class Pt extends X2{_setValue(J){if(this._value===J)return;if(this._value)this._value.dispose();this._value=J}dispose(){this._value?.dispose()}}function c1(...J){let X,Y,Z,Q;if(J.length===2)[Y,Z]=J;else[X,Y,Z,Q]=J;return new PX(new K8(X,void 0,Z),Y,Z,()=>PX.globalTransaction,G7,Q??K6.ofCaller())}function b9(J,X,Y,Z=K6.ofCaller()){return new PX(new K8(J.owner,J.debugName,J.debugReferenceFn??Y),X,Y,()=>J.getTransaction?.()??PX.globalTransaction,J.equalsFn??G7,Z)}class PX extends x9{constructor(J,X,Y,Z,Q,$){super($);this._debugNameData=J,this.event=X,this._getValue=Y,this._getTransaction=Z,this._equalityComparator=Q,this._hasValue=!1,this.handleEvent=(q)=>{let G=this._getValue(q),U=this._value,H=!this._hasValue||!this._equalityComparator(U,G),V=!1;if(H){if(this._value=G,this._hasValue)V=!0,YV(this._getTransaction(),(K)=>{V8()?.handleObservableUpdated(this,{oldValue:U,newValue:G,change:void 0,didChange:H,hadValue:this._hasValue});for(let j of this._observers)K.updateObserver(j,this),j.handleChange(this,void 0)},()=>{let K=this.getDebugName();return\"Event fired\"+(K?`: ${K}`:\"\")});this._hasValue=!0}if(!V)V8()?.handleObservableUpdated(this,{oldValue:U,newValue:G,change:void 0,didChange:H,hadValue:this._hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){let J=this.getDebugName();return\"From Event\"+(J?`: ${J}`:\"\")}onFirstObserverAdded(){this._subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this._subscription.dispose(),this._subscription=void 0,this._hasValue=!1,this._value=void 0}get(){if(this._subscription){if(!this._hasValue)this.handleEvent(void 0);return this._value}else return this._getValue(void 0)}debugSetValue(J){this._value=J}debugGetState(){return{value:this._value,hasValue:this._hasValue}}}(function(J){J.Observer=PX;function X(Y,Z){let Q=!1;if(PX.globalTransaction===void 0)PX.globalTransaction=Y,Q=!0;try{Z()}finally{if(Q)PX.globalTransaction=void 0}}J.batchEventsGlobally=X})(c1||(c1={}));function MY(J,X=K6.ofCaller()){if(typeof J===\"string\")return new gx(J,void 0,X);else return new gx(void 0,J,X)}class gx extends x9{get debugName(){return new K8(this._owner,this._debugName,void 0).getDebugName(this)??\"Observable Signal\"}toString(){return this.debugName}constructor(J,X,Y){super(Y);this._debugName=J,this._owner=X}trigger(J,X){if(!J){k1((Y)=>{this.trigger(Y,X)},()=>`Trigger signal ${this.debugName}`);return}for(let Y of this._observers)J.updateObserver(Y,this),Y.handleChange(this,X)}get(){}}function Y2(J,X){let Y=new Dt(!0,X);J.addObserver(Y);try{Y.beginUpdate(J)}finally{Y.endUpdate(J)}return J0(()=>{J.removeObserver(Y)})}_t(Y2);class Dt{constructor(J,X){this._forceRecompute=J,this._handleValue=X,this._counter=0}beginUpdate(J){this._counter++}endUpdate(J){if(this._counter===1&&this._forceRecompute)if(this._handleValue)this._handleValue(J.get());else J.reportChanges();this._counter--}handlePossibleChange(J){}handleChange(J,X){}}function px(J,X){let Y=void 0;return T7({owner:J,debugReferenceFn:X},(Q)=>{return Y=X(Q,Y),Y})}function VQ(J){return!!J&&J.read!==void 0&&J.reportChanges!==void 0}function xq(J,X){switch(typeof J){case\"number\":return\"\"+J;case\"string\":if(J.length+2<=X)return`\"${J}\"`;return`\"${J.substr(0,X-7)}\"+...`;case\"boolean\":return J?\"true\":\"false\";case\"undefined\":return\"undefined\";case\"object\":if(J===null)return\"null\";if(Array.isArray(J))return Tj0(J,X);return Lj0(J,X);case\"symbol\":return J.toString();case\"function\":return`[[Function${J.name?\" \"+J.name:\"\"}]]`;default:return\"\"+J}}function Tj0(J,X){let Y=\"[ \",Z=!0;for(let Q of J){if(!Z)Y+=\", \";if(Y.length-5>X){Y+=\"...\";break}Z=!1,Y+=`${xq(Q,X-Y.length)}`}return Y+=\" ]\",Y}function Lj0(J,X){if(typeof J.toString===\"function\"&&J.toString!==Object.prototype.toString){let $=J.toString();if($.length<=X)return $;return $.substring(0,X-3)+\"...\"}let Y=Sx(J),Z=Y?Y+\"(\":\"{ \",Q=!0;for(let[$,q]of Object.entries(J)){if(!Q)Z+=\", \";if(Z.length-5>X){Z+=\"...\";break}Q=!1,Z+=`${$}: ${xq(q,X-Z.length)}`}return Z+=Y?\")\":\" }\",Z}class GM{static createClient(J,X){return new GM(J,X)}constructor(J,X){this._channelFactory=J,this._getHandler=X,this._channel=this._channelFactory({handleNotification:(Q)=>{let $=Q,q=this._getHandler().notifications[$[0]];if(!q)throw Error(`Unknown notification \"${$[0]}\"!`);q(...$[1])},handleRequest:(Q)=>{let $=Q;try{return{type:\"result\",value:this._getHandler().requests[$[0]](...$[1])}}catch(q){return{type:\"error\",value:q}}}});let Y=new Proxy({},{get:(Q,$)=>{return async(...q)=>{let G=await this._channel.sendRequest([$,q]);if(G.type===\"error\")throw G.value;else return G.value}}}),Z=new Proxy({},{get:(Q,$)=>{return(...q)=>{this._channel.sendNotification([$,q])}}});this.api={notifications:Z,requests:Y}}}function Ot(J,X){let Y=globalThis,Z=[],Q=void 0,{channel:$,handler:q}=Ij0({sendNotification:(U)=>{if(Q)Q.sendNotification(U);else Z.push(U)}}),G=void 0;return(Y.$$debugValueEditor_debugChannels??(Y.$$debugValueEditor_debugChannels={}))[J]=(U)=>{G=X(),Q=U;for(let H of Z)U.sendNotification(H);return Z=[],q},GM.createClient($,()=>{if(!G)throw Error(\"Not supported\");return G})}function Ij0(J){let X;return{channel:(Z)=>{return X=Z,{sendNotification:(Q)=>{J.sendNotification(Q)},sendRequest:(Q)=>{throw Error(\"not supported\")}}},handler:{handleRequest:(Z)=>{if(Z.type===\"notification\")return X?.handleNotification(Z.data);else return X?.handleRequest(Z.data)}}}}class mx{constructor(){this._timeout=void 0}throttle(J,X){if(this._timeout===void 0)this._timeout=setTimeout(()=>{this._timeout=void 0,J()},X)}dispose(){if(this._timeout!==void 0)clearTimeout(this._timeout)}}function ux(J,X){for(let Y in X)if(!!J[Y]&&typeof J[Y]===\"object\"&&!!X[Y]&&typeof X[Y]===\"object\")ux(J[Y],X[Y]);else J[Y]=X[Y]}function cx(J,X){for(let Y in X)if(X[Y]===null)delete J[Y];else if(!!J[Y]&&typeof J[Y]===\"object\"&&!!X[Y]&&typeof X[Y]===\"object\")cx(J[Y],X[Y]);else J[Y]=X[Y]}class bq{static{this._instance=void 0}static getInstance(){if(bq._instance===void 0)bq._instance=new bq;return bq._instance}getTransactionState(){let J=[],X=[...this._activeTransactions];if(X.length===0)return;let Y=X.flatMap((Q)=>Q.debugGetUpdatingObservers()??[]).map((Q)=>Q.observer),Z=new Set;while(Y.length>0){let Q=Y.shift();if(Z.has(Q))continue;Z.add(Q);let $=this._getInfo(Q,(q)=>{if(!Z.has(q))Y.push(q)});if($)J.push($)}return{names:X.map((Q)=>Q.getDebugName()??\"tx\"),affected:J}}_getObservableInfo(J){let X=this._instanceInfos.get(J);if(!X){b0(new j0(\"No info found\"));return}return X}_getAutorunInfo(J){let X=this._instanceInfos.get(J);if(!X){b0(new j0(\"No info found\"));return}return X}_getInfo(J,X){if(J instanceof L4){let Y=[...J.debugGetObservers()];for(let G of Y)X(G);let Z=this._getObservableInfo(J);if(!Z)return;let Q=J.debugGetState(),$={name:J.debugName,instanceId:Z.instanceId,updateCount:Q.updateCount},q=[...Z.changedObservables].map((G)=>this._instanceInfos.get(G)?.instanceId).filter(Y7);if(Q.isComputing)return{...$,type:\"observable/derived\",state:\"updating\",changedDependencies:q,initialComputation:!1};switch(Q.state){case 0:return{...$,type:\"observable/derived\",state:\"noValue\"};case 3:return{...$,type:\"observable/derived\",state:\"upToDate\"};case 2:return{...$,type:\"observable/derived\",state:\"stale\",changedDependencies:q};case 1:return{...$,type:\"observable/derived\",state:\"possiblyStale\"}}}else if(J instanceof J2){let Y=this._getAutorunInfo(J);if(!Y)return;let Z={name:J.debugName,instanceId:Y.instanceId,updateCount:Y.updateCount},Q=[...Y.changedObservables].map(($)=>this._instanceInfos.get($).instanceId);if(J.debugGetState().isRunning)return{...Z,type:\"autorun\",state:\"updating\",changedDependencies:Q};switch(J.debugGetState().state){case 3:return{...Z,type:\"autorun\",state:\"upToDate\"};case 2:return{...Z,type:\"autorun\",state:\"stale\",changedDependencies:Q};case 1:return{...Z,type:\"autorun\",state:\"possiblyStale\"}}}return}_formatObservable(J){let X=this._getObservableInfo(J);if(!X)return;return{name:J.debugName,instanceId:X.instanceId}}_formatObserver(J){if(J instanceof L4)return{name:J.toString(),instanceId:this._getObservableInfo(J)?.instanceId};let X=this._getAutorunInfo(J);if(X)return{name:J.toString(),instanceId:X.instanceId};return}constructor(){this._declarationId=0,this._instanceId=0,this._declarations=new Map,this._instanceInfos=new WeakMap,this._aliveInstances=new Map,this._activeTransactions=new Set,this._channel=Ot(\"observableDevTools\",()=>{return{notifications:{setDeclarationIdFilter:(J)=>{},logObservableValue:(J)=>{console.log(\"logObservableValue\",J)},flushUpdates:()=>{this._flushUpdates()},resetUpdates:()=>{this._pendingChanges=null,this._channel.api.notifications.handleChange(this._fullState,!0)}},requests:{getDeclarations:()=>{let J={};for(let X of this._declarations.values())J[X.id]=X;return{decls:J}},getSummarizedInstances:()=>{return null},getObservableValueInfo:(J)=>{return{observers:[...this._aliveInstances.get(J).debugGetObservers()].map((Y)=>this._formatObserver(Y)).filter(Y7)}},getDerivedInfo:(J)=>{let X=this._aliveInstances.get(J);return{dependencies:[...X.debugGetState().dependencies].map((Y)=>this._formatObservable(Y)).filter(Y7),observers:[...X.debugGetObservers()].map((Y)=>this._formatObserver(Y)).filter(Y7)}},getAutorunInfo:(J)=>{return{dependencies:[...this._aliveInstances.get(J).debugGetState().dependencies].map((Y)=>this._formatObservable(Y)).filter(Y7)}},getTransactionState:()=>{return this.getTransactionState()},setValue:(J,X)=>{let Y=this._aliveInstances.get(J);if(Y instanceof L4)Y.debugSetValue(X);else if(Y instanceof X2)Y.debugSetValue(X);else if(Y instanceof PX)Y.debugSetValue(X);else throw new j0(\"Observable is not supported\");let Z=[...Y.debugGetObservers()];for(let Q of Z)Q.beginUpdate(Y);for(let Q of Z)Q.handleChange(Y,void 0);for(let Q of Z)Q.endUpdate(Y)},getValue:(J)=>{let X=this._aliveInstances.get(J);if(X instanceof L4)return xq(X.debugGetState().value,200);else if(X instanceof X2)return xq(X.debugGetState().value,200);return},logValue:(J)=>{let X=this._aliveInstances.get(J);if(X&&\"get\"in X)console.log(\"Logged Value:\",X.get());else throw new j0(\"Observable is not supported\")},rerun:(J)=>{let X=this._aliveInstances.get(J);if(X instanceof L4)X.debugRecompute();else if(X instanceof J2)X.debugRerun();else throw new j0(\"Observable is not supported\")}}}}),this._pendingChanges=null,this._changeThrottler=new mx,this._fullState={},this._flushUpdates=()=>{if(this._pendingChanges!==null)this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null},K6.enable()}_handleChange(J){if(cx(this._fullState,J),this._pendingChanges===null)this._pendingChanges=J;else ux(this._pendingChanges,J);this._changeThrottler.throttle(this._flushUpdates,10)}_getDeclarationId(J,X){if(!X)return-1;let Y=this._declarations.get(X.id);if(Y===void 0)Y={id:this._declarationId++,type:J,url:X.fileName,line:X.line,column:X.column},this._declarations.set(X.id,Y),this._handleChange({decls:{[Y.id]:Y}});return Y.id}handleObservableCreated(J,X){let Z={declarationId:this._getDeclarationId(\"observable/value\",X),instanceId:this._instanceId++,listenerCount:0,lastValue:void 0,updateCount:0,changedObservables:new Set};this._instanceInfos.set(J,Z)}handleOnListenerCountChanged(J,X){let Y=this._getObservableInfo(J);if(!Y)return;if(Y.listenerCount===0&&X>0){let Z=J instanceof L4?\"observable/derived\":\"observable/value\";this._aliveInstances.set(Y.instanceId,J),this._handleChange({instances:{[Y.instanceId]:{instanceId:Y.instanceId,declarationId:Y.declarationId,formattedValue:Y.lastValue,type:Z,name:J.debugName}}})}else if(Y.listenerCount>0&&X===0)this._handleChange({instances:{[Y.instanceId]:null}}),this._aliveInstances.delete(Y.instanceId);Y.listenerCount=X}handleObservableUpdated(J,X){if(J instanceof L4){this._handleDerivedRecomputed(J,X);return}let Y=this._getObservableInfo(J);if(Y){if(X.didChange){if(Y.lastValue=xq(X.newValue,30),Y.listenerCount>0)this._handleChange({instances:{[Y.instanceId]:{formattedValue:Y.lastValue}}})}}}handleAutorunCreated(J,X){let Z={declarationId:this._getDeclarationId(\"autorun\",X),instanceId:this._instanceId++,updateCount:0,changedObservables:new Set};if(this._instanceInfos.set(J,Z),this._aliveInstances.set(Z.instanceId,J),Z)this._handleChange({instances:{[Z.instanceId]:{instanceId:Z.instanceId,declarationId:Z.declarationId,runCount:0,type:\"autorun\",name:J.debugName}}})}handleAutorunDisposed(J){let X=this._getAutorunInfo(J);if(!X)return;this._handleChange({instances:{[X.instanceId]:null}}),this._instanceInfos.delete(J),this._aliveInstances.delete(X.instanceId)}handleAutorunDependencyChanged(J,X,Y){let Z=this._getAutorunInfo(J);if(!Z)return;Z.changedObservables.add(X)}handleAutorunStarted(J){}handleAutorunFinished(J){let X=this._getAutorunInfo(J);if(!X)return;X.changedObservables.clear(),X.updateCount++,this._handleChange({instances:{[X.instanceId]:{runCount:X.updateCount}}})}handleDerivedDependencyChanged(J,X,Y){let Z=this._getObservableInfo(J);if(Z)Z.changedObservables.add(X)}_handleDerivedRecomputed(J,X){let Y=this._getObservableInfo(J);if(!Y)return;let Z=xq(X.newValue,30);if(Y.updateCount++,Y.changedObservables.clear(),Y.lastValue=Z,Y.listenerCount>0)this._handleChange({instances:{[Y.instanceId]:{formattedValue:Z,recomputationCount:Y.updateCount}}})}handleDerivedCleared(J){let X=this._getObservableInfo(J);if(!X)return;if(X.lastValue=void 0,X.changedObservables.clear(),X.listenerCount>0)this._handleChange({instances:{[X.instanceId]:{formattedValue:void 0}}})}handleBeginTransaction(J){this._activeTransactions.add(J)}handleEndTransaction(J){this._activeTransactions.delete(J)}}if(nZ&&nZ.VSCODE_DEV_DEBUG_OBSERVABLES)Kt(bq.getInstance());var{getWindow:Q0,getDocument:Lt,getWindows:dx,getWindowsCount:kj0,getWindowId:Z2,getWindowById:lx,onDidRegisterWindow:KQ,onWillUnregisterWindow:It,onDidUnregisterWindow:kt}=function(){let J=new Map;gn(X1,1);let X={window:X1,disposables:new a};J.set(X1.vscodeWindowId,X);let Y=new E,Z=new E,Q=new E;function $(q,G){return(typeof q===\"number\"?J.get(q):void 0)??(G?X:void 0)}return{onDidRegisterWindow:Y.event,onWillUnregisterWindow:Q.event,onDidUnregisterWindow:Z.event,registerWindow(q){if(J.has(q.vscodeWindowId))return y.None;let G=new a,U={window:q,disposables:G.add(new a)};return J.set(q.vscodeWindowId,U),G.add(J0(()=>{J.delete(q.vscodeWindowId),Z.fire(q)})),G.add(f(q,r.BEFORE_UNLOAD,()=>{Q.fire(q)})),Y.fire(U),G},getWindows(){return J.values()},getWindowsCount(){return J.size},getWindowId(q){return q.vscodeWindowId},hasWindow(q){return J.has(q)},getWindowById:$,getWindow(q){let G=q;if(G?.ownerDocument?.defaultView)return G.ownerDocument.defaultView.window;let U=q;if(U?.view)return U.view.window;return X1},getDocument(q){return Q0(q).document}}}(),Ej0=new Set;function yj0(){for(let J of Ej0){let X=J();if(X.hasFocus&&X.window)return X.window}return}function r8(J){while(J.firstChild)J.firstChild.remove()}class Et{constructor(J,X,Y,Z){this._node=J,this._type=X,this._handler=Y,this._options=Z||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){if(!this._handler)return;this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null}}function f(J,X,Y,Z){return new Et(J,X,Y,Z)}function xj0(J,X){return function(Y){return X(new k8(J,Y))}}function bj0(J){return function(X){return J(new Y1(X))}}var F6=function(X,Y,Z,Q){let $=Z;if(Y===\"click\"||Y===\"mousedown\"||Y===\"contextmenu\")$=xj0(Q0(X),Z);else if(Y===\"keydown\"||Y===\"keypress\"||Y===\"keyup\")$=bj0(Z);return f(X,Y,$,Q)};function ZV(J,X,Y){return f(J,n7&&qQ.pointerEvents?r.POINTER_DOWN:r.MOUSE_DOWN,X,Y)}function yt(J,X,Y){return f(J,n7&&qQ.pointerEvents?r.POINTER_MOVE:r.MOUSE_MOVE,X,Y)}function sx(J,X,Y){return f(J,n7&&qQ.pointerEvents?r.POINTER_UP:r.MOUSE_UP,X,Y)}function hz(J,X,Y){return eH(J,X,Y)}var ax,E8;class Cq extends Iq{constructor(J){super();this.defaultTarget=J&&Q0(J)}cancelAndSet(J,X,Y){return super.cancelAndSet(J,X,Y??this.defaultTarget)}}class UM{constructor(J,X=0){this._runner=J,this.priority=X,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(this._canceled)return;try{this._runner()}catch(J){b0(J)}}static sort(J,X){return X.priority-J.priority}}(function(){let J=new Map,X=new Map,Y=new Map,Z=new Map,Q=($)=>{Y.set($,!1);let q=J.get($)??[];X.set($,q),J.set($,[]),Z.set($,!0);while(q.length>0)q.sort(UM.sort),q.shift().execute();Z.set($,!1)};E8=($,q,G=0)=>{let U=Z2($),H=new UM(q,G),V=J.get(U);if(!V)V=[],J.set(U,V);if(V.push(H),!Y.get(U))Y.set(U,!0),$.requestAnimationFrame(()=>Q(U));return H},ax=($,q,G)=>{let U=Z2($);if(Z.get(U)){let H=new UM(q,G),V=X.get(U);if(!V)V=[],X.set(U,V);return V.push(H),H}else return E8($,q,G)}})();function vz(J){return Q0(J).getComputedStyle(J,null)}function gz(J,X,Y){let Z=Q0(J),Q=Z.document;if(J!==Q.body)return new C9(J.clientWidth,J.clientHeight);if(n7&&Z?.visualViewport)return new C9(Z.visualViewport.width,Z.visualViewport.height);if(Z?.innerWidth&&Z.innerHeight)return new C9(Z.innerWidth,Z.innerHeight);if(Q.body&&Q.body.clientWidth&&Q.body.clientHeight)return new C9(Q.body.clientWidth,Q.body.clientHeight);if(Q.documentElement&&Q.documentElement.clientWidth&&Q.documentElement.clientHeight)return new C9(Q.documentElement.clientWidth,Q.documentElement.clientHeight);throw Error(\"Unable to figure out browser width and height\")}class i6{static convertToPixels(J,X){return parseFloat(X)||0}static getDimension(J,X){let Y=vz(J),Z=Y?Y.getPropertyValue(X):\"0\";return i6.convertToPixels(J,Z)}static getBorderLeftWidth(J){return i6.getDimension(J,\"border-left-width\")}static getBorderRightWidth(J){return i6.getDimension(J,\"border-right-width\")}static getBorderTopWidth(J){return i6.getDimension(J,\"border-top-width\")}static getBorderBottomWidth(J){return i6.getDimension(J,\"border-bottom-width\")}static getPaddingLeft(J){return i6.getDimension(J,\"padding-left\")}static getPaddingRight(J){return i6.getDimension(J,\"padding-right\")}static getPaddingTop(J){return i6.getDimension(J,\"padding-top\")}static getPaddingBottom(J){return i6.getDimension(J,\"padding-bottom\")}static getMarginLeft(J){return i6.getDimension(J,\"margin-left\")}static getMarginTop(J){return i6.getDimension(J,\"margin-top\")}static getMarginRight(J){return i6.getDimension(J,\"margin-right\")}static getMarginBottom(J){return i6.getDimension(J,\"margin-bottom\")}}class C9{static{this.None=new C9(0,0)}constructor(J,X){this.width=J,this.height=X}with(J=this.width,X=this.height){if(J!==this.width||X!==this.height)return new C9(J,X);else return this}static is(J){return typeof J===\"object\"&&typeof J.height===\"number\"&&typeof J.width===\"number\"}static lift(J){if(J instanceof C9)return J;else return new C9(J.width,J.height)}static equals(J,X){if(J===X)return!0;if(!J||!X)return!1;return J.width===X.width&&J.height===X.height}}function VM(J){let{offsetParent:X,offsetTop:Y,offsetLeft:Z}=J;while((J=J.parentNode)!==null&&J!==J.ownerDocument.body&&J!==J.ownerDocument.documentElement){Y-=J.scrollTop;let Q=bt(J)?null:vz(J);if(Q)Z-=Q.direction!==\"rtl\"?J.scrollLeft:-J.scrollLeft;if(J===X)Z+=i6.getBorderLeftWidth(J),Y+=i6.getBorderTopWidth(J),Y+=J.offsetTop,Z+=J.offsetLeft,X=J.offsetParent}return{left:Z,top:Y}}function R8(J){let X=J.getBoundingClientRect(),Y=Q0(J);return{left:X.left+Y.scrollX,top:X.top+Y.scrollY,width:X.width,height:X.height}}function KM(J){let X=J,Y=1;do{let Z=vz(X).zoom;if(Z!==null&&Z!==void 0&&Z!==\"1\")Y*=Z;X=X.parentElement}while(X!==null&&X!==X.ownerDocument.documentElement);return Y}function Z4(J){let X=i6.getMarginLeft(J)+i6.getMarginRight(J);return J.offsetWidth+X}function jM(J){let X=i6.getBorderLeftWidth(J)+i6.getBorderRightWidth(J),Y=i6.getPaddingLeft(J)+i6.getPaddingRight(J);return J.offsetWidth-X-Y}function xt(J){let X=i6.getBorderTopWidth(J)+i6.getBorderBottomWidth(J),Y=i6.getPaddingTop(J)+i6.getPaddingBottom(J);return J.offsetHeight-X-Y}function pz(J){let X=i6.getMarginTop(J)+i6.getMarginBottom(J);return J.offsetHeight+X}function d1(J,X){return Boolean(X?.contains(J))}function Cj0(J,X,Y){while(J&&J.nodeType===J.ELEMENT_NODE){if(J.classList.contains(X))return J;if(Y){if(typeof Y===\"string\"){if(J.classList.contains(Y))return null}else if(J===Y)return null}J=J.parentNode}return null}function WM(J,X,Y){return!!Cj0(J,X,Y)}function bt(J){return J&&!!J.host&&!!J.mode}function Sq(J){return!!DX(J)}function DX(J){while(J.parentNode){if(J===J.ownerDocument?.body)return null;J=J.parentNode}return bt(J)?J:null}function E1(){let J=$2().activeElement;while(J?.shadowRoot)J=J.shadowRoot.activeElement;return J}function Z9(J){return E1()===J}function Q2(J){return d1(E1(),J)}function $2(){if(kj0()<=1)return X1.document;let X=Array.from(dx()).map(({window:Z})=>Z.document).find((Z)=>Z.hasFocus());if(X)return X;let Y=yj0();if(Y)return Y.document;return X1.document}function i0(){return $2().defaultView?.window??X1}var Ct=new class{constructor(){this.mutationObservers=new Map}observe(J,X,Y){let Z=this.mutationObservers.get(J);if(!Z)Z=new Map,this.mutationObservers.set(J,Z);let Q=t$(Y),$=Z.get(Q);if(!$){let q=new E,G=new MutationObserver((H)=>q.fire(H));G.observe(J,Y);let U=$={users:1,observer:G,onDidMutate:q.event};X.add(J0(()=>{if(U.users-=1,U.users===0){if(q.dispose(),G.disconnect(),Z?.delete(Q),Z?.size===0)this.mutationObservers.delete(J)}})),Z.set(Q,$)}else $.users+=1;return $.onDidMutate}};function a0(J){return J instanceof HTMLElement||J instanceof Q0(J).HTMLElement}function ix(J){return J instanceof HTMLAnchorElement||J instanceof Q0(J).HTMLAnchorElement}function rx(J){return J instanceof SVGElement||J instanceof Q0(J).SVGElement}function q2(J){return J instanceof MouseEvent||J instanceof Q0(J).MouseEvent}function EJ(J){return J instanceof KeyboardEvent||J instanceof Q0(J).KeyboardEvent}var r={CLICK:\"click\",AUXCLICK:\"auxclick\",DBLCLICK:\"dblclick\",MOUSE_UP:\"mouseup\",MOUSE_DOWN:\"mousedown\",MOUSE_OVER:\"mouseover\",MOUSE_MOVE:\"mousemove\",MOUSE_OUT:\"mouseout\",MOUSE_ENTER:\"mouseenter\",MOUSE_LEAVE:\"mouseleave\",MOUSE_WHEEL:\"wheel\",POINTER_UP:\"pointerup\",POINTER_DOWN:\"pointerdown\",POINTER_MOVE:\"pointermove\",POINTER_LEAVE:\"pointerleave\",CONTEXT_MENU:\"contextmenu\",KEY_DOWN:\"keydown\",KEY_UP:\"keyup\",BEFORE_UNLOAD:\"beforeunload\",RESIZE:\"resize\",FOCUS:\"focus\",FOCUS_IN:\"focusin\",FOCUS_OUT:\"focusout\",BLUR:\"blur\",INPUT:\"input\",DRAG_START:\"dragstart\",DRAG:\"drag\",DRAG_ENTER:\"dragenter\",DRAG_LEAVE:\"dragleave\",DRAG_OVER:\"dragover\",DROP:\"drop\",DRAG_END:\"dragend\"};function St(J){let X=J;return!!(X&&typeof X.preventDefault===\"function\"&&typeof X.stopPropagation===\"function\")}var d0={stop:(J,X)=>{if(J.preventDefault(),X)J.stopPropagation();return J}};function ft(J){let X=[];for(let Y=0;J&&J.nodeType===J.ELEMENT_NODE;Y++)X[Y]=J.scrollTop,J=J.parentNode;return X}function ht(J,X){for(let Y=0;J&&J.nodeType===J.ELEMENT_NODE;Y++){if(J.scrollTop!==X[Y])J.scrollTop=X[Y];J=J.parentNode}}class HM extends y{get onDidFocus(){return this._onDidFocus.event}get onDidBlur(){return this._onDidBlur.event}static hasFocusWithin(J){if(a0(J)){let X=DX(J),Y=X?X.activeElement:J.ownerDocument.activeElement;return d1(Y,J)}else{let X=J;return d1(X.document.activeElement,X.document)}}constructor(J){super();this._onDidFocus=this._register(new E),this._onDidBlur=this._register(new E);let X=HM.hasFocusWithin(J),Y=!1,Z=()=>{if(Y=!1,!X)X=!0,this._onDidFocus.fire()},Q=()=>{if(X)Y=!0,(a0(J)?Q0(J):J).setTimeout(()=>{if(Y)Y=!1,X=!1,this._onDidBlur.fire()},0)};if(this._refreshStateHandler=()=>{if(HM.hasFocusWithin(J)!==X)if(X)Q();else Z()},this._register(f(J,r.FOCUS,Z,!0)),this._register(f(J,r.BLUR,Q,!0)),a0(J))this._register(f(J,r.FOCUS_IN,()=>this._refreshStateHandler())),this._register(f(J,r.FOCUS_OUT,()=>this._refreshStateHandler()))}}function L7(J){return new HM(J)}function vt(J,X){return J.after(X),X}function q0(J,...X){if(J.append(...X),X.length===1&&typeof X[0]!==\"string\")return X[0]}function G2(J,X){return J.insertBefore(X,J.firstChild),X}function $8(J,...X){J.textContent=\"\",q0(J,...X)}var Sj0=/([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/,Sz;(function(J){J.HTML=\"http://www.w3.org/1999/xhtml\",J.SVG=\"http://www.w3.org/2000/svg\"})(Sz||(Sz={}));function gt(J,X,Y,...Z){let Q=Sj0.exec(X);if(!Q)throw Error(\"Bad use of emmet\");let $=Q[1]||\"div\",q;if(J!==Sz.HTML)q=document.createElementNS(J,$);else q=document.createElement($);if(Q[3])q.id=Q[3];if(Q[4])q.className=Q[4].replace(/\\./g,\" \").trim();if(Y)Object.entries(Y).forEach(([G,U])=>{if(typeof U>\"u\")return;if(/^on\\w+$/.test(G))q[G]=U;else if(G===\"selected\"){if(U)q.setAttribute(G,\"true\")}else q.setAttribute(G,U)});return q.append(...Z),q}function $0(J,X,...Y){return gt(Sz.HTML,J,X,...Y)}$0.SVG=function(J,X,...Y){return gt(Sz.SVG,J,X,...Y)};function pt(J,...X){if(J)mz(...X);else zM(...X)}function mz(...J){for(let X of J)X.style.display=\"\",X.removeAttribute(\"aria-hidden\")}function zM(...J){for(let X of J)X.style.display=\"none\",X.setAttribute(\"aria-hidden\",\"true\")}function ox(J,X){let Y=J.devicePixelRatio*X;return Math.max(1,Math.floor(Y))/J.devicePixelRatio}function FM(J){X1.open(J,\"_blank\",\"noopener\")}function mt(J,X){let Y=()=>{X(),Z=E8(J,Y)},Z=E8(J,Y);return J0(()=>Z.dispose())}Tx.setPreferredWebSchema(/^https:/.test(X1.location.href)?\"https\":\"http\");class kJ extends E{constructor(){super();this._subscriptions=new a,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(i.runAndSubscribe(KQ,({window:J,disposables:X})=>this.registerListeners(J,X),{window:X1,disposables:this._subscriptions}))}registerListeners(J,X){X.add(f(J,\"keydown\",(Y)=>{if(Y.defaultPrevented)return;let Z=new Y1(Y);if(Z.keyCode===6&&Y.repeat)return;if(Y.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed=\"alt\";else if(Y.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed=\"ctrl\";else if(Y.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed=\"meta\";else if(Y.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed=\"shift\";else if(Z.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;if(this._keyStatus.altKey=Y.altKey,this._keyStatus.ctrlKey=Y.ctrlKey,this._keyStatus.metaKey=Y.metaKey,this._keyStatus.shiftKey=Y.shiftKey,this._keyStatus.lastKeyPressed)this._keyStatus.event=Y,this.fire(this._keyStatus)},!0)),X.add(f(J,\"keyup\",(Y)=>{if(Y.defaultPrevented)return;if(!Y.altKey&&this._keyStatus.altKey)this._keyStatus.lastKeyReleased=\"alt\";else if(!Y.ctrlKey&&this._keyStatus.ctrlKey)this._keyStatus.lastKeyReleased=\"ctrl\";else if(!Y.metaKey&&this._keyStatus.metaKey)this._keyStatus.lastKeyReleased=\"meta\";else if(!Y.shiftKey&&this._keyStatus.shiftKey)this._keyStatus.lastKeyReleased=\"shift\";else this._keyStatus.lastKeyReleased=void 0;if(this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased)this._keyStatus.lastKeyPressed=void 0;if(this._keyStatus.altKey=Y.altKey,this._keyStatus.ctrlKey=Y.ctrlKey,this._keyStatus.metaKey=Y.metaKey,this._keyStatus.shiftKey=Y.shiftKey,this._keyStatus.lastKeyReleased)this._keyStatus.event=Y,this.fire(this._keyStatus)},!0)),X.add(f(J.document.body,\"mousedown\",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),X.add(f(J.document.body,\"mouseup\",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),X.add(f(J.document.body,\"mousemove\",(Y)=>{if(Y.buttons)this._keyStatus.lastKeyPressed=void 0},!0)),X.add(f(J,\"blur\",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){if(!kJ.instance)kJ.instance=new kJ;return kJ.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class nx extends y{constructor(J,X){super();this.element=J,this.callbacks=X,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){if(this.callbacks.onDragStart)this._register(f(this.element,r.DRAG_START,(J)=>{this.callbacks.onDragStart?.(J)}));if(this.callbacks.onDrag)this._register(f(this.element,r.DRAG,(J)=>{this.callbacks.onDrag?.(J)}));this._register(f(this.element,r.DRAG_ENTER,(J)=>{this.counter++,this.dragStartTime=J.timeStamp,this.callbacks.onDragEnter?.(J)})),this._register(f(this.element,r.DRAG_OVER,(J)=>{J.preventDefault(),this.callbacks.onDragOver?.(J,J.timeStamp-this.dragStartTime)})),this._register(f(this.element,r.DRAG_LEAVE,(J)=>{if(this.counter--,this.counter===0)this.dragStartTime=0,this.callbacks.onDragLeave?.(J)})),this._register(f(this.element,r.DRAG_END,(J)=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(J)})),this._register(f(this.element,r.DROP,(J)=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(J)}))}}var fj0=/(?<tag>[\\w\\-]+)?(?:#(?<id>[\\w\\-]+))?(?<class>(?:\\.(?:[\\w\\-]+))*)(?:@(?<name>(?:[\\w\\_])+))?/;function Z1(J,...X){let Y,Z;if(Array.isArray(X[0]))Y={},Z=X[0];else Y=X[0]||{},Z=X[1];let Q=fj0.exec(J);if(!Q||!Q.groups)throw Error(\"Bad use of h\");let $=Q.groups.tag||\"div\",q=document.createElement($);if(Q.groups.id)q.id=Q.groups.id;let G=[];if(Q.groups.class){for(let H of Q.groups.class.split(\".\"))if(H!==\"\")G.push(H)}if(Y.className!==void 0){for(let H of Y.className.split(\".\"))if(H!==\"\")G.push(H)}if(G.length>0)q.className=G.join(\" \");let U={};if(Q.groups.name)U[Q.groups.name]=q;if(Z){for(let H of Z)if(a0(H))q.appendChild(H);else if(typeof H===\"string\")q.append(H);else if(\"root\"in H)Object.assign(U,H),q.appendChild(H.root)}for(let[H,V]of Object.entries(Y))if(H===\"className\")continue;else if(H===\"style\")for(let[K,j]of Object.entries(V))q.style.setProperty(fz(K),typeof j===\"number\"?j+\"px\":\"\"+j);else if(H===\"tabIndex\")q.tabIndex=V;else q.setAttribute(fz(H),V.toString());return U.root=q,U}function fz(J){return J.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase()}function Q4(J){return J.tagName.toLowerCase()===\"input\"||J.tagName.toLowerCase()===\"textarea\"||a0(J)&&!!J.editContext}var Mt;(function(J){function X(Q=void 0){return($,q,G)=>{let U=q.class;delete q.class;let H=q.ref;delete q.ref;let V=q.obsRef;return delete q.obsRef,new st($,H,V,Q,U,q,G)}}function Y(Q,$=void 0){let q=X($);return(G,U)=>{return q(Q,G,U)}}J.div=Y(\"div\"),J.elem=X(void 0),J.svg=Y(\"svg\",\"http://www.w3.org/2000/svg\"),J.svgElem=X(\"http://www.w3.org/2000/svg\");function Z(){let Q=void 0,$=function(q){Q=q};return Object.defineProperty($,\"element\",{get(){if(!Q)throw new j0(\"Make sure the ref is set before accessing the element. Maybe wrong initialization order?\");return Q}}),$}J.ref=Z})(Mt||(Mt={}));class tx{constructor(J,X,Y,Z,Q,$,q){if(this._deriveds=[],this._isHovered=void 0,this._didMouseMoveDuringHover=void 0,this._element=Z?document.createElementNS(Z,J):document.createElement(J),X)X(this._element);if(Y)this._deriveds.push(z0((G)=>{Y(this),G.store.add({dispose:()=>{Y(null)}})}));if(Q)if(ct(Q))this._deriveds.push(z0(this,(G)=>{Rt(this._element,Nt(Q,G))}));else Rt(this._element,Nt(Q,void 0));for(let[G,U]of Object.entries($))if(G===\"style\")for(let[H,V]of Object.entries(U)){let K=fz(H);if(VQ(V))this._deriveds.push(T7({owner:this,debugName:()=>`set.style.${K}`},(j)=>{this._element.style.setProperty(K,wt(V.read(j)))}));else this._element.style.setProperty(K,wt(V))}else if(G===\"tabIndex\")if(VQ(U))this._deriveds.push(z0(this,(H)=>{this._element.tabIndex=U.read(H)}));else this._element.tabIndex=U;else if(G.startsWith(\"on\"))this._element[G]=U;else if(VQ(U))this._deriveds.push(T7({owner:this,debugName:()=>`set.${G}`},(H)=>{Tt(this._element,G,U.read(H))}));else Tt(this._element,G,U);if(q){let G=function(H,V){if(VQ(V))return G(H,V.read(H));if(Array.isArray(V))return V.flatMap((K)=>G(H,K));if(V instanceof tx){if(H)V.readEffect(H);return[V._element]}if(V)return[V];return[]},U=z0(this,(H)=>{this._element.replaceChildren(...G(H,q))});if(this._deriveds.push(U),!dt(q))U.get()}}readEffect(J){for(let X of this._deriveds)X.read(J)}keepUpdated(J){return z0((X)=>{this.readEffect(X)}).recomputeInitiallyAndOnChange(J),this}toDisposableLiveElement(){let J=new a;return this.keepUpdated(J),new lt(this._element,J)}get isHovered(){if(!this._isHovered){let J=A0(\"hovered\",!1);this._element.addEventListener(\"mouseenter\",(X)=>J.set(!0,void 0)),this._element.addEventListener(\"mouseleave\",(X)=>J.set(!1,void 0)),this._isHovered=J}return this._isHovered}get didMouseMoveDuringHover(){if(!this._didMouseMoveDuringHover){let J=!1,X=A0(\"didMouseMoveDuringHover\",!1);this._element.addEventListener(\"mouseenter\",(Y)=>{J=!0}),this._element.addEventListener(\"mousemove\",(Y)=>{if(J)X.set(!0,void 0)}),this._element.addEventListener(\"mouseleave\",(Y)=>{J=!1,X.set(!1,void 0)}),this._didMouseMoveDuringHover=X}return this._didMouseMoveDuringHover}}function Rt(J,X){if(rx(J))J.setAttribute(\"class\",X);else J.className=X}function ut(J,X,Y){if(VQ(J)){Y(J.read(X));return}if(Array.isArray(J)){for(let Z of J)ut(Z,X,Y);return}Y(J)}function Nt(J,X){let Y=\"\";return ut(J,X,(Z)=>{if(Z)if(Y.length===0)Y=Z;else Y+=\" \"+Z}),Y}function ct(J){if(VQ(J))return!0;if(Array.isArray(J))return J.some((X)=>ct(X));return!1}function wt(J){if(typeof J===\"number\")return J+\"px\";return J}function dt(J){if(VQ(J))return!0;if(Array.isArray(J))return J.some((X)=>dt(X));return!1}class lt{constructor(J,X){this.element=J,this._disposable=X}dispose(){this._disposable.dispose()}}class st extends tx{get element(){return this._element}}function Tt(J,X,Y){if(Y===null||Y===void 0)J.removeAttribute(fz(X));else J.setAttribute(fz(X),String(Y))}class at extends HTMLElement{disconnectedCallback(){this.onDidDisconnect?.()}connectedCallback(){this.onDidConnect?.()}}if(!customElements.get(\"connection-observer\"))customElements.define(\"connection-observer\",at);class it extends y{constructor(J){super();this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(J,!0),this._mediaQueryList=null,this._handleChange(J,!1),this._register(J0(()=>this._mediaQueryList?.removeEventListener(\"change\",this._listener)))}_handleChange(J,X){if(this._mediaQueryList?.removeEventListener(\"change\",this._listener),this._mediaQueryList=J.matchMedia(`(resolution: ${J.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener(\"change\",this._listener),X)this._onDidChange.fire()}}class rt extends y{get value(){return this._value}constructor(J){super();this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(J);let X=this._register(new it(J));this._register(X.onDidChange(()=>{this._value=this._getPixelRatio(J),this._onDidChange.fire(this._value)}))}_getPixelRatio(J){let X=document.createElement(\"canvas\").getContext(\"2d\"),Y=J.devicePixelRatio||1,Z=X?.webkitBackingStorePixelRatio||X?.mozBackingStorePixelRatio||X?.msBackingStorePixelRatio||X?.oBackingStorePixelRatio||X?.backingStorePixelRatio||1;return Y/Z}}class ot{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(J){let X=Z2(J),Y=this.mapWindowIdToPixelRatioMonitor.get(X);if(!Y)Y=t7(new rt(J)),this.mapWindowIdToPixelRatioMonitor.set(X,Y),t7(i.once(kt)(({vscodeWindowId:Z})=>{if(Z===X)Y?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(X)}));return Y}getInstance(J){return this._getOrCreatePixelRatioMonitor(J)}}var QV=new ot;class fq{constructor(J){this.domNode=J,this._maxWidth=\"\",this._width=\"\",this._height=\"\",this._top=\"\",this._left=\"\",this._bottom=\"\",this._right=\"\",this._paddingLeft=\"\",this._fontFamily=\"\",this._fontWeight=\"\",this._fontSize=\"\",this._fontStyle=\"\",this._fontFeatureSettings=\"\",this._fontVariationSettings=\"\",this._textDecoration=\"\",this._lineHeight=\"\",this._letterSpacing=\"\",this._className=\"\",this._display=\"\",this._position=\"\",this._visibility=\"\",this._color=\"\",this._backgroundColor=\"\",this._layerHint=!1,this._contain=\"none\",this._boxShadow=\"\"}focus(){this.domNode.focus()}setMaxWidth(J){let X=OX(J);if(this._maxWidth===X)return;this._maxWidth=X,this.domNode.style.maxWidth=this._maxWidth}setWidth(J){let X=OX(J);if(this._width===X)return;this._width=X,this.domNode.style.width=this._width}setHeight(J){let X=OX(J);if(this._height===X)return;this._height=X,this.domNode.style.height=this._height}setTop(J){let X=OX(J);if(this._top===X)return;this._top=X,this.domNode.style.top=this._top}setLeft(J){let X=OX(J);if(this._left===X)return;this._left=X,this.domNode.style.left=this._left}setBottom(J){let X=OX(J);if(this._bottom===X)return;this._bottom=X,this.domNode.style.bottom=this._bottom}setRight(J){let X=OX(J);if(this._right===X)return;this._right=X,this.domNode.style.right=this._right}setPaddingLeft(J){let X=OX(J);if(this._paddingLeft===X)return;this._paddingLeft=X,this.domNode.style.paddingLeft=this._paddingLeft}setFontFamily(J){if(this._fontFamily===J)return;this._fontFamily=J,this.domNode.style.fontFamily=this._fontFamily}setFontWeight(J){if(this._fontWeight===J)return;this._fontWeight=J,this.domNode.style.fontWeight=this._fontWeight}setFontSize(J){let X=OX(J);if(this._fontSize===X)return;this._fontSize=X,this.domNode.style.fontSize=this._fontSize}setFontStyle(J){if(this._fontStyle===J)return;this._fontStyle=J,this.domNode.style.fontStyle=this._fontStyle}setFontFeatureSettings(J){if(this._fontFeatureSettings===J)return;this._fontFeatureSettings=J,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings}setFontVariationSettings(J){if(this._fontVariationSettings===J)return;this._fontVariationSettings=J,this.domNode.style.fontVariationSettings=this._fontVariationSettings}setTextDecoration(J){if(this._textDecoration===J)return;this._textDecoration=J,this.domNode.style.textDecoration=this._textDecoration}setLineHeight(J){let X=OX(J);if(this._lineHeight===X)return;this._lineHeight=X,this.domNode.style.lineHeight=this._lineHeight}setLetterSpacing(J){let X=OX(J);if(this._letterSpacing===X)return;this._letterSpacing=X,this.domNode.style.letterSpacing=this._letterSpacing}setClassName(J){if(this._className===J)return;this._className=J,this.domNode.className=this._className}toggleClassName(J,X){this.domNode.classList.toggle(J,X),this._className=this.domNode.className}setDisplay(J){if(this._display===J)return;this._display=J,this.domNode.style.display=this._display}setPosition(J){if(this._position===J)return;this._position=J,this.domNode.style.position=this._position}setVisibility(J){if(this._visibility===J)return;this._visibility=J,this.domNode.style.visibility=this._visibility}setColor(J){if(this._color===J)return;this._color=J,this.domNode.style.color=this._color}setBackgroundColor(J){if(this._backgroundColor===J)return;this._backgroundColor=J,this.domNode.style.backgroundColor=this._backgroundColor}setLayerHinting(J){if(this._layerHint===J)return;this._layerHint=J,this.domNode.style.transform=this._layerHint?\"translate3d(0px, 0px, 0px)\":\"\"}setBoxShadow(J){if(this._boxShadow===J)return;this._boxShadow=J,this.domNode.style.boxShadow=J}setContain(J){if(this._contain===J)return;this._contain=J,this.domNode.style.contain=this._contain}setAttribute(J,X){this.domNode.setAttribute(J,X)}removeAttribute(J){this.domNode.removeAttribute(J)}appendChild(J){this.domNode.appendChild(J.domNode)}removeChild(J){this.domNode.removeChild(J.domNode)}}function OX(J){return typeof J===\"number\"?`${J}px`:J}function p0(J){return new fq(J)}function B6(J,X){if(J instanceof fq)J.setFontFamily(X.getMassagedFontFamily()),J.setFontWeight(X.fontWeight),J.setFontSize(X.fontSize),J.setFontFeatureSettings(X.fontFeatureSettings),J.setFontVariationSettings(X.fontVariationSettings),J.setLineHeight(X.lineHeight),J.setLetterSpacing(X.letterSpacing);else J.style.fontFamily=X.getMassagedFontFamily(),J.style.fontWeight=X.fontWeight,J.style.fontSize=X.fontSize+\"px\",J.style.fontFeatureSettings=X.fontFeatureSettings,J.style.fontVariationSettings=X.fontVariationSettings,J.style.lineHeight=X.lineHeight+\"px\",J.style.letterSpacing=X.letterSpacing+\"px\"}class ex{constructor(J,X){this.chr=J,this.type=X,this.width=0}fulfill(J){this.width=J}}class Jb{constructor(J,X){this._bareFontInfo=J,this._requests=X,this._container=null,this._testElements=null}read(J){this._createDomElements(),J.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){let J=document.createElement(\"div\");J.style.position=\"absolute\",J.style.top=\"-50000px\",J.style.width=\"50000px\";let X=document.createElement(\"div\");B6(X,this._bareFontInfo),J.appendChild(X);let Y=document.createElement(\"div\");B6(Y,this._bareFontInfo),Y.style.fontWeight=\"bold\",J.appendChild(Y);let Z=document.createElement(\"div\");B6(Z,this._bareFontInfo),Z.style.fontStyle=\"italic\",J.appendChild(Z);let Q=[];for(let $ of this._requests){let q;if($.type===0)q=X;if($.type===2)q=Y;if($.type===1)q=Z;q.appendChild(document.createElement(\"br\"));let G=document.createElement(\"span\");Jb._render(G,$),q.appendChild(G),Q.push(G)}this._container=J,this._testElements=Q}static _render(J,X){if(X.chr===\" \"){let Y=\" \";for(let Z=0;Z<8;Z++)Y+=Y;J.innerText=Y}else{let Y=X.chr;for(let Z=0;Z<8;Z++)Y+=Y;J.textContent=Y}}_readFromDomElements(){for(let J=0,X=this._requests.length;J<X;J++){let Y=this._requests[J],Z=this._testElements[J];Y.fulfill(Z.offsetWidth/256)}}}function nt(J,X,Y){new Jb(X,Y).read(J)}class tt extends y{constructor(){super(...arguments);this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event}dispose(){if(this._evictUntrustedReadingsTimeout!==-1)clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1;super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(J){let X=Z2(J),Y=this._cache.get(X);if(!Y)Y=new et,this._cache.set(X,Y);return Y}_writeToCache(J,X,Y){if(this._ensureCache(J).put(X,Y),!Y.isTrusted&&this._evictUntrustedReadingsTimeout===-1)this._evictUntrustedReadingsTimeout=J.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(J)},5000)}_evictUntrustedReadings(J){let X=this._ensureCache(J),Y=X.getValues(),Z=!1;for(let Q of Y)if(!Q.isTrusted)Z=!0,X.remove(Q);if(Z)this._onDidChange.fire()}readFontInfo(J,X){let Y=this._ensureCache(J);if(!Y.has(X)){let Z=this._actualReadFontInfo(J,X);if(Z.typicalHalfwidthCharacterWidth<=2||Z.typicalFullwidthCharacterWidth<=2||Z.spaceWidth<=2||Z.maxDigitWidth<=2)Z=new c$({pixelRatio:QV.getInstance(J).value,fontFamily:Z.fontFamily,fontWeight:Z.fontWeight,fontSize:Z.fontSize,fontFeatureSettings:Z.fontFeatureSettings,fontVariationSettings:Z.fontVariationSettings,lineHeight:Z.lineHeight,letterSpacing:Z.letterSpacing,isMonospace:Z.isMonospace,typicalHalfwidthCharacterWidth:Math.max(Z.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(Z.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:Z.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(Z.spaceWidth,5),middotWidth:Math.max(Z.middotWidth,5),wsmiddotWidth:Math.max(Z.wsmiddotWidth,5),maxDigitWidth:Math.max(Z.maxDigitWidth,5)},!1);this._writeToCache(J,X,Z)}return Y.get(X)}_createRequest(J,X,Y,Z){let Q=new ex(J,X);return Y.push(Q),Z?.push(Q),Q}_actualReadFontInfo(J,X){let Y=[],Z=[],Q=this._createRequest(\"n\",0,Y,Z),$=this._createRequest(\"ｍ\",0,Y,null),q=this._createRequest(\" \",0,Y,Z),G=this._createRequest(\"0\",0,Y,Z),U=this._createRequest(\"1\",0,Y,Z),H=this._createRequest(\"2\",0,Y,Z),V=this._createRequest(\"3\",0,Y,Z),K=this._createRequest(\"4\",0,Y,Z),j=this._createRequest(\"5\",0,Y,Z),W=this._createRequest(\"6\",0,Y,Z),z=this._createRequest(\"7\",0,Y,Z),B=this._createRequest(\"8\",0,Y,Z),P=this._createRequest(\"9\",0,Y,Z),_=this._createRequest(\"→\",0,Y,Z),A=this._createRequest(\"￫\",0,Y,null),O=this._createRequest(\"·\",0,Y,Z),D=this._createRequest(String.fromCharCode(11825),0,Y,null),R=\"|/-_ilm%\";for(let S=0,h=8;S<h;S++)this._createRequest(\"|/-_ilm%\".charAt(S),0,Y,Z),this._createRequest(\"|/-_ilm%\".charAt(S),1,Y,Z),this._createRequest(\"|/-_ilm%\".charAt(S),2,Y,Z);nt(J,X,Y);let N=Math.max(G.width,U.width,H.width,V.width,K.width,j.width,W.width,z.width,B.width,P.width),w=X.fontFeatureSettings===R7.OFF,k=Z[0].width;for(let S=1,h=Z.length;w&&S<h;S++){let u=k-Z[S].width;if(u<-0.001||u>0.001){w=!1;break}}let I=!0;if(w&&A.width!==k)I=!1;if(A.width>_.width)I=!1;return new c$({pixelRatio:QV.getInstance(J).value,fontFamily:X.fontFamily,fontWeight:X.fontWeight,fontSize:X.fontSize,fontFeatureSettings:X.fontFeatureSettings,fontVariationSettings:X.fontVariationSettings,lineHeight:X.lineHeight,letterSpacing:X.letterSpacing,isMonospace:w,typicalHalfwidthCharacterWidth:Q.width,typicalFullwidthCharacterWidth:$.width,canUseHalfwidthRightwardsArrow:I,spaceWidth:q.width,middotWidth:O.width,wsmiddotWidth:D.width,maxDigitWidth:N},!0)}}class et{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(J){let X=J.getId();return!!this._values[X]}get(J){let X=J.getId();return this._values[X]}put(J,X){let Y=J.getId();this._keys[Y]=J,this._values[Y]=X}remove(J){let X=J.getId();delete this._keys[X],delete this._values[X]}getValues(){return Object.keys(this._keys).map((J)=>this._values[J])}}var uz=new tt;var yJ;(function(J){J.serviceIds=new Map,J.DI_TARGET=\"$di$target\",J.DI_DEPENDENCIES=\"$di$dependencies\";function X(Y){return Y[J.DI_DEPENDENCIES]||[]}J.getServiceDependencies=X})(yJ||(yJ={}));var w0=W0(\"instantiationService\");function hj0(J,X,Y){if(X[yJ.DI_TARGET]===X)X[yJ.DI_DEPENDENCIES].push({id:J,index:Y});else X[yJ.DI_DEPENDENCIES]=[{id:J,index:Y}],X[yJ.DI_TARGET]=X}function W0(J){if(yJ.serviceIds.has(J))return yJ.serviceIds.get(J);let X=function(Y,Z,Q){if(arguments.length!==3)throw Error(\"@IServiceName-decorator can only be used to decorate a parameter\");hj0(X,Y,Q)};return X.toString=()=>J,yJ.serviceIds.set(J,X),X}var l1=W0(\"codeEditorService\");var j8=W0(\"modelService\");var hq=W0(\"textModelService\");class S9 extends y{get onDidChange(){return this._onDidChange.event}constructor(J,X=\"\",Y=\"\",Z=!0,Q){super();this._onDidChange=this._register(new E),this._enabled=!0,this._id=J,this._label=X,this._cssClass=Y,this._enabled=Z,this._actionCallback=Q}get id(){return this._id}get label(){return this._label}set label(J){this._setLabel(J)}_setLabel(J){if(this._label!==J)this._label=J,this._onDidChange.fire({label:J})}get tooltip(){return this._tooltip||\"\"}set tooltip(J){this._setTooltip(J)}_setTooltip(J){if(this._tooltip!==J)this._tooltip=J,this._onDidChange.fire({tooltip:J})}get class(){return this._cssClass}set class(J){this._setClass(J)}_setClass(J){if(this._cssClass!==J)this._cssClass=J,this._onDidChange.fire({class:J})}get enabled(){return this._enabled}set enabled(J){this._setEnabled(J)}_setEnabled(J){if(this._enabled!==J)this._enabled=J,this._onDidChange.fire({enabled:J})}get checked(){return this._checked}set checked(J){this._setChecked(J)}_setChecked(J){if(this._checked!==J)this._checked=J,this._onDidChange.fire({checked:J})}async run(J,X){if(this._actionCallback)await this._actionCallback(J)}}class Q9 extends y{constructor(){super(...arguments);this._onWillRun=this._register(new E),this._onDidRun=this._register(new E)}get onWillRun(){return this._onWillRun.event}get onDidRun(){return this._onDidRun.event}async run(J,X){if(!J.enabled)return;this._onWillRun.fire({action:J});let Y=void 0;try{await this.runAction(J,X)}catch(Z){Y=Z}this._onDidRun.fire({action:J,error:Y})}async runAction(J,X){await J.run(X)}}class h1{constructor(){this.id=h1.ID,this.label=\"\",this.tooltip=\"\",this.class=\"separator\",this.enabled=!1,this.checked=void 0}static join(...J){let X=[];for(let Y of J)if(!Y.length);else if(X.length)X=[...X,new h1,...Y];else X=Y;return X}static clean(J){while(J.length>0&&J[0].id===h1.ID)J.shift();while(J.length>0&&J[J.length-1].id===h1.ID)J.pop();for(let X=J.length-2;X>=0;X--)if(J[X].id===h1.ID&&J[X+1].id===h1.ID)J.splice(X+1,1);return J}static{this.ID=\"vs.actions.separator\"}async run(){}}class xJ{get actions(){return this._actions}constructor(J,X,Y,Z){this.tooltip=\"\",this.enabled=!0,this.checked=void 0,this.id=J,this.label=X,this.class=Z,this._actions=Y}async run(){}}class BM extends S9{static{this.ID=\"vs.actions.empty\"}constructor(){super(BM.ID,F(32,\"(empty)\"),void 0,!1)}}function bJ(J){return{id:J.id,label:J.label,tooltip:J.tooltip??J.label,class:J.class,enabled:J.enabled??!0,checked:J.checked,run:async(...X)=>J.run(...X)}}var Xb;(function(J){function X(Y){return!!Y&&typeof Y===\"object\"&&typeof Y.id===\"string\"}J.isThemeColor=X})(Xb||(Xb={}));var M0;(function(J){J.iconNameSegment=\"[A-Za-z0-9]+\",J.iconNameExpression=\"[A-Za-z0-9-]+\",J.iconModifierExpression=\"~[A-Za-z]+\",J.iconNameCharacter=\"[A-Za-z0-9~-]\";let X=new RegExp(`^(${J.iconNameExpression})(${J.iconModifierExpression})?$`);function Y(z){let B=X.exec(z.id);if(!B)return Y(t.error);let[,P,_]=B,A=[\"codicon\",\"codicon-\"+P];if(_)A.push(\"codicon-modifier-\"+_.substring(1));return A}J.asClassNameArray=Y;function Z(z){return Y(z).join(\" \")}J.asClassName=Z;function Q(z){return\".\"+Y(z).join(\".\")}J.asCSSSelector=Q;function $(z){return!!z&&typeof z===\"object\"&&typeof z.id===\"string\"&&(typeof z.color>\"u\"||Xb.isThemeColor(z.color))}J.isThemeIcon=$;let q=new RegExp(`^\\\\$\\\\((${J.iconNameExpression}(?:${J.iconModifierExpression})?)\\\\)$`);function G(z){let B=q.exec(z);if(!B)return;let[,P]=B;return{id:P}}J.fromString=G;function U(z){return{id:z}}J.fromId=U;function H(z,B){let P=z.id,_=P.lastIndexOf(\"~\");if(_!==-1)P=P.substring(0,_);if(B)P=`${P}~${B}`;return{id:P}}J.modify=H;function V(z){let B=z.id.lastIndexOf(\"~\");if(B!==-1)return z.id.substring(B+1);return}J.getModifier=V;function K(z,B){return z.id===B.id&&z.color?.id===B.color?.id}J.isEqual=K;function j(z){return z?.id===t.file.id}J.isFile=j;function W(z){return z?.id===t.folder.id}J.isFolder=W})(M0||(M0={}));var h8=W0(\"commandService\"),S6=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new E,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(J,X){if(!J)throw Error(\"invalid command\");if(typeof J===\"string\"){if(!X)throw Error(\"invalid command\");return this.registerCommand({id:J,handler:X})}if(J.metadata&&Array.isArray(J.metadata.args)){let q=[];for(let U of J.metadata.args)q.push(U.constraint);let G=J.handler;J.handler=function(U,...H){return Yo(H,q),G(U,...H)}}let{id:Y}=J,Z=this._commands.get(Y);if(!Z)Z=new x6,this._commands.set(Y,Z);let Q=Z.unshift(J),$=J0(()=>{if(Q(),this._commands.get(Y)?.isEmpty())this._commands.delete(Y)});return this._onDidRegisterCommand.fire(Y),t7($)}registerCommandAlias(J,X){return S6.registerCommand(J,(Y,...Z)=>Y.get(h8).executeCommand(X,...Z))}getCommand(J){let X=this._commands.get(J);if(!X||X.isEmpty())return;return s0.first(X)}getCommands(){let J=new Map;for(let X of this._commands.keys()){let Y=this.getCommand(X);if(Y)J.set(X,Y)}return J}};S6.registerCommand(\"noop\",()=>{});function Yb(...J){switch(J.length){case 1:return F(1755,\"Did you mean {0}?\",J[0]);case 2:return F(1756,\"Did you mean {0} or {1}?\",J[0],J[1]);case 3:return F(1757,\"Did you mean {0}, {1} or {2}?\",J[0],J[1],J[2]);default:return}}var vj0=F(1758,\"Did you forget to open or close the quote?\"),gj0=F(1759,\"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\\\\\/'.\");class jQ{constructor(){this._input=\"\",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\\-\\./\\\\:\\*\\?\\+\\[\\]\\^,#@;\"%\\$\\p{L}-]+/uy}static getLexeme(J){switch(J.type){case 0:return\"(\";case 1:return\")\";case 2:return\"!\";case 3:return J.isTripleEq?\"===\":\"==\";case 4:return J.isTripleEq?\"!==\":\"!=\";case 5:return\"<\";case 6:return\"<=\";case 7:return\">\";case 8:return\">=\";case 9:return\"=~\";case 10:return J.lexeme;case 11:return\"true\";case 12:return\"false\";case 13:return\"in\";case 14:return\"not\";case 15:return\"&&\";case 16:return\"||\";case 17:return J.lexeme;case 18:return J.lexeme;case 19:return J.lexeme;case 20:return\"EOF\";default:throw mH(`unhandled token type: ${JSON.stringify(J)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set([\"i\",\"g\",\"s\",\"m\",\"y\",\"u\"].map((J)=>J.charCodeAt(0)))}static{this._keywords=new Map([[\"not\",14],[\"in\",13],[\"false\",12],[\"true\",11]])}reset(J){return this._input=J,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){while(!this._isAtEnd())switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){let X=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:X})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){let X=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:X})}else if(this._match(126))this._addToken(9);else this._error(Yb(\"==\",\"=~\"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:if(this._match(38))this._addToken(15);else this._error(Yb(\"&&\"));break;case 124:if(this._match(124))this._addToken(16);else this._error(Yb(\"||\"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(J){if(this._isAtEnd())return!1;if(this._input.charCodeAt(this._current)!==J)return!1;return this._current++,!0}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(J){this._tokens.push({type:J,offset:this._start})}_error(J){let X=this._start,Y=this._input.substring(this._start,this._current),Z={type:19,offset:this._start,lexeme:Y};this._errors.push({offset:X,lexeme:Y,additionalInfo:J}),this._tokens.push(Z)}_string(){this.stringRe.lastIndex=this._start;let J=this.stringRe.exec(this._input);if(J){this._current=this._start+J[0].length;let X=this._input.substring(this._start,this._current),Y=jQ._keywords.get(X);if(Y)this._addToken(Y);else this._tokens.push({type:17,lexeme:X,offset:this._start})}}_quotedString(){while(this._peek()!==39&&!this._isAtEnd())this._advance();if(this._isAtEnd()){this._error(vj0);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let J=this._current,X=!1,Y=!1;while(!0){if(J>=this._input.length){this._current=J,this._error(gj0);return}let Q=this._input.charCodeAt(J);if(X)X=!1;else if(Q===47&&!Y){J++;break}else if(Q===91)Y=!0;else if(Q===92)X=!0;else if(Q===93)Y=!1;J++}while(J<this._input.length&&jQ._regexFlags.has(this._input.charCodeAt(J)))J++;this._current=J;let Z=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:Z,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}var g5=new Map;g5.set(\"false\",!1);g5.set(\"true\",!0);g5.set(\"isMac\",I0);g5.set(\"isLinux\",y6);g5.set(\"isWindows\",z6);g5.set(\"isWeb\",o7);g5.set(\"isMacNative\",I0&&!o7);g5.set(\"isEdge\",ED);g5.set(\"isFirefox\",zo);g5.set(\"isChrome\",jz);g5.set(\"isSafari\",Fo);var pj0=Object.prototype.hasOwnProperty,mj0={regexParsingWithErrorRecovery:!0},uj0=F(1737,\"Empty context key expression\"),cj0=F(1738,\"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.\"),dj0=F(1739,\"'in' after 'not'.\"),Je=F(1740,\"closing parenthesis ')'\"),lj0=F(1741,\"Unexpected token\"),sj0=F(1742,\"Did you forget to put && or || before the token?\"),aj0=F(1743,\"Unexpected end of expression\"),ij0=F(1744,\"Did you forget to put a context key?\");class $V{static{this._parseError=Error()}constructor(J=mj0){this._config=J,this._scanner=new jQ,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(J){if(J===\"\"){this._parsingErrors.push({message:uj0,offset:0,lexeme:\"\",additionalInfo:cj0});return}this._tokens=this._scanner.reset(J).scan(),this._current=0,this._parsingErrors=[];try{let X=this._expr();if(!this._isAtEnd()){let Y=this._peek(),Z=Y.type===17?sj0:void 0;throw this._parsingErrors.push({message:lj0,offset:Y.offset,lexeme:jQ.getLexeme(Y),additionalInfo:Z}),$V._parseError}return X}catch(X){if(X!==$V._parseError)throw X;return}}_expr(){return this._or()}_or(){let J=[this._and()];while(this._matchOne(16)){let X=this._and();J.push(X)}return J.length===1?J[0]:P0.or(...J)}_and(){let J=[this._term()];while(this._matchOne(15)){let X=this._term();J.push(X)}return J.length===1?J[0]:P0.and(...J)}_term(){if(this._matchOne(2)){let J=this._peek();switch(J.type){case 11:return this._advance(),I7.INSTANCE;case 12:return this._advance(),$4.INSTANCE;case 0:{this._advance();let X=this._expr();return this._consume(1,Je),X?.negate()}case 17:return this._advance(),pq.create(J.lexeme);default:throw this._errExpectedButGot(\"KEY | true | false | '(' expression ')'\",J)}}return this._primary()}_primary(){let J=this._peek();switch(J.type){case 11:return this._advance(),P0.true();case 12:return this._advance(),P0.false();case 0:{this._advance();let X=this._expr();return this._consume(1,Je),X}case 17:{let X=J.lexeme;if(this._advance(),this._matchOne(9)){let Z=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),Z.type!==10)throw this._errExpectedButGot(\"REGEX\",Z);let Q=Z.lexeme,$=Q.lastIndexOf(\"/\"),q=$===Q.length-1?void 0:this._removeFlagsGY(Q.substring($+1)),G;try{G=new RegExp(Q.substring(1,$),q)}catch(U){throw this._errExpectedButGot(\"REGEX\",Z)}return dz.create(X,G)}switch(Z.type){case 10:case 19:{let Q=[Z.lexeme];this._advance();let $=this._peek(),q=0;for(let K=0;K<Z.lexeme.length;K++)if(Z.lexeme.charCodeAt(K)===40)q++;else if(Z.lexeme.charCodeAt(K)===41)q--;while(!this._isAtEnd()&&$.type!==15&&$.type!==16){switch($.type){case 0:q++;break;case 1:q--;break;case 10:case 18:for(let K=0;K<$.lexeme.length;K++)if($.lexeme.charCodeAt(K)===40)q++;else if(Z.lexeme.charCodeAt(K)===41)q--}if(q<0)break;Q.push(jQ.getLexeme($)),this._advance(),$=this._peek()}let G=Q.join(\"\"),U=G.lastIndexOf(\"/\"),H=U===G.length-1?void 0:this._removeFlagsGY(G.substring(U+1)),V;try{V=new RegExp(G.substring(1,U),H)}catch(K){throw this._errExpectedButGot(\"REGEX\",Z)}return P0.regex(X,V)}case 18:{let Q=Z.lexeme;this._advance();let $=null;if(!un(Q)){let q=Q.indexOf(\"/\"),G=Q.lastIndexOf(\"/\");if(q!==G&&q>=0){let U=Q.slice(q+1,G),H=Q[G+1]===\"i\"?\"i\":\"\";try{$=new RegExp(U,H)}catch(V){throw this._errExpectedButGot(\"REGEX\",Z)}}}if($===null)throw this._errExpectedButGot(\"REGEX\",Z);return dz.create(X,$)}default:throw this._errExpectedButGot(\"REGEX\",this._peek())}}if(this._matchOne(14)){this._consume(13,dj0);let Z=this._value();return P0.notIn(X,Z)}switch(this._peek().type){case 3:{this._advance();let Z=this._value();if(this._previous().type===18)return P0.equals(X,Z);switch(Z){case\"true\":return P0.has(X);case\"false\":return P0.not(X);default:return P0.equals(X,Z)}}case 4:{this._advance();let Z=this._value();if(this._previous().type===18)return P0.notEquals(X,Z);switch(Z){case\"true\":return P0.not(X);case\"false\":return P0.has(X);default:return P0.notEquals(X,Z)}}case 5:return this._advance(),NM.create(X,this._value());case 6:return this._advance(),wM.create(X,this._value());case 7:return this._advance(),MM.create(X,this._value());case 8:return this._advance(),RM.create(X,this._value());case 13:return this._advance(),P0.in(X,this._value());default:return P0.has(X)}}case 20:throw this._parsingErrors.push({message:aj0,offset:J.offset,lexeme:\"\",additionalInfo:ij0}),$V._parseError;default:throw this._errExpectedButGot(`true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let J=this._peek();switch(J.type){case 17:case 18:return this._advance(),J.lexeme;case 11:return this._advance(),\"true\";case 12:return this._advance(),\"false\";case 13:return this._advance(),\"in\";default:return\"\"}}_removeFlagsGY(J){return J.replaceAll(this._flagsGYRe,\"\")}_previous(){return this._tokens[this._current-1]}_matchOne(J){if(this._check(J))return this._advance(),!0;return!1}_advance(){if(!this._isAtEnd())this._current++;return this._previous()}_consume(J,X){if(this._check(J))return this._advance();throw this._errExpectedButGot(X,this._peek())}_errExpectedButGot(J,X,Y){let Z=F(1745,`Expected: {0}\nReceived: '{1}'.`,J,jQ.getLexeme(X)),Q=X.offset,$=jQ.getLexeme(X);return this._parsingErrors.push({message:Z,offset:Q,lexeme:$,additionalInfo:Y}),$V._parseError}_check(J){return this._peek().type===J}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}}class P0{static false(){return I7.INSTANCE}static true(){return $4.INSTANCE}static has(J){return gq.create(J)}static equals(J,X){return lz.create(J,X)}static notEquals(J,X){return DM.create(J,X)}static regex(J,X){return dz.create(J,X)}static in(J,X){return AM.create(J,X)}static notIn(J,X){return PM.create(J,X)}static not(J){return pq.create(J)}static and(...J){return vq.create(J,null,!0)}static or(...J){return WQ.create(J,null,!0)}static{this._parser=new $V({regexParsingWithErrorRecovery:!1})}static deserialize(J){if(J===void 0||J===null)return;return this._parser.parse(J)}}function cz(J,X){return J.cmp(X)}class I7{static{this.INSTANCE=new I7}constructor(){this.type=0}cmp(J){return this.type-J.type}equals(J){return J.type===this.type}substituteConstants(){return this}evaluate(J){return!1}serialize(){return\"false\"}keys(){return[]}negate(){return $4.INSTANCE}}class $4{static{this.INSTANCE=new $4}constructor(){this.type=1}cmp(J){return this.type-J.type}equals(J){return J.type===this.type}substituteConstants(){return this}evaluate(J){return!0}serialize(){return\"true\"}keys(){return[]}negate(){return I7.INSTANCE}}class gq{static create(J,X=null){let Y=g5.get(J);if(typeof Y===\"boolean\")return Y?$4.INSTANCE:I7.INSTANCE;return new gq(J,X)}constructor(J,X){this.key=J,this.negated=X,this.type=2}cmp(J){if(J.type!==this.type)return this.type-J.type;return Qe(this.key,J.key)}equals(J){if(J.type===this.type)return this.key===J.key;return!1}substituteConstants(){let J=g5.get(this.key);if(typeof J===\"boolean\")return J?$4.INSTANCE:I7.INSTANCE;return this}evaluate(J){return!!J.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){if(!this.negated)this.negated=pq.create(this.key,this);return this.negated}}class lz{static create(J,X,Y=null){if(typeof X===\"boolean\")return X?gq.create(J,Y):pq.create(J,Y);let Z=g5.get(J);if(typeof Z===\"boolean\")return X===(Z?\"true\":\"false\")?$4.INSTANCE:I7.INSTANCE;return new lz(J,X,Y)}constructor(J,X,Y){this.key=J,this.value=X,this.negated=Y,this.type=4}cmp(J){if(J.type!==this.type)return this.type-J.type;return mq(this.key,this.value,J.key,J.value)}equals(J){if(J.type===this.type)return this.key===J.key&&this.value===J.value;return!1}substituteConstants(){let J=g5.get(this.key);if(typeof J===\"boolean\"){let X=J?\"true\":\"false\";return this.value===X?$4.INSTANCE:I7.INSTANCE}return this}evaluate(J){return J.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=DM.create(this.key,this.value,this);return this.negated}}class AM{static create(J,X){return new AM(J,X)}constructor(J,X){this.key=J,this.valueKey=X,this.type=10,this.negated=null}cmp(J){if(J.type!==this.type)return this.type-J.type;return mq(this.key,this.valueKey,J.key,J.valueKey)}equals(J){if(J.type===this.type)return this.key===J.key&&this.valueKey===J.valueKey;return!1}substituteConstants(){return this}evaluate(J){let X=J.getValue(this.valueKey),Y=J.getValue(this.key);if(Array.isArray(X)){if(X.includes(Y))return!0;if(z6&&typeof Y===\"string\"&&Y.startsWith(\"file:///\")){let Z=Y.toLowerCase();return X.some((Q)=>typeof Q===\"string\"&&Q.toLowerCase()===Z)}return!1}if(typeof Y===\"string\"&&typeof X===\"object\"&&X!==null){if(pj0.call(X,Y))return!0;if(z6&&Y.startsWith(\"file:///\")){let Z=Y.toLowerCase();return Object.keys(X).some((Q)=>Q.toLowerCase()===Z)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){if(!this.negated)this.negated=PM.create(this.key,this.valueKey);return this.negated}}class PM{static create(J,X){return new PM(J,X)}constructor(J,X){this.key=J,this.valueKey=X,this.type=11,this._negated=AM.create(J,X)}cmp(J){if(J.type!==this.type)return this.type-J.type;return this._negated.cmp(J._negated)}equals(J){if(J.type===this.type)return this._negated.equals(J._negated);return!1}substituteConstants(){return this}evaluate(J){return!this._negated.evaluate(J)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class DM{static create(J,X,Y=null){if(typeof X===\"boolean\"){if(X)return pq.create(J,Y);return gq.create(J,Y)}let Z=g5.get(J);if(typeof Z===\"boolean\")return X===(Z?\"true\":\"false\")?I7.INSTANCE:$4.INSTANCE;return new DM(J,X,Y)}constructor(J,X,Y){this.key=J,this.value=X,this.negated=Y,this.type=5}cmp(J){if(J.type!==this.type)return this.type-J.type;return mq(this.key,this.value,J.key,J.value)}equals(J){if(J.type===this.type)return this.key===J.key&&this.value===J.value;return!1}substituteConstants(){let J=g5.get(this.key);if(typeof J===\"boolean\"){let X=J?\"true\":\"false\";return this.value===X?I7.INSTANCE:$4.INSTANCE}return this}evaluate(J){return J.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=lz.create(this.key,this.value,this);return this.negated}}class pq{static create(J,X=null){let Y=g5.get(J);if(typeof Y===\"boolean\")return Y?I7.INSTANCE:$4.INSTANCE;return new pq(J,X)}constructor(J,X){this.key=J,this.negated=X,this.type=3}cmp(J){if(J.type!==this.type)return this.type-J.type;return Qe(this.key,J.key)}equals(J){if(J.type===this.type)return this.key===J.key;return!1}substituteConstants(){let J=g5.get(this.key);if(typeof J===\"boolean\")return J?I7.INSTANCE:$4.INSTANCE;return this}evaluate(J){return!J.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=gq.create(this.key,this);return this.negated}}function OM(J,X){if(typeof J===\"string\"){let Y=parseFloat(J);if(!isNaN(Y))J=Y}if(typeof J===\"string\"||typeof J===\"number\")return X(J);return I7.INSTANCE}class MM{static create(J,X,Y=null){return OM(X,(Z)=>new MM(J,Z,Y))}constructor(J,X,Y){this.key=J,this.value=X,this.negated=Y,this.type=12}cmp(J){if(J.type!==this.type)return this.type-J.type;return mq(this.key,this.value,J.key,J.value)}equals(J){if(J.type===this.type)return this.key===J.key&&this.value===J.value;return!1}substituteConstants(){return this}evaluate(J){if(typeof this.value===\"string\")return!1;return parseFloat(J.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=wM.create(this.key,this.value,this);return this.negated}}class RM{static create(J,X,Y=null){return OM(X,(Z)=>new RM(J,Z,Y))}constructor(J,X,Y){this.key=J,this.value=X,this.negated=Y,this.type=13}cmp(J){if(J.type!==this.type)return this.type-J.type;return mq(this.key,this.value,J.key,J.value)}equals(J){if(J.type===this.type)return this.key===J.key&&this.value===J.value;return!1}substituteConstants(){return this}evaluate(J){if(typeof this.value===\"string\")return!1;return parseFloat(J.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=NM.create(this.key,this.value,this);return this.negated}}class NM{static create(J,X,Y=null){return OM(X,(Z)=>new NM(J,Z,Y))}constructor(J,X,Y){this.key=J,this.value=X,this.negated=Y,this.type=14}cmp(J){if(J.type!==this.type)return this.type-J.type;return mq(this.key,this.value,J.key,J.value)}equals(J){if(J.type===this.type)return this.key===J.key&&this.value===J.value;return!1}substituteConstants(){return this}evaluate(J){if(typeof this.value===\"string\")return!1;return parseFloat(J.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=RM.create(this.key,this.value,this);return this.negated}}class wM{static create(J,X,Y=null){return OM(X,(Z)=>new wM(J,Z,Y))}constructor(J,X,Y){this.key=J,this.value=X,this.negated=Y,this.type=15}cmp(J){if(J.type!==this.type)return this.type-J.type;return mq(this.key,this.value,J.key,J.value)}equals(J){if(J.type===this.type)return this.key===J.key&&this.value===J.value;return!1}substituteConstants(){return this}evaluate(J){if(typeof this.value===\"string\")return!1;return parseFloat(J.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=MM.create(this.key,this.value,this);return this.negated}}class dz{static create(J,X){return new dz(J,X)}constructor(J,X){this.key=J,this.regexp=X,this.type=7,this.negated=null}cmp(J){if(J.type!==this.type)return this.type-J.type;if(this.key<J.key)return-1;if(this.key>J.key)return 1;let X=this.regexp?this.regexp.source:\"\",Y=J.regexp?J.regexp.source:\"\";if(X<Y)return-1;if(X>Y)return 1;return 0}equals(J){if(J.type===this.type){let X=this.regexp?this.regexp.source:\"\",Y=J.regexp?J.regexp.source:\"\";return this.key===J.key&&X===Y}return!1}substituteConstants(){return this}evaluate(J){let X=J.getValue(this.key);return this.regexp?this.regexp.test(X):!1}serialize(){let J=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:\"/invalid/\";return`${this.key} =~ ${J}`}keys(){return[this.key]}negate(){if(!this.negated)this.negated=Zb.create(this);return this.negated}}class Zb{static create(J){return new Zb(J)}constructor(J){this._actual=J,this.type=8}cmp(J){if(J.type!==this.type)return this.type-J.type;return this._actual.cmp(J._actual)}equals(J){if(J.type===this.type)return this._actual.equals(J._actual);return!1}substituteConstants(){return this}evaluate(J){return!this._actual.evaluate(J)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function Ze(J){let X=null;for(let Y=0,Z=J.length;Y<Z;Y++){let Q=J[Y].substituteConstants();if(J[Y]!==Q){if(X===null){X=[];for(let $=0;$<Y;$++)X[$]=J[$]}}if(X!==null)X[Y]=Q}if(X===null)return J;return X}class vq{static create(J,X,Y){return vq._normalizeArr(J,X,Y)}constructor(J,X){this.expr=J,this.negated=X,this.type=6}cmp(J){if(J.type!==this.type)return this.type-J.type;if(this.expr.length<J.expr.length)return-1;if(this.expr.length>J.expr.length)return 1;for(let X=0,Y=this.expr.length;X<Y;X++){let Z=cz(this.expr[X],J.expr[X]);if(Z!==0)return Z}return 0}equals(J){if(J.type===this.type){if(this.expr.length!==J.expr.length)return!1;for(let X=0,Y=this.expr.length;X<Y;X++)if(!this.expr[X].equals(J.expr[X]))return!1;return!0}return!1}substituteConstants(){let J=Ze(this.expr);if(J===this.expr)return this;return vq.create(J,this.negated,!1)}evaluate(J){for(let X=0,Y=this.expr.length;X<Y;X++)if(!this.expr[X].evaluate(J))return!1;return!0}static _normalizeArr(J,X,Y){let Z=[],Q=!1;for(let $ of J){if(!$)continue;if($.type===1){Q=!0;continue}if($.type===0)return I7.INSTANCE;if($.type===6){Z.push(...$.expr);continue}Z.push($)}if(Z.length===0&&Q)return $4.INSTANCE;if(Z.length===0)return;if(Z.length===1)return Z[0];Z.sort(cz);for(let $=1;$<Z.length;$++)if(Z[$-1].equals(Z[$]))Z.splice($,1),$--;if(Z.length===1)return Z[0];while(Z.length>1){let $=Z[Z.length-1];if($.type!==9)break;Z.pop();let q=Z.pop(),G=Z.length===0,U=WQ.create($.expr.map((H)=>vq.create([H,q],null,Y)),null,G);if(U)Z.push(U),Z.sort(cz)}if(Z.length===1)return Z[0];if(Y){for(let $=0;$<Z.length;$++)for(let q=$+1;q<Z.length;q++)if(Z[$].negate().equals(Z[q]))return I7.INSTANCE;if(Z.length===1)return Z[0]}return new vq(Z,X)}serialize(){return this.expr.map((J)=>J.serialize()).join(\" && \")}keys(){let J=[];for(let X of this.expr)J.push(...X.keys());return J}negate(){if(!this.negated){let J=[];for(let X of this.expr)J.push(X.negate());this.negated=WQ.create(J,this,!0)}return this.negated}}class WQ{static create(J,X,Y){return WQ._normalizeArr(J,X,Y)}constructor(J,X){this.expr=J,this.negated=X,this.type=9}cmp(J){if(J.type!==this.type)return this.type-J.type;if(this.expr.length<J.expr.length)return-1;if(this.expr.length>J.expr.length)return 1;for(let X=0,Y=this.expr.length;X<Y;X++){let Z=cz(this.expr[X],J.expr[X]);if(Z!==0)return Z}return 0}equals(J){if(J.type===this.type){if(this.expr.length!==J.expr.length)return!1;for(let X=0,Y=this.expr.length;X<Y;X++)if(!this.expr[X].equals(J.expr[X]))return!1;return!0}return!1}substituteConstants(){let J=Ze(this.expr);if(J===this.expr)return this;return WQ.create(J,this.negated,!1)}evaluate(J){for(let X=0,Y=this.expr.length;X<Y;X++)if(this.expr[X].evaluate(J))return!0;return!1}static _normalizeArr(J,X,Y){let Z=[],Q=!1;if(J){for(let $=0,q=J.length;$<q;$++){let G=J[$];if(!G)continue;if(G.type===0){Q=!0;continue}if(G.type===1)return $4.INSTANCE;if(G.type===9){Z=Z.concat(G.expr);continue}Z.push(G)}if(Z.length===0&&Q)return I7.INSTANCE;Z.sort(cz)}if(Z.length===0)return;if(Z.length===1)return Z[0];for(let $=1;$<Z.length;$++)if(Z[$-1].equals(Z[$]))Z.splice($,1),$--;if(Z.length===1)return Z[0];if(Y){for(let $=0;$<Z.length;$++)for(let q=$+1;q<Z.length;q++)if(Z[$].negate().equals(Z[q]))return $4.INSTANCE;if(Z.length===1)return Z[0]}return new WQ(Z,X)}serialize(){return this.expr.map((J)=>J.serialize()).join(\" || \")}keys(){let J=[];for(let X of this.expr)J.push(...X.keys());return J}negate(){if(!this.negated){let J=[];for(let X of this.expr)J.push(X.negate());while(J.length>1){let X=J.shift(),Y=J.shift(),Z=[];for(let Q of Ye(X))for(let $ of Ye(Y))Z.push(vq.create([Q,$],null,!1));J.unshift(WQ.create(Z,null,!1))}this.negated=WQ.create(J,this,!0)}return this.negated}}class G0 extends gq{static{this._info=[]}static all(){return G0._info.values()}constructor(J,X,Y){super(J,null);if(this._defaultValue=X,typeof Y===\"object\")G0._info.push({...Y,key:J});else if(Y!==!0)G0._info.push({key:J,description:Y,type:X!==null&&X!==void 0?typeof X:void 0})}bindTo(J){return J.createKey(this.key,this._defaultValue)}getValue(J){return J.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(J){return lz.create(this.key,J)}}var E0=W0(\"contextKeyService\");function Qe(J,X){if(J<X)return-1;if(J>X)return 1;return 0}function mq(J,X,Y,Z){if(J<Y)return-1;if(J>Y)return 1;if(X<Z)return-1;if(X>Z)return 1;return 0}function _M(J,X){if(J.type===0||X.type===1)return!0;if(J.type===9){if(X.type===9)return Xe(J.expr,X.expr);return!1}if(X.type===9){for(let Y of X.expr)if(_M(J,Y))return!0;return!1}if(J.type===6){if(X.type===6)return Xe(X.expr,J.expr);for(let Y of J.expr)if(_M(Y,X))return!0;return!1}return J.equals(X)}function Xe(J,X){let Y=0,Z=0;while(Y<J.length&&Z<X.length){let Q=J[Y].cmp(X[Z]);if(Q<0)return!1;else if(Q===0)Y++,Z++;else Z++}return Y===J.length}function Ye(J){if(J.type===9)return J.expr;return[J]}class $e{constructor(){this.data=new Map}add(J,X){RD(t1(J)),RD(E6(X)),RD(!this.data.has(J),\"There is already an extension with this id\"),this.data.set(J,X)}as(J){return this.data.get(J)||null}dispose(){this.data.forEach((J)=>{if(KY(J.dispose))J.dispose()}),this.data.clear()}}var y1=new $e;class TM{constructor(){this._coreKeybindings=new x6,this._coreKeybindingRules=new x6,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToPlatform(J,X){if(X===1){if(J&&J.win)return J.win}else if(X===2){if(J&&J.mac)return J.mac}else if(J&&J.linux)return J.linux;return J}static bindToCurrentPlatform(J){return TM.bindToPlatform(J,h5)}registerKeybindingRule(J){let X=TM.bindToCurrentPlatform(J),Y=new a;if(X&&X.primary){let Q=Lz(X.primary,h5);if(Q)Y.add(this._registerDefaultKeybinding(Q,J.id,J.args,J.weight,0,J.when))}if(X&&Array.isArray(X.secondary))for(let Q=0,$=X.secondary.length;Q<$;Q++){let q=X.secondary[Q],G=Lz(q,h5);if(G)Y.add(this._registerDefaultKeybinding(G,J.id,J.args,J.weight,-Q-1,J.when))}let Z=this._coreKeybindingRules.push(J);return Y.add(J0(()=>{Z()})),Y}registerCommandAndKeybindingRule(J){return e7(this.registerKeybindingRule(J),S6.registerCommand(J))}_registerDefaultKeybinding(J,X,Y,Z,Q,$){let q=this._coreKeybindings.push({keybinding:J,command:X,commandArgs:Y,when:$,weight1:Z,weight2:Q,extensionId:null,isBuiltinExtension:!1});return this._cachedMergedKeybindings=null,J0(()=>{q(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){if(!this._cachedMergedKeybindings)this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(oj0);return this._cachedMergedKeybindings.slice(0)}}var p5=new TM,rj0={EditorModes:\"platform.keybindingsRegistry\"};y1.add(rj0.EditorModes,p5);function oj0(J,X){if(J.weight1!==X.weight1)return J.weight1-X.weight1;if(J.command&&X.command){if(J.command<X.command)return-1;if(J.command>X.command)return 1}return J.weight2-X.weight2}var nj0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},qe=function(J,X){return function(Y,Z){X(Y,Z,J)}},LM;function qV(J){return J.command!==void 0}function Ge(J){return J.submenu!==void 0}class b{static{this._instances=new Map}static{this.CommandPalette=new b(\"CommandPalette\")}static{this.DebugBreakpointsContext=new b(\"DebugBreakpointsContext\")}static{this.DebugCallStackContext=new b(\"DebugCallStackContext\")}static{this.DebugConsoleContext=new b(\"DebugConsoleContext\")}static{this.DebugVariablesContext=new b(\"DebugVariablesContext\")}static{this.NotebookVariablesContext=new b(\"NotebookVariablesContext\")}static{this.DebugHoverContext=new b(\"DebugHoverContext\")}static{this.DebugWatchContext=new b(\"DebugWatchContext\")}static{this.DebugToolBar=new b(\"DebugToolBar\")}static{this.DebugToolBarStop=new b(\"DebugToolBarStop\")}static{this.DebugDisassemblyContext=new b(\"DebugDisassemblyContext\")}static{this.DebugCallStackToolbar=new b(\"DebugCallStackToolbar\")}static{this.DebugCreateConfiguration=new b(\"DebugCreateConfiguration\")}static{this.DebugScopesContext=new b(\"DebugScopesContext\")}static{this.EditorContext=new b(\"EditorContext\")}static{this.SimpleEditorContext=new b(\"SimpleEditorContext\")}static{this.EditorContent=new b(\"EditorContent\")}static{this.EditorLineNumberContext=new b(\"EditorLineNumberContext\")}static{this.EditorContextCopy=new b(\"EditorContextCopy\")}static{this.EditorContextPeek=new b(\"EditorContextPeek\")}static{this.EditorContextShare=new b(\"EditorContextShare\")}static{this.EditorTitle=new b(\"EditorTitle\")}static{this.EditorTitleLayout=new b(\"EditorTitleLayout\")}static{this.ModalEditorTitle=new b(\"ModalEditorTitle\")}static{this.ModalEditorTitleContext=new b(\"ModalEditorTitleContext\")}static{this.ModalEditorEditorTitle=new b(\"ModalEditorEditorTitle\")}static{this.CompactWindowEditorTitle=new b(\"CompactWindowEditorTitle\")}static{this.EditorTitleRun=new b(\"EditorTitleRun\")}static{this.EditorTitleContext=new b(\"EditorTitleContext\")}static{this.EditorTitleContextShare=new b(\"EditorTitleContextShare\")}static{this.EmptyEditorGroup=new b(\"EmptyEditorGroup\")}static{this.EmptyEditorGroupContext=new b(\"EmptyEditorGroupContext\")}static{this.EditorGroupWatermarkToolbar=new b(\"EditorGroupWatermarkToolbar\")}static{this.EditorTabsBarContext=new b(\"EditorTabsBarContext\")}static{this.EditorTabsBarShowTabsSubmenu=new b(\"EditorTabsBarShowTabsSubmenu\")}static{this.EditorTabsBarShowTabsZenModeSubmenu=new b(\"EditorTabsBarShowTabsZenModeSubmenu\")}static{this.EditorActionsPositionSubmenu=new b(\"EditorActionsPositionSubmenu\")}static{this.EditorRenderWhitespaceSubmenu=new b(\"EditorRenderWhitespaceSubmenu\")}static{this.EditorSplitMoveSubmenu=new b(\"EditorSplitMoveSubmenu\")}static{this.ExplorerContext=new b(\"ExplorerContext\")}static{this.ExplorerContextShare=new b(\"ExplorerContextShare\")}static{this.ExtensionContext=new b(\"ExtensionContext\")}static{this.ExtensionEditorContextMenu=new b(\"ExtensionEditorContextMenu\")}static{this.GlobalActivity=new b(\"GlobalActivity\")}static{this.CommandCenter=new b(\"CommandCenter\")}static{this.CommandCenterCenter=new b(\"CommandCenterCenter\")}static{this.LayoutControlMenuSubmenu=new b(\"LayoutControlMenuSubmenu\")}static{this.LayoutControlMenu=new b(\"LayoutControlMenu\")}static{this.MenubarMainMenu=new b(\"MenubarMainMenu\")}static{this.MenubarAppearanceMenu=new b(\"MenubarAppearanceMenu\")}static{this.MenubarDebugMenu=new b(\"MenubarDebugMenu\")}static{this.MenubarEditMenu=new b(\"MenubarEditMenu\")}static{this.MenubarCopy=new b(\"MenubarCopy\")}static{this.MenubarFileMenu=new b(\"MenubarFileMenu\")}static{this.MenubarGoMenu=new b(\"MenubarGoMenu\")}static{this.MenubarHelpMenu=new b(\"MenubarHelpMenu\")}static{this.MenubarLayoutMenu=new b(\"MenubarLayoutMenu\")}static{this.MenubarNewBreakpointMenu=new b(\"MenubarNewBreakpointMenu\")}static{this.PanelAlignmentMenu=new b(\"PanelAlignmentMenu\")}static{this.PanelPositionMenu=new b(\"PanelPositionMenu\")}static{this.ActivityBarPositionMenu=new b(\"ActivityBarPositionMenu\")}static{this.NotificationsCenterPositionMenu=new b(\"NotificationsCenterPositionMenu\")}static{this.MenubarPreferencesMenu=new b(\"MenubarPreferencesMenu\")}static{this.MenubarRecentMenu=new b(\"MenubarRecentMenu\")}static{this.MenubarSelectionMenu=new b(\"MenubarSelectionMenu\")}static{this.MenubarShare=new b(\"MenubarShare\")}static{this.MenubarSwitchEditorMenu=new b(\"MenubarSwitchEditorMenu\")}static{this.MenubarSwitchGroupMenu=new b(\"MenubarSwitchGroupMenu\")}static{this.MenubarTerminalMenu=new b(\"MenubarTerminalMenu\")}static{this.MenubarTerminalSuggestStatusMenu=new b(\"MenubarTerminalSuggestStatusMenu\")}static{this.MenubarViewMenu=new b(\"MenubarViewMenu\")}static{this.MenubarHomeMenu=new b(\"MenubarHomeMenu\")}static{this.OpenEditorsContext=new b(\"OpenEditorsContext\")}static{this.OpenEditorsContextShare=new b(\"OpenEditorsContextShare\")}static{this.ProblemsPanelContext=new b(\"ProblemsPanelContext\")}static{this.SCMInputBox=new b(\"SCMInputBox\")}static{this.SCMChangeContext=new b(\"SCMChangeContext\")}static{this.SCMResourceContext=new b(\"SCMResourceContext\")}static{this.SCMResourceContextShare=new b(\"SCMResourceContextShare\")}static{this.SCMResourceFolderContext=new b(\"SCMResourceFolderContext\")}static{this.SCMResourceGroupContext=new b(\"SCMResourceGroupContext\")}static{this.SCMSourceControl=new b(\"SCMSourceControl\")}static{this.SCMSourceControlInline=new b(\"SCMSourceControlInline\")}static{this.SCMSourceControlTitle=new b(\"SCMSourceControlTitle\")}static{this.SCMHistoryTitle=new b(\"SCMHistoryTitle\")}static{this.SCMHistoryItemContext=new b(\"SCMHistoryItemContext\")}static{this.SCMHistoryItemChangeContext=new b(\"SCMHistoryItemChangeContext\")}static{this.SCMHistoryItemRefContext=new b(\"SCMHistoryItemRefContext\")}static{this.SCMArtifactGroupContext=new b(\"SCMArtifactGroupContext\")}static{this.SCMArtifactContext=new b(\"SCMArtifactContext\")}static{this.SCMQuickDiffDecorations=new b(\"SCMQuickDiffDecorations\")}static{this.SCMTitle=new b(\"SCMTitle\")}static{this.SearchContext=new b(\"SearchContext\")}static{this.SearchActionMenu=new b(\"SearchActionContext\")}static{this.StatusBarWindowIndicatorMenu=new b(\"StatusBarWindowIndicatorMenu\")}static{this.StatusBarRemoteIndicatorMenu=new b(\"StatusBarRemoteIndicatorMenu\")}static{this.StickyScrollContext=new b(\"StickyScrollContext\")}static{this.TestItem=new b(\"TestItem\")}static{this.TestItemGutter=new b(\"TestItemGutter\")}static{this.TestProfilesContext=new b(\"TestProfilesContext\")}static{this.TestMessageContext=new b(\"TestMessageContext\")}static{this.TestMessageContent=new b(\"TestMessageContent\")}static{this.TestPeekElement=new b(\"TestPeekElement\")}static{this.TestPeekTitle=new b(\"TestPeekTitle\")}static{this.TestCallStack=new b(\"TestCallStack\")}static{this.TestCoverageFilterItem=new b(\"TestCoverageFilterItem\")}static{this.TouchBarContext=new b(\"TouchBarContext\")}static{this.TitleBar=new b(\"TitleBar\")}static{this.TitleBarAdjacentCenter=new b(\"TitleBarAdjacentCenter\")}static{this.TitleBarContext=new b(\"TitleBarContext\")}static{this.TitleBarTitleContext=new b(\"TitleBarTitleContext\")}static{this.TunnelContext=new b(\"TunnelContext\")}static{this.TunnelPrivacy=new b(\"TunnelPrivacy\")}static{this.TunnelProtocol=new b(\"TunnelProtocol\")}static{this.TunnelPortInline=new b(\"TunnelInline\")}static{this.TunnelTitle=new b(\"TunnelTitle\")}static{this.TunnelLocalAddressInline=new b(\"TunnelLocalAddressInline\")}static{this.TunnelOriginInline=new b(\"TunnelOriginInline\")}static{this.ViewItemContext=new b(\"ViewItemContext\")}static{this.ViewContainerTitle=new b(\"ViewContainerTitle\")}static{this.ViewContainerTitleContext=new b(\"ViewContainerTitleContext\")}static{this.ViewTitle=new b(\"ViewTitle\")}static{this.ViewTitleContext=new b(\"ViewTitleContext\")}static{this.CommentEditorActions=new b(\"CommentEditorActions\")}static{this.CommentThreadTitle=new b(\"CommentThreadTitle\")}static{this.CommentThreadActions=new b(\"CommentThreadActions\")}static{this.CommentThreadAdditionalActions=new b(\"CommentThreadAdditionalActions\")}static{this.CommentThreadTitleContext=new b(\"CommentThreadTitleContext\")}static{this.CommentThreadCommentContext=new b(\"CommentThreadCommentContext\")}static{this.CommentTitle=new b(\"CommentTitle\")}static{this.CommentActions=new b(\"CommentActions\")}static{this.CommentsViewThreadActions=new b(\"CommentsViewThreadActions\")}static{this.InteractiveToolbar=new b(\"InteractiveToolbar\")}static{this.InteractiveCellTitle=new b(\"InteractiveCellTitle\")}static{this.InteractiveCellDelete=new b(\"InteractiveCellDelete\")}static{this.InteractiveCellExecute=new b(\"InteractiveCellExecute\")}static{this.InteractiveInputExecute=new b(\"InteractiveInputExecute\")}static{this.InteractiveInputConfig=new b(\"InteractiveInputConfig\")}static{this.ReplInputExecute=new b(\"ReplInputExecute\")}static{this.IssueReporter=new b(\"IssueReporter\")}static{this.NotebookToolbar=new b(\"NotebookToolbar\")}static{this.NotebookToolbarContext=new b(\"NotebookToolbarContext\")}static{this.NotebookStickyScrollContext=new b(\"NotebookStickyScrollContext\")}static{this.NotebookCellTitle=new b(\"NotebookCellTitle\")}static{this.NotebookCellDelete=new b(\"NotebookCellDelete\")}static{this.NotebookCellInsert=new b(\"NotebookCellInsert\")}static{this.NotebookCellBetween=new b(\"NotebookCellBetween\")}static{this.NotebookCellListTop=new b(\"NotebookCellTop\")}static{this.NotebookCellExecute=new b(\"NotebookCellExecute\")}static{this.NotebookCellExecuteGoTo=new b(\"NotebookCellExecuteGoTo\")}static{this.NotebookCellExecutePrimary=new b(\"NotebookCellExecutePrimary\")}static{this.NotebookDiffCellInputTitle=new b(\"NotebookDiffCellInputTitle\")}static{this.NotebookDiffDocumentMetadata=new b(\"NotebookDiffDocumentMetadata\")}static{this.NotebookDiffCellMetadataTitle=new b(\"NotebookDiffCellMetadataTitle\")}static{this.NotebookDiffCellOutputsTitle=new b(\"NotebookDiffCellOutputsTitle\")}static{this.NotebookOutputToolbar=new b(\"NotebookOutputToolbar\")}static{this.NotebookOutlineFilter=new b(\"NotebookOutlineFilter\")}static{this.NotebookOutlineActionMenu=new b(\"NotebookOutlineActionMenu\")}static{this.NotebookEditorLayoutConfigure=new b(\"NotebookEditorLayoutConfigure\")}static{this.NotebookKernelSource=new b(\"NotebookKernelSource\")}static{this.BulkEditTitle=new b(\"BulkEditTitle\")}static{this.BulkEditContext=new b(\"BulkEditContext\")}static{this.TimelineItemContext=new b(\"TimelineItemContext\")}static{this.TimelineTitle=new b(\"TimelineTitle\")}static{this.TimelineTitleContext=new b(\"TimelineTitleContext\")}static{this.TimelineFilterSubMenu=new b(\"TimelineFilterSubMenu\")}static{this.AccountsContext=new b(\"AccountsContext\")}static{this.SidebarTitle=new b(\"SidebarTitle\")}static{this.PanelTitle=new b(\"PanelTitle\")}static{this.AuxiliaryBarTitle=new b(\"AuxiliaryBarTitle\")}static{this.TerminalInstanceContext=new b(\"TerminalInstanceContext\")}static{this.TerminalEditorInstanceContext=new b(\"TerminalEditorInstanceContext\")}static{this.TerminalNewDropdownContext=new b(\"TerminalNewDropdownContext\")}static{this.TerminalTabContext=new b(\"TerminalTabContext\")}static{this.TerminalTabEmptyAreaContext=new b(\"TerminalTabEmptyAreaContext\")}static{this.TerminalStickyScrollContext=new b(\"TerminalStickyScrollContext\")}static{this.WebviewContext=new b(\"WebviewContext\")}static{this.InlineCompletionsActions=new b(\"InlineCompletionsActions\")}static{this.InlineEditsActions=new b(\"InlineEditsActions\")}static{this.NewFile=new b(\"NewFile\")}static{this.MergeInput1Toolbar=new b(\"MergeToolbar1Toolbar\")}static{this.MergeInput2Toolbar=new b(\"MergeToolbar2Toolbar\")}static{this.MergeBaseToolbar=new b(\"MergeBaseToolbar\")}static{this.MergeInputResultToolbar=new b(\"MergeToolbarResultToolbar\")}static{this.InlineSuggestionToolbar=new b(\"InlineSuggestionToolbar\")}static{this.InlineEditToolbar=new b(\"InlineEditToolbar\")}static{this.ChatContext=new b(\"ChatContext\")}static{this.ChatCodeBlock=new b(\"ChatCodeblock\")}static{this.ChatCompareBlock=new b(\"ChatCompareBlock\")}static{this.ChatMessageTitle=new b(\"ChatMessageTitle\")}static{this.ChatWelcomeContext=new b(\"ChatWelcomeContext\")}static{this.ChatMessageFooter=new b(\"ChatMessageFooter\")}static{this.ChatExecute=new b(\"ChatExecute\")}static{this.ChatExecuteQueue=new b(\"ChatExecuteQueue\")}static{this.ChatInput=new b(\"ChatInput\")}static{this.ChatInputSecondary=new b(\"ChatInputSecondary\")}static{this.ChatInputStatus=new b(\"ChatInputStatus\")}static{this.ChatInputSide=new b(\"ChatInputSide\")}static{this.ChatModePicker=new b(\"ChatModePicker\")}static{this.ChatEditingWidgetToolbar=new b(\"ChatEditingWidgetToolbar\")}static{this.ChatEditingSessionChangesToolbar=new b(\"ChatEditingSessionChangesToolbar\")}static{this.ChatEditingSessionTitleToolbar=new b(\"ChatEditingSessionTitleToolbar\")}static{this.ChatEditingSessionChangesVersionsSubmenu=new b(\"ChatEditingSessionChangesVersionsSubmenu\")}static{this.ChatEditingSessionChangesFileHeaderToolbar=new b(\"ChatEditingSessionChangesFileHeaderToolbar\")}static{this.ChatEditingSessionChangesFileHeaderRightToolbar=new b(\"ChatEditingSessionChangesFileHeaderRightToolbar\")}static{this.ChatEditingEditorContent=new b(\"ChatEditingEditorContent\")}static{this.ChatEditingEditorHunk=new b(\"ChatEditingEditorHunk\")}static{this.ChatEditingDeletedNotebookCell=new b(\"ChatEditingDeletedNotebookCell\")}static{this.ChatInputAttachmentToolbar=new b(\"ChatInputAttachmentToolbar\")}static{this.ChatEditingWidgetModifiedFilesToolbar=new b(\"ChatEditingWidgetModifiedFilesToolbar\")}static{this.ChatInputResourceAttachmentContext=new b(\"ChatInputResourceAttachmentContext\")}static{this.ChatInputSymbolAttachmentContext=new b(\"ChatInputSymbolAttachmentContext\")}static{this.ChatInlineResourceAnchorContext=new b(\"ChatInlineResourceAnchorContext\")}static{this.ChatInlineSymbolAnchorContext=new b(\"ChatInlineSymbolAnchorContext\")}static{this.ChatMessageCheckpoint=new b(\"ChatMessageCheckpoint\")}static{this.ChatMessageRestoreCheckpoint=new b(\"ChatMessageRestoreCheckpoint\")}static{this.ChatNewMenu=new b(\"ChatNewMenu\")}static{this.ChatEditingCodeBlockContext=new b(\"ChatEditingCodeBlockContext\")}static{this.ChatTitleBarMenu=new b(\"ChatTitleBarMenu\")}static{this.ChatAttachmentsContext=new b(\"ChatAttachmentsContext\")}static{this.ChatTipContext=new b(\"ChatTipContext\")}static{this.ChatTipToolbar=new b(\"ChatTipToolbar\")}static{this.ChatToolOutputResourceToolbar=new b(\"ChatToolOutputResourceToolbar\")}static{this.ChatTextEditorMenu=new b(\"ChatTextEditorMenu\")}static{this.ChatToolOutputResourceContext=new b(\"ChatToolOutputResourceContext\")}static{this.ChatMultiDiffContext=new b(\"ChatMultiDiffContext\")}static{this.ChatConfirmationMenu=new b(\"ChatConfirmationMenu\")}static{this.ChatEditorInlineMenu=new b(\"ChatEditorInlineGutter\")}static{this.ChatEditorInlineExecute=new b(\"ChatEditorInputExecute\")}static{this.ChatEditorInlineInputSide=new b(\"ChatEditorInputSide\")}static{this.InlineChatEditorAffordance=new b(\"InlineChatEditorAffordance\")}static{this.AccessibleView=new b(\"AccessibleView\")}static{this.MultiDiffEditorContent=new b(\"MultiDiffEditorContent\")}static{this.MultiDiffEditorFileToolbar=new b(\"MultiDiffEditorFileToolbar\")}static{this.DiffEditorHunkToolbar=new b(\"DiffEditorHunkToolbar\")}static{this.DiffEditorSelectionToolbar=new b(\"DiffEditorSelectionToolbar\")}static{this.BrowserNavigationToolbar=new b(\"BrowserNavigationToolbar\")}static{this.BrowserActionsToolbar=new b(\"BrowserActionsToolbar\")}static{this.BrowserChatActionsMenu=new b(\"BrowserChatActionsMenu\")}static{this.BrowserEmulationToolbar=new b(\"BrowserEmulationToolbar\")}static{this.AgentSessionsViewerFilterSubMenu=new b(\"AgentSessionsViewerFilterSubMenu\")}static{this.AgentSessionsContext=new b(\"AgentSessionsContext\")}static{this.AgentSessionSectionContext=new b(\"AgentSessionSectionContext\")}static{this.AgentSessionsCreateSubMenu=new b(\"AgentSessionsCreateSubMenu\")}static{this.AgentSessionsToolbar=new b(\"AgentSessionsToolbar\")}static{this.AgentSessionItemToolbar=new b(\"AgentSessionItemToolbar\")}static{this.AgentSessionSectionToolbar=new b(\"AgentSessionSectionToolbar\")}static{this.SessionItemContextMenu=new b(\"SessionItemContextMenu\")}static{this.SessionHeaderContext=new b(\"SessionsSessionHeaderContext\")}static{this.AgentsTitleBarControlMenu=new b(\"AgentsTitleBarControlMenu\")}static{this.AgentsChangesToolbar=new b(\"AgentsChangesToolbar\")}static{this.AgentsChangesPrimaryActionSubMenu=new b(\"AgentsChangesPrimaryActionSubMenu\")}static{this.AgentsChangeInlineToolbar=new b(\"AgentsChangeInlineToolbar\")}static{this.ChatViewSessionTitleNavigationToolbar=new b(\"ChatViewSessionTitleNavigationToolbar\")}static{this.ChatViewSessionTitleToolbar=new b(\"ChatViewSessionTitleToolbar\")}static{this.ChatContextUsageActions=new b(\"ChatContextUsageActions\")}static{this.MarkerHoverStatusBar=new b(\"MarkerHoverParticipant.StatusBar\")}constructor(J){if(b._instances.has(J))throw TypeError(`MenuId with identifier '${J}' already exists. Use MenuId.for(ident) or a unique identifier`);b._instances.set(J,this),this.id=J}}var SJ=W0(\"menuService\");class U2{static{this._all=new Map}static for(J){let X=this._all.get(J);if(!X)X=new U2(J),this._all.set(J,X);return X}static merge(J){let X=new Set;for(let Y of J)if(Y instanceof U2)X.add(Y.id);return X}constructor(J){this.id=J,this.has=(X)=>X===J}}var K5=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new zz({merge:U2.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(J){return this._commands.set(J.id,J),this._onDidChangeMenu.fire(U2.for(b.CommandPalette)),t7(J0(()=>{if(this._commands.delete(J.id))this._onDidChangeMenu.fire(U2.for(b.CommandPalette))}))}getCommand(J){return this._commands.get(J)}getCommands(){let J=new Map;return this._commands.forEach((X,Y)=>J.set(Y,X)),J}appendMenuItem(J,X){let Y=this._menuItems.get(J);if(!Y)Y=new x6,this._menuItems.set(J,Y);let Z=Y.push(X);return this._onDidChangeMenu.fire(U2.for(J)),t7(J0(()=>{Z(),this._onDidChangeMenu.fire(U2.for(J))}))}appendMenuItems(J){let X=new a;for(let{id:Y,item:Z}of J)X.add(this.appendMenuItem(Y,Z));return X}getMenuItems(J){let X;if(this._menuItems.has(J))X=[...this._menuItems.get(J)];else X=[];if(J===b.CommandPalette)this._appendImplicitItems(X);return X}_appendImplicitItems(J){let X=new Set;for(let Y of J)if(qV(Y)){if(X.add(Y.command.id),Y.alt)X.add(Y.alt.id)}this._commands.forEach((Y,Z)=>{if(!X.has(Z))J.push({command:Y})})}};class RY extends xJ{constructor(J,X,Y){super(`submenuitem.${J.submenu.id}`,typeof J.title===\"string\"?J.title:J.title.value,Y,\"submenu\");this.item=J,this.hideActions=X}}var CJ=LM=class{static label(X,Y){return Y?.renderShortTitle&&X.shortTitle?typeof X.shortTitle===\"string\"?X.shortTitle:X.shortTitle.value:typeof X.title===\"string\"?X.title:X.title.value}constructor(X,Y,Z,Q,$,q,G){this.hideActions=Q,this.menuKeybinding=$,this._commandService=G,this.id=X.id,this.label=LM.label(X,Z),this.tooltip=(typeof X.tooltip===\"string\"?X.tooltip:X.tooltip?.value)??\"\",this.enabled=!X.precondition||q.contextMatchesRules(X.precondition),this.checked=void 0;let U;if(X.toggled){let H=X.toggled.condition?X.toggled:{condition:X.toggled};if(this.checked=q.contextMatchesRules(H.condition),this.checked&&H.tooltip)this.tooltip=typeof H.tooltip===\"string\"?H.tooltip:H.tooltip.value;if(this.checked&&M0.isThemeIcon(H.icon))U=H.icon;if(this.checked&&H.title)this.label=typeof H.title===\"string\"?H.title:H.title.value}if(!U)U=M0.isThemeIcon(X.icon)?X.icon:void 0;this.item=X,this.alt=Y?new LM(Y,void 0,Z,Q,void 0,q,G):void 0,this._options=Z,this.class=U&&M0.asClassName(U)}run(...X){let Y=[];if(this._options?.args)Y=[...Y,...this._options.args];else if(this._options?.arg)Y=[...Y,this._options.arg];if(this._options?.shouldForwardArgs)Y=[...Y,...X];return this._commandService.executeCommand(this.id,...Y)}};CJ=LM=nj0([qe(5,E0),qe(6,h8)],CJ);class I4{constructor(J){this.desc=J}}function NY(J){let X=[],Y=new J,{f1:Z,menu:Q,keybinding:$,...q}=Y.desc;if(S6.getCommand(q.id))throw Error(`Cannot register two commands with the same id: ${q.id}`);if(X.push(S6.registerCommand({id:q.id,handler:(G,...U)=>Y.run(G,...U),metadata:q.metadata??{description:Y.desc.title}})),Array.isArray(Q))for(let G of Q)X.push(K5.appendMenuItem(G.id,{command:{...q,precondition:G.precondition===null?void 0:q.precondition},...G}));else if(Q)X.push(K5.appendMenuItem(Q.id,{command:{...q,precondition:Q.precondition===null?void 0:q.precondition},...Q}));if(Z)X.push(K5.appendMenuItem(b.CommandPalette,{command:q,when:q.precondition})),X.push(K5.addCommand(q));if(Array.isArray($))for(let G of $)X.push(p5.registerKeybindingRule({...G,id:q.id,when:q.precondition?P0.and(q.precondition,G.when):G.when}));else if($)X.push(p5.registerKeybindingRule({...$,id:q.id,when:q.precondition?P0.and(q.precondition,$.when):$.when}));return{dispose(){D1(X)}}}var k7=W0(\"telemetryService\");var Ue,He,Ve;class Ke{constructor(J,X){this.uri=J,this.value=X}}function tj0(J){return Array.isArray(J)}class r6{static{this.defaultToKey=(J)=>J.toString()}constructor(J,X){if(this[Ue]=\"ResourceMap\",J instanceof r6)this.map=new Map(J.map),this.toKey=X??r6.defaultToKey;else if(tj0(J)){this.map=new Map,this.toKey=X??r6.defaultToKey;for(let[Y,Z]of J)this.set(Y,Z)}else this.map=new Map,this.toKey=J??r6.defaultToKey}set(J,X){return this.map.set(this.toKey(J),new Ke(J,X)),this}get(J){return this.map.get(this.toKey(J))?.value}has(J){return this.map.has(this.toKey(J))}get size(){return this.map.size}clear(){this.map.clear()}delete(J){return this.map.delete(this.toKey(J))}forEach(J,X){if(typeof X<\"u\")J=J.bind(X);for(let[Y,Z]of this.map)J(Z.value,Z.uri,this)}*values(){for(let J of this.map.values())yield J.value}*keys(){for(let J of this.map.values())yield J.uri}*entries(){for(let J of this.map.values())yield[J.uri,J.value]}*[(Ue=Symbol.toStringTag,Symbol.iterator)](){for(let[,J]of this.map)yield[J.uri,J.value]}}class Qb{constructor(J,X){if(this[He]=\"ResourceSet\",!J||typeof J===\"function\")this._map=new r6(J);else this._map=new r6(X),J.forEach(this.add,this)}get size(){return this._map.size}add(J){return this._map.set(J,J),this}clear(){this._map.clear()}delete(J){return this._map.delete(J)}forEach(J,X){this._map.forEach((Y,Z)=>J.call(X,Z,Z,this))}has(J){return this._map.has(J)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(He=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}}class je{constructor(){this[Ve]=\"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(J){return this._map.has(J)}get(J,X=0){let Y=this._map.get(J);if(!Y)return;if(X!==0)this.touch(Y,X);return Y.value}set(J,X,Y=0){let Z=this._map.get(J);if(Z){if(Z.value=X,Y!==0)this.touch(Z,Y)}else{switch(Z={key:J,value:X,next:void 0,previous:void 0},Y){case 0:this.addItemLast(Z);break;case 1:this.addItemFirst(Z);break;case 2:this.addItemLast(Z);break;default:this.addItemLast(Z);break}this._map.set(J,Z),this._size++}return this}delete(J){return!!this.remove(J)}remove(J){let X=this._map.get(J);if(!X)return;return this._map.delete(J),this.removeItem(X),this._size--,X.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error(\"Invalid list\");let J=this._head;return this._map.delete(J.key),this.removeItem(J),this._size--,J.value}forEach(J,X){let Y=this._state,Z=this._head;while(Z){if(X)J.bind(X)(Z.value,Z.key,this);else J(Z.value,Z.key,this);if(this._state!==Y)throw Error(\"LinkedMap got modified during iteration.\");Z=Z.next}}keys(){let J=this,X=this._state,Y=this._head,Z={[Symbol.iterator](){return Z},[Symbol.dispose](){},next(){if(J._state!==X)throw Error(\"LinkedMap got modified during iteration.\");if(Y){let Q={value:Y.key,done:!1};return Y=Y.next,Q}else return{value:void 0,done:!0}}};return Z}values(){let J=this,X=this._state,Y=this._head,Z={[Symbol.iterator](){return Z},[Symbol.dispose](){},next(){if(J._state!==X)throw Error(\"LinkedMap got modified during iteration.\");if(Y){let Q={value:Y.value,done:!1};return Y=Y.next,Q}else return{value:void 0,done:!0}}};return Z}entries(){let J=this,X=this._state,Y=this._head,Z={[Symbol.iterator](){return Z},[Symbol.dispose](){},next(){if(J._state!==X)throw Error(\"LinkedMap got modified during iteration.\");if(Y){let Q={value:[Y.key,Y.value],done:!1};return Y=Y.next,Q}else return{value:void 0,done:!0}}};return Z}[(Ve=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(J){if(J>=this.size)return;if(J===0){this.clear();return}let X=this._head,Y=this.size;while(X&&Y>J)this._map.delete(X.key),X=X.next,Y--;if(this._head=X,this._size=Y,X)X.previous=void 0;this._state++}trimNew(J){if(J>=this.size)return;if(J===0){this.clear();return}let X=this._tail,Y=this.size;while(X&&Y>J)this._map.delete(X.key),X=X.previous,Y--;if(this._tail=X,this._size=Y,X)X.next=void 0;this._state++}addItemFirst(J){if(!this._head&&!this._tail)this._tail=J;else if(!this._head)throw Error(\"Invalid list\");else J.next=this._head,this._head.previous=J;this._head=J,this._state++}addItemLast(J){if(!this._head&&!this._tail)this._head=J;else if(!this._tail)throw Error(\"Invalid list\");else J.previous=this._tail,this._tail.next=J;this._tail=J,this._state++}removeItem(J){if(J===this._head&&J===this._tail)this._head=void 0,this._tail=void 0;else if(J===this._head){if(!J.next)throw Error(\"Invalid list\");J.next.previous=void 0,this._head=J.next}else if(J===this._tail){if(!J.previous)throw Error(\"Invalid list\");J.previous.next=void 0,this._tail=J.previous}else{let{next:X,previous:Y}=J;if(!X||!Y)throw Error(\"Invalid list\");X.previous=Y,Y.next=X}J.next=void 0,J.previous=void 0,this._state++}touch(J,X){if(!this._head||!this._tail)throw Error(\"Invalid list\");if(X!==1&&X!==2)return;if(X===1){if(J===this._head)return;let{next:Y,previous:Z}=J;if(J===this._tail)Z.next=void 0,this._tail=Z;else Y.previous=Z,Z.next=Y;J.previous=void 0,J.next=this._head,this._head.previous=J,this._head=J,this._state++}else if(X===2){if(J===this._tail)return;let{next:Y,previous:Z}=J;if(J===this._head)Y.previous=void 0,this._head=Y;else Y.previous=Z,Z.next=Y;J.next=void 0,J.previous=this._tail,this._tail.next=J,this._tail=J,this._state++}}toJSON(){let J=[];return this.forEach((X,Y)=>{J.push([Y,X])}),J}fromJSON(J){this.clear();for(let[X,Y]of J)this.set(X,Y)}}class We extends je{constructor(J,X=1){super();this._limit=J,this._ratio=Math.min(Math.max(0,X),1)}get limit(){return this._limit}set limit(J){this._limit=J,this.checkTrim()}get(J,X=2){return super.get(J,X)}peek(J){return super.get(J,0)}set(J,X){return super.set(J,X,2),this}checkTrim(){if(this.size>this._limit)this.trim(Math.round(this._limit*this._ratio))}}class k4 extends We{constructor(J,X=1){super(J,X)}trim(J){this.trimOld(J)}set(J,X){return super.set(J,X),this.checkTrim(),this}}class $b{constructor(J){if(this._m1=new Map,this._m2=new Map,J)for(let[X,Y]of J)this.set(X,Y)}clear(){this._m1.clear(),this._m2.clear()}set(J,X){this._m1.set(J,X),this._m2.set(X,J)}get(J){return this._m1.get(J)}getKey(J){return this._m2.get(J)}delete(J){let X=this._m1.get(J);if(X===void 0)return!1;return this._m1.delete(J),this._m2.delete(X),!0}keys(){return this._m1.keys()}values(){return this._m1.values()}}class sz{constructor(){this.map=new Map}add(J,X){let Y=this.map.get(J);if(!Y)Y=new Set,this.map.set(J,Y);Y.add(X)}delete(J,X){let Y=this.map.get(J);if(!Y)return;if(Y.delete(X),Y.size===0)this.map.delete(J)}forEach(J,X){let Y=this.map.get(J);if(!Y)return;Y.forEach(X)}}class zQ{constructor(){this._data=new Map}set(J,...X){let Y=this._data;for(let Z=0;Z<X.length-1;Z++){let Q=Y.get(X[Z]);if(Q===void 0)Q=new Map,Y.set(X[Z],Q);Y=Q}Y.set(X[X.length-1],J)}get(...J){let X=this._data;for(let Y=0;Y<J.length-1;Y++){let Z=X.get(J[Y]);if(Z===void 0)return;X=Z}return X.get(J[J.length-1])}clear(){this._data.clear()}toString(){let J=(X,Y)=>{let Z=\"\";for(let[Q,$]of X)if(Z+=`${\"  \".repeat(Y)}${Q}: `,$ instanceof Map)Z+=`\n`+J($,Y+1);else Z+=`${$}\n`;return Z};return J(this._data,0)}}function H2(J){return J===47||J===92}function qb(J){return J.replace(/[\\\\/]/g,r1.sep)}function ze(J){if(J.indexOf(\"/\")===-1)J=qb(J);if(/^[a-zA-Z]:(\\/|$)/.test(J))J=\"/\"+J;return J}function Gb(J,X=r1.sep){if(!J)return\"\";let Y=J.length,Z=J.charCodeAt(0);if(H2(Z)){if(H2(J.charCodeAt(1))){if(!H2(J.charCodeAt(2))){let $=3,q=$;for(;$<Y;$++)if(H2(J.charCodeAt($)))break;if(q!==$&&!H2(J.charCodeAt($+1))){$+=1;for(;$<Y;$++)if(H2(J.charCodeAt($)))return J.slice(0,$+1).replace(/[\\\\/]/g,X)}}}return X}else if(ej0(Z)){if(J.charCodeAt(1)===58)if(H2(J.charCodeAt(2)))return J.slice(0,2)+X;else return J.slice(0,2)}let Q=J.indexOf(\"://\");if(Q!==-1){Q+=3;for(;Q<Y;Q++)if(H2(J.charCodeAt(Q)))return J.slice(0,Q+1)}return\"\"}function az(J,X,Y,Z=!1){let Q=Z?r1.sep:FX;if(J===X)return!0;if(!J||!X)return!1;if(J.indexOf(\"..\")>=0||X.indexOf(\"..\")>=0)J=Z?r1.normalize(J):_q(J),X=Z?r1.normalize(X):_q(X);if(X.length>J.length)return!1;if(Y){if(!aH(J,X))return!1;if(X.length===J.length)return!0;let q=X.length;if(X.charAt(X.length-1)===Q)q--;return J.charAt(q)===Q}if(X.charAt(X.length-1)!==Q)X+=Q;return J.indexOf(X)===0}function ej0(J){return J>=65&&J<=90||J>=97&&J<=122}function MX(J){return Oz(J,!0)}class _e{constructor(J){this._ignorePathCasing=J}compare(J,X,Y=!1){if(J===X)return 0;return Mz(this.getComparisonKey(J,Y),this.getComparisonKey(X,Y))}isEqual(J,X,Y=!1){if(J===X)return!0;if(!J||!X)return!1;return this.getComparisonKey(J,Y)===this.getComparisonKey(X,Y)}getComparisonKey(J,X=!1){return J.with({path:this._ignorePathCasing(J)?J.path.toLowerCase():void 0,fragment:X?null:void 0}).toString()}isEqualOrParent(J,X,Y=!1){if(J.scheme===X.scheme){if(J.scheme===T0.file)return az(MX(J),MX(X),this._ignorePathCasing(J))&&J.query===X.query&&(Y||J.fragment===X.fragment);if(Fe(J.authority,X.authority))return az(J.path,X.path,this._ignorePathCasing(J),!0)&&J.query===X.query&&(Y||J.fragment===X.fragment)}return!1}joinPath(J,...X){return R0.joinPath(J,...X)}basenameOrAuthority(J){return iz(J)||J.authority}basename(J,X){return r1.basename(J.path,X)}extname(J){return r1.extname(J.path)}dirname(J){if(J.path.length===0)return J;let X;if(J.scheme===T0.file)X=R0.file(Pn(MX(J))).path;else if(X=r1.dirname(J.path),J.authority&&X.length&&X.charCodeAt(0)!==47)console.error(`dirname(\"${J.toString})) resulted in a relative path`),X=\"/\";return J.with({path:X})}normalizePath(J){if(!J.path.length)return J;let X;if(J.scheme===T0.file)X=R0.file(_q(MX(J))).path;else X=r1.normalize(J.path);return J.with({path:X})}relativePath(J,X){if(J.scheme!==X.scheme||!Fe(J.authority,X.authority))return;if(J.scheme===T0.file){let Q=An(MX(J),MX(X));return z6?qb(Q):Q}let Y=J.path||\"/\",Z=X.path||\"/\";if(this._ignorePathCasing(J)){let Q=0;for(let $=Math.min(Y.length,Z.length);Q<$;Q++)if(Y.charCodeAt(Q)!==Z.charCodeAt(Q)){if(Y.charAt(Q).toLowerCase()!==Z.charAt(Q).toLowerCase())break}Y=Z.substr(0,Q)+Y.substr(Q)}return r1.relative(Y,Z)}resolvePath(J,X){if(J.scheme===T0.file){let Y=R0.file(_n(MX(J),X));return J.with({authority:Y.authority,path:Y.path})}return X=ze(X),J.with({path:r1.resolve(J.path,X)})}isAbsolutePath(J){return!!J.path&&J.path[0]===\"/\"}isEqualAuthority(J,X){return J===X||J!==void 0&&X!==void 0&&wJ(J,X)}hasTrailingPathSeparator(J,X=FX){if(J.scheme===T0.file){let Y=MX(J);return Y.length>Gb(Y).length&&Y[Y.length-1]===X}else{let Y=J.path;return Y.length>1&&Y.charCodeAt(Y.length-1)===47&&!/^[a-zA-Z]:(\\/$|\\\\$)/.test(J.fsPath)}}removeTrailingPathSeparator(J,X=FX){if(Be(J,X))return J.with({path:J.path.substr(0,J.path.length-1)});return J}addTrailingPathSeparator(J,X=FX){let Y=!1;if(J.scheme===T0.file){let Z=MX(J);Y=Z!==void 0&&Z.length===Gb(Z).length&&Z[Z.length-1]===X}else{X=\"/\";let Z=J.path;Y=Z.length===1&&Z.charCodeAt(Z.length-1)===47}if(!Y&&!Be(J,X))return J.with({path:J.path+\"/\"});return J}}var _6=new _e(()=>!1),Ae=_6.isEqual.bind(_6);_6.isEqualOrParent.bind(_6);_6.getComparisonKey.bind(_6);var XS0=_6.basenameOrAuthority.bind(_6),iz=_6.basename.bind(_6),YS0=_6.extname.bind(_6),Pe=_6.dirname.bind(_6),IM=_6.joinPath.bind(_6),De=_6.normalizePath.bind(_6),Oe=_6.relativePath.bind(_6),Ub=_6.resolvePath.bind(_6);_6.isAbsolutePath.bind(_6);var Fe=_6.isEqualAuthority.bind(_6),Be=_6.hasTrailingPathSeparator.bind(_6);_6.removeTrailingPathSeparator.bind(_6);_6.addTrailingPathSeparator.bind(_6);var uq;(function(J){J.META_DATA_LABEL=\"label\",J.META_DATA_DESCRIPTION=\"description\",J.META_DATA_SIZE=\"size\",J.META_DATA_MIME=\"mime\";function X(Y){let Z=new Map;Y.path.substring(Y.path.indexOf(\";\")+1,Y.path.lastIndexOf(\";\")).split(\";\").forEach((q)=>{let[G,U]=q.split(\":\");if(G&&U)Z.set(G,U)});let $=Y.path.substring(0,Y.path.indexOf(\";\"));if($)Z.set(J.META_DATA_MIME,$);return Z}J.parseMetaData=X})(uq||(uq={}));var x1=W0(\"logService\"),Me=W0(\"loggerService\"),j5;(function(J){J[J.Off=0]=\"Off\",J[J.Trace=1]=\"Trace\",J[J.Debug=2]=\"Debug\",J[J.Info=3]=\"Info\",J[J.Warning=4]=\"Warning\",J[J.Error=5]=\"Error\"})(j5||(j5={}));var Re=j5.Info;function JW0(J,X){return J!==j5.Off&&J<=X}function XW0(J){switch(J){case\"debug\":return console.debug;case\"error\":return console.error;case\"info\":return console.info;case\"log\":return console.log;case\"warn\":return console.warn}}function wY(J,...X){try{XW0(J).apply(console,X)}finally{}}class Hb extends y{constructor(){super(...arguments);this.level=Re,this._onDidChangeLogLevel=this._register(new E)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(J){if(this.level!==J)this.level=J,this._onDidChangeLogLevel.fire(this.level)}getLevel(){return this.level}checkLogLevel(J){return JW0(this.level,J)}canLog(J){if(this._store.isDisposed)return!1;return this.checkLogLevel(J)}}class Vb extends Hb{constructor(J=Re,X=!0){super();this.useColors=X,this.setLevel(J)}trace(J,...X){if(this.canLog(j5.Trace))if(this.useColors)wY(\"log\",\"%cTRACE\",\"color: #888\",J,...X);else wY(\"log\",J,...X)}debug(J,...X){if(this.canLog(j5.Debug))if(this.useColors)wY(\"log\",\"%cDEBUG\",\"background: #eee; color: #888\",J,...X);else wY(\"log\",J,...X)}info(J,...X){if(this.canLog(j5.Info))if(this.useColors)wY(\"log\",\"%c INFO\",\"color: #33f\",J,...X);else wY(\"log\",J,...X)}warn(J,...X){if(this.canLog(j5.Warning))if(this.useColors)wY(\"warn\",\"%c WARN\",\"color: #993\",J,...X);else wY(\"log\",J,...X)}error(J,...X){if(this.canLog(j5.Error))if(this.useColors)wY(\"error\",\"%c  ERR\",\"color: #f33\",J,...X);else wY(\"error\",J,...X)}}class Kb extends Hb{constructor(J){super();if(this.loggers=J,J.length)this.setLevel(J[0].getLevel())}setLevel(J){for(let X of this.loggers)X.setLevel(J);super.setLevel(J)}trace(J,...X){for(let Y of this.loggers)Y.trace(J,...X)}debug(J,...X){for(let Y of this.loggers)Y.debug(J,...X)}info(J,...X){for(let Y of this.loggers)Y.info(J,...X)}warn(J,...X){for(let Y of this.loggers)Y.warn(J,...X)}error(J,...X){for(let Y of this.loggers)Y.error(J,...X)}dispose(){for(let J of this.loggers)J.dispose();super.dispose()}}class Ne extends y{constructor(J,X,Y){super();if(this.logLevel=J,this.logsHome=X,this._loggers=new r6,this._onDidChangeLoggers=this._register(new E),this._onDidChangeVisibility=this._register(new E),Y)for(let Z of Y)this._loggers.set(Z.resource,{logger:void 0,info:Z})}getLoggerEntry(J){if(t1(J))return[...this._loggers.values()].find((X)=>X.info.id===J);return this._loggers.get(J)}createLogger(J,X){let Y=this.toResource(J),Z=t1(J)?J:X?.id??t$(Y.toString()).toString(16),Q=this._loggers.get(Y)?.logger,$=X?.logLevel===\"always\"?j5.Trace:X?.logLevel;if(!Q)Q=this.doCreateLogger(Y,$??this.getLogLevel(Y)??this.logLevel,{...X,id:Z});let q={logger:Q,info:{resource:Y,id:Z,logLevel:$,name:X?.name,hidden:X?.hidden,group:X?.group,extensionId:X?.extensionId,when:X?.when}};return this.registerLogger(q.info),this._loggers.set(Y,q),Q}toResource(J){return t1(J)?IM(this.logsHome,`${J.replace(/[\\\\/:\\*\\?\"<>\\|]/g,\"\")}.log`):J}setVisibility(J,X){let Y=this.getLoggerEntry(J);if(Y&&X!==!Y.info.hidden)Y.info.hidden=!X,this._loggers.set(Y.info.resource,Y),this._onDidChangeVisibility.fire([Y.info.resource,X])}getLogLevel(J){let X;if(J)X=this._loggers.get(J)?.info.logLevel;return X??this.logLevel}registerLogger(J){let X=this._loggers.get(J.resource);if(X){if(X.info.hidden!==J.hidden)this.setVisibility(J.resource,!J.hidden)}else this._loggers.set(J.resource,{info:J,logger:void 0}),this._onDidChangeLoggers.fire({added:[J],removed:[]})}dispose(){this._loggers.forEach((J)=>J.logger?.dispose()),this._loggers.clear(),super.dispose()}}class we{constructor(){this.onDidChangeLogLevel=new E().event}setLevel(J){}getLevel(){return j5.Info}trace(J,...X){}debug(J,...X){}info(J,...X){}warn(J,...X){}error(J,...X){}dispose(){}}class jb extends Ne{constructor(){super(j5.Off,R0.parse(\"log:///log\"))}doCreateLogger(J,X,Y){return new we}}function YW0(J){switch(J){case j5.Trace:return\"trace\";case j5.Debug:return\"debug\";case j5.Info:return\"info\";case j5.Warning:return\"warn\";case j5.Error:return\"error\";case j5.Off:return\"off\"}}new G0(\"logLevel\",YW0(j5.Info));class rz{static{this.REGISTERED_COMMANDS=new Set}static getRegisteredCommands(){return[...rz.REGISTERED_COMMANDS]}static registerCommand(J){rz.REGISTERED_COMMANDS.add(J)}}class GV{constructor(J){this.id=J.id,this.precondition=J.precondition,this._kbOpts=J.kbOpts,this._menuOpts=J.menuOpts,this.metadata=J.metadata,this.canTriggerInlineEdits=J.canTriggerInlineEdits}register(){if(Array.isArray(this._menuOpts))this._menuOpts.forEach(this._registerMenuItem,this);else if(this._menuOpts)this._registerMenuItem(this._menuOpts);if(this._kbOpts){let J=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(let X of J){let Y=X.kbExpr;if(this.precondition)if(Y)Y=P0.and(Y,this.precondition);else Y=this.precondition;let Z={id:this.id,weight:X.weight,args:X.args,when:Y,primary:X.primary,secondary:X.secondary,win:X.win,linux:X.linux,mac:X.mac};p5.registerKeybindingRule(Z)}}if(S6.registerCommand({id:this.id,handler:(J,X)=>this.runCommand(J,X),metadata:this.metadata}),this.canTriggerInlineEdits)rz.registerCommand(this.id)}_registerMenuItem(J){K5.appendMenuItem(J.menuId,{group:J.group,command:{id:this.id,title:J.title,icon:J.icon,precondition:this.precondition},when:J.when,order:J.order})}}class K2 extends GV{constructor(){super(...arguments);this._implementations=[]}addImplementation(J,X,Y,Z){return this._implementations.push({priority:J,name:X,implementation:Y,when:Z}),this._implementations.sort((Q,$)=>$.priority-Q.priority),{dispose:()=>{for(let Q=0;Q<this._implementations.length;Q++)if(this._implementations[Q].implementation===Y){this._implementations.splice(Q,1);return}}}}runCommand(J,X){let Y=J.get(x1),Z=J.get(E0);Y.trace(`Executing Command '${this.id}' which has ${this._implementations.length} bound.`);for(let Q of this._implementations){if(Q.when){let q=Z.getContext(E1());if(!Q.when.evaluate(q))continue}let $=Q.implementation(J,X);if($){if(Y.trace(`Command '${this.id}' was handled by '${Q.name}'.`),typeof $===\"boolean\")return;return $}}Y.trace(`The Command '${this.id}' was not handled by any implementation.`)}}class Wb extends GV{constructor(J,X){super(X);this.command=J}runCommand(J,X){return this.command.runCommand(J,X)}}class H7 extends GV{static bindToContribution(J){return class extends H7{constructor(Y){super(Y);this._callback=Y.handler}runEditorCommand(Y,Z,Q){let $=J(Z);if($)this._callback($,Q)}}}static runEditorCommand(J,X,Y,Z){let Q=J.get(l1),$=Q.getFocusedCodeEditor()||Q.getActiveCodeEditor();if(!$)return;return $.invokeWithinContext((q)=>{if(!q.get(E0).contextMatchesRules(Y??void 0))return;return Z(q,$,X)})}runCommand(J,X){return H7.runEditorCommand(J,X,this.precondition,(Y,Z,Q)=>this.runEditorCommand(Y,Z,Q))}}class U1 extends H7{static convertOptions(J){let X;if(Array.isArray(J.menuOpts))X=J.menuOpts;else if(J.menuOpts)X=[J.menuOpts];else X=[];function Y(Z){if(!Z.menuId)Z.menuId=b.EditorContext;if(!Z.title)Z.title=typeof J.label===\"string\"?J.label:J.label.value;return Z.when=P0.and(J.precondition,Z.when),Z}if(Array.isArray(J.contextMenuOpts))X.push(...J.contextMenuOpts.map(Y));else if(J.contextMenuOpts)X.push(Y(J.contextMenuOpts));return J.menuOpts=X,J}constructor(J){super(U1.convertOptions(J));if(typeof J.label===\"string\")this.label=J.label,this.alias=J.alias??J.label;else this.label=J.label.value,this.alias=J.alias??J.label.original}runEditorCommand(J,X,Y){return this.reportTelemetry(J,X),this.run(J,X,Y||{})}reportTelemetry(J,X){J.get(k7).publicLog2(\"editorActionInvoked\",{name:this.label,id:this.id})}}class UV extends U1{constructor(){super(...arguments);this._implementations=[]}addImplementation(J,X){return this._implementations.push([J,X]),this._implementations.sort((Y,Z)=>Z[0]-Y[0]),{dispose:()=>{for(let Y=0;Y<this._implementations.length;Y++)if(this._implementations[Y][1]===X){this._implementations.splice(Y,1);return}}}}run(J,X,Y){for(let Z of this._implementations){let Q=Z[1](J,X,Y);if(Q){if(typeof Q===\"boolean\")return;return Q}}}}function O0(J){return f9.INSTANCE.registerEditorCommand(J),J}function y0(J){let X=new J;return f9.INSTANCE.registerEditorAction(X),X}function oz(J){return f9.INSTANCE.registerEditorAction(J),J}function Te(J){f9.INSTANCE.registerEditorAction(J)}function E7(J,X,Y){f9.INSTANCE.registerEditorContribution(J,X,Y)}var V2;(function(J){function X(q){return f9.INSTANCE.getEditorCommand(q)}J.getEditorCommand=X;function Y(){return f9.INSTANCE.getEditorActions()}J.getEditorActions=Y;function Z(){return f9.INSTANCE.getEditorContributions()}J.getEditorContributions=Z;function Q(q){return f9.INSTANCE.getEditorContributions().filter((G)=>q.indexOf(G.id)>=0)}J.getSomeEditorContributions=Q;function $(){return f9.INSTANCE.getDiffEditorContributions()}J.getDiffEditorContributions=$})(V2||(V2={}));var ZW0={EditorCommonContributions:\"editor.contributions\"};class f9{static{this.INSTANCE=new f9}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(J,X,Y){this.editorContributions.push({id:J,ctor:X,instantiation:Y})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(J){J.register(),this.editorActions.push(J)}getEditorActions(){return this.editorActions}registerEditorCommand(J){J.register(),this.editorCommands[J.id]=J}getEditorCommand(J){return this.editorCommands[J]||null}}y1.add(ZW0.EditorCommonContributions,f9.INSTANCE);function nz(J){return J.register(),J}var zb=nz(new K2({id:\"undo\",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:b.MenubarEditMenu,group:\"1_do\",title:F(73,\"&&Undo\"),order:1},{menuId:b.CommandPalette,group:\"\",title:F(74,\"Undo\"),order:1},{menuId:b.SimpleEditorContext,group:\"1_do\",title:F(75,\"Undo\"),order:1}]}));nz(new Wb(zb,{id:\"default:undo\",precondition:void 0}));var Fb=nz(new K2({id:\"redo\",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:b.MenubarEditMenu,group:\"1_do\",title:F(76,\"&&Redo\"),order:2},{menuId:b.CommandPalette,group:\"\",title:F(77,\"Redo\"),order:1},{menuId:b.SimpleEditorContext,group:\"1_do\",title:F(78,\"Redo\"),order:2}]}));nz(new Wb(Fb,{id:\"default:redo\",precondition:void 0}));var Le=nz(new K2({id:\"editor.action.selectAll\",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:b.MenubarSelectionMenu,group:\"1_basic\",title:F(79,\"&&Select All\"),order:1},{menuId:b.CommandPalette,group:\"\",title:F(80,\"Select All\"),order:1},{menuId:b.SimpleEditorContext,group:\"9_select\",title:F(81,\"Select All\"),order:1}]}));var Ie=\"default\",QW0=\"$initialize\",ke=!1;function kM(J){if(!o7)return;if(!ke)ke=!0,console.warn(\"Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq\");console.warn(J.message)}class Ee{constructor(J,X,Y,Z,Q){this.vsWorker=J,this.req=X,this.channel=Y,this.method=Z,this.args=Q,this.type=0}}class Bb{constructor(J,X,Y,Z){this.vsWorker=J,this.seq=X,this.res=Y,this.err=Z,this.type=1}}class ye{constructor(J,X,Y,Z,Q){this.vsWorker=J,this.req=X,this.channel=Y,this.eventName=Z,this.arg=Q,this.type=2}}class xe{constructor(J,X,Y){this.vsWorker=J,this.req=X,this.event=Y,this.type=3}}class be{constructor(J,X){this.vsWorker=J,this.req=X,this.type=4}}class Ce{constructor(J){this._workerId=-1,this._handler=J,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(J){this._workerId=J}async sendMessage(J,X,Y){let Z=String(++this._lastSentReq);return new Promise((Q,$)=>{this._pendingReplies[Z]={resolve:Q,reject:$},this._send(new Ee(this._workerId,Z,J,X,Y))})}listen(J,X,Y){let Z=null,Q=new E({onWillAddFirstListener:()=>{Z=String(++this._lastSentReq),this._pendingEmitters.set(Z,Q),this._send(new ye(this._workerId,Z,J,X,Y))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(Z),this._send(new be(this._workerId,Z)),Z=null}});return Q.event}handleMessage(J){if(!J||!J.vsWorker)return;if(this._workerId!==-1&&J.vsWorker!==this._workerId)return;this._handleMessage(J)}createProxyToRemoteChannel(J,X){let Y={get:(Z,Q)=>{if(typeof Q===\"string\"&&!Z[Q]){if(fe(Q))Z[Q]=($)=>{return this.listen(J,Q,$)};else if(Se(Q))Z[Q]=this.listen(J,Q,void 0);else if(Q.charCodeAt(0)===36)Z[Q]=async(...$)=>{return await X?.(),this.sendMessage(J,Q,$)}}return Z[Q]}};return new Proxy(Object.create(null),Y)}_handleMessage(J){switch(J.type){case 1:return this._handleReplyMessage(J);case 0:return this._handleRequestMessage(J);case 2:return this._handleSubscribeEventMessage(J);case 3:return this._handleEventMessage(J);case 4:return this._handleUnsubscribeEventMessage(J)}}_handleReplyMessage(J){if(!this._pendingReplies[J.seq]){console.warn(\"Got reply to unknown seq\");return}let X=this._pendingReplies[J.seq];if(delete this._pendingReplies[J.seq],J.err){let Y=J.err;if(J.err.$isError){let Z=Error();Z.name=J.err.name,Z.message=J.err.message,Z.stack=J.err.stack,Y=Z}X.reject(Y);return}X.resolve(J.res)}_handleRequestMessage(J){let X=J.req;this._handler.handleMessage(J.channel,J.method,J.args).then((Z)=>{this._send(new Bb(this._workerId,X,Z,void 0))},(Z)=>{if(Z.detail instanceof Error)Z.detail=MD(Z.detail);this._send(new Bb(this._workerId,X,void 0,MD(Z)))})}_handleSubscribeEventMessage(J){let X=J.req,Y=this._handler.handleEvent(J.channel,J.eventName,J.arg)((Z)=>{this._send(new xe(this._workerId,X,Z))});this._pendingEvents.set(X,Y)}_handleEventMessage(J){let X=this._pendingEmitters.get(J.req);if(X===void 0){console.warn(\"Got event for unknown req\");return}X.fire(J.event)}_handleUnsubscribeEventMessage(J){let X=this._pendingEvents.get(J.req);if(X===void 0){console.warn(\"Got unsubscribe for unknown req\");return}X.dispose(),this._pendingEvents.delete(J.req)}_send(J){let X=[];if(J.type===0)for(let Y=0;Y<J.args.length;Y++){let Z=J.args[Y];if(Z instanceof ArrayBuffer)X.push(Z)}else if(J.type===1){if(J.res instanceof ArrayBuffer)X.push(J.res)}this._handler.sendMessage(J,X)}}class _b extends y{constructor(J){super();this._localChannels=new Map,this._worker=this._register(J),this._register(this._worker.onMessage((X)=>{this._protocol.handleMessage(X)})),this._register(this._worker.onError((X)=>{kM(X),b0(X)})),this._protocol=new Ce({sendMessage:(X,Y)=>{this._worker.postMessage(X,Y)},handleMessage:(X,Y,Z)=>{return this._handleMessage(X,Y,Z)},handleEvent:(X,Y,Z)=>{return this._handleEvent(X,Y,Z)}}),this._protocol.setWorkerId(this._worker.getId()),this._onModuleLoaded=this._protocol.sendMessage(Ie,QW0,[this._worker.getId()]).then(()=>{}),this.proxy=this._protocol.createProxyToRemoteChannel(Ie,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch((X)=>{this._onError(\"Worker failed to load \",X)})}_handleMessage(J,X,Y){let Z=this._localChannels.get(J);if(!Z)return Promise.reject(Error(`Missing channel ${J} on main thread`));let Q=Z[X];if(typeof Q!==\"function\")return Promise.reject(Error(`Missing method ${X} on main thread channel ${J}`));try{return Promise.resolve(Q.apply(Z,Y))}catch($){return Promise.reject($)}}_handleEvent(J,X,Y){let Z=this._localChannels.get(J);if(!Z)throw Error(`Missing channel ${J} on main thread`);if(fe(X)){let Q=Z[X];if(typeof Q!==\"function\")throw Error(`Missing dynamic event ${X} on main thread channel ${J}.`);let $=Q.call(Z,Y);if(typeof $!==\"function\")throw Error(`Missing dynamic event ${X} on main thread channel ${J}.`);return $}if(Se(X)){let Q=Z[X];if(typeof Q!==\"function\")throw Error(`Missing event ${X} on main thread channel ${J}.`);return Q}throw Error(`Malformed event name ${X}`)}setChannel(J,X){this._localChannels.set(J,X)}_onError(J,X){console.error(J),console.info(X)}}function Se(J){return J[0]===\"o\"&&J[1]===\"n\"&&FY(J.charCodeAt(2))}function fe(J){return/^onDynamic/.test(J)&&FY(J.charCodeAt(9))}class Ab{constructor(J){this.esmModuleLocation=J.esmModuleLocation,this.esmModuleLocationBundler=J.esmModuleLocationBundler,this.label=J.label}}var j2=W0(\"IWebWorkerService\");var T6;(function(J){J[J.None=0]=\"None\",J[J.Indent=1]=\"Indent\",J[J.IndentOutdent=2]=\"IndentOutdent\",J[J.Outdent=3]=\"Outdent\"})(T6||(T6={}));class ez{constructor(J){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=J.open,this.close=J.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(J.notIn))for(let X=0,Y=J.notIn.length;X<Y;X++)switch(J.notIn[X]){case\"string\":this._inString=!1;break;case\"comment\":this._inComment=!1;break;case\"regex\":this._inRegEx=!1;break}}isOK(J){switch(J){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(J,X){if(J.getTokenCount()===0)return!0;let Y=J.findTokenIndexAtOffset(X-2),Z=J.getStandardTokenType(Y);return this.isOK(Z)}_findNeutralCharacterInRange(J,X){for(let Y=J;Y<=X;Y++){let Z=String.fromCharCode(Y);if(!this.open.includes(Z)&&!this.close.includes(Z))return Z}return null}findNeutralCharacter(){if(!this._neutralCharacterSearched){if(this._neutralCharacterSearched=!0,!this._neutralCharacter)this._neutralCharacter=this._findNeutralCharacterInRange(48,57);if(!this._neutralCharacter)this._neutralCharacter=this._findNeutralCharacterInRange(97,122);if(!this._neutralCharacter)this._neutralCharacter=this._findNeutralCharacterInRange(65,90)}return this._neutralCharacter}}class Pb{constructor(J){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(let X of J)if(tz(this.autoClosingPairsOpenByStart,X.open.charAt(0),X),tz(this.autoClosingPairsOpenByEnd,X.open.charAt(X.open.length-1),X),tz(this.autoClosingPairsCloseByStart,X.close.charAt(0),X),tz(this.autoClosingPairsCloseByEnd,X.close.charAt(X.close.length-1),X),X.close.length===1&&X.open.length===1)tz(this.autoClosingPairsCloseSingleChar,X.close,X)}}function tz(J,X,Y){if(J.has(X))J.get(X).push(Y);else J.set(X,[Y])}class JF{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> \n\t`}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'\"\\`;:.,=}])> \n\t`}constructor(J){if(J.autoClosingPairs)this._autoClosingPairs=J.autoClosingPairs.map((X)=>new ez(X));else if(J.brackets)this._autoClosingPairs=J.brackets.map((X)=>new ez({open:X[0],close:X[1]}));else this._autoClosingPairs=[];if(J.__electricCharacterSupport&&J.__electricCharacterSupport.docComment){let X=J.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new ez({open:X.open,close:X.close||\"\"}))}this._autoCloseBeforeForQuotes=typeof J.autoCloseBefore===\"string\"?J.autoCloseBefore:JF.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof J.autoCloseBefore===\"string\"?J.autoCloseBefore:JF.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=J.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(J){return J?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}function TY(J,X){let Y=J.getCount(),Z=J.findTokenIndexAtOffset(X),Q=J.getLanguageId(Z),$=Z;while($+1<Y&&J.getLanguageId($+1)===Q)$++;let q=Z;while(q>0&&J.getLanguageId(q-1)===Q)q--;return new he(J,Q,q,$+1,J.getStartOffset(q),J.getEndOffset($))}class he{constructor(J,X,Y,Z,Q,$){this._scopedLineTokensBrand=void 0,this._actual=J,this.languageId=X,this._firstTokenIndex=Y,this._lastTokenIndex=Z,this.firstCharOffset=Q,this._lastCharOffset=$,this.languageIdCodec=J.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(J){return this._actual.getLineContent().substring(0,this.firstCharOffset+J)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(J){return this._actual.findTokenIndexAtOffset(J+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(J){return this._actual.getStandardTokenType(J+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function fJ(J){return(J&3)!==0}var Db;function ve(){if(!Db)Db=new TextDecoder(\"UTF-16LE\");return Db}var Ob;function $W0(){if(!Ob)Ob=new TextDecoder(\"UTF-16BE\");return Ob}var Mb;function Rb(){if(!Mb)Mb=Wo()?ve():$W0();return Mb}function ge(J,X,Y){let Z=new Uint16Array(J.buffer,X,Y);if(Y>0&&(Z[0]===65279||Z[0]===65534))return qW0(J,X,Y);return ve().decode(Z)}function qW0(J,X,Y){let Z=[],Q=0;for(let $=0;$<Y;$++){let q=Gt(J,X);X+=2,Z[Q++]=String.fromCharCode(q)}return Z.join(\"\")}class h9{constructor(J){this._capacity=J|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){if(this._completedStrings!==null)return this._flushBuffer(),this._completedStrings.join(\"\");return this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return\"\";let J=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return Rb().decode(J)}_flushBuffer(){let J=this._buildBuffer();if(this._bufferLength=0,this._completedStrings===null)this._completedStrings=[J];else this._completedStrings[this._completedStrings.length]=J}appendCharCode(J){let X=this._capacity-this._bufferLength;if(X<=1){if(X===0||V6(J))this._flushBuffer()}this._buffer[this._bufferLength++]=J}appendASCIICharCode(J){if(this._bufferLength===this._capacity)this._flushBuffer();this._buffer[this._bufferLength++]=J}appendString(J){let X=J.length;if(this._bufferLength+X>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=J;return}for(let Y=0;Y<X;Y++)this._buffer[this._bufferLength++]=J.charCodeAt(Y)}}class EM{constructor(J,X,Y,Z,Q,$){this._richEditBracketBrand=void 0,this.languageId=J,this.index=X,this.open=Y,this.close=Z,this.forwardRegex=Q,this.reversedRegex=$,this._openSet=EM._toSet(this.open),this._closeSet=EM._toSet(this.close)}isOpen(J){return this._openSet.has(J)}isClose(J){return this._closeSet.has(J)}static _toSet(J){let X=new Set;for(let Y of J)X.add(Y);return X}}function GW0(J){let X=J.length;J=J.map((q)=>[q[0].toLowerCase(),q[1].toLowerCase()]);let Y=[];for(let q=0;q<X;q++)Y[q]=q;let Z=(q,G)=>{let[U,H]=q,[V,K]=G;return U===V||U===K||H===V||H===K},Q=(q,G)=>{let U=Math.min(q,G),H=Math.max(q,G);for(let V=0;V<X;V++)if(Y[V]===H)Y[V]=U};for(let q=0;q<X;q++){let G=J[q];for(let U=q+1;U<X;U++){let H=J[U];if(Z(G,H))Q(Y[q],Y[U])}}let $=[];for(let q=0;q<X;q++){let G=[],U=[];for(let H=0;H<X;H++)if(Y[H]===q){let[V,K]=J[H];G.push(V),U.push(K)}if(G.length>0)$.push({open:G,close:U})}return $}class Nb{constructor(J,X){this._richEditBracketsBrand=void 0;let Y=GW0(X);this.brackets=Y.map((Z,Q)=>{return new EM(J,Q,Z.open,Z.close,UW0(Z.open,Z.close,Y,Q),HW0(Z.open,Z.close,Y,Q))}),this.forwardRegex=VW0(this.brackets),this.reversedRegex=KW0(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(let Z of this.brackets){for(let Q of Z.open)this.textIsBracket[Q]=Z,this.textIsOpenBracket[Q]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,Q.length);for(let Q of Z.close)this.textIsBracket[Q]=Z,this.textIsOpenBracket[Q]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,Q.length)}}}function pe(J,X,Y,Z){for(let Q=0,$=X.length;Q<$;Q++){if(Q===Y)continue;let q=X[Q];for(let G of q.open)if(G.indexOf(J)>=0)Z.push(G);for(let G of q.close)if(G.indexOf(J)>=0)Z.push(G)}}function me(J,X){return J.length-X.length}function yM(J){if(J.length<=1)return J;let X=[],Y=new Set;for(let Z of J){if(Y.has(Z))continue;X.push(Z),Y.add(Z)}return X}function UW0(J,X,Y,Z){let Q=[];Q=Q.concat(J),Q=Q.concat(X);for(let $=0,q=Q.length;$<q;$++)pe(Q[$],Y,Z,Q);return Q=yM(Q),Q.sort(me),Q.reverse(),HV(Q)}function HW0(J,X,Y,Z){let Q=[];Q=Q.concat(J),Q=Q.concat(X);for(let $=0,q=Q.length;$<q;$++)pe(Q[$],Y,Z,Q);return Q=yM(Q),Q.sort(me),Q.reverse(),HV(Q.map(wb))}function VW0(J){let X=[];for(let Y of J){for(let Z of Y.open)X.push(Z);for(let Z of Y.close)X.push(Z)}return X=yM(X),HV(X)}function KW0(J){let X=[];for(let Y of J){for(let Z of Y.open)X.push(Z);for(let Z of Y.close)X.push(Z)}return X=yM(X),HV(X.map(wb))}function jW0(J){let X=/^[\\w ]+$/.test(J);return J=a8(J),X?`\\\\b${J}\\\\b`:J}function HV(J,X){let Y=`(${J.map(jW0).join(\")|(\")})`;return pO(Y,!0,X)}var wb=function(){function J(Z){let Q=new Uint16Array(Z.length),$=0;for(let q=Z.length-1;q>=0;q--)Q[$++]=Z.charCodeAt(q);return Rb().decode(Q)}let X=null,Y=null;return function(Q){if(X!==Q)X=Q,Y=J(X);return Y}}();class E4{static _findPrevBracketInText(J,X,Y,Z){let Q=Y.match(J);if(!Q)return null;let $=Y.length-(Q.index||0),q=Q[0].length,G=Z+$;return new T(X,G-q+1,X,G+1)}static findPrevBracketInRange(J,X,Y,Z,Q){let q=wb(Y).substring(Y.length-Q,Y.length-Z);return this._findPrevBracketInText(J,X,q,Z)}static findNextBracketInText(J,X,Y,Z){let Q=Y.match(J);if(!Q)return null;let $=Q.index||0,q=Q[0].length;if(q===0)return null;let G=Z+$;return new T(X,G+1,X,G+1+q)}static findNextBracketInRange(J,X,Y,Z,Q){let $=Y.substring(Z,Q);return this.findNextBracketInText(J,X,$,Z)}}class Tb{constructor(J){this._richEditBrackets=J}getElectricCharacters(){let J=[];if(this._richEditBrackets)for(let X of this._richEditBrackets.brackets)for(let Y of X.close){let Z=Y.charAt(Y.length-1);J.push(Z)}return o4(J)}onElectricCharacter(J,X,Y){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;let Z=X.findTokenIndexAtOffset(Y-1);if(fJ(X.getStandardTokenType(Z)))return null;let Q=this._richEditBrackets.reversedRegex,$=X.getLineContent().substring(0,Y-1)+J,q=E4.findPrevBracketInRange(Q,1,$,0,$.length);if(!q)return null;let G=$.substring(q.startColumn-1,q.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[G])return null;let H=X.getActualLineContentBefore(q.startColumn-1);if(!/^\\s*$/.test(H))return null;return{matchOpenBracket:G}}}function xM(J){if(J.global)J.lastIndex=0;return!0}class Lb{constructor(J){this._indentationRules=J}shouldIncrease(J){if(this._indentationRules){if(this._indentationRules.increaseIndentPattern&&xM(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(J))return!0}return!1}shouldDecrease(J){if(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&xM(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(J))return!0;return!1}shouldIndentNextLine(J){if(this._indentationRules&&this._indentationRules.indentNextLinePattern&&xM(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(J))return!0;return!1}shouldIgnore(J){if(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&xM(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(J))return!0;return!1}getIndentMetadata(J){let X=0;if(this.shouldIncrease(J))X+=1;if(this.shouldDecrease(J))X+=2;if(this.shouldIndentNextLine(J))X+=4;if(this.shouldIgnore(J))X+=8;return X}}class cq{constructor(J){J=J||{},J.brackets=J.brackets||[[\"(\",\")\"],[\"{\",\"}\"],[\"[\",\"]\"]],this._brackets=[],J.brackets.forEach((X)=>{let Y=cq._createOpenBracketRegExp(X[0]),Z=cq._createCloseBracketRegExp(X[1]);if(Y&&Z)this._brackets.push({open:X[0],openRegExp:Y,close:X[1],closeRegExp:Z})}),this._regExpRules=J.onEnterRules||[]}onEnter(J,X,Y,Z){if(J>=3)for(let Q=0,$=this._regExpRules.length;Q<$;Q++){let q=this._regExpRules[Q];if([{reg:q.beforeText,text:Y},{reg:q.afterText,text:Z},{reg:q.previousLineText,text:X}].every((U)=>{if(!U.reg)return!0;return U.reg.lastIndex=0,U.reg.test(U.text)}))return q.action}if(J>=2){if(Y.length>0&&Z.length>0)for(let Q=0,$=this._brackets.length;Q<$;Q++){let q=this._brackets[Q];if(q.openRegExp.test(Y)&&q.closeRegExp.test(Z))return{indentAction:T6.IndentOutdent}}}if(J>=2){if(Y.length>0){for(let Q=0,$=this._brackets.length;Q<$;Q++)if(this._brackets[Q].openRegExp.test(Y))return{indentAction:T6.Indent}}}return null}static _createOpenBracketRegExp(J){let X=a8(J);if(!/\\B/.test(X.charAt(0)))X=\"\\\\b\"+X;return X+=\"\\\\s*$\",cq._safeRegExp(X)}static _createCloseBracketRegExp(J){let X=a8(J);if(!/\\B/.test(X.charAt(X.length-1)))X=X+\"\\\\b\";return X=\"^\\\\s*\"+X,cq._safeRegExp(X)}static _safeRegExp(J){try{return new RegExp(J)}catch(X){return b0(X),null}}}var o0=W0(\"configurationService\");function bM(J,X){let Y=Object.create(null);for(let Z in J)Ib(Y,Z,J[Z],X);return Y}function Ib(J,X,Y,Z){let Q=X.split(\".\"),$=Q.pop(),q=J;for(let G=0;G<Q.length;G++){let U=Q[G],H=q[U];switch(typeof H){case\"undefined\":H=q[U]=Object.create(null);break;case\"object\":if(H===null){Z(`Ignoring ${X} as ${Q.slice(0,G+1).join(\".\")} is null`);return}break;default:Z(`Ignoring ${X} as ${Q.slice(0,G+1).join(\".\")} is ${JSON.stringify(H)}`);return}q=H}if(typeof q===\"object\"&&q!==null)try{q[$]=Y}catch(G){Z(`Ignoring ${X} as ${Q.join(\".\")} is ${JSON.stringify(q)}`)}else Z(`Ignoring ${X} as ${Q.join(\".\")} is ${JSON.stringify(q)}`)}function ue(J,X){let Y=X.split(\".\");ce(J,Y)}function ce(J,X){if(!J)return;let Y=J,Z=X.shift();if(X.length===0){delete Y[Z];return}if(Object.keys(Y).indexOf(Z)!==-1){let Q=Y[Z];if(typeof Q===\"object\"&&Q!==null&&!Array.isArray(Q)){if(ce(Q,X),Object.keys(Q).length===0)delete Y[Z]}}}function kb(J,X,Y){function Z(q,G){let U=q;for(let H of G){if(typeof U!==\"object\"||U===null)return;U=U[H]}return U}let Q=X.split(\".\"),$=Z(J,Q);return typeof $>\"u\"?Y:$}function de(J){return J.replace(/^\\[/,\"\").replace(/]$/g,\"\").replace(/\\]\\[/g,\", \")}var j6=W0(\"languageService\");class $9{constructor(J,X=[],Y=!1){this.ctor=J,this.staticArguments=X,this.supportsDelayedInstantiation=Y}}var le=[];function f0(J,X,Y){if(!(X instanceof $9))X=new $9(X,[],Boolean(Y));le.push([J,X])}function Eb(){return le}var s1=Object.freeze({text:\"text/plain\",binary:\"application/octet-stream\",unknown:\"application/unknown\",markdown:\"text/markdown\",latex:\"text/latex\",uriList:\"text/uri-list\",html:\"text/html\"});var dq={JSONContribution:\"base.contributions.json\"};function WW0(J){if(J.length>0&&J.charAt(J.length-1)===\"#\")return J.substring(0,J.length-1);return J}class se extends y{constructor(){super(...arguments);this.schemasById={},this._onDidChangeSchema=this._register(new E)}registerSchema(J,X,Y){let Z=WW0(J);if(this.schemasById[Z]=X,this._onDidChangeSchema.fire(J),Y)Y.add(J0(()=>{delete this.schemasById[Z],this._onDidChangeSchema.fire(J)}))}notifySchemaChanged(J){this._onDidChangeSchema.fire(J)}}var zW0=new se;y1.add(dq.JSONContribution,zW0);var q9,yb=globalThis.vscode;if(typeof yb<\"u\"&&typeof yb.context<\"u\"){let J=yb.context.configuration();if(J)q9=J.product;else throw Error(\"Sandbox: unable to resolve product configuration from preload script.\")}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(q9=globalThis._VSCODE_PRODUCT_JSON,nZ.VSCODE_DEV)Object.assign(q9,{nameShort:`${q9.nameShort} Dev`,nameLong:`${q9.nameLong} Dev`,dataFolderName:`${q9.dataFolderName}-dev`,serverDataFolderName:q9.serverDataFolderName?`${q9.serverDataFolderName}-dev`:void 0});if(!q9.version){let J=globalThis._VSCODE_PACKAGE_JSON;Object.assign(q9,{version:J.version})}}else if(q9={},Object.keys(q9).length===0)Object.assign(q9,{version:\"1.104.0-dev\",nameShort:\"Code - OSS Dev\",nameLong:\"Code - OSS Dev\",applicationName:\"code-oss\",dataFolderName:\".vscode-oss\",urlProtocol:\"code-oss\",reportIssueUrl:\"https://github.com/microsoft/vscode/issues/new\",licenseName:\"MIT\",licenseUrl:\"https://github.com/microsoft/vscode/blob/main/LICENSE.txt\",serverLicenseUrl:\"https://github.com/microsoft/vscode/blob/main/LICENSE.txt\",defaultChatAgent:{extensionId:\"GitHub.copilot\",chatExtensionId:\"GitHub.copilot-chat\",provider:{default:{id:\"github\",name:\"GitHub\"},enterprise:{id:\"github-enterprise\",name:\"GitHub Enterprise\"}},providerScopes:[]}});var VV=q9;var v9={Configuration:\"base.contributions.configuration\"},CM=\"vscode://schemas/settings/resourceLanguage\",ae=y1.as(dq.JSONContribution);class re extends y{constructor(){super();this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=this._register(new E),this._onDidUpdateConfiguration=this._register(new E),this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:\"defaultOverrides\",title:F(1725,\"Default Language Configuration Overrides\"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.policyReferenceConfigurations=new Map,this.excludedConfigurationProperties={},ae.registerSchema(CM,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(J,X=!0){return this.registerConfigurations([J],X),J}registerConfigurations(J,X=!0){let Y=new Set;this.doRegisterConfigurations(J,X,Y),ae.registerSchema(CM,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:Y})}registerDefaultConfigurations(J){let X=new Set;this.doRegisterDefaultConfigurations(J,X),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:X,defaultsOverrides:!0})}doRegisterDefaultConfigurations(J,X){this.registeredConfigurationDefaults.push(...J);let Y=[];for(let{overrides:Z,source:Q}of J)for(let $ in Z){X.add($);let q=this.configurationDefaultsOverrides.get($)??this.configurationDefaultsOverrides.set($,{configurationDefaultOverrides:[]}).get($),G=Z[$];if(q.configurationDefaultOverrides.push({value:G,source:Q}),FQ.test($)){let U=this.mergeDefaultConfigurationsForOverrideIdentifier($,G,Q,q.configurationDefaultOverrideValue);if(!U)continue;q.configurationDefaultOverrideValue=U,this.updateDefaultOverrideProperty($,U,Q),Y.push(...XF($))}else{let U=this.mergeDefaultConfigurationsForConfigurationProperty($,G,Q,q.configurationDefaultOverrideValue);if(!U)continue;q.configurationDefaultOverrideValue=U;let H=this.configurationProperties[$];if(H)this.updatePropertyDefaultValue($,H),this.updateSchema($,H)}}this.doRegisterOverrideIdentifiers(Y)}updateDefaultOverrideProperty(J,X,Y){let Z={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:\"object\",default:X.value,description:F(1726,\"Configure settings to be overridden for {0}.\",de(J)),$ref:CM,defaultDefaultValue:X.value,source:Y,defaultValueSource:Y};this.configurationProperties[J]=Z,this.defaultLanguageConfigurationOverridesNode.properties[J]=Z}mergeDefaultConfigurationsForOverrideIdentifier(J,X,Y,Z){let Q=Z?.value||{},$=Z?.source??new Map;if(!($ instanceof Map)){console.error(\"objectConfigurationSources is not a Map\");return}for(let q of Object.keys(X)){let G=X[q];if(E6(G)&&(C8(Q[q])||E6(Q[q]))){if(Q[q]={...Q[q]??{},...G},Y)for(let H in G)$.set(`${q}.${H}`,Y)}else if(Q[q]=G,Y)$.set(q,Y);else $.delete(q)}return{value:Q,source:$}}mergeDefaultConfigurationsForConfigurationProperty(J,X,Y,Z){let Q=this.configurationProperties[J],$=Z?.value??Q?.defaultDefaultValue,q=Y;if(E6(X)&&(Q!==void 0&&Q.type===\"object\"||Q===void 0&&(C8($)||E6($)))){if(q=Z?.source??new Map,!(q instanceof Map)){console.error(\"defaultValueSource is not a Map\");return}for(let U in X)if(Y)q.set(`${J}.${U}`,Y);X={...E6($)?$:{},...X}}return{value:X,source:q}}registerOverrideIdentifiers(J){this.doRegisterOverrideIdentifiers(J),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(J){for(let X of J)this.overrideIdentifiers.add(X);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(J,X,Y){J.forEach((Z)=>{this.validateAndRegisterProperties(Z,X,Z.extensionInfo,Z.restrictedProperties,void 0,Y),this.configurationContributors.push(Z),this.registerJSONConfiguration(Z)})}validateAndRegisterProperties(J,X=!0,Y,Z,Q=4,$){Q=Z7(J.scope)?Q:J.scope;let q=J.properties;if(q)for(let U in q){let H=q[U];if(H.section={id:J.id,title:J.title,order:J.order,extensionInfo:J.extensionInfo},X&&_W0(U,H,Y?.id)){delete q[U];continue}if(H.source=Y,H.defaultDefaultValue=q[U].default,this.updatePropertyDefaultValue(U,H),FQ.test(U))H.scope=void 0;else H.scope=Z7(H.scope)?Q:H.scope,H.restricted=Z7(H.restricted)?!!Z?.includes(U):H.restricted;if(H.experiment){if(!H.tags?.some((W)=>W.toLowerCase()===\"onexp\"))H.tags=H.tags??[],H.tags.push(\"onExP\")}else if(H.tags?.some((W)=>W.toLowerCase()===\"onexp\"))console.error(`Invalid tag 'onExP' found for property '${U}'. Please use 'experiment' property instead.`),H.experiment={mode:\"startup\"};let V=q[U].hasOwnProperty(\"included\")&&!q[U].included,K=q[U].policy?.name,j=q[U].policyReference?.name;if(V){if(this.excludedConfigurationProperties[U]=q[U],K)this.policyConfigurations.set(K,U),$.add(U);if(j)this.addPolicyReferenceConfiguration(j,U),$.add(U);delete q[U]}else{if($.add(U),K)this.policyConfigurations.set(K,U);if(j)this.addPolicyReferenceConfiguration(j,U);if(this.configurationProperties[U]=q[U],!q[U].deprecationMessage&&q[U].markdownDeprecationMessage)q[U].deprecationMessage=q[U].markdownDeprecationMessage}}let G=J.allOf;if(G)for(let U of G)this.validateAndRegisterProperties(U,X,Y,Z,Q,$)}addPolicyReferenceConfiguration(J,X){let Y=this.policyReferenceConfigurations.get(J);if(!Y)Y=new Set,this.policyReferenceConfigurations.set(J,Y);Y.add(X)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}registerJSONConfiguration(J){let X=(Y)=>{let Z=Y.properties;if(Z)for(let $ in Z)this.updateSchema($,Z[$]);Y.allOf?.forEach(X)};X(J)}updateSchema(J,X){switch(X.scope){case 1:break;case 2:break;case 3:break;case 7:break;case 4:break;case 5:break;case 6:this.resourceLanguageSettingsSchema.properties[J]=X;break}}updateOverridePropertyPatternKey(){for(let J of this.overrideIdentifiers.values()){let X=`[${J}]`,Y={type:\"object\",description:F(1727,\"Configure editor settings to be overridden for a language.\"),errorMessage:F(1728,\"This setting does not support per-language configuration.\"),$ref:CM};this.updatePropertyDefaultValue(X,Y)}}registerOverridePropertyPatternKey(){F(1729,\"Configure editor settings to be overridden for a language.\"),F(1730,\"This setting does not support per-language configuration.\"),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(J,X){let Y=this.configurationDefaultsOverrides.get(J)?.configurationDefaultOverrideValue,Z=void 0,Q=void 0;if(Y&&(!X.disallowConfigurationDefault||!Y.source))Z=Y.value,Q=Y.source;if(C8(Z))Z=X.defaultDefaultValue,Q=void 0;if(C8(Z))Z=BW0(X.type);X.default=Z,X.defaultValueSource=Q}}var oe=\"\\\\[([^\\\\]]+)\\\\]\",ie=new RegExp(oe,\"g\"),FW0=`^(${oe})+$`,FQ=new RegExp(FW0);function XF(J){let X=[];if(FQ.test(J)){let Y=ie.exec(J);while(Y?.length){let Z=Y[1].trim();if(Z)X.push(Z);Y=ie.exec(J)}}return o4(X)}function BW0(J){switch(Array.isArray(J)?J[0]:J){case\"boolean\":return!1;case\"integer\":case\"number\":return 0;case\"string\":return\"\";case\"array\":return[];case\"object\":return{};default:return null}}var SM=new re;y1.add(v9.Configuration,SM);function _W0(J,X,Y){if(!J.trim())return F(1731,\"Cannot register an empty property\");if(FQ.test(J))return F(1732,\"Cannot register '{0}'. This matches property pattern '\\\\\\\\[.*\\\\\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.\",J);if(SM.getConfigurationProperties()[J]!==void 0&&(!Y||!AW0.has(Y.toLowerCase())))return F(1733,\"Cannot register '{0}'. This property is already registered.\",J);if(X.policy&&X.policyReference)return F(1734,\"Cannot register '{0}'. A setting must not declare both 'policy' and 'policyReference'.\",J);if(X.policy?.name&&SM.getPolicyConfigurations().get(X.policy?.name)!==void 0)return F(1735,\"Cannot register '{0}'. The associated policy {1} is already registered with {2}. To attach another setting to the same policy, use 'policyReference'.\",J,X.policy?.name,SM.getPolicyConfigurations().get(X.policy?.name));return null}var AW0=new Set(VV.defaultChatAgent?[VV.defaultChatAgent.extensionId,VV.defaultChatAgent.chatExtensionId].map((J)=>J.toLowerCase()):[]);var PW0={ModesRegistry:\"editor.modesRegistry\"};class ne extends y{constructor(){super();this._onDidChangeLanguages=this._register(new E),this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(J){return this._languages.push(J),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let X=0,Y=this._languages.length;X<Y;X++)if(this._languages[X]===J){this._languages.splice(X,1);return}}}}getLanguages(){return this._languages}}var W2=new ne;y1.add(PW0.ModesRegistry,W2);var W5=\"plaintext\",DW0=\".txt\";W2.registerLanguage({id:W5,extensions:[DW0],aliases:[F(819,\"Plain Text\"),\"text\"],mimetypes:[s1.text]});y1.as(v9.Configuration).registerDefaultConfigurations([{overrides:{\"[plaintext]\":{\"editor.unicodeHighlight.ambiguousCharacters\":!1,\"editor.unicodeHighlight.invisibleCharacters\":!1},\"[go]\":{\"editor.insertSpaces\":!1},\"[makefile]\":{\"editor.insertSpaces\":!1},\"[shellscript]\":{\"files.eol\":`\n`},\"[yaml]\":{\"editor.insertSpaces\":!0,\"editor.tabSize\":2}}}]);class xb{constructor(J,X){this.languageId=J;let Y=X.brackets?te(X.brackets):[],Z=new gO((q)=>{let G=new Set;return{info:new ee(this,q,G),closing:G}}),Q=new gO((q)=>{let G=new Set,U=new Set;return{info:new J00(this,q,G,U),opening:G,openingColorized:U}});for(let[q,G]of Y){let U=Z.get(q),H=Q.get(G);U.closing.add(H.info),H.opening.add(U.info)}let $=X.colorizedBracketPairs?te(X.colorizedBracketPairs):Y.filter((q)=>!(q[0]===\"<\"&&q[1]===\">\"));for(let[q,G]of $){let U=Z.get(q),H=Q.get(G);U.closing.add(H.info),H.openingColorized.add(U.info),H.opening.add(U.info)}this._openingBrackets=new Map([...Z.cachedValues].map(([q,G])=>[q,G.info])),this._closingBrackets=new Map([...Q.cachedValues].map(([q,G])=>[q,G.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(J){return this._openingBrackets.get(J)}getClosingBracketInfo(J){return this._closingBrackets.get(J)}getBracketInfo(J){return this.getOpeningBracketInfo(J)||this.getClosingBracketInfo(J)}getBracketRegExp(J){let X=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return HV(X,J)}}function te(J){return J.filter(([X,Y])=>X!==\"\"&&Y!==\"\")}class bb{constructor(J,X){this.config=J,this.bracketText=X}get languageId(){return this.config.languageId}}class ee extends bb{constructor(J,X,Y){super(J,X);this.openedBrackets=Y,this.isOpeningBracket=!0}}class J00 extends bb{constructor(J,X,Y,Z){super(J,X);this.openingBrackets=Y,this.openingColorizedBrackets=Z,this.isOpeningBracket=!1}closes(J){if(J.config!==this.config)return!1;return this.openingBrackets.has(J)}closesColorized(J){if(J.config!==this.config)return!1;return this.openingColorizedBrackets.has(J)}getOpeningBrackets(){return[...this.openingBrackets]}}var OW0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},X00=function(J,X){return function(Y,Z){X(Y,Z,J)}};class fM{constructor(J){this.languageId=J}affects(J){return!this.languageId?!0:this.languageId===J}}var u6=W0(\"languageConfigurationService\"),Cb=class extends y{constructor(X,Y){super();this.configurationService=X,this.languageService=Y,this._registry=this._register(new $00),this.onDidChangeEmitter=this._register(new E),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;let Z=new Set(Object.values(Sb));this._register(this.configurationService.onDidChangeConfiguration((Q)=>{let $=Q.change.keys.some((G)=>Z.has(G)),q=Q.change.overrides.filter(([G,U])=>U.some((H)=>Z.has(H))).map(([G])=>G);if($)this.configurations.clear(),this.onDidChangeEmitter.fire(new fM(void 0));else for(let G of q)if(this.languageService.isRegisteredLanguageId(G))this.configurations.delete(G),this.onDidChangeEmitter.fire(new fM(G))})),this._register(this._registry.onDidChange((Q)=>{this.configurations.delete(Q.languageId),this.onDidChangeEmitter.fire(new fM(Q.languageId))}))}register(X,Y,Z){return this._registry.register(X,Y,Z)}getLanguageConfiguration(X){let Y=this.configurations.get(X);if(!Y)Y=MW0(X,this._registry,this.configurationService,this.languageService),this.configurations.set(X,Y);return Y}};Cb=OW0([X00(0,o0),X00(1,j6)],Cb);function MW0(J,X,Y,Z){let Q=X.getLanguageConfiguration(J);if(!Q){if(!Z.isRegisteredLanguageId(J))return new KV(J,{});Q=new KV(J,{})}let $=RW0(Q.languageId,Y),q=Q00([Q.underlyingConfig,$]);return new KV(Q.languageId,q)}var Sb={brackets:\"editor.language.brackets\",colorizedBracketPairs:\"editor.language.colorizedBracketPairs\"};function RW0(J,X){let Y=X.getValue(Sb.brackets,{overrideIdentifier:J}),Z=X.getValue(Sb.colorizedBracketPairs,{overrideIdentifier:J});return{brackets:Y00(Y),colorizedBracketPairs:Y00(Z)}}function Y00(J){if(!Array.isArray(J))return;return J.map((X)=>{if(!Array.isArray(X)||X.length!==2)return;return[X[0],X[1]]}).filter((X)=>!!X)}function hM(J,X,Y){let Z=J.getLineContent(X),Q=w6(Z);if(Q.length>Y-1)Q=Q.substring(0,Y-1);return Q}class Z00{constructor(J){this.languageId=J,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(J,X){let Y=new fb(J,X,++this._order);return this._entries.push(Y),this._resolved=null,t7(J0(()=>{for(let Z=0;Z<this._entries.length;Z++)if(this._entries[Z]===Y){this._entries.splice(Z,1),this._resolved=null;break}}))}getResolvedConfiguration(){if(!this._resolved){let J=this._resolve();if(J)this._resolved=new KV(this.languageId,J)}return this._resolved}_resolve(){if(this._entries.length===0)return null;return this._entries.sort(fb.cmp),Q00(this._entries.map((J)=>J.configuration))}}function Q00(J){let X={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(let Y of J)X={comments:Y.comments||X.comments,brackets:Y.brackets||X.brackets,wordPattern:Y.wordPattern||X.wordPattern,indentationRules:Y.indentationRules||X.indentationRules,onEnterRules:Y.onEnterRules||X.onEnterRules,autoClosingPairs:Y.autoClosingPairs||X.autoClosingPairs,surroundingPairs:Y.surroundingPairs||X.surroundingPairs,autoCloseBefore:Y.autoCloseBefore||X.autoCloseBefore,folding:Y.folding||X.folding,colorizedBracketPairs:Y.colorizedBracketPairs||X.colorizedBracketPairs,__electricCharacterSupport:Y.__electricCharacterSupport||X.__electricCharacterSupport};return X}class fb{constructor(J,X,Y){this.configuration=J,this.priority=X,this.order=Y}static cmp(J,X){if(J.priority===X.priority)return J.order-X.order;return J.priority-X.priority}}class hb{constructor(J){this.languageId=J}}class $00 extends y{constructor(){super();this._entries=new Map,this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this._register(this.register(W5,{brackets:[[\"(\",\")\"],[\"[\",\"]\"],[\"{\",\"}\"]],surroundingPairs:[{open:\"{\",close:\"}\"},{open:\"[\",close:\"]\"},{open:\"(\",close:\")\"},{open:\"<\",close:\">\"},{open:'\"',close:'\"'},{open:\"'\",close:\"'\"},{open:\"`\",close:\"`\"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(J,X,Y=0){let Z=this._entries.get(J);if(!Z)Z=new Z00(J),this._entries.set(J,Z);let Q=Z.register(X,Y);return this._onDidChange.fire(new hb(J)),t7(J0(()=>{Q.dispose(),this._onDidChange.fire(new hb(J))}))}getLanguageConfiguration(J){return this._entries.get(J)?.getResolvedConfiguration()||null}}class KV{constructor(J,X){if(this.languageId=J,this.underlyingConfig=X,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new cq(this.underlyingConfig):null,this.comments=KV._handleComments(this.underlyingConfig),this.characterPair=new JF(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||Fz,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules)this.indentRulesSupport=new Lb(this.underlyingConfig.indentationRules);else this.indentRulesSupport=null;this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new xb(J,this.underlyingConfig)}getWordDefinition(){return Bz(this.wordDefinition)}get brackets(){if(!this._brackets&&this.underlyingConfig.brackets)this._brackets=new Nb(this.languageId,this.underlyingConfig.brackets);return this._brackets}get electricCharacter(){if(!this._electricCharacter)this._electricCharacter=new Tb(this.brackets);return this._electricCharacter}onEnter(J,X,Y,Z){if(!this._onEnterSupport)return null;return this._onEnterSupport.onEnter(J,X,Y,Z)}getAutoClosingPairs(){return new Pb(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(J){return this.characterPair.getAutoCloseBeforeSet(J)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(J){let X=J.comments;if(!X)return null;let Y={};if(X.lineComment)if(typeof X.lineComment===\"string\")Y.lineCommentToken=X.lineComment;else Y.lineCommentToken=X.lineComment.comment,Y.lineCommentNoIndent=X.lineComment.noIndent;if(X.blockComment){let[Z,Q]=X.blockComment;Y.blockCommentStartToken=Z,Y.blockCommentEndToken=Q}return Y}}f0(u6,Cb,1);class LY{constructor(J,X,Y,Z){this.originalStart=J,this.originalLength=X,this.modifiedStart=Y,this.modifiedLength=Z}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class vb{constructor(J){this.source=J}getElements(){let J=this.source,X=new Int32Array(J.length);for(let Y=0,Z=J.length;Y<Z;Y++)X[Y]=J.charCodeAt(Y);return X}}function q00(J,X,Y){return new RX(new vb(J),new vb(X)).ComputeDiff(Y).changes}class lq{static Assert(J,X){if(!J)throw Error(X)}}class sq{static Copy(J,X,Y,Z,Q){for(let $=0;$<Q;$++)Y[Z+$]=J[X+$]}static Copy2(J,X,Y,Z,Q){for(let $=0;$<Q;$++)Y[Z+$]=J[X+$]}}class gb{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){if(this.m_originalCount>0||this.m_modifiedCount>0)this.m_changes.push(new LY(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(J,X){this.m_originalStart=Math.min(this.m_originalStart,J),this.m_modifiedStart=Math.min(this.m_modifiedStart,X),this.m_originalCount++}AddModifiedElement(J,X){this.m_originalStart=Math.min(this.m_originalStart,J),this.m_modifiedStart=Math.min(this.m_modifiedStart,X),this.m_modifiedCount++}getChanges(){if(this.m_originalCount>0||this.m_modifiedCount>0)this.MarkNextChange();return this.m_changes}getReverseChanges(){if(this.m_originalCount>0||this.m_modifiedCount>0)this.MarkNextChange();return this.m_changes.reverse(),this.m_changes}}class RX{constructor(J,X,Y=null){this.ContinueProcessingPredicate=Y,this._originalSequence=J,this._modifiedSequence=X;let[Z,Q,$]=RX._getElements(J),[q,G,U]=RX._getElements(X);this._hasStrings=$&&U,this._originalStringElements=Z,this._originalElementsOrHash=Q,this._modifiedStringElements=q,this._modifiedElementsOrHash=G,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(J){return J.length>0&&typeof J[0]===\"string\"}static _getElements(J){let X=J.getElements();if(RX._isStringArray(X)){let Y=new Int32Array(X.length);for(let Z=0,Q=X.length;Z<Q;Z++)Y[Z]=XM(X[Z],0);return[X,Y,!0]}if(X instanceof Int32Array)return[[],X,!1];return[[],new Int32Array(X),!1]}ElementsAreEqual(J,X){if(this._originalElementsOrHash[J]!==this._modifiedElementsOrHash[X])return!1;return this._hasStrings?this._originalStringElements[J]===this._modifiedStringElements[X]:!0}ElementsAreStrictEqual(J,X){if(!this.ElementsAreEqual(J,X))return!1;let Y=RX._getStrictElement(this._originalSequence,J),Z=RX._getStrictElement(this._modifiedSequence,X);return Y===Z}static _getStrictElement(J,X){if(typeof J.getStrictElement===\"function\")return J.getStrictElement(X);return null}OriginalElementsAreEqual(J,X){if(this._originalElementsOrHash[J]!==this._originalElementsOrHash[X])return!1;return this._hasStrings?this._originalStringElements[J]===this._originalStringElements[X]:!0}ModifiedElementsAreEqual(J,X){if(this._modifiedElementsOrHash[J]!==this._modifiedElementsOrHash[X])return!1;return this._hasStrings?this._modifiedStringElements[J]===this._modifiedStringElements[X]:!0}ComputeDiff(J){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,J)}_ComputeDiff(J,X,Y,Z,Q){let $=[!1],q=this.ComputeDiffRecursive(J,X,Y,Z,$);if(Q)q=this.PrettifyChanges(q);return{quitEarly:$[0],changes:q}}ComputeDiffRecursive(J,X,Y,Z,Q){Q[0]=!1;while(J<=X&&Y<=Z&&this.ElementsAreEqual(J,Y))J++,Y++;while(X>=J&&Z>=Y&&this.ElementsAreEqual(X,Z))X--,Z--;if(J>X||Y>Z){let V;if(Y<=Z)lq.Assert(J===X+1,\"originalStart should only be one more than originalEnd\"),V=[new LY(J,0,Y,Z-Y+1)];else if(J<=X)lq.Assert(Y===Z+1,\"modifiedStart should only be one more than modifiedEnd\"),V=[new LY(J,X-J+1,Y,0)];else lq.Assert(J===X+1,\"originalStart should only be one more than originalEnd\"),lq.Assert(Y===Z+1,\"modifiedStart should only be one more than modifiedEnd\"),V=[];return V}let $=[0],q=[0],G=this.ComputeRecursionPoint(J,X,Y,Z,$,q,Q),U=$[0],H=q[0];if(G!==null)return G;else if(!Q[0]){let V=this.ComputeDiffRecursive(J,U,Y,H,Q),K=[];if(!Q[0])K=this.ComputeDiffRecursive(U+1,X,H+1,Z,Q);else K=[new LY(U+1,X-(U+1)+1,H+1,Z-(H+1)+1)];return this.ConcatenateChanges(V,K)}return[new LY(J,X-J+1,Y,Z-Y+1)]}WALKTRACE(J,X,Y,Z,Q,$,q,G,U,H,V,K,j,W,z,B,P,_){let A=null,O=null,D=new gb,R=X,N=Y,w=j[0]-B[0]-Z,k=-1073741824,I=this.m_forwardHistory.length-1;do{let S=w+J;if(S===R||S<N&&U[S-1]<U[S+1]){if(V=U[S+1],W=V-w-Z,V<k)D.MarkNextChange();k=V,D.AddModifiedElement(V+1,W),w=S+1-J}else{if(V=U[S-1]+1,W=V-w-Z,V<k)D.MarkNextChange();k=V-1,D.AddOriginalElement(V,W+1),w=S-1-J}if(I>=0)U=this.m_forwardHistory[I],J=U[0],R=1,N=U.length-1}while(--I>=-1);if(A=D.getReverseChanges(),_[0]){let S=j[0]+1,h=B[0]+1;if(A!==null&&A.length>0){let u=A[A.length-1];S=Math.max(S,u.getOriginalEnd()),h=Math.max(h,u.getModifiedEnd())}O=[new LY(S,K-S+1,h,z-h+1)]}else{D=new gb,R=$,N=q,w=j[0]-B[0]-G,k=1073741824,I=P?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{let S=w+Q;if(S===R||S<N&&H[S-1]>=H[S+1]){if(V=H[S+1]-1,W=V-w-G,V>k)D.MarkNextChange();k=V+1,D.AddOriginalElement(V+1,W+1),w=S+1-Q}else{if(V=H[S-1],W=V-w-G,V>k)D.MarkNextChange();k=V,D.AddModifiedElement(V+1,W+1),w=S-1-Q}if(I>=0)H=this.m_reverseHistory[I],Q=H[0],R=1,N=H.length-1}while(--I>=-1);O=D.getChanges()}return this.ConcatenateChanges(A,O)}ComputeRecursionPoint(J,X,Y,Z,Q,$,q){let G=0,U=0,H=0,V=0,K=0,j=0;J--,Y--,Q[0]=0,$[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];let W=X-J+(Z-Y),z=W+1,B=new Int32Array(z),P=new Int32Array(z),_=Z-Y,A=X-J,O=J-Y,D=X-Z,N=(A-_)%2===0;B[_]=J,P[A]=X,q[0]=!1;for(let w=1;w<=W/2+1;w++){let k=0,I=0;H=this.ClipDiagonalBound(_-w,w,_,z),V=this.ClipDiagonalBound(_+w,w,_,z);for(let h=H;h<=V;h+=2){if(h===H||h<V&&B[h-1]<B[h+1])G=B[h+1];else G=B[h-1]+1;U=G-(h-_)-O;let u=G;while(G<X&&U<Z&&this.ElementsAreEqual(G+1,U+1))G++,U++;if(B[h]=G,G+U>k+I)k=G,I=U;if(!N&&Math.abs(h-A)<=w-1){if(G>=P[h])if(Q[0]=G,$[0]=U,u<=P[h]&&!0&&w<=1448)return this.WALKTRACE(_,H,V,O,A,K,j,D,B,P,G,X,Q,U,Z,$,N,q);else return null}}let S=(k-J+(I-Y)-w)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(k,S))if(q[0]=!0,Q[0]=k,$[0]=I,S>0&&!0&&w<=1448)return this.WALKTRACE(_,H,V,O,A,K,j,D,B,P,G,X,Q,U,Z,$,N,q);else return J++,Y++,[new LY(J,X-J+1,Y,Z-Y+1)];K=this.ClipDiagonalBound(A-w,w,A,z),j=this.ClipDiagonalBound(A+w,w,A,z);for(let h=K;h<=j;h+=2){if(h===K||h<j&&P[h-1]>=P[h+1])G=P[h+1]-1;else G=P[h-1];U=G-(h-A)-D;let u=G;while(G>J&&U>Y&&this.ElementsAreEqual(G,U))G--,U--;if(P[h]=G,N&&Math.abs(h-_)<=w){if(G<=B[h])if(Q[0]=G,$[0]=U,u>=B[h]&&!0&&w<=1448)return this.WALKTRACE(_,H,V,O,A,K,j,D,B,P,G,X,Q,U,Z,$,N,q);else return null}}if(w<=1447){let h=new Int32Array(V-H+2);h[0]=_-H+1,sq.Copy2(B,H,h,1,V-H+1),this.m_forwardHistory.push(h),h=new Int32Array(j-K+2),h[0]=A-K+1,sq.Copy2(P,K,h,1,j-K+1),this.m_reverseHistory.push(h)}}return this.WALKTRACE(_,H,V,O,A,K,j,D,B,P,G,X,Q,U,Z,$,N,q)}PrettifyChanges(J){for(let X=0;X<J.length;X++){let Y=J[X],Z=X<J.length-1?J[X+1].originalStart:this._originalElementsOrHash.length,Q=X<J.length-1?J[X+1].modifiedStart:this._modifiedElementsOrHash.length,$=Y.originalLength>0,q=Y.modifiedLength>0;while(Y.originalStart+Y.originalLength<Z&&Y.modifiedStart+Y.modifiedLength<Q&&(!$||this.OriginalElementsAreEqual(Y.originalStart,Y.originalStart+Y.originalLength))&&(!q||this.ModifiedElementsAreEqual(Y.modifiedStart,Y.modifiedStart+Y.modifiedLength))){let U=this.ElementsAreStrictEqual(Y.originalStart,Y.modifiedStart);if(this.ElementsAreStrictEqual(Y.originalStart+Y.originalLength,Y.modifiedStart+Y.modifiedLength)&&!U)break;Y.originalStart++,Y.modifiedStart++}let G=[null];if(X<J.length-1&&this.ChangesOverlap(J[X],J[X+1],G)){J[X]=G[0],J.splice(X+1,1),X--;continue}}for(let X=J.length-1;X>=0;X--){let Y=J[X],Z=0,Q=0;if(X>0){let V=J[X-1];Z=V.originalStart+V.originalLength,Q=V.modifiedStart+V.modifiedLength}let $=Y.originalLength>0,q=Y.modifiedLength>0,G=0,U=this._boundaryScore(Y.originalStart,Y.originalLength,Y.modifiedStart,Y.modifiedLength);for(let V=1;;V++){let K=Y.originalStart-V,j=Y.modifiedStart-V;if(K<Z||j<Q)break;if($&&!this.OriginalElementsAreEqual(K,K+Y.originalLength))break;if(q&&!this.ModifiedElementsAreEqual(j,j+Y.modifiedLength))break;let z=(K===Z&&j===Q?5:0)+this._boundaryScore(K,Y.originalLength,j,Y.modifiedLength);if(z>U)U=z,G=V}Y.originalStart-=G,Y.modifiedStart-=G;let H=[null];if(X>0&&this.ChangesOverlap(J[X-1],J[X],H)){J[X-1]=H[0],J.splice(X,1),X++;continue}}if(this._hasStrings)for(let X=1,Y=J.length;X<Y;X++){let Z=J[X-1],Q=J[X],$=Q.originalStart-Z.originalStart-Z.originalLength,q=Z.originalStart,G=Q.originalStart+Q.originalLength,U=G-q,H=Z.modifiedStart,V=Q.modifiedStart+Q.modifiedLength,K=V-H;if($<5&&U<20&&K<20){let j=this._findBetterContiguousSequence(q,U,H,K,$);if(j){let[W,z]=j;if(W!==Z.originalStart+Z.originalLength||z!==Z.modifiedStart+Z.modifiedLength)Z.originalLength=W-Z.originalStart,Z.modifiedLength=z-Z.modifiedStart,Q.originalStart=W+$,Q.modifiedStart=z+$,Q.originalLength=G-Q.originalStart,Q.modifiedLength=V-Q.modifiedStart}}}return J}_findBetterContiguousSequence(J,X,Y,Z,Q){if(X<Q||Z<Q)return null;let $=J+X-Q+1,q=Y+Z-Q+1,G=0,U=0,H=0;for(let V=J;V<$;V++)for(let K=Y;K<q;K++){let j=this._contiguousSequenceScore(V,K,Q);if(j>0&&j>G)G=j,U=V,H=K}if(G>0)return[U,H];return null}_contiguousSequenceScore(J,X,Y){let Z=0;for(let Q=0;Q<Y;Q++){if(!this.ElementsAreEqual(J+Q,X+Q))return 0;Z+=this._originalStringElements[J+Q].length}return Z}_OriginalIsBoundary(J){if(J<=0||J>=this._originalElementsOrHash.length-1)return!0;return this._hasStrings&&/^\\s*$/.test(this._originalStringElements[J])}_OriginalRegionIsBoundary(J,X){if(this._OriginalIsBoundary(J)||this._OriginalIsBoundary(J-1))return!0;if(X>0){let Y=J+X;if(this._OriginalIsBoundary(Y-1)||this._OriginalIsBoundary(Y))return!0}return!1}_ModifiedIsBoundary(J){if(J<=0||J>=this._modifiedElementsOrHash.length-1)return!0;return this._hasStrings&&/^\\s*$/.test(this._modifiedStringElements[J])}_ModifiedRegionIsBoundary(J,X){if(this._ModifiedIsBoundary(J)||this._ModifiedIsBoundary(J-1))return!0;if(X>0){let Y=J+X;if(this._ModifiedIsBoundary(Y-1)||this._ModifiedIsBoundary(Y))return!0}return!1}_boundaryScore(J,X,Y,Z){let Q=this._OriginalRegionIsBoundary(J,X)?1:0,$=this._ModifiedRegionIsBoundary(Y,Z)?1:0;return Q+$}ConcatenateChanges(J,X){let Y=[];if(J.length===0||X.length===0)return X.length>0?X:J;else if(this.ChangesOverlap(J[J.length-1],X[0],Y)){let Z=Array(J.length+X.length-1);return sq.Copy(J,0,Z,0,J.length-1),Z[J.length-1]=Y[0],sq.Copy(X,1,Z,J.length,X.length-1),Z}else{let Z=Array(J.length+X.length);return sq.Copy(J,0,Z,0,J.length),sq.Copy(X,0,Z,J.length,X.length),Z}}ChangesOverlap(J,X,Y){if(lq.Assert(J.originalStart<=X.originalStart,\"Left change is not less than or equal to right change\"),lq.Assert(J.modifiedStart<=X.modifiedStart,\"Left change is not less than or equal to right change\"),J.originalStart+J.originalLength>=X.originalStart||J.modifiedStart+J.modifiedLength>=X.modifiedStart){let{originalStart:Z,originalLength:Q,modifiedStart:$,modifiedLength:q}=J;if(J.originalStart+J.originalLength>=X.originalStart)Q=X.originalStart+X.originalLength-J.originalStart;if(J.modifiedStart+J.modifiedLength>=X.modifiedStart)q=X.modifiedStart+X.modifiedLength-J.modifiedStart;return Y[0]=new LY(Z,Q,$,q),!0}else return Y[0]=null,!1}ClipDiagonalBound(J,X,Y,Z){if(J>=0&&J<Z)return J;let Q=Y,$=Z-Y-1,q=X%2===0;if(J<0){let G=Q%2===0;return q===G?0:1}else{let G=$%2===0;return q===G?Z-1:Z-2}}}function aq(J){if(J<0)return 0;if(J>255)return 255;return J|0}function iq(J){if(J<0)return 0;if(J>4294967295)return 4294967295;return J|0}class z2{constructor(J){let X=aq(J);this._defaultValue=X,this._asciiMap=z2._createAsciiMap(X),this._map=new Map}static _createAsciiMap(J){let X=new Uint8Array(256);return X.fill(J),X}set(J,X){let Y=aq(X);if(J>=0&&J<256)this._asciiMap[J]=Y;else this._map.set(J,Y)}get(J){if(J>=0&&J<256)return this._asciiMap[J];else return this._map.get(J)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class G00{constructor(J,X,Y){let Z=new Uint8Array(J*X);for(let Q=0,$=J*X;Q<$;Q++)Z[Q]=Y;this._data=Z,this.rows=J,this.cols=X}get(J,X){return this._data[J*this.cols+X]}set(J,X,Y){this._data[J*this.cols+X]=Y}}class U00{constructor(J){let X=0,Y=0;for(let Q=0,$=J.length;Q<$;Q++){let[q,G,U]=J[Q];if(G>X)X=G;if(q>Y)Y=q;if(U>Y)Y=U}X++,Y++;let Z=new G00(Y,X,0);for(let Q=0,$=J.length;Q<$;Q++){let[q,G,U]=J[Q];Z.set(q,G,U)}this._states=Z,this._maxCharCode=X}nextState(J,X){if(X<0||X>=this._maxCharCode)return 0;return this._states.get(J,X)}}var pb=null;function NW0(){if(pb===null)pb=new U00([[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]]);return pb}var YF=null;function wW0(){if(YF===null){YF=new z2(0);let J=` \t<>'\"、。｡､，．：；‘〈「『〔（［｛｢｣｝］）〕』」〉’｀～…|`;for(let Y=0;Y<J.length;Y++)YF.set(J.charCodeAt(Y),1);let X=\".,;:\";for(let Y=0;Y<X.length;Y++)YF.set(X.charCodeAt(Y),2)}return YF}class vM{static _createLink(J,X,Y,Z,Q){let $=Q-1;do{let q=X.charCodeAt($);if(J.get(q)!==2)break;$--}while($>Z);if(Z>0){let q=X.charCodeAt(Z-1),G=X.charCodeAt($);if(q===40&&G===41||q===91&&G===93||q===123&&G===125)$--}return{range:{startLineNumber:Y,startColumn:Z+1,endLineNumber:Y,endColumn:$+2},url:X.substring(Z,$+1)}}static computeLinks(J,X=NW0()){let Y=wW0(),Z=[];for(let Q=1,$=J.getLineCount();Q<=$;Q++){let q=J.getLineContent(Q),G=q.length,U=0,H=0,V=0,K=1,j=!1,W=!1,z=!1,B=!1;while(U<G){let P=!1,_=q.charCodeAt(U);if(K===13){let A;switch(_){case 40:j=!0,A=0;break;case 41:A=j?0:1;break;case 91:z=!0,W=!0,A=0;break;case 93:z=!1,A=W?0:1;break;case 123:B=!0,A=0;break;case 125:A=B?0:1;break;case 39:case 34:case 96:if(V===_)A=1;else if(V===39||V===34||V===96)A=0;else A=1;break;case 42:A=V===42?1:0;break;case 32:A=z?0:1;break;default:A=Y.get(_)}if(A===1)Z.push(vM._createLink(Y,q,Q,H,U)),P=!0}else if(K===12){let A;if(_===91)W=!0,A=0;else A=Y.get(_);if(A===1)P=!0;else K=13}else if(K=X.nextState(K,_),K===0)P=!0;if(P)K=1,j=!1,W=!1,B=!1,H=U+1,V=_;U++}if(K===13)Z.push(vM._createLink(Y,q,Q,H,G))}return Z}}function H00(J){if(!J||typeof J.getLineCount!==\"function\"||typeof J.getLineContent!==\"function\")return[];return vM.computeLinks(J)}class gM{constructor(){this._defaultValueSet=[[\"true\",\"false\"],[\"True\",\"False\"],[\"Private\",\"Public\",\"Friend\",\"ReadOnly\",\"Partial\",\"Protected\",\"WriteOnly\"],[\"public\",\"protected\",\"private\"]]}static{this.INSTANCE=new gM}navigateValueSet(J,X,Y,Z,Q){if(J&&X){let $=this.doNavigateValueSet(X,Q);if($)return{range:J,value:$}}if(Y&&Z){let $=this.doNavigateValueSet(Z,Q);if($)return{range:Y,value:$}}return null}doNavigateValueSet(J,X){let Y=this.numberReplace(J,X);if(Y!==null)return Y;return this.textReplace(J,X)}numberReplace(J,X){let Y=Math.pow(10,J.length-(J.lastIndexOf(\".\")+1)),Z=Number(J),Q=parseFloat(J);if(!isNaN(Z)&&!isNaN(Q)&&Z===Q)if(Z===0&&!X)return null;else return Z=Math.floor(Z*Y),Z+=X?Y:-Y,String(Z/Y);return null}textReplace(J,X){return this.valueSetsReplace(this._defaultValueSet,J,X)}valueSetsReplace(J,X,Y){let Z=null;for(let Q=0,$=J.length;Z===null&&Q<$;Q++)Z=this.valueSetReplace(J[Q],X,Y);return Z}valueSetReplace(J,X,Y){let Z=J.indexOf(X);if(Z>=0){if(Z+=Y?1:-1,Z<0)Z=J.length-1;else Z%=J.length;return J[Z]}return null}}var IY={DateTimeFormat(J,X){return new f8(()=>{try{return new Intl.DateTimeFormat(J,X)}catch{return new Intl.DateTimeFormat(void 0,X)}})},Collator(J,X){return new f8(()=>{try{return new Intl.Collator(J,X)}catch{return new Intl.Collator(void 0,X)}})},Segmenter(J,X){return new f8(()=>{try{return new Intl.Segmenter(J,X)}catch{return new Intl.Segmenter(void 0,X)}})},Locale(J,X){return new f8(()=>{try{return new Intl.Locale(J,X)}catch{return new Intl.Locale(u$,X)}})},NumberFormat(J,X){return new f8(()=>{try{return new Intl.NumberFormat(J,X)}catch{return new Intl.NumberFormat(void 0,X)}})}};class K00 extends z2{constructor(J,X){super(0);if(this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=X,this.intlSegmenterLocales.length>0)this._segmenter=IY.Segmenter(this.intlSegmenterLocales,{granularity:\"word\"});else this._segmenter=null;for(let Y=0,Z=J.length;Y<Z;Y++)this.set(J.charCodeAt(Y),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(J,X){let Y=null;for(let Z of this._getIntlSegmenterWordsOnLine(J)){if(Z.index>X)break;Y=Z}return Y}findNextIntlWordAtOrAfterOffset(J,X){for(let Y of this._getIntlSegmenterWordsOnLine(J)){if(Y.index<X)continue;return Y}return null}_getIntlSegmenterWordsOnLine(J){if(!this._segmenter)return[];if(this._cachedLine===J)return this._cachedSegments;return this._cachedLine=J,this._cachedSegments=this._filterWordSegments(this._segmenter.value.segment(J)),this._cachedSegments}_filterWordSegments(J){let X=[];for(let Y of J)if(this._isWordLike(Y))X.push(Y);return X}_isWordLike(J){if(J.isWordLike)return!0;return!1}}var V00=new k4(10);function V7(J,X){let Y=`${J}/${X.join(\",\")}`,Z=V00.get(Y);if(!Z)Z=new K00(J,X),V00.set(Y,Z);return Z}var m5;(function(J){J[J.Left=1]=\"Left\",J[J.Center=2]=\"Center\",J[J.Right=4]=\"Right\",J[J.Full=7]=\"Full\"})(m5||(m5={}));var g9;(function(J){J[J.Left=1]=\"Left\",J[J.Center=2]=\"Center\",J[J.Right=3]=\"Right\"})(g9||(g9={}));var N8;(function(J){J[J.LTR=0]=\"LTR\",J[J.RTL=1]=\"RTL\"})(N8||(N8={}));var rq;(function(J){J[J.Both=0]=\"Both\",J[J.Right=1]=\"Right\",J[J.Left=2]=\"Left\",J[J.None=3]=\"None\"})(rq||(rq={}));class oq{get originalIndentSize(){return this._indentSizeIsTabSize?\"tabSize\":this.indentSize}constructor(J){if(this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,J.tabSize|0),J.indentSize===\"tabSize\")this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0;else this.indentSize=Math.max(1,J.indentSize|0),this._indentSizeIsTabSize=!1;this.insertSpaces=Boolean(J.insertSpaces),this.defaultEOL=J.defaultEOL|0,this.trimAutoWhitespace=Boolean(J.trimAutoWhitespace),this.bracketPairColorizationOptions=J.bracketPairColorizationOptions}equals(J){return this.tabSize===J.tabSize&&this._indentSizeIsTabSize===J._indentSizeIsTabSize&&this.indentSize===J.indentSize&&this.insertSpaces===J.insertSpaces&&this.defaultEOL===J.defaultEOL&&this.trimAutoWhitespace===J.trimAutoWhitespace&&O8(this.bracketPairColorizationOptions,J.bracketPairColorizationOptions)}createChangeEvent(J){return{tabSize:this.tabSize!==J.tabSize,indentSize:this.indentSize!==J.indentSize,insertSpaces:this.insertSpaces!==J.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==J.trimAutoWhitespace}}}class BQ{constructor(J,X){this._findMatchBrand=void 0,this.range=J,this.matches=X}}function j00(J){return!!J&&typeof J.read===\"function\"}class ZF{constructor(J,X,Y,Z,Q,$){this.identifier=J,this.range=X,this.text=Y,this.forceMoveMarkers=Z,this.isAutoWhitespaceEdit=Q,this._isTracked=$}}class mb{constructor(J,X,Y){this.regex=J,this.wordSeparators=X,this.simpleSearch=Y}}class ub{constructor(J,X,Y){this.reverseEdits=J,this.changes=X,this.trimAutoWhitespaceLineNumbers=Y}}function W00(J){return!J.isTooLargeForSyncing()&&!J.isForSimpleWidget}var TW0=999;class kY{constructor(J,X,Y,Z){this.searchString=J,this.isRegex=X,this.matchCase=Y,this.wordSeparators=Z}parseSearchRequest(){if(this.searchString===\"\")return null;let J;if(this.isRegex)J=db(this.searchString);else J=this.searchString.indexOf(`\n`)>=0;let X=null;try{X=pO(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:J,global:!0,unicode:!0})}catch(Z){return null}if(!X)return null;let Y=!this.isRegex&&!J;if(Y&&this.searchString.toLowerCase()!==this.searchString.toUpperCase())Y=this.matchCase;return new mb(X,this.wordSeparators?V7(this.wordSeparators,[]):null,Y?this.searchString:null)}}function db(J){if(!J||J.length===0)return!1;for(let X=0,Y=J.length;X<Y;X++){let Z=J.charCodeAt(X);if(Z===10)return!0;if(Z===92){if(X++,X>=Y)break;let Q=J.charCodeAt(X);if(Q===110||Q===114||Q===87)return!0}}return!1}function F2(J,X,Y){if(!Y)return new BQ(J,null);let Z=[];for(let Q=0,$=X.length;Q<$;Q++)Z[Q]=X[Q];return new BQ(J,Z)}class cb{constructor(J){let X=[],Y=0;for(let Z=0,Q=J.length;Z<Q;Z++)if(J.charCodeAt(Z)===10)X[Y++]=Z;this._lineFeedsOffsets=X}findLineFeedCountBeforeOffset(J){let X=this._lineFeedsOffsets,Y=0,Z=X.length-1;if(Z===-1)return 0;if(J<=X[0])return 0;while(Y<Z){let Q=Y+((Z-Y)/2>>0);if(X[Q]>=J)Z=Q-1;else if(X[Q+1]>=J)Y=Q,Z=Q;else Y=Q+1}return Y+1}}class jV{static findMatches(J,X,Y,Z,Q){let $=X.parseSearchRequest();if(!$)return[];if($.regex.multiline)return this._doFindMatchesMultiline(J,Y,new _Q($.wordSeparators,$.regex),Z,Q);return this._doFindMatchesLineByLine(J,Y,$,Z,Q)}static _getMultilineMatchRange(J,X,Y,Z,Q,$){let q,G=0;if(Z)G=Z.findLineFeedCountBeforeOffset(Q),q=X+Q+G;else q=X+Q;let U;if(Z){let j=Z.findLineFeedCountBeforeOffset(Q+$.length)-G;U=q+$.length+j}else U=q+$.length;let H=J.getPositionAt(q),V=J.getPositionAt(U);return new T(H.lineNumber,H.column,V.lineNumber,V.column)}static _doFindMatchesMultiline(J,X,Y,Z,Q){let $=J.getOffsetAt(X.getStartPosition()),q=J.getValueInRange(X,1),G=J.getEOL()===`\\r\n`?new cb(q):null,U=[],H=0,V;Y.reset(0);while(V=Y.next(q))if(U[H++]=F2(this._getMultilineMatchRange(J,$,q,G,V.index,V[0]),V,Z),H>=Q)return U;return U}static _doFindMatchesLineByLine(J,X,Y,Z,Q){let $=[],q=0;if(X.startLineNumber===X.endLineNumber){let U=J.getLineContent(X.startLineNumber).substring(X.startColumn-1,X.endColumn-1);return q=this._findMatchesInLine(Y,U,X.startLineNumber,X.startColumn-1,q,$,Z,Q),$}let G=J.getLineContent(X.startLineNumber).substring(X.startColumn-1);q=this._findMatchesInLine(Y,G,X.startLineNumber,X.startColumn-1,q,$,Z,Q);for(let U=X.startLineNumber+1;U<X.endLineNumber&&q<Q;U++)q=this._findMatchesInLine(Y,J.getLineContent(U),U,0,q,$,Z,Q);if(q<Q){let U=J.getLineContent(X.endLineNumber).substring(0,X.endColumn-1);q=this._findMatchesInLine(Y,U,X.endLineNumber,0,q,$,Z,Q)}return $}static _findMatchesInLine(J,X,Y,Z,Q,$,q,G){let U=J.wordSeparators;if(!q&&J.simpleSearch){let K=J.simpleSearch,j=K.length,W=X.length,z=-j;while((z=X.indexOf(K,z+j))!==-1)if(!U||pM(U,X,W,z,j)){if($[Q++]=new BQ(new T(Y,z+1+Z,Y,z+1+j+Z),null),Q>=G)return Q}return Q}let H=new _Q(J.wordSeparators,J.regex),V;H.reset(0);do if(V=H.next(X),V){if($[Q++]=F2(new T(Y,V.index+1+Z,Y,V.index+1+V[0].length+Z),V,q),Q>=G)return Q}while(V);return Q}static findNextMatch(J,X,Y,Z){let Q=X.parseSearchRequest();if(!Q)return null;let $=new _Q(Q.wordSeparators,Q.regex);if(Q.regex.multiline)return this._doFindNextMatchMultiline(J,Y,$,Z);return this._doFindNextMatchLineByLine(J,Y,$,Z)}static _doFindNextMatchMultiline(J,X,Y,Z){let Q=new C(X.lineNumber,1),$=J.getOffsetAt(Q),q=J.getLineCount(),G=J.getValueInRange(new T(Q.lineNumber,Q.column,q,J.getLineMaxColumn(q)),1),U=J.getEOL()===`\\r\n`?new cb(G):null;Y.reset(X.column-1);let H=Y.next(G);if(H)return F2(this._getMultilineMatchRange(J,$,G,U,H.index,H[0]),H,Z);if(X.lineNumber!==1||X.column!==1)return this._doFindNextMatchMultiline(J,new C(1,1),Y,Z);return null}static _doFindNextMatchLineByLine(J,X,Y,Z){let Q=J.getLineCount(),$=X.lineNumber,q=J.getLineContent($),G=this._findFirstMatchInLine(Y,q,$,X.column,Z);if(G)return G;for(let U=1;U<=Q;U++){let H=($+U-1)%Q,V=J.getLineContent(H+1),K=this._findFirstMatchInLine(Y,V,H+1,1,Z);if(K)return K}return null}static _findFirstMatchInLine(J,X,Y,Z,Q){J.reset(Z-1);let $=J.next(X);if($)return F2(new T(Y,$.index+1,Y,$.index+1+$[0].length),$,Q);return null}static findPreviousMatch(J,X,Y,Z){let Q=X.parseSearchRequest();if(!Q)return null;let $=new _Q(Q.wordSeparators,Q.regex);if(Q.regex.multiline)return this._doFindPreviousMatchMultiline(J,Y,$,Z);return this._doFindPreviousMatchLineByLine(J,Y,$,Z)}static _doFindPreviousMatchMultiline(J,X,Y,Z){let Q=this._doFindMatchesMultiline(J,new T(1,1,X.lineNumber,X.column),Y,Z,10*TW0);if(Q.length>0)return Q[Q.length-1];let $=J.getLineCount();if(X.lineNumber!==$||X.column!==J.getLineMaxColumn($))return this._doFindPreviousMatchMultiline(J,new C($,J.getLineMaxColumn($)),Y,Z);return null}static _doFindPreviousMatchLineByLine(J,X,Y,Z){let Q=J.getLineCount(),$=X.lineNumber,q=J.getLineContent($).substring(0,X.column-1),G=this._findLastMatchInLine(Y,q,$,Z);if(G)return G;for(let U=1;U<=Q;U++){let H=(Q+$-U-1)%Q,V=J.getLineContent(H+1),K=this._findLastMatchInLine(Y,V,H+1,Z);if(K)return K}return null}static _findLastMatchInLine(J,X,Y,Z){let Q=null,$;J.reset(0);while($=J.next(X))Q=F2(new T(Y,$.index+1,Y,$.index+1+$[0].length),$,Z);return Q}}function LW0(J,X,Y,Z,Q){if(Z===0)return!0;let $=X.charCodeAt(Z-1);if(J.get($)!==0)return!0;if($===13||$===10)return!0;if(Q>0){let q=X.charCodeAt(Z);if(J.get(q)!==0)return!0}return!1}function IW0(J,X,Y,Z,Q){if(Z+Q===Y)return!0;let $=X.charCodeAt(Z+Q);if(J.get($)!==0)return!0;if($===13||$===10)return!0;if(Q>0){let q=X.charCodeAt(Z+Q-1);if(J.get(q)!==0)return!0}return!1}function pM(J,X,Y,Z,Q){return LW0(J,X,Y,Z,Q)&&IW0(J,X,Y,Z,Q)}class _Q{constructor(J,X){this._wordSeparators=J,this._searchRegex=X,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(J){this._searchRegex.lastIndex=J,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(J){let X=J.length,Y;do{if(this._prevMatchStartIndex+this._prevMatchLength===X)return null;if(Y=this._searchRegex.exec(J),!Y)return null;let Z=Y.index,Q=Y[0].length;if(Z===this._prevMatchStartIndex&&Q===this._prevMatchLength){if(Q===0){if(iH(J,X,this._searchRegex.lastIndex)>65535)this._searchRegex.lastIndex+=2;else this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=Z,this._prevMatchLength=Q,!this._wordSeparators||pM(this._wordSeparators,J,X,Z,Q))return Y}while(Y);return null}}class sb{static computeUnicodeHighlights(J,X,Y){let Z=Y?Y.startLineNumber:1,Q=Y?Y.endLineNumber:J.getLineCount(),$=new lb(X),q=$.getCandidateCodePoints(),G;if(q===\"allNonBasicAscii\")G=new RegExp(\"[^\\\\t\\\\n\\\\r\\\\x20-\\\\x7E]\",\"g\");else G=new RegExp(`${kW0(Array.from(q))}`,\"g\");let U=new _Q(null,G),H=[],V=!1,K,j=0,W=0,z=0;J:for(let B=Z,P=Q;B<=P;B++){let _=J.getLineContent(B),A=_.length;U.reset(0);do if(K=U.next(_),K){let O=K.index,D=K.index+K[0].length;if(O>0){let k=_.charCodeAt(O-1);if(V6(k))O--}if(D+1<A){let k=_.charCodeAt(D-1);if(V6(k))D++}let R=_.substring(O,D),N=d$(O+1,Fz,_,0);if(N&&N.endColumn<=O+1)N=null;let w=$.shouldHighlightNonBasicASCII(R,N?N.word:null);if(w!==0){if(w===3)j++;else if(w===2)W++;else if(w===1)z++;else uH();let k=1000;if(H.length>=k){V=!0;break J}H.push(new T(B,O+1,B,D+1))}}while(K)}return{ranges:H,hasMore:V,ambiguousCharacterCount:j,invisibleCharacterCount:W,nonBasicAsciiCharacterCount:z}}static computeUnicodeHighlightReason(J,X){let Y=new lb(X);switch(Y.shouldHighlightNonBasicASCII(J,null)){case 0:return null;case 2:return{kind:1};case 3:{let Q=J.codePointAt(0),$=Y.ambiguousCharacters.getPrimaryConfusable(Q),q=$Q.getLocales().filter((G)=>!$Q.getInstance(new Set([...X.allowedLocales,G])).isAmbiguous(Q));return{kind:0,confusableWith:String.fromCodePoint($),notAmbiguousInLocales:q}}case 1:return{kind:2}}}}function kW0(J,X){return`[${a8(J.map((Z)=>String.fromCodePoint(Z)).join(\"\"))}]`}class lb{constructor(J){this.options=J,this.allowedCodePoints=new Set(J.allowedCodePoints),this.ambiguousCharacters=$Q.getInstance(new Set(J.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return\"allNonBasicAscii\";let J=new Set;if(this.options.invisibleCharacters){for(let X of a$.codePoints)if(!z00(String.fromCodePoint(X)))J.add(X)}if(this.options.ambiguousCharacters)for(let X of this.ambiguousCharacters.getConfusableCodePoints())J.add(X);for(let X of this.allowedCodePoints)J.delete(X);return J}shouldHighlightNonBasicASCII(J,X){let Y=J.codePointAt(0);if(this.allowedCodePoints.has(Y))return 0;if(this.options.nonBasicASCII)return 1;let Z=!1,Q=!1;if(X)for(let $ of X){let q=$.codePointAt(0),G=oH($);if(Z=Z||G,!G&&!this.ambiguousCharacters.isAmbiguous(q)&&!a$.isInvisibleCharacter(q))Q=!0}if(!Z&&Q)return 0;if(this.options.invisibleCharacters){if(!z00(J)&&a$.isInvisibleCharacter(Y))return 2}if(this.options.ambiguousCharacters){if(this.ambiguousCharacters.isAmbiguous(Y))return 3}return 0}}function z00(J){return J===\" \"||J===`\n`||J===\"\\t\"}class AQ{constructor(J,X,Y){this.changes=J,this.moves=X,this.hitTimeout=Y}}class nq{constructor(J,X){this.lineRangeMapping=J,this.changes=X}}class H0{static fromTo(J,X){return new H0(J,X)}static addRange(J,X){let Y=0;while(Y<X.length&&X[Y].endExclusive<J.start)Y++;let Z=Y;while(Z<X.length&&X[Z].start<=J.endExclusive)Z++;if(Y===Z)X.splice(Y,0,J);else{let Q=Math.min(J.start,X[Y].start),$=Math.max(J.endExclusive,X[Z-1].endExclusive);X.splice(Y,Z-Y,new H0(Q,$))}}static tryCreate(J,X){if(J>X)return;return new H0(J,X)}static ofLength(J){return new H0(0,J)}static ofStartAndLength(J,X){return new H0(J,J+X)}static emptyAt(J){return new H0(J,J)}constructor(J,X){if(this.start=J,this.endExclusive=X,J>X)throw new j0(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(J){return new H0(this.start+J,this.endExclusive+J)}deltaStart(J){return new H0(this.start+J,this.endExclusive)}deltaEnd(J){return new H0(this.start,this.endExclusive+J)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(J){return this.start===J.start&&this.endExclusive===J.endExclusive}containsRange(J){return this.start<=J.start&&J.endExclusive<=this.endExclusive}contains(J){return this.start<=J&&J<this.endExclusive}join(J){return new H0(Math.min(this.start,J.start),Math.max(this.endExclusive,J.endExclusive))}intersect(J){let X=Math.max(this.start,J.start),Y=Math.min(this.endExclusive,J.endExclusive);if(X<=Y)return new H0(X,Y);return}intersectionLength(J){let X=Math.max(this.start,J.start),Y=Math.min(this.endExclusive,J.endExclusive);return Math.max(0,Y-X)}intersects(J){let X=Math.max(this.start,J.start),Y=Math.min(this.endExclusive,J.endExclusive);return X<Y}intersectsOrTouches(J){let X=Math.max(this.start,J.start),Y=Math.min(this.endExclusive,J.endExclusive);return X<=Y}isBefore(J){return this.endExclusive<=J.start}isAfter(J){return this.start>=J.endExclusive}slice(J){return J.slice(this.start,this.endExclusive)}substring(J){return J.substring(this.start,this.endExclusive)}clip(J){if(this.isEmpty)throw new j0(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,J))}clipCyclic(J){if(this.isEmpty)throw new j0(`Invalid clipping range: ${this.toString()}`);if(J<this.start)return this.endExclusive-(this.start-J)%this.length;if(J>=this.endExclusive)return this.start+(J-this.start)%this.length;return J}forEach(J){for(let X=this.start;X<this.endExclusive;X++)J(X)}joinRightTouching(J){if(this.endExclusive!==J.start)throw new j0(`Invalid join: ${this.toString()} and ${J.toString()}`);return new H0(this.start,J.endExclusive)}withMargin(J,X){if(X===void 0)X=J;return new H0(this.start-J,this.endExclusive+X)}}class mM{constructor(){this._sortedRanges=[]}addRange(J){let X=0;while(X<this._sortedRanges.length&&this._sortedRanges[X].endExclusive<J.start)X++;let Y=X;while(Y<this._sortedRanges.length&&this._sortedRanges[Y].start<=J.endExclusive)Y++;if(X===Y)this._sortedRanges.splice(X,0,J);else{let Z=Math.min(J.start,this._sortedRanges[X].start),Q=Math.max(J.endExclusive,this._sortedRanges[Y-1].endExclusive);this._sortedRanges.splice(X,Y-X,new H0(Z,Q))}}toString(){return this._sortedRanges.map((J)=>J.toString()).join(\", \")}intersectsStrict(J){let X=0;while(X<this._sortedRanges.length&&this._sortedRanges[X].endExclusive<=J.start)X++;return X<this._sortedRanges.length&&this._sortedRanges[X].start<J.endExclusive}intersectWithRange(J){let X=new mM;for(let Y of this._sortedRanges){let Z=Y.intersect(J);if(Z)X.addRange(Z)}return X}intersectWithRangeLength(J){return this.intersectWithRange(J).length}get length(){return this._sortedRanges.reduce((J,X)=>J+X.length,0)}}function tq(J,X,Y=J.length-1){let Z=EW0(J,X,Y);if(Z===-1)return;return J[Z]}function EW0(J,X,Y=J.length-1){for(let Z=Y;Z>=0;Z--){let Q=J[Z];if(X(Q,Z))return Z}return-1}function PQ(J,X){let Y=DQ(J,X);return Y===-1?void 0:J[Y]}function DQ(J,X,Y=0,Z=J.length){let Q=Y,$=Z;while(Q<$){let q=Math.floor((Q+$)/2);if(X(J[q]))Q=q+1;else $=q}return Q-1}function F00(J,X){let Y=B2(J,X);return Y===J.length?void 0:J[Y]}function B2(J,X,Y=0,Z=J.length){let Q=Y,$=Z;while(Q<$){let q=Math.floor((Q+$)/2);if(X(J[q]))$=q;else Q=q+1}return Q}class QF{static{this.assertInvariants=!1}constructor(J){this._array=J,this._findLastMonotonousLastIdx=0}findLastMonotonous(J){if(QF.assertInvariants){if(this._prevFindLastPredicate){for(let Y of this._array)if(this._prevFindLastPredicate(Y)&&!J(Y))throw Error(\"MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.\")}this._prevFindLastPredicate=J}let X=DQ(this._array,J,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=X+1,X===-1?void 0:this._array[X]}}function ab(J,X){if(J.length===0)return;let Y=J[0];for(let Z=1;Z<J.length;Z++){let Q=J[Z];if(X(Q,Y)>0)Y=Q}return Y}function B00(J,X){if(J.length===0)return;let Y=J[0];for(let Z=1;Z<J.length;Z++){let Q=J[Z];if(X(Q,Y)>=0)Y=Q}return Y}function _00(J,X){return ab(J,(Y,Z)=>-X(Y,Z))}function A00(J,X){if(J.length===0)return-1;let Y=0;for(let Z=1;Z<J.length;Z++){let Q=J[Z];if(X(Q,J[Y])>0)Y=Z}return Y}class D0{static ofLength(J,X){return new D0(J,J+X)}static fromRange(J){return new D0(J.startLineNumber,J.endLineNumber)}static fromRangeInclusive(J){return new D0(J.startLineNumber,J.endLineNumber+1)}static{this.compareByStart=V5((J)=>J.startLineNumber,I9)}static joinMany(J){if(J.length===0)return[];let X=new y7(J[0].slice());for(let Y=1;Y<J.length;Y++)X=X.getUnion(new y7(J[Y].slice()));return X.ranges}static join(J){if(J.length===0)throw new j0(\"lineRanges cannot be empty\");let X=J[0].startLineNumber,Y=J[0].endLineNumberExclusive;for(let Z=1;Z<J.length;Z++)X=Math.min(X,J[Z].startLineNumber),Y=Math.max(Y,J[Z].endLineNumberExclusive);return new D0(X,Y)}static deserialize(J){return new D0(J[0],J[1])}constructor(J,X){if(J>X)throw new j0(`startLineNumber ${J} cannot be after endLineNumberExclusive ${X}`);this.startLineNumber=J,this.endLineNumberExclusive=X}contains(J){return this.startLineNumber<=J&&J<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(J){return new D0(this.startLineNumber+J,this.endLineNumberExclusive+J)}deltaLength(J){return new D0(this.startLineNumber,this.endLineNumberExclusive+J)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(J){return new D0(Math.min(this.startLineNumber,J.startLineNumber),Math.max(this.endLineNumberExclusive,J.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(J){let X=Math.max(this.startLineNumber,J.startLineNumber),Y=Math.min(this.endLineNumberExclusive,J.endLineNumberExclusive);if(X<=Y)return new D0(X,Y);return}intersectsStrict(J){return this.startLineNumber<J.endLineNumberExclusive&&J.startLineNumber<this.endLineNumberExclusive}intersectsOrTouches(J){return this.startLineNumber<=J.endLineNumberExclusive&&J.startLineNumber<=this.endLineNumberExclusive}equals(J){return this.startLineNumber===J.startLineNumber&&this.endLineNumberExclusive===J.endLineNumberExclusive}toInclusiveRange(){if(this.isEmpty)return null;return new T(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new T(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(J){let X=[];for(let Y=this.startLineNumber;Y<this.endLineNumberExclusive;Y++)X.push(J(Y));return X}forEach(J){for(let X=this.startLineNumber;X<this.endLineNumberExclusive;X++)J(X)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}toOffsetRange(){return new H0(this.startLineNumber-1,this.endLineNumberExclusive-1)}addMargin(J,X){return new D0(this.startLineNumber-J,this.endLineNumberExclusive+X)}}class y7{constructor(J=[]){this._normalizedRanges=J}get ranges(){return this._normalizedRanges}addRange(J){if(J.length===0)return;let X=B2(this._normalizedRanges,(Z)=>Z.endLineNumberExclusive>=J.startLineNumber),Y=DQ(this._normalizedRanges,(Z)=>Z.startLineNumber<=J.endLineNumberExclusive)+1;if(X===Y)this._normalizedRanges.splice(X,0,J);else if(X===Y-1){let Z=this._normalizedRanges[X];this._normalizedRanges[X]=Z.join(J)}else{let Z=this._normalizedRanges[X].join(this._normalizedRanges[Y-1]).join(J);this._normalizedRanges.splice(X,Y-X,Z)}}contains(J){let X=PQ(this._normalizedRanges,(Y)=>Y.startLineNumber<=J);return!!X&&X.endLineNumberExclusive>J}intersects(J){let X=PQ(this._normalizedRanges,(Y)=>Y.startLineNumber<J.endLineNumberExclusive);return!!X&&X.endLineNumberExclusive>J.startLineNumber}getUnion(J){if(this._normalizedRanges.length===0)return J;if(J._normalizedRanges.length===0)return this;let X=[],Y=0,Z=0,Q=null;while(Y<this._normalizedRanges.length||Z<J._normalizedRanges.length){let $=null;if(Y<this._normalizedRanges.length&&Z<J._normalizedRanges.length){let q=this._normalizedRanges[Y],G=J._normalizedRanges[Z];if(q.startLineNumber<G.startLineNumber)$=q,Y++;else $=G,Z++}else if(Y<this._normalizedRanges.length)$=this._normalizedRanges[Y],Y++;else $=J._normalizedRanges[Z],Z++;if(Q===null)Q=$;else if(Q.endLineNumberExclusive>=$.startLineNumber)Q=new D0(Q.startLineNumber,Math.max(Q.endLineNumberExclusive,$.endLineNumberExclusive));else X.push(Q),Q=$}if(Q!==null)X.push(Q);return new y7(X)}subtractFrom(J){let X=B2(this._normalizedRanges,($)=>$.endLineNumberExclusive>=J.startLineNumber),Y=DQ(this._normalizedRanges,($)=>$.startLineNumber<=J.endLineNumberExclusive)+1;if(X===Y)return new y7([J]);let Z=[],Q=J.startLineNumber;for(let $=X;$<Y;$++){let q=this._normalizedRanges[$];if(q.startLineNumber>Q)Z.push(new D0(Q,q.startLineNumber));Q=q.endLineNumberExclusive}if(Q<J.endLineNumberExclusive)Z.push(new D0(Q,J.endLineNumberExclusive));return new y7(Z)}toString(){return this._normalizedRanges.map((J)=>J.toString()).join(\", \")}getIntersection(J){let X=[],Y=0,Z=0;while(Y<this._normalizedRanges.length&&Z<J._normalizedRanges.length){let Q=this._normalizedRanges[Y],$=J._normalizedRanges[Z],q=Q.intersect($);if(q&&!q.isEmpty)X.push(q);if(Q.endLineNumberExclusive<$.endLineNumberExclusive)Y++;else Z++}return new y7(X)}getWithDelta(J){return new y7(this._normalizedRanges.map((X)=>X.delta(J)))}}class f6{static{this.zero=new f6(0,0)}static betweenPositions(J,X){if(J.lineNumber===X.lineNumber)return new f6(0,X.column-J.column);else return new f6(X.lineNumber-J.lineNumber,X.column-1)}static fromPosition(J){return new f6(J.lineNumber-1,J.column-1)}static ofRange(J){return f6.betweenPositions(J.getStartPosition(),J.getEndPosition())}static ofText(J){let X=0,Y=0;for(let Z of J)if(Z===`\n`)X++,Y=0;else Y++;return new f6(X,Y)}constructor(J,X){this.lineCount=J,this.columnCount=X}isGreaterThanOrEqualTo(J){if(this.lineCount!==J.lineCount)return this.lineCount>J.lineCount;return this.columnCount>=J.columnCount}add(J){if(J.lineCount===0)return new f6(this.lineCount,this.columnCount+J.columnCount);else return new f6(this.lineCount+J.lineCount,J.columnCount)}createRange(J){if(this.lineCount===0)return new T(J.lineNumber,J.column,J.lineNumber,J.column+this.columnCount);else return new T(J.lineNumber,J.column,J.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new T(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return D0.ofLength(1,this.lineCount+1)}addToPosition(J){if(this.lineCount===0)return new C(J.lineNumber,J.column+this.columnCount);else return new C(J.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}class ib{getOffsetRange(J){return new H0(this.getOffset(J.getStartPosition()),this.getOffset(J.getEndPosition()))}getRange(J){return T.fromPositions(this.getPosition(J.start),this.getPosition(J.endExclusive))}getStringReplacement(J){return new WV.deps.StringReplacement(this.getOffsetRange(J.range),J.text)}getTextReplacement(J){return new WV.deps.TextReplacement(this.getRange(J.replaceRange),J.newText)}getTextEdit(J){let X=J.replacements.map((Y)=>this.getTextReplacement(Y));return new WV.deps.TextEdit(X)}}class WV{static{this._deps=void 0}static get deps(){if(!this._deps)throw Error(\"Dependencies not set. Call _setDependencies first.\");return this._deps}}function P00(J){WV._deps=J}class OQ extends ib{constructor(J){super();this.text=J}get lineStartOffsetByLineIdx(){if(!this._lineStartOffsetByLineIdx)this._computeLineOffsets();return this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){if(!this._lineEndOffsetByLineIdx)this._computeLineOffsets();return this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let J=0;J<this.text.length;J++)if(this.text.charAt(J)===`\n`)if(this._lineStartOffsetByLineIdx.push(J+1),J>0&&this.text.charAt(J-1)===\"\\r\")this._lineEndOffsetByLineIdx.push(J-1);else this._lineEndOffsetByLineIdx.push(J);this._lineEndOffsetByLineIdx.push(this.text.length)}getOffset(J){let X=this._validatePosition(J);return this.lineStartOffsetByLineIdx[X.lineNumber-1]+X.column-1}_validatePosition(J){if(J.lineNumber<1)return new C(1,1);let X=this.textLength.lineCount+1;if(J.lineNumber>X){let Z=this.getLineLength(X);return new C(X,Z+1)}if(J.column<1)return new C(J.lineNumber,1);let Y=this.getLineLength(J.lineNumber);if(J.column-1>Y)return new C(J.lineNumber,Y+1);return J}getPosition(J){let X=DQ(this.lineStartOffsetByLineIdx,(Q)=>Q<=J),Y=X+1,Z=J-this.lineStartOffsetByLineIdx[X]+1;return new C(Y,Z)}get textLength(){let J=this.lineStartOffsetByLineIdx.length-1;return new WV.deps.TextLength(J,this.text.length-this.lineStartOffsetByLineIdx[J])}getLineLength(J){return this.lineEndOffsetByLineIdx[J-1]-this.lineStartOffsetByLineIdx[J-1]}}class $F{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new C(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(J){return this.getValueOfRange(this.getTransformer().getRange(J))}getLineLength(J){return this.getValueOfRange(new T(J,1,J,Number.MAX_SAFE_INTEGER)).length}getTransformer(){if(!this._transformer)this._transformer=new OQ(this.getValue());return this._transformer}getLineAt(J){return this.getValueOfRange(new T(J,1,J,Number.MAX_SAFE_INTEGER))}}class D00 extends $F{constructor(J,X){$q(X>=1);super();this._getLineContent=J,this._lineCount=X}getValueOfRange(J){if(J.startLineNumber===J.endLineNumber)return this._getLineContent(J.startLineNumber).substring(J.startColumn-1,J.endColumn-1);let X=this._getLineContent(J.startLineNumber).substring(J.startColumn-1);for(let Y=J.startLineNumber+1;Y<J.endLineNumber;Y++)X+=`\n`+this._getLineContent(Y);return X+=`\n`+this._getLineContent(J.endLineNumber).substring(0,J.endColumn-1),X}getLineLength(J){return this._getLineContent(J).length}get length(){let J=this._getLineContent(this._lineCount);return new f6(this._lineCount-1,J.length)}}class zV extends D00{constructor(J){super((X)=>J[X-1],J.length)}}class eq extends $F{constructor(J){super();this.value=J,this._t=new OQ(this.value)}getValueOfRange(J){return this._t.getOffsetRange(J).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}class JG{static fromStringEdit(J,X){let Y=J.replacements.map((Z)=>p9.fromStringReplacement(Z,X));return new JG(Y)}static fromParallelReplacementsUnsorted(J){let X=J.slice().sort(V5((Y)=>Y.range,T.compareRangesUsingStarts));return new JG(X)}constructor(J){this.replacements=J,k9(()=>cH(J,(X,Y)=>X.range.getEndPosition().isBeforeOrEqual(Y.range.getStartPosition())))}mapPosition(J){let X=0,Y=0,Z=0;for(let Q of this.replacements){let $=Q.range.getStartPosition();if(J.isBeforeOrEqual($))break;let q=Q.range.getEndPosition(),G=f6.ofText(Q.text);if(J.isBefore(q)){let U=new C($.lineNumber+X,$.column+($.lineNumber+X===Y?Z:0)),H=G.addToPosition(U);return uM(U,H)}if($.lineNumber+X!==Y)Z=0;if(X+=G.lineCount-(Q.range.endLineNumber-Q.range.startLineNumber),G.lineCount===0)if(q.lineNumber!==$.lineNumber)Z+=G.columnCount-(q.column-1);else Z+=G.columnCount-(q.column-$.column);else Z=G.columnCount;Y=q.lineNumber+X}return new C(J.lineNumber+X,J.column+(J.lineNumber+X===Y?Z:0))}mapRange(J){function X($){return $ instanceof C?$:$.getStartPosition()}function Y($){return $ instanceof C?$:$.getEndPosition()}let Z=X(this.mapPosition(J.getStartPosition())),Q=Y(this.mapPosition(J.getEndPosition()));return uM(Z,Q)}apply(J){let X=\"\",Y=new C(1,1);for(let Q of this.replacements){let $=Q.range,q=$.getStartPosition(),G=$.getEndPosition(),U=uM(Y,q);if(!U.isEmpty())X+=J.getValueOfRange(U);X+=Q.text,Y=G}let Z=uM(Y,J.endPositionExclusive);if(!Z.isEmpty())X+=J.getValueOfRange(Z);return X}applyToString(J){let X=new eq(J);return this.apply(X)}getNewRanges(){let J=[],X=0,Y=0,Z=0;for(let Q of this.replacements){let $=f6.ofText(Q.text),q=C.lift({lineNumber:Q.range.startLineNumber+Y,column:Q.range.startColumn+(Q.range.startLineNumber===X?Z:0)}),G=$.createRange(q);J.push(G),Y=G.endLineNumber-Q.range.endLineNumber,Z=G.endColumn-Q.range.endColumn,X=Q.range.endLineNumber}return J}toReplacement(J){if(this.replacements.length===0)throw new j0;if(this.replacements.length===1)return this.replacements[0];let X=this.replacements[0].range.getStartPosition(),Y=this.replacements[this.replacements.length-1].range.getEndPosition(),Z=\"\";for(let Q=0;Q<this.replacements.length;Q++){let $=this.replacements[Q];if(Z+=$.text,Q<this.replacements.length-1){let q=this.replacements[Q+1],G=T.fromPositions($.range.getEndPosition(),q.range.getStartPosition()),U=J.getValueOfRange(G);Z+=U}}return new p9(T.fromPositions(X,Y),Z)}toString(J){if(J===void 0)return this.replacements.map((X)=>X.toString()).join(`\n`);if(typeof J===\"string\")return this.toString(new eq(J));if(this.replacements.length===0)return\"\";return this.replacements.map((X)=>{let Z=J.getValueOfRange(X.range),Q=T.fromPositions(new C(Math.max(1,X.range.startLineNumber-1),1),X.range.getStartPosition()),$=J.getValueOfRange(Q);if($.length>10)$=\"...\"+$.substring($.length-10);let q=T.fromPositions(X.range.getEndPosition(),new C(X.range.endLineNumber+1,1)),G=J.getValueOfRange(q);if(G.length>10)G=G.substring(0,10)+\"...\";let U=Z;if(U.length>10){let V=Math.floor(5);U=U.substring(0,V)+\"...\"+U.substring(U.length-V)}let H=X.text;if(H.length>10){let V=Math.floor(5);H=H.substring(0,V)+\"...\"+H.substring(H.length-V)}if(U.length===0)return`${$}❰${H}❱${G}`;return`${$}❰${U}↦${H}❱${G}`}).join(`\n`)}}class p9{static joinReplacements(J,X){if(J.length===0)throw new j0;if(J.length===1)return J[0];let Y=J[0].range.getStartPosition(),Z=J[J.length-1].range.getEndPosition(),Q=\"\";for(let $=0;$<J.length;$++){let q=J[$];if(Q+=q.text,$<J.length-1){let G=J[$+1],U=T.fromPositions(q.range.getEndPosition(),G.range.getStartPosition()),H=X.getValueOfRange(U);Q+=H}}return new p9(T.fromPositions(Y,Z),Q)}static fromStringReplacement(J,X){return new p9(X.getTransformer().getRange(J.replaceRange),J.newText)}static delete(J){return new p9(J,\"\")}constructor(J,X){this.range=J,this.text=X}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(J,X){return J.range.equalsRange(X.range)&&J.text===X.text}equals(J){return p9.equals(this,J)}removeCommonPrefixAndSuffix(J){return this.removeCommonPrefix(J).removeCommonSuffix(J)}removeCommonPrefix(J){let X=J.getValueOfRange(this.range).replaceAll(`\\r\n`,`\n`),Y=this.text.replaceAll(`\\r\n`,`\n`),Z=BY(X,Y),Q=f6.ofText(X.substring(0,Z)).addToPosition(this.range.getStartPosition()),$=Y.substring(Z),q=T.fromPositions(Q,this.range.getEndPosition());return new p9(q,$)}removeCommonSuffix(J){let X=J.getValueOfRange(this.range).replaceAll(`\\r\n`,`\n`),Y=this.text.replaceAll(`\\r\n`,`\n`),Z=_Y(X,Y),Q=f6.ofText(X.substring(0,X.length-Z)).addToPosition(this.range.getStartPosition()),$=Y.substring(0,Y.length-Z),q=T.fromPositions(this.range.getStartPosition(),Q);return new p9(q,$)}toString(){let J=this.range.getStartPosition(),X=this.range.getEndPosition();return`(${J.lineNumber},${J.column} -> ${X.lineNumber},${X.column}): \"${this.text}\"`}}function uM(J,X){if(J.lineNumber===X.lineNumber&&J.column===Number.MAX_SAFE_INTEGER)return T.fromPositions(X,X);else if(!J.isBeforeOrEqual(X))throw new j0(\"start must be before end\");return new T(J.lineNumber,J.column,X.lineNumber,X.column)}class W8{static inverse(J,X,Y){let Z=[],Q=1,$=1;for(let G of J){let U=new W8(new D0(Q,G.original.startLineNumber),new D0($,G.modified.startLineNumber));if(!U.modified.isEmpty)Z.push(U);Q=G.original.endLineNumberExclusive,$=G.modified.endLineNumberExclusive}let q=new W8(new D0(Q,X+1),new D0($,Y+1));if(!q.modified.isEmpty)Z.push(q);return Z}static clip(J,X,Y){let Z=[];for(let Q of J){let $=Q.original.intersect(X),q=Q.modified.intersect(Y);if($&&!$.isEmpty&&q&&!q.isEmpty)Z.push(new W8($,q))}return Z}constructor(J,X){this.original=J,this.modified=X}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new W8(this.modified,this.original)}join(J){return new W8(this.original.join(J.original),this.modified.join(J.modified))}toRangeMapping(){let J=this.original.toInclusiveRange(),X=this.modified.toInclusiveRange();if(J&&X)return new o8(J,X);else if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new j0(\"not a valid diff\");return new o8(new T(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new T(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new o8(new T(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new T(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(J,X){if(O00(this.original.endLineNumberExclusive,J)&&O00(this.modified.endLineNumberExclusive,X))return new o8(new T(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new T(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new o8(T.fromPositions(new C(this.original.startLineNumber,1),FV(new C(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),J)),T.fromPositions(new C(this.modified.startLineNumber,1),FV(new C(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),X)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new o8(T.fromPositions(FV(new C(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),J),FV(new C(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),J)),T.fromPositions(FV(new C(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),X),FV(new C(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),X)));throw new j0}}function FV(J,X){if(J.lineNumber<1)return new C(1,1);if(J.lineNumber>X.length)return new C(X.length,X[X.length-1].length+1);let Y=X[J.lineNumber-1];if(J.column>Y.length+1)return new C(J.lineNumber,Y.length+1);return J}function O00(J,X){return J>=1&&J<=X.length}class L5 extends W8{static fromRangeMappings(J){let X=D0.join(J.map((Z)=>D0.fromRangeInclusive(Z.originalRange))),Y=D0.join(J.map((Z)=>D0.fromRangeInclusive(Z.modifiedRange)));return new L5(X,Y,J)}constructor(J,X,Y){super(J,X);this.innerChanges=Y}flip(){return new L5(this.modified,this.original,this.innerChanges?.map((J)=>J.flip()))}withInnerChangesFromLineRanges(){return new L5(this.original,this.modified,[this.toRangeMapping()])}}class o8{static fromEdit(J){let X=J.getNewRanges();return J.replacements.map((Z,Q)=>new o8(Z.range,X[Q]))}static assertSorted(J){for(let X=1;X<J.length;X++){let Y=J[X-1],Z=J[X];if(!(Y.originalRange.getEndPosition().isBeforeOrEqual(Z.originalRange.getStartPosition())&&Y.modifiedRange.getEndPosition().isBeforeOrEqual(Z.modifiedRange.getStartPosition())))throw new j0(\"Range mappings must be sorted\")}}constructor(J,X){this.originalRange=J,this.modifiedRange=X}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new o8(this.modifiedRange,this.originalRange)}toTextEdit(J){let X=J.getValueOfRange(this.modifiedRange);return new p9(this.originalRange,X)}}function qF(J,X,Y,Z=!1){let Q=[];for(let $ of gH(J.map((q)=>yW0(q,X,Y)),(q,G)=>q.original.intersectsOrTouches(G.original)||q.modified.intersectsOrTouches(G.modified))){let q=$[0],G=$[$.length-1];Q.push(new L5(q.original.join(G.original),q.modified.join(G.modified),$.map((U)=>U.innerChanges[0])))}return k9(()=>{if(!Z&&Q.length>0){if(Q[0].modified.startLineNumber!==Q[0].original.startLineNumber)return!1;if(Y.length.lineCount-Q[Q.length-1].modified.endLineNumberExclusive!==X.length.lineCount-Q[Q.length-1].original.endLineNumberExclusive)return!1}return cH(Q,($,q)=>q.original.startLineNumber-$.original.endLineNumberExclusive===q.modified.startLineNumber-$.modified.endLineNumberExclusive&&$.original.endLineNumberExclusive<q.original.startLineNumber&&$.modified.endLineNumberExclusive<q.modified.startLineNumber)}),Q}function yW0(J,X,Y){let Z=0,Q=0;if(J.modifiedRange.endColumn===1&&J.originalRange.endColumn===1&&J.originalRange.startLineNumber+Z<=J.originalRange.endLineNumber&&J.modifiedRange.startLineNumber+Z<=J.modifiedRange.endLineNumber)Q=-1;if(J.modifiedRange.startColumn-1>=Y.getLineLength(J.modifiedRange.startLineNumber)&&J.originalRange.startColumn-1>=X.getLineLength(J.originalRange.startLineNumber)&&J.originalRange.startLineNumber<=J.originalRange.endLineNumber+Q&&J.modifiedRange.startLineNumber<=J.modifiedRange.endLineNumber+Q)Z=1;let $=new D0(J.originalRange.startLineNumber+Z,J.originalRange.endLineNumber+1+Q),q=new D0(J.modifiedRange.startLineNumber+Z,J.modifiedRange.endLineNumber+1+Q);return new L5($,q,[J])}var xW0=3;class tb{computeDiff(J,X,Y){let Q=new w00(J,X,{maxComputationTime:Y.maxComputationTimeMs,shouldIgnoreTrimWhitespace:Y.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),$=[],q=null;for(let G of Q.changes){let U;if(G.originalEndLineNumber===0)U=new D0(G.originalStartLineNumber+1,G.originalStartLineNumber+1);else U=new D0(G.originalStartLineNumber,G.originalEndLineNumber+1);let H;if(G.modifiedEndLineNumber===0)H=new D0(G.modifiedStartLineNumber+1,G.modifiedStartLineNumber+1);else H=new D0(G.modifiedStartLineNumber,G.modifiedEndLineNumber+1);let V=new L5(U,H,G.charChanges?.map((K)=>new o8(new T(K.originalStartLineNumber,K.originalStartColumn,K.originalEndLineNumber,K.originalEndColumn),new T(K.modifiedStartLineNumber,K.modifiedStartColumn,K.modifiedEndLineNumber,K.modifiedEndColumn))));if(q){if(q.modified.endLineNumberExclusive===V.modified.startLineNumber||q.original.endLineNumberExclusive===V.original.startLineNumber)V=new L5(q.original.join(V.original),q.modified.join(V.modified),q.innerChanges&&V.innerChanges?q.innerChanges.concat(V.innerChanges):void 0),$.pop()}$.push(V),q=V}return k9(()=>{return cH($,(G,U)=>U.original.startLineNumber-G.original.endLineNumberExclusive===U.modified.startLineNumber-G.modified.endLineNumberExclusive&&G.original.endLineNumberExclusive<U.original.startLineNumber&&G.modified.endLineNumberExclusive<U.modified.startLineNumber)}),new AQ($,[],Q.quitEarly)}}function R00(J,X,Y,Z){return new RX(J,X,Y).ComputeDiff(Z)}class rb{constructor(J){let X=[],Y=[];for(let Z=0,Q=J.length;Z<Q;Z++)X[Z]=ob(J[Z],1),Y[Z]=nb(J[Z],1);this.lines=J,this._startColumns=X,this._endColumns=Y}getElements(){let J=[];for(let X=0,Y=this.lines.length;X<Y;X++)J[X]=this.lines[X].substring(this._startColumns[X]-1,this._endColumns[X]-1);return J}getStrictElement(J){return this.lines[J]}getStartLineNumber(J){return J+1}getEndLineNumber(J){return J+1}createCharSequence(J,X,Y){let Z=[],Q=[],$=[],q=0;for(let G=X;G<=Y;G++){let U=this.lines[G],H=J?this._startColumns[G]:1,V=J?this._endColumns[G]:U.length+1;for(let K=H;K<V;K++)Z[q]=U.charCodeAt(K-1),Q[q]=G+1,$[q]=K,q++;if(!J&&G<Y)Z[q]=10,Q[q]=G+1,$[q]=U.length+1,q++}return new N00(Z,Q,$)}}class N00{constructor(J,X,Y){this._charCodes=J,this._lineNumbers=X,this._columns=Y}toString(){return\"[\"+this._charCodes.map((J,X)=>(J===10?\"\\\\n\":String.fromCharCode(J))+`-(${this._lineNumbers[X]},${this._columns[X]})`).join(\", \")+\"]\"}_assertIndex(J,X){if(J<0||J>=X.length)throw Error(\"Illegal index\")}getElements(){return this._charCodes}getStartLineNumber(J){if(J>0&&J===this._lineNumbers.length)return this.getEndLineNumber(J-1);return this._assertIndex(J,this._lineNumbers),this._lineNumbers[J]}getEndLineNumber(J){if(J===-1)return this.getStartLineNumber(J+1);if(this._assertIndex(J,this._lineNumbers),this._charCodes[J]===10)return this._lineNumbers[J]+1;return this._lineNumbers[J]}getStartColumn(J){if(J>0&&J===this._columns.length)return this.getEndColumn(J-1);return this._assertIndex(J,this._columns),this._columns[J]}getEndColumn(J){if(J===-1)return this.getStartColumn(J+1);if(this._assertIndex(J,this._columns),this._charCodes[J]===10)return 1;return this._columns[J]+1}}class BV{constructor(J,X,Y,Z,Q,$,q,G){this.originalStartLineNumber=J,this.originalStartColumn=X,this.originalEndLineNumber=Y,this.originalEndColumn=Z,this.modifiedStartLineNumber=Q,this.modifiedStartColumn=$,this.modifiedEndLineNumber=q,this.modifiedEndColumn=G}static createFromDiffChange(J,X,Y){let Z=X.getStartLineNumber(J.originalStart),Q=X.getStartColumn(J.originalStart),$=X.getEndLineNumber(J.originalStart+J.originalLength-1),q=X.getEndColumn(J.originalStart+J.originalLength-1),G=Y.getStartLineNumber(J.modifiedStart),U=Y.getStartColumn(J.modifiedStart),H=Y.getEndLineNumber(J.modifiedStart+J.modifiedLength-1),V=Y.getEndColumn(J.modifiedStart+J.modifiedLength-1);return new BV(Z,Q,$,q,G,U,H,V)}}function bW0(J){if(J.length<=1)return J;let X=[J[0]],Y=X[0];for(let Z=1,Q=J.length;Z<Q;Z++){let $=J[Z],q=$.originalStart-(Y.originalStart+Y.originalLength),G=$.modifiedStart-(Y.modifiedStart+Y.modifiedLength);if(Math.min(q,G)<xW0)Y.originalLength=$.originalStart+$.originalLength-Y.originalStart,Y.modifiedLength=$.modifiedStart+$.modifiedLength-Y.modifiedStart;else X.push($),Y=$}return X}class GF{constructor(J,X,Y,Z,Q){this.originalStartLineNumber=J,this.originalEndLineNumber=X,this.modifiedStartLineNumber=Y,this.modifiedEndLineNumber=Z,this.charChanges=Q}static createFromDiffResult(J,X,Y,Z,Q,$,q){let G,U,H,V,K=void 0;if(X.originalLength===0)G=Y.getStartLineNumber(X.originalStart)-1,U=0;else G=Y.getStartLineNumber(X.originalStart),U=Y.getEndLineNumber(X.originalStart+X.originalLength-1);if(X.modifiedLength===0)H=Z.getStartLineNumber(X.modifiedStart)-1,V=0;else H=Z.getStartLineNumber(X.modifiedStart),V=Z.getEndLineNumber(X.modifiedStart+X.modifiedLength-1);if($&&X.originalLength>0&&X.originalLength<20&&X.modifiedLength>0&&X.modifiedLength<20&&Q()){let j=Y.createCharSequence(J,X.originalStart,X.originalStart+X.originalLength-1),W=Z.createCharSequence(J,X.modifiedStart,X.modifiedStart+X.modifiedLength-1);if(j.getElements().length>0&&W.getElements().length>0){let z=R00(j,W,Q,!0).changes;if(q)z=bW0(z);K=[];for(let B=0,P=z.length;B<P;B++)K.push(BV.createFromDiffChange(z[B],j,W))}}return new GF(G,U,H,V,K)}}class w00{constructor(J,X,Y){this.shouldComputeCharChanges=Y.shouldComputeCharChanges,this.shouldPostProcessCharChanges=Y.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=Y.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=Y.shouldMakePrettyDiff,this.originalLines=J,this.modifiedLines=X,this.original=new rb(J),this.modified=new rb(X),this.continueLineDiff=M00(Y.maxComputationTime),this.continueCharDiff=M00(Y.maxComputationTime===0?0:Math.min(Y.maxComputationTime,5000))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0){if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[]};return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]}}if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};let J=R00(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),X=J.changes,Y=J.quitEarly;if(this.shouldIgnoreTrimWhitespace){let q=[];for(let G=0,U=X.length;G<U;G++)q.push(GF.createFromDiffResult(this.shouldIgnoreTrimWhitespace,X[G],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:Y,changes:q}}let Z=[],Q=0,$=0;for(let q=-1,G=X.length;q<G;q++){let U=q+1<G?X[q+1]:null,H=U?U.originalStart:this.originalLines.length,V=U?U.modifiedStart:this.modifiedLines.length;while(Q<H&&$<V){let K=this.originalLines[Q],j=this.modifiedLines[$];if(K!==j){{let W=ob(K,1),z=ob(j,1);while(W>1&&z>1){let B=K.charCodeAt(W-2),P=j.charCodeAt(z-2);if(B!==P)break;W--,z--}if(W>1||z>1)this._pushTrimWhitespaceCharChange(Z,Q+1,1,W,$+1,1,z)}{let W=nb(K,1),z=nb(j,1),B=K.length+1,P=j.length+1;while(W<B&&z<P){let _=K.charCodeAt(W-1),A=K.charCodeAt(z-1);if(_!==A)break;W++,z++}if(W<B||z<P)this._pushTrimWhitespaceCharChange(Z,Q+1,W,B,$+1,z,P)}}Q++,$++}if(U)Z.push(GF.createFromDiffResult(this.shouldIgnoreTrimWhitespace,U,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),Q+=U.originalLength,$+=U.modifiedLength}return{quitEarly:Y,changes:Z}}_pushTrimWhitespaceCharChange(J,X,Y,Z,Q,$,q){if(this._mergeTrimWhitespaceCharChange(J,X,Y,Z,Q,$,q))return;let G=void 0;if(this.shouldComputeCharChanges)G=[new BV(X,Y,X,Z,Q,$,Q,q)];J.push(new GF(X,X,Q,Q,G))}_mergeTrimWhitespaceCharChange(J,X,Y,Z,Q,$,q){let G=J.length;if(G===0)return!1;let U=J[G-1];if(U.originalEndLineNumber===0||U.modifiedEndLineNumber===0)return!1;if(U.originalEndLineNumber===X&&U.modifiedEndLineNumber===Q){if(this.shouldComputeCharChanges&&U.charChanges)U.charChanges.push(new BV(X,Y,X,Z,Q,$,Q,q));return!0}if(U.originalEndLineNumber+1===X&&U.modifiedEndLineNumber+1===Q){if(U.originalEndLineNumber=X,U.modifiedEndLineNumber=Q,this.shouldComputeCharChanges&&U.charChanges)U.charChanges.push(new BV(X,Y,X,Z,Q,$,Q,q));return!0}return!1}}function ob(J,X){let Y=b6(J);if(Y===-1)return X;return Y+1}function nb(J,X){let Y=T5(J);if(Y===-1)return X;return Y+2}function M00(J){if(J===0)return()=>!0;let X=Date.now();return()=>{return Date.now()-X<J}}class NX{static trivial(J,X){return new NX([new o6(H0.ofLength(J.length),H0.ofLength(X.length))],!1)}static trivialTimedOut(J,X){return new NX([new o6(H0.ofLength(J.length),H0.ofLength(X.length))],!0)}constructor(J,X){this.diffs=J,this.hitTimeout=X}}class o6{static invert(J,X){let Y=[];return PD(J,(Z,Q)=>{Y.push(o6.fromOffsetPairs(Z?Z.getEndExclusives():hJ.zero,Q?Q.getStarts():new hJ(X,(Z?Z.seq2Range.endExclusive-Z.seq1Range.endExclusive:0)+X)))}),Y}static fromOffsetPairs(J,X){return new o6(new H0(J.offset1,X.offset1),new H0(J.offset2,X.offset2))}static assertSorted(J){let X=void 0;for(let Y of J){if(X){if(!(X.seq1Range.endExclusive<=Y.seq1Range.start&&X.seq2Range.endExclusive<=Y.seq2Range.start))throw new j0(\"Sequence diffs must be sorted\")}X=Y}}constructor(J,X){this.seq1Range=J,this.seq2Range=X}swap(){return new o6(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(J){return new o6(this.seq1Range.join(J.seq1Range),this.seq2Range.join(J.seq2Range))}delta(J){if(J===0)return this;return new o6(this.seq1Range.delta(J),this.seq2Range.delta(J))}deltaStart(J){if(J===0)return this;return new o6(this.seq1Range.deltaStart(J),this.seq2Range.deltaStart(J))}deltaEnd(J){if(J===0)return this;return new o6(this.seq1Range.deltaEnd(J),this.seq2Range.deltaEnd(J))}intersect(J){let X=this.seq1Range.intersect(J.seq1Range),Y=this.seq2Range.intersect(J.seq2Range);if(!X||!Y)return;return new o6(X,Y)}getStarts(){return new hJ(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new hJ(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class hJ{static{this.zero=new hJ(0,0)}static{this.max=new hJ(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(J,X){this.offset1=J,this.offset2=X}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(J){if(J===0)return this;return new hJ(this.offset1+J,this.offset2+J)}equals(J){return this.offset1===J.offset1&&this.offset2===J.offset2}}class _2{static{this.instance=new _2}isValid(){return!0}}class eb{constructor(J){if(this.timeout=J,this.startTime=Date.now(),this.valid=!0,J<=0)throw new j0(\"timeout must be positive\")}isValid(){if(!(Date.now()-this.startTime<this.timeout)&&this.valid)this.valid=!1;return this.valid}}class UF{constructor(J,X){this.width=J,this.height=X,this.array=[],this.array=Array(J*X)}get(J,X){return this.array[J+X*this.width]}set(J,X,Y){this.array[J+X*this.width]=Y}}function HF(J){return J===32||J===9}class _V{static{this.chrKeys=new Map}static getKey(J){let X=this.chrKeys.get(J);if(X===void 0)X=this.chrKeys.size,this.chrKeys.set(J,X);return X}constructor(J,X,Y){this.range=J,this.lines=X,this.source=Y,this.histogram=[];let Z=0;for(let Q=J.startLineNumber-1;Q<J.endLineNumberExclusive-1;Q++){let $=X[Q];for(let G=0;G<$.length;G++){Z++;let U=$[G],H=_V.getKey(U);this.histogram[H]=(this.histogram[H]||0)+1}Z++;let q=_V.getKey(`\n`);this.histogram[q]=(this.histogram[q]||0)+1}this.totalCount=Z}computeSimilarity(J){let X=0,Y=Math.max(this.histogram.length,J.histogram.length);for(let Z=0;Z<Y;Z++)X+=Math.abs((this.histogram[Z]??0)-(J.histogram[Z]??0));return 1-X/(this.totalCount+J.totalCount)}}class JC{compute(J,X,Y=_2.instance,Z){if(J.length===0||X.length===0)return NX.trivial(J,X);let Q=new UF(J.length,X.length),$=new UF(J.length,X.length),q=new UF(J.length,X.length);for(let W=0;W<J.length;W++)for(let z=0;z<X.length;z++){if(!Y.isValid())return NX.trivialTimedOut(J,X);let B=W===0?0:Q.get(W-1,z),P=z===0?0:Q.get(W,z-1),_;if(J.getElement(W)===X.getElement(z)){if(W===0||z===0)_=0;else _=Q.get(W-1,z-1);if(W>0&&z>0&&$.get(W-1,z-1)===3)_+=q.get(W-1,z-1);_+=Z?Z(W,z):1}else _=-1;let A=Math.max(B,P,_);if(A===_){let O=W>0&&z>0?q.get(W-1,z-1):0;q.set(W,z,O+1),$.set(W,z,3)}else if(A===B)q.set(W,z,0),$.set(W,z,1);else if(A===P)q.set(W,z,0),$.set(W,z,2);Q.set(W,z,A)}let G=[],U=J.length,H=X.length;function V(W,z){if(W+1!==U||z+1!==H)G.push(new o6(new H0(W+1,U),new H0(z+1,H)));U=W,H=z}let K=J.length-1,j=X.length-1;while(K>=0&&j>=0)if($.get(K,j)===3)V(K,j),K--,j--;else if($.get(K,j)===1)K--;else j--;return V(-1,-1),G.reverse(),new NX(G,!1)}}class VF{compute(J,X,Y=_2.instance){if(J.length===0||X.length===0)return NX.trivial(J,X);let Z=J,Q=X;function $(z,B){while(z<Z.length&&B<Q.length&&Z.getElement(z)===Q.getElement(B))z++,B++;return z}let q=0,G=new T00;G.set(0,$(0,0));let U=new L00;U.set(0,G.get(0)===0?null:new XC(null,0,0,G.get(0)));let H=0;J:while(!0){if(q++,!Y.isValid())return NX.trivialTimedOut(Z,Q);let z=-Math.min(q,Q.length+q%2),B=Math.min(q,Z.length+q%2);for(H=z;H<=B;H+=2){let P=H===B?-1:G.get(H+1),_=H===z?-1:G.get(H-1)+1,A=Math.min(Math.max(P,_),Z.length),O=A-H;if(A>Z.length||O>Q.length)continue;let D=$(A,O);G.set(H,D);let R=A===P?U.get(H+1):U.get(H-1);if(U.set(H,D!==A?new XC(R,A,O,D-A):R),G.get(H)===Z.length&&G.get(H)-H===Q.length)break J}}let V=U.get(H),K=[],j=Z.length,W=Q.length;while(!0){let z=V?V.x+V.length:0,B=V?V.y+V.length:0;if(z!==j||B!==W)K.push(new o6(new H0(z,j),new H0(B,W)));if(!V)break;j=V.x,W=V.y,V=V.prev}return K.reverse(),new NX(K,!1)}}class XC{constructor(J,X,Y,Z){this.prev=J,this.x=X,this.y=Y,this.length=Z}}class T00{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(J){if(J<0)return J=-J-1,this.negativeArr[J];else return this.positiveArr[J]}set(J,X){if(J<0){if(J=-J-1,J>=this.negativeArr.length){let Y=this.negativeArr;this.negativeArr=new Int32Array(Y.length*2),this.negativeArr.set(Y)}this.negativeArr[J]=X}else{if(J>=this.positiveArr.length){let Y=this.positiveArr;this.positiveArr=new Int32Array(Y.length*2),this.positiveArr.set(Y)}this.positiveArr[J]=X}}}class L00{constructor(){this.positiveArr=[],this.negativeArr=[]}get(J){if(J<0)return J=-J-1,this.negativeArr[J];else return this.positiveArr[J]}set(J,X){if(J<0)J=-J-1,this.negativeArr[J]=X;else this.positiveArr[J]=X}}class XG{constructor(J,X,Y){this.lines=J,this.range=X,this.considerWhitespaceChanges=Y,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let Z=this.range.startLineNumber;Z<=this.range.endLineNumber;Z++){let Q=J[Z-1],$=0;if(Z===this.range.startLineNumber&&this.range.startColumn>1)$=this.range.startColumn-1,Q=Q.substring($);this.lineStartOffsets.push($);let q=0;if(!Y){let U=Q.trimStart();q=Q.length-U.length,Q=U.trimEnd()}this.trimmedWsLengthsByLineIdx.push(q);let G=Z===this.range.endLineNumber?Math.min(this.range.endColumn-1-$-q,Q.length):Q.length;for(let U=0;U<G;U++)this.elements.push(Q.charCodeAt(U));if(Z<this.range.endLineNumber)this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length)}}toString(){return`Slice: \"${this.text}\"`}get text(){return this.getText(new H0(0,this.length))}getText(J){return this.elements.slice(J.start,J.endExclusive).map((X)=>String.fromCharCode(X)).join(\"\")}getElement(J){return this.elements[J]}get length(){return this.elements.length}getBoundaryScore(J){let X=E00(J>0?this.elements[J-1]:-1),Y=E00(J<this.elements.length?this.elements[J]:-1);if(X===7&&Y===8)return 0;if(X===8)return 150;let Z=0;if(X!==Y){if(Z+=10,X===0&&Y===1)Z+=1}return Z+=k00(X),Z+=k00(Y),Z}translateOffset(J,X=\"right\"){let Y=DQ(this.firstElementOffsetByLineIdx,(Q)=>Q<=J),Z=J-this.firstElementOffsetByLineIdx[Y];return new C(this.range.startLineNumber+Y,1+this.lineStartOffsets[Y]+Z+(Z===0&&X===\"left\"?0:this.trimmedWsLengthsByLineIdx[Y]))}translateRange(J){let X=this.translateOffset(J.start,\"right\"),Y=this.translateOffset(J.endExclusive,\"left\");if(Y.isBefore(X))return T.fromPositions(Y,Y);return T.fromPositions(X,Y)}findWordContaining(J){if(J<0||J>=this.elements.length)return;if(!AV(this.elements[J]))return;let X=J;while(X>0&&AV(this.elements[X-1]))X--;let Y=J;while(Y<this.elements.length&&AV(this.elements[Y]))Y++;return new H0(X,Y)}findSubWordContaining(J){if(J<0||J>=this.elements.length)return;if(!AV(this.elements[J]))return;let X=J;while(X>0&&AV(this.elements[X-1])&&!I00(this.elements[X]))X--;let Y=J;while(Y<this.elements.length&&AV(this.elements[Y])&&!I00(this.elements[Y]))Y++;return new H0(X,Y)}countLinesIn(J){return this.translateOffset(J.endExclusive).lineNumber-this.translateOffset(J.start).lineNumber}isStronglyEqual(J,X){return this.elements[J]===this.elements[X]}extendToFullLines(J){let X=PQ(this.firstElementOffsetByLineIdx,(Z)=>Z<=J.start)??0,Y=F00(this.firstElementOffsetByLineIdx,(Z)=>J.endExclusive<=Z)??this.elements.length;return new H0(X,Y)}}function AV(J){return J>=97&&J<=122||J>=65&&J<=90||J>=48&&J<=57}function I00(J){return J>=65&&J<=90}var CW0={[0]:0,[1]:0,[2]:0,[3]:10,[4]:2,[5]:30,[6]:3,[7]:10,[8]:10};function k00(J){return CW0[J]}function E00(J){if(J===10)return 8;else if(J===13)return 7;else if(HF(J))return 6;else if(J>=97&&J<=122)return 0;else if(J>=65&&J<=90)return 1;else if(J>=48&&J<=57)return 2;else if(J===-1)return 3;else if(J===44||J===59)return 5;else return 4}function x00(J,X,Y,Z,Q,$){let{moves:q,excludedChanges:G}=fW0(J,X,Y,$);if(!$.isValid())return[];let U=J.filter((V)=>!G.has(V)),H=hW0(U,Z,Q,X,Y,$);return aZ(q,H),q=vW0(q),q=q.filter((V)=>{let K=V.original.toOffsetRange().slice(X).map((W)=>W.trim());return K.join(`\n`).length>=15&&SW0(K,(W)=>W.length>=2)>=2}),q=gW0(J,q),q}function SW0(J,X){let Y=0;for(let Z of J)if(X(Z))Y++;return Y}function fW0(J,X,Y,Z){let Q=[],$=J.filter((U)=>U.modified.isEmpty&&U.original.length>=3).map((U)=>new _V(U.original,X,U)),q=new Set(J.filter((U)=>U.original.isEmpty&&U.modified.length>=3).map((U)=>new _V(U.modified,Y,U))),G=new Set;for(let U of $){let H=-1,V;for(let K of q){let j=U.computeSimilarity(K);if(j>H)H=j,V=K}if(H>0.9&&V)q.delete(V),Q.push(new W8(U.range,V.range)),G.add(U.source),G.add(V.source);if(!Z.isValid())return{moves:Q,excludedChanges:G}}return{moves:Q,excludedChanges:G}}function hW0(J,X,Y,Z,Q,$){let q=[],G=new sz;for(let j of J)for(let W=j.original.startLineNumber;W<j.original.endLineNumberExclusive-2;W++){let z=`${X[W-1]}:${X[W+1-1]}:${X[W+2-1]}`;G.add(z,{range:new D0(W,W+3)})}let U=[];J.sort(V5((j)=>j.modified.startLineNumber,I9));for(let j of J){let W=[];for(let z=j.modified.startLineNumber;z<j.modified.endLineNumberExclusive-2;z++){let B=`${Y[z-1]}:${Y[z+1-1]}:${Y[z+2-1]}`,P=new D0(z,z+3),_=[];G.forEach(B,({range:A})=>{for(let D of W)if(D.originalLineRange.endLineNumberExclusive+1===A.endLineNumberExclusive&&D.modifiedLineRange.endLineNumberExclusive+1===P.endLineNumberExclusive){D.originalLineRange=new D0(D.originalLineRange.startLineNumber,A.endLineNumberExclusive),D.modifiedLineRange=new D0(D.modifiedLineRange.startLineNumber,P.endLineNumberExclusive),_.push(D);return}let O={modifiedLineRange:P,originalLineRange:A};U.push(O),_.push(O)}),W=_}if(!$.isValid())return[]}U.sort(tr(V5((j)=>j.modifiedLineRange.length,I9)));let H=new y7,V=new y7;for(let j of U){let W=j.modifiedLineRange.startLineNumber-j.originalLineRange.startLineNumber,z=H.subtractFrom(j.modifiedLineRange),B=V.subtractFrom(j.originalLineRange).getWithDelta(W),P=z.getIntersection(B);for(let _ of P.ranges){if(_.length<3)continue;let A=_,O=_.delta(-W);q.push(new W8(O,A)),H.addRange(A),V.addRange(O)}}q.sort(V5((j)=>j.original.startLineNumber,I9));let K=new QF(J);for(let j=0;j<q.length;j++){let W=q[j],z=K.findLastMonotonous((N)=>N.original.startLineNumber<=W.original.startLineNumber),B=PQ(J,(N)=>N.modified.startLineNumber<=W.modified.startLineNumber),P=Math.max(W.original.startLineNumber-z.original.startLineNumber,W.modified.startLineNumber-B.modified.startLineNumber),_=K.findLastMonotonous((N)=>N.original.startLineNumber<W.original.endLineNumberExclusive),A=PQ(J,(N)=>N.modified.startLineNumber<W.modified.endLineNumberExclusive),O=Math.max(_.original.endLineNumberExclusive-W.original.endLineNumberExclusive,A.modified.endLineNumberExclusive-W.modified.endLineNumberExclusive),D;for(D=0;D<P;D++){let N=W.original.startLineNumber-D-1,w=W.modified.startLineNumber-D-1;if(N>Z.length||w>Q.length)break;if(H.contains(w)||V.contains(N))break;if(!y00(Z[N-1],Q[w-1],$))break}if(D>0)V.addRange(new D0(W.original.startLineNumber-D,W.original.startLineNumber)),H.addRange(new D0(W.modified.startLineNumber-D,W.modified.startLineNumber));let R;for(R=0;R<O;R++){let N=W.original.endLineNumberExclusive+R,w=W.modified.endLineNumberExclusive+R;if(N>Z.length||w>Q.length)break;if(H.contains(w)||V.contains(N))break;if(!y00(Z[N-1],Q[w-1],$))break}if(R>0)V.addRange(new D0(W.original.endLineNumberExclusive,W.original.endLineNumberExclusive+R)),H.addRange(new D0(W.modified.endLineNumberExclusive,W.modified.endLineNumberExclusive+R));if(D>0||R>0)q[j]=new W8(new D0(W.original.startLineNumber-D,W.original.endLineNumberExclusive+R),new D0(W.modified.startLineNumber-D,W.modified.endLineNumberExclusive+R))}return q}function y00(J,X,Y){if(J.trim()===X.trim())return!0;if(J.length>300&&X.length>300)return!1;let Q=new VF().compute(new XG([J],new T(1,1,1,J.length),!1),new XG([X],new T(1,1,1,X.length),!1),Y),$=0,q=o6.invert(Q.diffs,J.length);for(let V of q)V.seq1Range.forEach((K)=>{if(!HF(J.charCodeAt(K)))$++});function G(V){let K=0;for(let j=0;j<J.length;j++)if(!HF(V.charCodeAt(j)))K++;return K}let U=G(J.length>X.length?J:X);return $/U>0.6&&U>10}function vW0(J){if(J.length===0)return J;J.sort(V5((Y)=>Y.original.startLineNumber,I9));let X=[J[0]];for(let Y=1;Y<J.length;Y++){let Z=X[X.length-1],Q=J[Y],$=Q.original.startLineNumber-Z.original.endLineNumberExclusive,q=Q.modified.startLineNumber-Z.modified.endLineNumberExclusive;if($>=0&&q>=0&&$+q<=2){X[X.length-1]=Z.join(Q);continue}X.push(Q)}return X}function gW0(J,X){let Y=new QF(J);return X=X.filter((Z)=>{let Q=Y.findLastMonotonous((G)=>G.original.startLineNumber<Z.original.endLineNumberExclusive)||new W8(new D0(1,1),new D0(1,1)),$=PQ(J,(G)=>G.modified.startLineNumber<Z.modified.endLineNumberExclusive);return Q!==$}),X}function YC(J,X,Y){let Z=Y;return Z=b00(J,X,Z),Z=b00(J,X,Z),Z=pW0(J,X,Z),Z}function b00(J,X,Y){if(Y.length===0)return Y;let Z=[];Z.push(Y[0]);for(let $=1;$<Y.length;$++){let q=Z[Z.length-1],G=Y[$];if(G.seq1Range.isEmpty||G.seq2Range.isEmpty){let U=G.seq1Range.start-q.seq1Range.endExclusive,H;for(H=1;H<=U;H++)if(J.getElement(G.seq1Range.start-H)!==J.getElement(G.seq1Range.endExclusive-H)||X.getElement(G.seq2Range.start-H)!==X.getElement(G.seq2Range.endExclusive-H))break;if(H--,H===U){Z[Z.length-1]=new o6(new H0(q.seq1Range.start,G.seq1Range.endExclusive-U),new H0(q.seq2Range.start,G.seq2Range.endExclusive-U));continue}G=G.delta(-H)}Z.push(G)}let Q=[];for(let $=0;$<Z.length-1;$++){let q=Z[$+1],G=Z[$];if(G.seq1Range.isEmpty||G.seq2Range.isEmpty){let U=q.seq1Range.start-G.seq1Range.endExclusive,H;for(H=0;H<U;H++)if(!J.isStronglyEqual(G.seq1Range.start+H,G.seq1Range.endExclusive+H)||!X.isStronglyEqual(G.seq2Range.start+H,G.seq2Range.endExclusive+H))break;if(H===U){Z[$+1]=new o6(new H0(G.seq1Range.start+U,q.seq1Range.endExclusive),new H0(G.seq2Range.start+U,q.seq2Range.endExclusive));continue}if(H>0)G=G.delta(H)}Q.push(G)}if(Z.length>0)Q.push(Z[Z.length-1]);return Q}function pW0(J,X,Y){if(!J.getBoundaryScore||!X.getBoundaryScore)return Y;for(let Z=0;Z<Y.length;Z++){let Q=Z>0?Y[Z-1]:void 0,$=Y[Z],q=Z+1<Y.length?Y[Z+1]:void 0,G=new H0(Q?Q.seq1Range.endExclusive+1:0,q?q.seq1Range.start-1:J.length),U=new H0(Q?Q.seq2Range.endExclusive+1:0,q?q.seq2Range.start-1:X.length);if($.seq1Range.isEmpty)Y[Z]=C00($,J,X,G,U);else if($.seq2Range.isEmpty)Y[Z]=C00($.swap(),X,J,U,G).swap()}return Y}function C00(J,X,Y,Z,Q){let q=1;while(J.seq1Range.start-q>=Z.start&&J.seq2Range.start-q>=Q.start&&Y.isStronglyEqual(J.seq2Range.start-q,J.seq2Range.endExclusive-q)&&q<100)q++;q--;let G=0;while(J.seq1Range.start+G<Z.endExclusive&&J.seq2Range.endExclusive+G<Q.endExclusive&&Y.isStronglyEqual(J.seq2Range.start+G,J.seq2Range.endExclusive+G)&&G<100)G++;if(q===0&&G===0)return J;let U=0,H=-1;for(let V=-q;V<=G;V++){let K=J.seq2Range.start+V,j=J.seq2Range.endExclusive+V,W=J.seq1Range.start+V,z=X.getBoundaryScore(W)+Y.getBoundaryScore(K)+Y.getBoundaryScore(j);if(z>H)H=z,U=V}return J.delta(U)}function S00(J,X,Y){let Z=[];for(let Q of Y){let $=Z[Z.length-1];if(!$){Z.push(Q);continue}if(Q.seq1Range.start-$.seq1Range.endExclusive<=2||Q.seq2Range.start-$.seq2Range.endExclusive<=2)Z[Z.length-1]=new o6($.seq1Range.join(Q.seq1Range),$.seq2Range.join(Q.seq2Range));else Z.push(Q)}return Z}function ZC(J,X,Y,Z,Q=!1){let $=o6.invert(Y,J.length),q=[],G=new hJ(0,0);function U(V,K){if(V.offset1<G.offset1||V.offset2<G.offset2)return;let j=Z(J,V.offset1),W=Z(X,V.offset2);if(!j||!W)return;let z=new o6(j,W),B=z.intersect(K),P=B.seq1Range.length,_=B.seq2Range.length;while($.length>0){let A=$[0];if(!(A.seq1Range.intersects(z.seq1Range)||A.seq2Range.intersects(z.seq2Range)))break;let D=Z(J,A.seq1Range.start),R=Z(X,A.seq2Range.start),N=new o6(D,R),w=N.intersect(A);if(P+=w.seq1Range.length,_+=w.seq2Range.length,z=z.join(N),z.seq1Range.endExclusive>=A.seq1Range.endExclusive)$.shift();else break}if(Q&&P+_<z.seq1Range.length+z.seq2Range.length||P+_<(z.seq1Range.length+z.seq2Range.length)*2/3)q.push(z);G=z.getEndExclusives()}while($.length>0){let V=$.shift();if(V.seq1Range.isEmpty)continue;U(V.getStarts(),V),U(V.getEndExclusives().delta(-1),V)}return mW0(Y,q)}function mW0(J,X){let Y=[];while(J.length>0||X.length>0){let Z=J[0],Q=X[0],$;if(Z&&(!Q||Z.seq1Range.start<Q.seq1Range.start))$=J.shift();else $=X.shift();if(Y.length>0&&Y[Y.length-1].seq1Range.endExclusive>=$.seq1Range.start)Y[Y.length-1]=Y[Y.length-1].join($);else Y.push($)}return Y}function f00(J,X,Y){let Z=Y;if(Z.length===0)return Z;let Q=0,$;do{$=!1;let q=[Z[0]];for(let G=1;G<Z.length;G++){let V=function(j,W){let z=new H0(H.seq1Range.endExclusive,U.seq1Range.start);if(J.getText(z).replace(/\\s/g,\"\").length<=4&&(j.seq1Range.length+j.seq2Range.length>5||W.seq1Range.length+W.seq2Range.length>5))return!0;return!1},U=Z[G],H=q[q.length-1];if(V(H,U))$=!0,q[q.length-1]=q[q.length-1].join(U);else q.push(U)}Z=q}while(Q++<10&&$);return Z}function h00(J,X,Y){let Z=Y;if(Z.length===0)return Z;let Q=0,$;do{$=!1;let G=[Z[0]];for(let U=1;U<Z.length;U++){let K=function(W,z){let B=new H0(V.seq1Range.endExclusive,H.seq1Range.start);if(J.countLinesIn(B)>5||B.length>500)return!1;let _=J.getText(B).trim();if(_.length>20||_.split(/\\r\\n|\\r|\\n/).length>1)return!1;let A=J.countLinesIn(W.seq1Range),O=W.seq1Range.length,D=X.countLinesIn(W.seq2Range),R=W.seq2Range.length,N=J.countLinesIn(z.seq1Range),w=z.seq1Range.length,k=X.countLinesIn(z.seq2Range),I=z.seq2Range.length,S=130;function h(u){return Math.min(u,S)}if(Math.pow(Math.pow(h(A*40+O),1.5)+Math.pow(h(D*40+R),1.5),1.5)+Math.pow(Math.pow(h(N*40+w),1.5)+Math.pow(h(k*40+I),1.5),1.5)>(S**1.5)**1.5*1.3)return!0;return!1},H=Z[U],V=G[G.length-1];if(K(V,H))$=!0,G[G.length-1]=G[G.length-1].join(H);else G.push(H)}Z=G}while(Q++<10&&$);let q=[];return ar(Z,(G,U,H)=>{let V=U;function K(_){return _.length>0&&_.trim().length<=3&&U.seq1Range.length+U.seq2Range.length>100}let j=J.extendToFullLines(U.seq1Range),W=J.getText(new H0(j.start,U.seq1Range.start));if(K(W))V=V.deltaStart(-W.length);let z=J.getText(new H0(U.seq1Range.endExclusive,j.endExclusive));if(K(z))V=V.deltaEnd(z.length);let B=o6.fromOffsetPairs(G?G.getEndExclusives():hJ.zero,H?H.getStarts():hJ.max),P=V.intersect(B);if(q.length>0&&P.getStarts().equals(q[q.length-1].getEndExclusives()))q[q.length-1]=q[q.length-1].join(P);else q.push(P)}),q}class cM{constructor(J,X){this.trimmedHash=J,this.lines=X}getElement(J){return this.trimmedHash[J]}get length(){return this.trimmedHash.length}getBoundaryScore(J){let X=J===0?0:v00(this.lines[J-1]),Y=J===this.lines.length?0:v00(this.lines[J]);return 1000-(X+Y)}getText(J){return this.lines.slice(J.start,J.endExclusive).join(`\n`)}isStronglyEqual(J,X){return this.lines[J]===this.lines[X]}}function v00(J){let X=0;while(X<J.length&&(J.charCodeAt(X)===32||J.charCodeAt(X)===9))X++;return X}class QC{constructor(){this.dynamicProgrammingDiffing=new JC,this.myersDiffingAlgorithm=new VF}computeDiff(J,X,Y){if(J.length<=1&&w1(J,X,(N,w)=>N===w))return new AQ([],[],!1);if(J.length===1&&J[0].length===0||X.length===1&&X[0].length===0)return new AQ([new L5(new D0(1,J.length+1),new D0(1,X.length+1),[new o8(new T(1,1,J.length,J[J.length-1].length+1),new T(1,1,X.length,X[X.length-1].length+1))])],[],!1);let Z=Y.maxComputationTimeMs===0?_2.instance:new eb(Y.maxComputationTimeMs),Q=!Y.ignoreTrimWhitespace,$=new Map;function q(N){let w=$.get(N);if(w===void 0)w=$.size,$.set(N,w);return w}let G=J.map((N)=>q(N.trim())),U=X.map((N)=>q(N.trim())),H=new cM(G,J),V=new cM(U,X),K=(()=>{if(H.length+V.length<1700)return this.dynamicProgrammingDiffing.compute(H,V,Z,(N,w)=>J[N]===X[w]?X[w].length===0?0.1:1+Math.log(1+X[w].length):0.99);return this.myersDiffingAlgorithm.compute(H,V,Z)})(),j=K.diffs,W=K.hitTimeout;j=YC(H,V,j),j=f00(H,V,j);let z=[],B=(N)=>{if(!Q)return;for(let w=0;w<N;w++){let k=P+w,I=_+w;if(J[k]!==X[I]){let S=this.refineDiff(J,X,new o6(new H0(k,k+1),new H0(I,I+1)),Z,Q,Y);for(let h of S.mappings)z.push(h);if(S.hitTimeout)W=!0}}},P=0,_=0;for(let N of j){k9(()=>N.seq1Range.start-P===N.seq2Range.start-_);let w=N.seq1Range.start-P;B(w),P=N.seq1Range.endExclusive,_=N.seq2Range.endExclusive;let k=this.refineDiff(J,X,N,Z,Q,Y);if(k.hitTimeout)W=!0;for(let I of k.mappings)z.push(I)}B(J.length-P);let A=new zV(J),O=new zV(X),D=qF(z,A,O),R=[];if(Y.computeMoves)R=this.computeMoves(D,J,X,G,U,Z,Q,Y);return k9(()=>{function N(k,I){if(k.lineNumber<1||k.lineNumber>I.length)return!1;let S=I[k.lineNumber-1];if(k.column<1||k.column>S.length+1)return!1;return!0}function w(k,I){if(k.startLineNumber<1||k.startLineNumber>I.length+1)return!1;if(k.endLineNumberExclusive<1||k.endLineNumberExclusive>I.length+1)return!1;return!0}for(let k of D){if(!k.innerChanges)return!1;for(let I of k.innerChanges)if(!(N(I.modifiedRange.getStartPosition(),X)&&N(I.modifiedRange.getEndPosition(),X)&&N(I.originalRange.getStartPosition(),J)&&N(I.originalRange.getEndPosition(),J)))return!1;if(!w(k.modified,X)||!w(k.original,J))return!1}return!0}),new AQ(D,R,W)}computeMoves(J,X,Y,Z,Q,$,q,G){return x00(J,X,Y,Z,Q,$).map((V)=>{let K=this.refineDiff(X,Y,new o6(V.original.toOffsetRange(),V.modified.toOffsetRange()),$,q,G),j=qF(K.mappings,new zV(X),new zV(Y),!0);return new nq(V,j)})}refineDiff(J,X,Y,Z,Q,$){let G=uW0(Y).toRangeMapping2(J,X),U=new XG(J,G.originalRange,Q),H=new XG(X,G.modifiedRange,Q),V=U.length+H.length<500?this.dynamicProgrammingDiffing.compute(U,H,Z):this.myersDiffingAlgorithm.compute(U,H,Z),K=V.diffs;if(K=YC(U,H,K),K=ZC(U,H,K,(W,z)=>W.findWordContaining(z)),$.extendToSubwords)K=ZC(U,H,K,(W,z)=>W.findSubWordContaining(z),!0);return K=S00(U,H,K),K=h00(U,H,K),{mappings:K.map((W)=>new o8(U.translateRange(W.seq1Range),H.translateRange(W.seq2Range))),hitTimeout:V.hitTimeout}}}function uW0(J){return new W8(new D0(J.seq1Range.start+1,J.seq1Range.endExclusive+1),new D0(J.seq2Range.start+1,J.seq2Range.endExclusive+1))}function g00(J,X){let Y=globalThis._VSCODE_PRODUCT_JSON;Boolean((Y??globalThis.vscode?.context?.configuration()?.product)?.commit);let Z=`${J}/${X}`,$=`${Qt}/${Z}`;return n$.asBrowserUri($).toString(!0)}class $C{constructor(J){this.replacements=J;let X=-1;for(let Y of J){if(!(Y.replaceRange.start>=X))throw new j0(`Edits must be disjoint and sorted. Found ${Y} after ${X}`);X=Y.replaceRange.endExclusive}}toString(){return`[${this.replacements.map((X)=>X.toString()).join(\", \")}]`}normalize(){let J=[],X;for(let Y of this.replacements){if(Y.getNewLength()===0&&Y.replaceRange.length===0)continue;if(X&&X.replaceRange.endExclusive===Y.replaceRange.start){let Z=X.tryJoinTouching(Y);if(Z){X=Z;continue}}if(X)J.push(X);X=Y}if(X)J.push(X);return this._createNew(J)}compose(J){let X=this.normalize(),Y=J.normalize();if(X.isEmpty())return Y;if(Y.isEmpty())return X;let Z=[...X.replacements],Q=[],$=0;for(let q of Y.replacements){while(!0){let V=Z[0];if(!V||V.replaceRange.start+$+V.getNewLength()>=q.replaceRange.start)break;Z.shift(),Q.push(V),$+=V.getNewLength()-V.replaceRange.length}let G=$,U,H;while(!0){let V=Z[0];if(!V||V.replaceRange.start+$>q.replaceRange.endExclusive)break;if(!U)U=V;H=V,Z.shift(),$+=V.getNewLength()-V.replaceRange.length}if(!U)Q.push(q.delta(-$));else{let V=Math.min(U.replaceRange.start,q.replaceRange.start-G),K=q.replaceRange.start-(U.replaceRange.start+G);if(K>0){let B=U.slice(H0.emptyAt(V),new H0(0,K));Q.push(B)}if(!H)throw new j0(\"Invariant violation: lastIntersecting is undefined\");let j=H.replaceRange.endExclusive+$-q.replaceRange.endExclusive;if(j>0){let B=H.slice(H0.ofStartAndLength(H.replaceRange.endExclusive,0),new H0(H.getNewLength()-j,H.getNewLength()));Z.unshift(B),$-=B.getNewLength()-B.replaceRange.length}let W=new H0(V,q.replaceRange.endExclusive-$),z=q.slice(W,new H0(0,q.getNewLength()));Q.push(z)}}while(!0){let q=Z.shift();if(!q)break;Q.push(q)}return this._createNew(Q).normalize()}getNewRanges(){let J=[],X=0;for(let Y of this.replacements)J.push(H0.ofStartAndLength(Y.replaceRange.start+X,Y.getNewLength())),X+=Y.getLengthDelta();return J}isEmpty(){return this.replacements.length===0}applyToOffsetOrUndefined(J){let X=0;for(let Y of this.replacements)if(Y.replaceRange.start<=J){if(J<Y.replaceRange.endExclusive)return;X+=Y.getNewLength()-Y.replaceRange.length}else break;return J+X}}class qC{constructor(J){this.replaceRange=J}delta(J){return this.slice(this.replaceRange.delta(J),new H0(0,this.getNewLength()))}getLengthDelta(){return this.getNewLength()-this.replaceRange.length}toString(){return`{ ${this.replaceRange.toString()} -> ${this.getNewLength()} }`}get isEmpty(){return this.getNewLength()===0&&this.replaceRange.length===0}getRangeAfterReplace(){return new H0(this.replaceRange.start,this.replaceRange.start+this.getNewLength())}}class p00 extends $C{apply(J){let X=[],Y=0;for(let Z of this.replacements)X.push(J.substring(Y,Z.replaceRange.start)),X.push(Z.newText),Y=Z.replaceRange.endExclusive;return X.push(J.substring(Y)),X.join(\"\")}removeCommonSuffixPrefix(J){let X=[];for(let Y of this.replacements){let Z=Y.removeCommonSuffixPrefix(J);if(!Z.isEmpty)X.push(Z)}return new EY(X)}}class m00 extends qC{constructor(J,X){super(J);this.newText=X}getNewLength(){return this.newText.length}toString(){return`${this.replaceRange} -> ${JSON.stringify(this.newText)}`}replace(J){return J.substring(0,this.replaceRange.start)+this.newText+J.substring(this.replaceRange.endExclusive)}removeCommonSuffixPrefix(J){let X=J.substring(this.replaceRange.start,this.replaceRange.endExclusive),Y=BY(X,this.newText),Z=Math.min(X.length-Y,this.newText.length-Y,_Y(X,this.newText)),Q=new H0(this.replaceRange.start+Y,this.replaceRange.endExclusive-Z),$=this.newText.substring(Y,this.newText.length-Z);return new wX(Q,$)}removeCommonSuffixAndPrefix(J){return this.removeCommonSuffix(J).removeCommonPrefix(J)}removeCommonPrefix(J){let X=this.replaceRange.substring(J),Y=BY(X,this.newText);if(Y===0)return this;return this.slice(this.replaceRange.deltaStart(Y),new H0(Y,this.newText.length))}removeCommonSuffix(J){let X=this.replaceRange.substring(J),Y=_Y(X,this.newText);if(Y===0)return this;return this.slice(this.replaceRange.deltaEnd(-Y),new H0(0,this.newText.length-Y))}toJson(){return{txt:this.newText,pos:this.replaceRange.start,len:this.replaceRange.length}}}class EY extends p00{static{this.empty=new EY([])}static replace(J,X){return new EY([new wX(J,X)])}static compose(J){if(J.length===0)return EY.empty;let X=J[0];for(let Y=1;Y<J.length;Y++)X=X.compose(J[Y]);return X}constructor(J){super(J)}_createNew(J){return new EY(J)}}class wX extends m00{static insert(J,X){return new wX(H0.emptyAt(J),X)}static replace(J,X){return new wX(J,X)}equals(J){return this.replaceRange.equals(J.replaceRange)&&this.newText===J.newText}tryJoinTouching(J){return new wX(this.replaceRange.joinRightTouching(J.replaceRange),this.newText+J.newText)}slice(J,X){return new wX(J,X?X.substring(this.newText):this.newText)}}P00({StringEdit:EY,StringReplacement:wX,TextReplacement:p9,TextEdit:JG,TextLength:f6});var GC,UC,HC;function u00(){if(!GC)GC=import(`${g00(\"@vscode/diff\",\"dist/index.js\")}`);return GC}function cW0(J){if(J){if(!HC)HC=u00().then((X)=>X.createDiffComputer({useWasm:!0}));return HC}if(!UC)UC=u00().then((X)=>X.createDiffComputer({useWasm:!1}));return UC}async function VC(J){let X=await cW0(J);return new c00(X)}class c00{constructor(J){this._computer=J}computeDiff(J,X,Y){let Z=new eq(J.join(`\n`)),Q=new eq(X.join(`\n`)),$=this._computer.computeDiff(Z.value,Q.value,{ignoreTrimWhitespace:!0,computeMoves:Y.computeMoves,extendToSubwords:Y.extendToSubwords}),q=Z.getTransformer(),G=Q.getTransformer(),U=[],H=0;for(let j of $.edits.replacements){let W=j.range.start+H,z=W+j.newText.length,B=q.getRange(new H0(j.range.start,j.range.endExclusive)),P=G.getRange(new H0(W,z));U.push(new o8(B,P)),H+=j.newText.length-(j.range.endExclusive-j.range.start)}let V=qF(U,Z,Q),K=[];if(Y.computeMoves)for(let j of $.moves){let W=q.getPosition(j.range.original.start),z=q.getPosition(j.range.original.endExclusive),B=G.getPosition(j.range.modified.start),P=G.getPosition(j.range.modified.endExclusive),_=new D0(W.lineNumber,z.lineNumber),A=new D0(B.lineNumber,P.lineNumber);K.push(new nq(new W8(_,A),[]))}return new AQ(V,K,$.hitTimeout)}}var KF={getLegacy:()=>new tb,getDefault:()=>new QC,getAdvancedExternal:()=>VC(!1),getAdvancedWasm:()=>VC(!0)};function A2(J,X){let Y=Math.pow(10,X);return Math.round(J*Y)/Y}class d{constructor(J,X,Y,Z=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,J))|0,this.g=Math.min(255,Math.max(0,X))|0,this.b=Math.min(255,Math.max(0,Y))|0,this.a=A2(Math.max(Math.min(1,Z),0),3)}static equals(J,X){return J.r===X.r&&J.g===X.g&&J.b===X.b&&J.a===X.a}}class m9{constructor(J,X,Y,Z){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,J),0)|0,this.s=A2(Math.max(Math.min(1,X),0),3),this.l=A2(Math.max(Math.min(1,Y),0),3),this.a=A2(Math.max(Math.min(1,Z),0),3)}static equals(J,X){return J.h===X.h&&J.s===X.s&&J.l===X.l&&J.a===X.a}static fromRGBA(J){let X=J.r/255,Y=J.g/255,Z=J.b/255,Q=J.a,$=Math.max(X,Y,Z),q=Math.min(X,Y,Z),G=0,U=0,H=(q+$)/2,V=$-q;if(V>0){switch(U=Math.min(H<=0.5?V/(2*H):V/(2-2*H),1),$){case X:G=(Y-Z)/V+(Y<Z?6:0);break;case Y:G=(Z-X)/V+2;break;case Z:G=(X-Y)/V+4;break}G*=60,G=Math.round(G)}return new m9(G,U,H,Q)}static _hue2rgb(J,X,Y){if(Y<0)Y+=1;if(Y>1)Y-=1;if(Y<0.16666666666666666)return J+(X-J)*6*Y;if(Y<0.5)return X;if(Y<0.6666666666666666)return J+(X-J)*(0.6666666666666666-Y)*6;return J}static toRGBA(J){let X=J.h/360,{s:Y,l:Z,a:Q}=J,$,q,G;if(Y===0)$=q=G=Z;else{let U=Z<0.5?Z*(1+Y):Z+Y-Z*Y,H=2*Z-U;$=m9._hue2rgb(H,U,X+0.3333333333333333),q=m9._hue2rgb(H,U,X),G=m9._hue2rgb(H,U,X-0.3333333333333333)}return new d(Math.round($*255),Math.round(q*255),Math.round(G*255),Q)}}class PV{constructor(J,X,Y,Z){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,J),0)|0,this.s=A2(Math.max(Math.min(1,X),0),3),this.v=A2(Math.max(Math.min(1,Y),0),3),this.a=A2(Math.max(Math.min(1,Z),0),3)}static equals(J,X){return J.h===X.h&&J.s===X.s&&J.v===X.v&&J.a===X.a}static fromRGBA(J){let X=J.r/255,Y=J.g/255,Z=J.b/255,Q=Math.max(X,Y,Z),$=Math.min(X,Y,Z),q=Q-$,G=Q===0?0:q/Q,U;if(q===0)U=0;else if(Q===X)U=((Y-Z)/q%6+6)%6;else if(Q===Y)U=(Z-X)/q+2;else U=(X-Y)/q+4;return new PV(Math.round(U*60),G,Q,J.a)}static toRGBA(J){let{h:X,s:Y,v:Z,a:Q}=J,$=Z*Y,q=$*(1-Math.abs(X/60%2-1)),G=Z-$,[U,H,V]=[0,0,0];if(X<60)U=$,H=q;else if(X<120)U=q,H=$;else if(X<180)H=$,V=q;else if(X<240)H=q,V=$;else if(X<300)U=q,V=$;else if(X<=360)U=$,V=q;return U=Math.round((U+G)*255),H=Math.round((H+G)*255),V=Math.round((V+G)*255),new d(U,H,V,Q)}}class c{static fromHex(J){return c.Format.CSS.parseHex(J)||c.red}static equals(J,X){if(!J&&!X)return!0;if(!J||!X)return!1;return J.equals(X)}get hsla(){if(this._hsla)return this._hsla;else return m9.fromRGBA(this.rgba)}get hsva(){if(this._hsva)return this._hsva;return PV.fromRGBA(this.rgba)}constructor(J){if(!J)throw Error(\"Color needs a value\");else if(J instanceof d)this.rgba=J;else if(J instanceof m9)this._hsla=J,this.rgba=m9.toRGBA(J);else if(J instanceof PV)this._hsva=J,this.rgba=PV.toRGBA(J);else throw Error(\"Invalid color ctor argument\")}equals(J){return!!J&&d.equals(this.rgba,J.rgba)&&m9.equals(this.hsla,J.hsla)&&PV.equals(this.hsva,J.hsva)}getRelativeLuminance(){let J=c._relativeLuminanceForComponent(this.rgba.r),X=c._relativeLuminanceForComponent(this.rgba.g),Y=c._relativeLuminanceForComponent(this.rgba.b),Z=0.2126*J+0.7152*X+0.0722*Y;return A2(Z,4)}static _relativeLuminanceForComponent(J){let X=J/255;return X<=0.03928?X/12.92:Math.pow((X+0.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1000>=128}isLighterThan(J){let X=this.getRelativeLuminance(),Y=J.getRelativeLuminance();return X>Y}isDarkerThan(J){let X=this.getRelativeLuminance(),Y=J.getRelativeLuminance();return X<Y}lighten(J){return new c(new m9(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*J,this.hsla.a))}darken(J){return new c(new m9(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*J,this.hsla.a))}transparent(J){let{r:X,g:Y,b:Z,a:Q}=this.rgba;return new c(new d(X,Y,Z,Q*J))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new c(new d(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(J,X=0.5){let Y=Math.min(Math.max(X,0),1),Z=this.rgba,Q=J.rgba,$=Z.r+(Q.r-Z.r)*Y,q=Z.g+(Q.g-Z.g)*Y,G=Z.b+(Q.b-Z.b)*Y,U=Z.a+(Q.a-Z.a)*Y;return new c(new d($,q,G,U))}makeOpaque(J){if(this.isOpaque()||J.rgba.a!==1)return this;let{r:X,g:Y,b:Z,a:Q}=this.rgba;return new c(new d(J.rgba.r-Q*(J.rgba.r-X),J.rgba.g-Q*(J.rgba.g-Y),J.rgba.b-Q*(J.rgba.b-Z),1))}toString(){if(!this._toString)this._toString=c.Format.CSS.format(this);return this._toString}toNumber32Bit(){if(!this._toNumber32Bit)this._toNumber32Bit=(this.rgba.r<<24|this.rgba.g<<16|this.rgba.b<<8|this.rgba.a*255<<0)>>>0;return this._toNumber32Bit}static getLighterColor(J,X,Y){if(J.isLighterThan(X))return J;Y=Y?Y:0.5;let Z=J.getRelativeLuminance(),Q=X.getRelativeLuminance();return Y=Y*(Q-Z)/Q,J.lighten(Y)}static getDarkerColor(J,X,Y){if(J.isDarkerThan(X))return J;Y=Y?Y:0.5;let Z=J.getRelativeLuminance(),Q=X.getRelativeLuminance();return Y=Y*(Z-Q)/Z,J.darken(Y)}static{this.white=new c(new d(255,255,255,1))}static{this.black=new c(new d(0,0,0,1))}static{this.red=new c(new d(255,0,0,1))}static{this.blue=new c(new d(0,0,255,1))}static{this.green=new c(new d(0,255,0,1))}static{this.cyan=new c(new d(0,255,255,1))}static{this.lightgrey=new c(new d(211,211,211,1))}static{this.transparent=new c(new d(0,0,0,0))}}(function(J){(function(X){(function(Y){function Z(B){if(B.rgba.a===1)return`rgb(${B.rgba.r}, ${B.rgba.g}, ${B.rgba.b})`;return J.Format.CSS.formatRGBA(B)}Y.formatRGB=Z;function Q(B){return`rgba(${B.rgba.r}, ${B.rgba.g}, ${B.rgba.b}, ${+B.rgba.a.toFixed(2)})`}Y.formatRGBA=Q;function $(B){if(B.hsla.a===1)return`hsl(${B.hsla.h}, ${Math.round(B.hsla.s*100)}%, ${Math.round(B.hsla.l*100)}%)`;return J.Format.CSS.formatHSLA(B)}Y.formatHSL=$;function q(B){return`hsla(${B.hsla.h}, ${Math.round(B.hsla.s*100)}%, ${Math.round(B.hsla.l*100)}%, ${B.hsla.a.toFixed(2)})`}Y.formatHSLA=q;function G(B){let P=B.toString(16);return P.length!==2?\"0\"+P:P}function U(B){return`#${G(B.rgba.r)}${G(B.rgba.g)}${G(B.rgba.b)}`}Y.formatHex=U;function H(B,P=!1){if(P&&B.rgba.a===1)return J.Format.CSS.formatHex(B);return`#${G(B.rgba.r)}${G(B.rgba.g)}${G(B.rgba.b)}${G(Math.round(B.rgba.a*255))}`}Y.formatHexA=H;function V(B){if(B.isOpaque())return J.Format.CSS.formatHex(B);return J.Format.CSS.formatRGBA(B)}Y.format=V;function K(B){if(B===\"transparent\")return J.transparent;if(B.startsWith(\"#\"))return W(B);if(B.startsWith(\"rgba(\")){let P=B.match(/rgba\\((?<r>(?:\\+|-)?\\d+), *(?<g>(?:\\+|-)?\\d+), *(?<b>(?:\\+|-)?\\d+), *(?<a>(?:\\+|-)?\\d+(\\.\\d+)?)\\)/);if(!P)throw Error(\"Invalid color format \"+B);let _=parseInt(P.groups?.r??\"0\"),A=parseInt(P.groups?.g??\"0\"),O=parseInt(P.groups?.b??\"0\"),D=parseFloat(P.groups?.a??\"0\");return new J(new d(_,A,O,D))}if(B.startsWith(\"rgb(\")){let P=B.match(/rgb\\((?<r>(?:\\+|-)?\\d+), *(?<g>(?:\\+|-)?\\d+), *(?<b>(?:\\+|-)?\\d+)\\)/);if(!P)throw Error(\"Invalid color format \"+B);let _=parseInt(P.groups?.r??\"0\"),A=parseInt(P.groups?.g??\"0\"),O=parseInt(P.groups?.b??\"0\");return new J(new d(_,A,O))}return j(B)}Y.parse=K;function j(B){switch(B){case\"aliceblue\":return new J(new d(240,248,255,1));case\"antiquewhite\":return new J(new d(250,235,215,1));case\"aqua\":return new J(new d(0,255,255,1));case\"aquamarine\":return new J(new d(127,255,212,1));case\"azure\":return new J(new d(240,255,255,1));case\"beige\":return new J(new d(245,245,220,1));case\"bisque\":return new J(new d(255,228,196,1));case\"black\":return new J(new d(0,0,0,1));case\"blanchedalmond\":return new J(new d(255,235,205,1));case\"blue\":return new J(new d(0,0,255,1));case\"blueviolet\":return new J(new d(138,43,226,1));case\"brown\":return new J(new d(165,42,42,1));case\"burlywood\":return new J(new d(222,184,135,1));case\"cadetblue\":return new J(new d(95,158,160,1));case\"chartreuse\":return new J(new d(127,255,0,1));case\"chocolate\":return new J(new d(210,105,30,1));case\"coral\":return new J(new d(255,127,80,1));case\"cornflowerblue\":return new J(new d(100,149,237,1));case\"cornsilk\":return new J(new d(255,248,220,1));case\"crimson\":return new J(new d(220,20,60,1));case\"cyan\":return new J(new d(0,255,255,1));case\"darkblue\":return new J(new d(0,0,139,1));case\"darkcyan\":return new J(new d(0,139,139,1));case\"darkgoldenrod\":return new J(new d(184,134,11,1));case\"darkgray\":return new J(new d(169,169,169,1));case\"darkgreen\":return new J(new d(0,100,0,1));case\"darkgrey\":return new J(new d(169,169,169,1));case\"darkkhaki\":return new J(new d(189,183,107,1));case\"darkmagenta\":return new J(new d(139,0,139,1));case\"darkolivegreen\":return new J(new d(85,107,47,1));case\"darkorange\":return new J(new d(255,140,0,1));case\"darkorchid\":return new J(new d(153,50,204,1));case\"darkred\":return new J(new d(139,0,0,1));case\"darksalmon\":return new J(new d(233,150,122,1));case\"darkseagreen\":return new J(new d(143,188,143,1));case\"darkslateblue\":return new J(new d(72,61,139,1));case\"darkslategray\":return new J(new d(47,79,79,1));case\"darkslategrey\":return new J(new d(47,79,79,1));case\"darkturquoise\":return new J(new d(0,206,209,1));case\"darkviolet\":return new J(new d(148,0,211,1));case\"deeppink\":return new J(new d(255,20,147,1));case\"deepskyblue\":return new J(new d(0,191,255,1));case\"dimgray\":return new J(new d(105,105,105,1));case\"dimgrey\":return new J(new d(105,105,105,1));case\"dodgerblue\":return new J(new d(30,144,255,1));case\"firebrick\":return new J(new d(178,34,34,1));case\"floralwhite\":return new J(new d(255,250,240,1));case\"forestgreen\":return new J(new d(34,139,34,1));case\"fuchsia\":return new J(new d(255,0,255,1));case\"gainsboro\":return new J(new d(220,220,220,1));case\"ghostwhite\":return new J(new d(248,248,255,1));case\"gold\":return new J(new d(255,215,0,1));case\"goldenrod\":return new J(new d(218,165,32,1));case\"gray\":return new J(new d(128,128,128,1));case\"green\":return new J(new d(0,128,0,1));case\"greenyellow\":return new J(new d(173,255,47,1));case\"grey\":return new J(new d(128,128,128,1));case\"honeydew\":return new J(new d(240,255,240,1));case\"hotpink\":return new J(new d(255,105,180,1));case\"indianred\":return new J(new d(205,92,92,1));case\"indigo\":return new J(new d(75,0,130,1));case\"ivory\":return new J(new d(255,255,240,1));case\"khaki\":return new J(new d(240,230,140,1));case\"lavender\":return new J(new d(230,230,250,1));case\"lavenderblush\":return new J(new d(255,240,245,1));case\"lawngreen\":return new J(new d(124,252,0,1));case\"lemonchiffon\":return new J(new d(255,250,205,1));case\"lightblue\":return new J(new d(173,216,230,1));case\"lightcoral\":return new J(new d(240,128,128,1));case\"lightcyan\":return new J(new d(224,255,255,1));case\"lightgoldenrodyellow\":return new J(new d(250,250,210,1));case\"lightgray\":return new J(new d(211,211,211,1));case\"lightgreen\":return new J(new d(144,238,144,1));case\"lightgrey\":return new J(new d(211,211,211,1));case\"lightpink\":return new J(new d(255,182,193,1));case\"lightsalmon\":return new J(new d(255,160,122,1));case\"lightseagreen\":return new J(new d(32,178,170,1));case\"lightskyblue\":return new J(new d(135,206,250,1));case\"lightslategray\":return new J(new d(119,136,153,1));case\"lightslategrey\":return new J(new d(119,136,153,1));case\"lightsteelblue\":return new J(new d(176,196,222,1));case\"lightyellow\":return new J(new d(255,255,224,1));case\"lime\":return new J(new d(0,255,0,1));case\"limegreen\":return new J(new d(50,205,50,1));case\"linen\":return new J(new d(250,240,230,1));case\"magenta\":return new J(new d(255,0,255,1));case\"maroon\":return new J(new d(128,0,0,1));case\"mediumaquamarine\":return new J(new d(102,205,170,1));case\"mediumblue\":return new J(new d(0,0,205,1));case\"mediumorchid\":return new J(new d(186,85,211,1));case\"mediumpurple\":return new J(new d(147,112,219,1));case\"mediumseagreen\":return new J(new d(60,179,113,1));case\"mediumslateblue\":return new J(new d(123,104,238,1));case\"mediumspringgreen\":return new J(new d(0,250,154,1));case\"mediumturquoise\":return new J(new d(72,209,204,1));case\"mediumvioletred\":return new J(new d(199,21,133,1));case\"midnightblue\":return new J(new d(25,25,112,1));case\"mintcream\":return new J(new d(245,255,250,1));case\"mistyrose\":return new J(new d(255,228,225,1));case\"moccasin\":return new J(new d(255,228,181,1));case\"navajowhite\":return new J(new d(255,222,173,1));case\"navy\":return new J(new d(0,0,128,1));case\"oldlace\":return new J(new d(253,245,230,1));case\"olive\":return new J(new d(128,128,0,1));case\"olivedrab\":return new J(new d(107,142,35,1));case\"orange\":return new J(new d(255,165,0,1));case\"orangered\":return new J(new d(255,69,0,1));case\"orchid\":return new J(new d(218,112,214,1));case\"palegoldenrod\":return new J(new d(238,232,170,1));case\"palegreen\":return new J(new d(152,251,152,1));case\"paleturquoise\":return new J(new d(175,238,238,1));case\"palevioletred\":return new J(new d(219,112,147,1));case\"papayawhip\":return new J(new d(255,239,213,1));case\"peachpuff\":return new J(new d(255,218,185,1));case\"peru\":return new J(new d(205,133,63,1));case\"pink\":return new J(new d(255,192,203,1));case\"plum\":return new J(new d(221,160,221,1));case\"powderblue\":return new J(new d(176,224,230,1));case\"purple\":return new J(new d(128,0,128,1));case\"rebeccapurple\":return new J(new d(102,51,153,1));case\"red\":return new J(new d(255,0,0,1));case\"rosybrown\":return new J(new d(188,143,143,1));case\"royalblue\":return new J(new d(65,105,225,1));case\"saddlebrown\":return new J(new d(139,69,19,1));case\"salmon\":return new J(new d(250,128,114,1));case\"sandybrown\":return new J(new d(244,164,96,1));case\"seagreen\":return new J(new d(46,139,87,1));case\"seashell\":return new J(new d(255,245,238,1));case\"sienna\":return new J(new d(160,82,45,1));case\"silver\":return new J(new d(192,192,192,1));case\"skyblue\":return new J(new d(135,206,235,1));case\"slateblue\":return new J(new d(106,90,205,1));case\"slategray\":return new J(new d(112,128,144,1));case\"slategrey\":return new J(new d(112,128,144,1));case\"snow\":return new J(new d(255,250,250,1));case\"springgreen\":return new J(new d(0,255,127,1));case\"steelblue\":return new J(new d(70,130,180,1));case\"tan\":return new J(new d(210,180,140,1));case\"teal\":return new J(new d(0,128,128,1));case\"thistle\":return new J(new d(216,191,216,1));case\"tomato\":return new J(new d(255,99,71,1));case\"turquoise\":return new J(new d(64,224,208,1));case\"violet\":return new J(new d(238,130,238,1));case\"wheat\":return new J(new d(245,222,179,1));case\"white\":return new J(new d(255,255,255,1));case\"whitesmoke\":return new J(new d(245,245,245,1));case\"yellow\":return new J(new d(255,255,0,1));case\"yellowgreen\":return new J(new d(154,205,50,1));default:return null}}function W(B){let P=B.length;if(P===0)return null;if(B.charCodeAt(0)!==35)return null;if(P===7){let _=16*z(B.charCodeAt(1))+z(B.charCodeAt(2)),A=16*z(B.charCodeAt(3))+z(B.charCodeAt(4)),O=16*z(B.charCodeAt(5))+z(B.charCodeAt(6));return new J(new d(_,A,O,1))}if(P===9){let _=16*z(B.charCodeAt(1))+z(B.charCodeAt(2)),A=16*z(B.charCodeAt(3))+z(B.charCodeAt(4)),O=16*z(B.charCodeAt(5))+z(B.charCodeAt(6)),D=16*z(B.charCodeAt(7))+z(B.charCodeAt(8));return new J(new d(_,A,O,D/255))}if(P===4){let _=z(B.charCodeAt(1)),A=z(B.charCodeAt(2)),O=z(B.charCodeAt(3));return new J(new d(16*_+_,16*A+A,16*O+O))}if(P===5){let _=z(B.charCodeAt(1)),A=z(B.charCodeAt(2)),O=z(B.charCodeAt(3)),D=z(B.charCodeAt(4));return new J(new d(16*_+_,16*A+A,16*O+O,(16*D+D)/255))}return null}Y.parseHex=W;function z(B){switch(B){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(X.CSS||(X.CSS={}))})(J.Format||(J.Format={}))})(c||(c={}));function s00(J){let X=[];for(let Y of J){let Z=Number(Y);if(Z||Z===0&&Y.replace(/\\s/g,\"\")!==\"\")X.push(Z)}return X}function KC(J,X,Y,Z){return{red:J/255,blue:Y/255,green:X/255,alpha:Z}}function jF(J,X){let Y=X.index,Z=X[0].length;if(Y===void 0)return;let Q=J.positionAt(Y);return{startLineNumber:Q.lineNumber,startColumn:Q.column,endLineNumber:Q.lineNumber,endColumn:Q.column+Z}}function dW0(J,X){if(!J)return;let Y=c.Format.CSS.parseHex(X);if(!Y)return;return{range:J,color:KC(Y.rgba.r,Y.rgba.g,Y.rgba.b,Y.rgba.a)}}function d00(J,X,Y){if(!J||X.length!==1)return;let Q=X[0].values(),$=s00(Q);return{range:J,color:KC($[0],$[1],$[2],Y?$[3]:1)}}function l00(J,X,Y){if(!J||X.length!==1)return;let Q=X[0].values(),$=s00(Q),q=new c(new m9($[0],$[1]/100,$[2]/100,Y?$[3]:1));return{range:J,color:KC(q.rgba.r,q.rgba.g,q.rgba.b,q.rgba.a)}}function WF(J,X){if(typeof J===\"string\")return[...J.matchAll(X)];else return J.findMatches(X)}function lW0(J){let X=[],Z=WF(J,/\\b(rgb|rgba|hsl|hsla)(\\([0-9\\s,.\\%\\/]*\\))|^(#)([A-Fa-f0-9]{3})\\b|^(#)([A-Fa-f0-9]{4})\\b|^(#)([A-Fa-f0-9]{6})\\b|^(#)([A-Fa-f0-9]{8})\\b|(?<=['\"\\s])(#)([A-Fa-f0-9]{3})\\b|(?<=['\"\\s])(#)([A-Fa-f0-9]{4})\\b|(?<=['\"\\s])(#)([A-Fa-f0-9]{6})\\b|(?<=['\"\\s])(#)([A-Fa-f0-9]{8})\\b/gm);if(Z.length>0)for(let Q of Z){let $=Q.filter((H)=>H!==void 0),q=$[1],G=$[2];if(!G)continue;let U;if(q===\"rgb\"){let H=/^\\(\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*[\\s,]\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*[\\s,]\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*\\)$/gm;U=d00(jF(J,Q),WF(G,H),!1)}else if(q===\"rgba\"){let H=/^\\(\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*[\\s,]\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*[\\s,]\\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\s*(?:[\\s,]|[\\s]*\\/)\\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\\s*\\)$/gm;U=d00(jF(J,Q),WF(G,H),!0)}else if(q===\"hsl\"){let H=/^\\(\\s*((?:360(?:\\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\\.\\d+)?))\\s*[\\s,]\\s*(100(?:\\.0+)?|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*[\\s,]\\s*(100(?:\\.0+)?|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*\\)$/gm;U=l00(jF(J,Q),WF(G,H),!1)}else if(q===\"hsla\"){let H=/^\\(\\s*((?:360(?:\\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\\.\\d+)?))\\s*[\\s,]\\s*(100(?:\\.0+)?|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*[\\s,]\\s*(100(?:\\.0+)?|\\d{1,2}[.]\\d*|\\d{1,2})%\\s*(?:[\\s,]|[\\s]*\\/)\\s*(0[.][0-9]+|[.][0-9]+|[01][.]0*|[01])\\s*\\)$/gm;U=l00(jF(J,Q),WF(G,H),!0)}else if(q===\"#\")U=dW0(jF(J,Q),q+G);if(U)X.push(U)}return X}function a00(J){if(!J||typeof J.getValue!==\"function\"||typeof J.positionAt!==\"function\")return[];return lW0(J)}var sW0=/^-+|-+$/g,i00=100,aW0=5;function r00(J,X){let Y=[];if(X.findRegionSectionHeaders&&X.foldingRules?.markers){let Z=iW0(J,X);Y=Y.concat(Z)}if(X.findMarkSectionHeaders){let Z=rW0(J,X);Y=Y.concat(Z)}return Y}function iW0(J,X){let Y=[],Z=J.getLineCount();for(let Q=1;Q<=Z;Q++){let $=J.getLineContent(Q),q=$.match(X.foldingRules.markers.start);if(q){let G={startLineNumber:Q,startColumn:q[0].length+1,endLineNumber:Q,endColumn:$.length+1};if(G.endColumn>G.startColumn){let U={range:G,...oW0($.substring(q[0].length)),shouldBeInComments:!1};if(U.text||U.hasSeparatorLine)Y.push(U)}}}return Y}function rW0(J,X){let Y=[],Z=J.getLineCount();if(!X.markSectionHeaderRegex||X.markSectionHeaderRegex.trim()===\"\")return Y;let Q=db(X.markSectionHeaderRegex),$=new RegExp(X.markSectionHeaderRegex,`gdm${Q?\"s\":\"\"}`);if(mO($))return Y;for(let q=1;q<=Z;q+=i00-aW0){let G=Math.min(q+i00-1,Z),U=[];for(let K=q;K<=G;K++)U.push(J.getLineContent(K));let H=U.join(`\n`);$.lastIndex=0;let V;while((V=$.exec(H))!==null){let K=H.substring(0,V.index),j=(K.match(/\\n/g)||[]).length,W=q+j,z=V[0].split(`\n`),B=z.length,P=W+B-1,_=K.lastIndexOf(`\n`)+1,A=V.index-_+1,O=z[z.length-1],D=B===1?A+V[0].length:O.length+1,R={startLineNumber:W,startColumn:A,endLineNumber:P,endColumn:D},N=(V.groups??{}).label??\"\",w=((V.groups??{}).separator??\"\")!==\"\",k={range:R,text:N,hasSeparatorLine:w,shouldBeInComments:!0};if(k.text||k.hasSeparatorLine){if(Y.length===0||Y[Y.length-1].range.endLineNumber<k.range.startLineNumber)Y.push(k)}$.lastIndex=V.index+V[0].length}}return Y}function oW0(J){J=J.trim();let X=J.startsWith(\"-\");return J=J.replace(sW0,\"\"),{text:J,hasSeparatorLine:X}}class jC{constructor(J){this.values=J,this.prefixSum=new Uint32Array(J.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(J,X){J=iq(J);let Y=this.values,Z=this.prefixSum,Q=X.length;if(Q===0)return!1;if(this.values=new Uint32Array(Y.length+Q),this.values.set(Y.subarray(0,J),0),this.values.set(Y.subarray(J),J+Q),this.values.set(X,J),J-1<this.prefixSumValidIndex[0])this.prefixSumValidIndex[0]=J-1;if(this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0)this.prefixSum.set(Z.subarray(0,this.prefixSumValidIndex[0]+1));return!0}setValue(J,X){if(J=iq(J),X=iq(X),this.values[J]===X)return!1;if(this.values[J]=X,J-1<this.prefixSumValidIndex[0])this.prefixSumValidIndex[0]=J-1;return!0}removeValues(J,X){J=iq(J),X=iq(X);let Y=this.values,Z=this.prefixSum;if(J>=Y.length)return!1;let Q=Y.length-J;if(X>=Q)X=Q;if(X===0)return!1;if(this.values=new Uint32Array(Y.length-X),this.values.set(Y.subarray(0,J),0),this.values.set(Y.subarray(J+X),J),this.prefixSum=new Uint32Array(this.values.length),J-1<this.prefixSumValidIndex[0])this.prefixSumValidIndex[0]=J-1;if(this.prefixSumValidIndex[0]>=0)this.prefixSum.set(Z.subarray(0,this.prefixSumValidIndex[0]+1));return!0}getTotalSum(){if(this.values.length===0)return 0;return this._getPrefixSum(this.values.length-1)}getPrefixSum(J){if(J<0)return 0;return J=iq(J),this._getPrefixSum(J)}_getPrefixSum(J){if(J<=this.prefixSumValidIndex[0])return this.prefixSum[J];let X=this.prefixSumValidIndex[0]+1;if(X===0)this.prefixSum[0]=this.values[0],X++;if(J>=this.values.length)J=this.values.length-1;for(let Y=X;Y<=J;Y++)this.prefixSum[Y]=this.prefixSum[Y-1]+this.values[Y];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],J),this.prefixSum[J]}getIndexOf(J){J=Math.floor(J),this.getTotalSum();let X=0,Y=this.values.length-1,Z=0,Q=0,$=0;while(X<=Y)if(Z=X+(Y-X)/2|0,Q=this.prefixSum[Z],$=Q-this.values[Z],J<$)Y=Z-1;else if(J>=Q)X=Z+1;else break;return new dM(Z,J-$)}}class WC{constructor(J){this._values=J,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(J){if(this._ensureValid(),J===0)return 0;return this._prefixSum[J-1]}getIndexOf(J){this._ensureValid();let X=this._indexBySum[J];if(X===void 0){let Z=Math.max(0,this._values.length-1),Q=Z>0?this._prefixSum[Z-1]:0;return new dM(Z,J-Q)}let Y=X>0?this._prefixSum[X-1]:0;return new dM(X,J-Y)}removeValues(J,X){this._values.splice(J,X),this._invalidate(J)}insertValues(J,X){this._values=m$(this._values,J,X),this._invalidate(J)}_invalidate(J){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,J-1)}_ensureValid(){if(this._isValid)return;for(let J=this._validEndIndex+1,X=this._values.length;J<X;J++){let Y=this._values[J],Z=J>0?this._prefixSum[J-1]:0;this._prefixSum[J]=Z+Y;for(let Q=0;Q<Y;Q++)this._indexBySum[Z+Q]=J}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}setValue(J,X){if(this._values[J]===X)return;this._values[J]=X,this._invalidate(J)}}class dM{constructor(J,X){this.index=J,this.remainder=X,this._prefixSumIndexOfResultBrand=void 0,this.index=J,this.remainder=X}}class zC{constructor(J,X,Y,Z){this._uri=J,this._lines=X,this._eol=Y,this._versionId=Z,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){if(this._cachedTextValue===null)this._cachedTextValue=this._lines.join(this._eol);return this._cachedTextValue}onEvents(J){if(J.eol&&J.eol!==this._eol)this._eol=J.eol,this._lineStarts=null;let X=J.changes;for(let Y of X)this._acceptDeleteRange(Y.range),this._acceptInsertText(new C(Y.range.startLineNumber,Y.range.startColumn),Y.text);this._versionId=J.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let J=this._eol.length,X=this._lines.length,Y=new Uint32Array(X);for(let Z=0;Z<X;Z++)Y[Z]=this._lines[Z].length+J;this._lineStarts=new jC(Y)}}_setLineText(J,X){if(this._lines[J]=X,this._lineStarts)this._lineStarts.setValue(J,this._lines[J].length+this._eol.length)}_acceptDeleteRange(J){if(J.startLineNumber===J.endLineNumber){if(J.startColumn===J.endColumn)return;this._setLineText(J.startLineNumber-1,this._lines[J.startLineNumber-1].substring(0,J.startColumn-1)+this._lines[J.startLineNumber-1].substring(J.endColumn-1));return}if(this._setLineText(J.startLineNumber-1,this._lines[J.startLineNumber-1].substring(0,J.startColumn-1)+this._lines[J.endLineNumber-1].substring(J.endColumn-1)),this._lines.splice(J.startLineNumber,J.endLineNumber-J.startLineNumber),this._lineStarts)this._lineStarts.removeValues(J.startLineNumber,J.endLineNumber-J.startLineNumber)}_acceptInsertText(J,X){if(X.length===0)return;let Y=NJ(X);if(Y.length===1){this._setLineText(J.lineNumber-1,this._lines[J.lineNumber-1].substring(0,J.column-1)+Y[0]+this._lines[J.lineNumber-1].substring(J.column-1));return}Y[Y.length-1]+=this._lines[J.lineNumber-1].substring(J.column-1),this._setLineText(J.lineNumber-1,this._lines[J.lineNumber-1].substring(0,J.column-1)+Y[0]);let Z=new Uint32Array(Y.length-1);for(let Q=1;Q<Y.length;Q++)this._lines.splice(J.lineNumber+Q-1,0,Y[Q]),Z[Q-1]=Y[Q].length+this._eol.length;if(this._lineStarts)this._lineStarts.insertValues(J.lineNumber,Z)}}var o00=60000;class FC extends y{constructor(J,X,Y=!1){super();if(this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=J,this._modelService=X,!Y){let Z=new Iq;Z.cancelAndSet(()=>this._checkStopModelSync(),Math.round(o00/2)),this._register(Z)}}dispose(){for(let J in this._syncedModels)D1(this._syncedModels[J]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(J,X=!1){for(let Y of J){let Z=Y.toString();if(!this._syncedModels[Z])this._beginModelSync(Y,X);if(this._syncedModels[Z])this._syncedModelsLastUsedTime[Z]=new Date().getTime()}}_checkStopModelSync(){let J=new Date().getTime(),X=[];for(let Y in this._syncedModelsLastUsedTime)if(J-this._syncedModelsLastUsedTime[Y]>o00)X.push(Y);for(let Y of X)this._stopModelSync(Y)}_beginModelSync(J,X){let Y=this._modelService.getModel(J);if(!Y)return;if(!X&&Y.isTooLargeForSyncing())return;let Z=J.toString();this._proxy.$acceptNewModel({url:Y.uri.toString(),lines:Y.getLinesContent(),EOL:Y.getEOL(),versionId:Y.getVersionId()});let Q=new a;Q.add(Y.onDidChangeContent(($)=>{this._proxy.$acceptModelChanged(Z.toString(),$)})),Q.add(Y.onWillDispose(()=>{this._stopModelSync(Z)})),Q.add(J0(()=>{this._proxy.$acceptRemovedModel(Z)})),this._syncedModels[Z]=Q}_stopModelSync(J){let X=this._syncedModels[J];delete this._syncedModels[J],delete this._syncedModelsLastUsedTime[J],D1(X)}}class BC{constructor(){this._models=Object.create(null)}getModel(J){return this._models[J]}getModels(){let J=[];return Object.keys(this._models).forEach((X)=>J.push(this._models[X])),J}$acceptNewModel(J){this._models[J.url]=new n00(R0.parse(J.url),J.lines,J.EOL,J.versionId)}$acceptModelChanged(J,X){if(!this._models[J])return;this._models[J].onEvents(X)}$acceptRemovedModel(J){if(!this._models[J])return;delete this._models[J]}}class n00 extends zC{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(J){let X=[];for(let Y=0;Y<this._lines.length;Y++){let Z=this._lines[Y],Q=this.offsetAt(new C(Y+1,1)),$=Z.matchAll(J);for(let q of $){if(q.index||q.index===0)q.index=q.index+Q;X.push(q)}}return X}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(J){return this._lines[J-1]}getWordAtPosition(J,X){let Y=d$(J.column,Bz(X),this._lines[J.lineNumber-1],0);if(Y)return new T(J.lineNumber,Y.startColumn,J.lineNumber,Y.endColumn);return null}words(J){let X=this._lines,Y=this._wordenize.bind(this),Z=0,Q=\"\",$=0,q=[];return{*[Symbol.iterator](){while(!0)if($<q.length){let G=Q.substring(q[$].start,q[$].end);$+=1,yield G}else if(Z<X.length)Q=X[Z],q=Y(Q,J),$=0,Z+=1;else break}}}getLineWords(J,X){let Y=this._lines[J-1],Z=this._wordenize(Y,X),Q=[];for(let $ of Z)Q.push({word:Y.substring($.start,$.end),startColumn:$.start+1,endColumn:$.end+1});return Q}_wordenize(J,X){let Y=[],Z;X.lastIndex=0;while(Z=X.exec(J)){if(Z[0].length===0)break;Y.push({start:Z.index,end:Z.index+Z[0].length})}return Y}getValueInRange(J){if(J=this._validateRange(J),J.startLineNumber===J.endLineNumber)return this._lines[J.startLineNumber-1].substring(J.startColumn-1,J.endColumn-1);let X=this._eol,Y=J.startLineNumber-1,Z=J.endLineNumber-1,Q=[];Q.push(this._lines[Y].substring(J.startColumn-1));for(let $=Y+1;$<Z;$++)Q.push(this._lines[$]);return Q.push(this._lines[Z].substring(0,J.endColumn-1)),Q.join(X)}offsetAt(J){return J=this._validatePosition(J),this._ensureLineStarts(),this._lineStarts.getPrefixSum(J.lineNumber-2)+(J.column-1)}positionAt(J){J=Math.floor(J),J=Math.max(0,J),this._ensureLineStarts();let X=this._lineStarts.getIndexOf(J),Y=this._lines[X.index].length;return{lineNumber:1+X.index,column:1+Math.min(X.remainder,Y)}}_validateRange(J){let X=this._validatePosition({lineNumber:J.startLineNumber,column:J.startColumn}),Y=this._validatePosition({lineNumber:J.endLineNumber,column:J.endColumn});if(X.lineNumber!==J.startLineNumber||X.column!==J.startColumn||Y.lineNumber!==J.endLineNumber||Y.column!==J.endColumn)return{startLineNumber:X.lineNumber,startColumn:X.column,endLineNumber:Y.lineNumber,endColumn:Y.column};return J}_validatePosition(J){if(!C.isIPosition(J))throw Error(\"bad position\");let{lineNumber:X,column:Y}=J,Z=!1;if(X<1)X=1,Y=1,Z=!0;else if(X>this._lines.length)X=this._lines.length,Y=this._lines[X-1].length+1,Z=!0;else{let Q=this._lines[X-1].length+1;if(Y<1)Y=1,Z=!0;else if(Y>Q)Y=Q,Z=!0}if(!Z)return J;else return{lineNumber:X,column:Y}}}class DV{constructor(J=null){this._foreignModule=J,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new BC}dispose(){}async $ping(){return\"pong\"}_getModel(J){return this._workerTextModelSyncServer.getModel(J)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(J){this._workerTextModelSyncServer.$acceptNewModel(J)}$acceptModelChanged(J,X){this._workerTextModelSyncServer.$acceptModelChanged(J,X)}$acceptRemovedModel(J){this._workerTextModelSyncServer.$acceptRemovedModel(J)}async $computeUnicodeHighlights(J,X,Y){let Z=this._getModel(J);if(!Z)return{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0};return sb.computeUnicodeHighlights(Z,X,Y)}async $findSectionHeaders(J,X){let Y=this._getModel(J);if(!Y)return[];return r00(Y,X)}async $computeDiff(J,X,Y,Z){let Q=this._getModel(J),$=this._getModel(X);if(!Q||!$)return null;let q=await nW0(Z);return DV.computeDiff(Q,$,Y,q)}static computeDiff(J,X,Y,Z){let Q=J.getLinesContent(),$=X.getLinesContent(),q=Z.computeDiff(Q,$,Y),G=q.changes.length>0?!1:this._modelsAreIdentical(J,X);function U(H){return H.map((V)=>[V.original.startLineNumber,V.original.endLineNumberExclusive,V.modified.startLineNumber,V.modified.endLineNumberExclusive,V.innerChanges?.map((K)=>[K.originalRange.startLineNumber,K.originalRange.startColumn,K.originalRange.endLineNumber,K.originalRange.endColumn,K.modifiedRange.startLineNumber,K.modifiedRange.startColumn,K.modifiedRange.endLineNumber,K.modifiedRange.endColumn])])}return{identical:G,quitEarly:q.hitTimeout,changes:U(q.changes),moves:q.moves.map((H)=>[H.lineRangeMapping.original.startLineNumber,H.lineRangeMapping.original.endLineNumberExclusive,H.lineRangeMapping.modified.startLineNumber,H.lineRangeMapping.modified.endLineNumberExclusive,U(H.changes)])}}static _modelsAreIdentical(J,X){let Y=J.getLineCount(),Z=X.getLineCount();if(Y!==Z)return!1;for(let Q=1;Q<=Y;Q++){let $=J.getLineContent(Q),q=X.getLineContent(Q);if($!==q)return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(J,X,Y){let Z=this._getModel(J);if(!Z)return X;let Q=[],$=void 0;X=X.slice(0).sort((G,U)=>{if(G.range&&U.range)return T.compareRangesUsingStarts(G.range,U.range);let H=G.range?0:1,V=U.range?0:1;return H-V});let q=0;for(let G=1;G<X.length;G++)if(T.getEndPosition(X[q].range).equals(T.getStartPosition(X[G].range)))X[q].range=T.fromPositions(T.getStartPosition(X[q].range),T.getEndPosition(X[G].range)),X[q].text+=X[G].text;else q++,X[q]=X[G];X.length=q+1;for(let{range:G,text:U,eol:H}of X){if(typeof H===\"number\")$=H;if(T.isEmpty(G)&&!U)continue;let V=Z.getValueInRange(G);if(U=U.replace(/\\r\\n|\\n|\\r/g,Z.eol),V===U)continue;if(Math.max(U.length,V.length)>DV._diffLimit){Q.push({range:G,text:U});continue}let K=q00(V,U,Y),j=Z.offsetAt(T.lift(G).getStartPosition());for(let W of K){let z=Z.positionAt(j+W.originalStart),B=Z.positionAt(j+W.originalStart+W.originalLength),P={text:U.substr(W.modifiedStart,W.modifiedLength),range:{startLineNumber:z.lineNumber,startColumn:z.column,endLineNumber:B.lineNumber,endColumn:B.column}};if(Z.getValueInRange(P.range)!==P.text)Q.push(P)}}if(typeof $===\"number\")Q.push({eol:$,text:\"\",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}});return Q}async $computeLinks(J){let X=this._getModel(J);if(!X)return null;return H00(X)}async $computeDefaultDocumentColors(J){let X=this._getModel(J);if(!X)return null;return a00(X)}static{this._suggestionsLimit=1e4}async $textualSuggest(J,X,Y,Z){let Q=new v5,$=new RegExp(Y,Z),q=new Set;J:for(let G of J){let U=this._getModel(G);if(!U)continue;for(let H of U.words($)){if(H===X||!isNaN(Number(H)))continue;if(q.add(H),q.size>DV._suggestionsLimit)break J}}return{words:Array.from(q),duration:Q.elapsed()}}async $computeWordRanges(J,X,Y,Z){let Q=this._getModel(J);if(!Q)return Object.create(null);let $=new RegExp(Y,Z),q=Object.create(null);for(let G=X.startLineNumber;G<X.endLineNumber;G++){let U=Q.getLineWords(G,$);for(let H of U){if(!isNaN(Number(H.word)))continue;let V=q[H.word];if(!V)V=[],q[H.word]=V;V.push({startLineNumber:G,startColumn:H.startColumn,endLineNumber:G,endColumn:H.endColumn})}}return q}async $navigateValueSet(J,X,Y,Z,Q){let $=this._getModel(J);if(!$)return null;let q=new RegExp(Z,Q);if(X.startColumn===X.endColumn)X={startLineNumber:X.startLineNumber,startColumn:X.startColumn,endLineNumber:X.endLineNumber,endColumn:X.endColumn+1};let G=$.getValueInRange(X),U=$.getWordAtPosition({lineNumber:X.startLineNumber,column:X.startColumn},q);if(!U)return null;let H=$.getValueInRange(U);return gM.INSTANCE.navigateValueSet(X,G,U,H,Y)}$fmr(J,X){if(!this._foreignModule||typeof this._foreignModule[J]!==\"function\")return Promise.reject(Error(\"Missing requestHandler or method: \"+J));try{return Promise.resolve(this._foreignModule[J].apply(this._foreignModule,X))}catch(Y){return Promise.reject(Y)}}}if(typeof importScripts===\"function\")globalThis.monaco=vO();function nW0(J){switch(J){case\"legacy\":return KF.getLegacy();case\"advanced\":return KF.getDefault();case\"advanced-external\":return KF.getAdvancedExternal();case\"advanced-wasm\":return KF.getAdvancedWasm()}}var lM=W0(\"textResourceConfigurationService\"),sM=W0(\"textResourcePropertiesService\");var $1=W0(\"ILanguageFeaturesService\");class zF{static{this.CHANNEL_NAME=\"editorWorkerHost\"}static getChannel(J){return J.getChannel(zF.CHANNEL_NAME)}static setChannel(J,X){J.setChannel(zF.CHANNEL_NAME,X)}}function tW0(){return VV.defaultChatAgent?.completionsEnablementSetting}function t00(J,X,Y=\"*\"){let Z=tW0();if(!Z)return!1;return eW0(J.getValue(X,Z),Y)}function eW0(J,X=\"*\"){if(!E6(J))return!1;if(typeof J[X]<\"u\")return Boolean(J[X]);return Boolean(J[\"*\"])}var PC=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},yY=function(J,X){return function(Y,Z){X(Y,Z,J)}},_C,e00=300000;function YG(J,X){let Y=J.getModel(X);if(!Y)return!1;if(Y.isTooLargeForSyncing())return!1;return!0}var aM=class extends y{static{_C=this}static{this.workerDescriptor=new Ab({esmModuleLocation:()=>n$.asBrowserUri(\"vs/editor/common/services/editorWebWorkerMain.js\"),esmModuleLocationBundler:()=>new URL(\"../../common/services/editorWebWorkerMain.js\",import.meta.url),label:\"editorWorkerService\"})}constructor(X,Y,Z,Q,$,q){super();this._languageConfigurationService=Q,this._webWorkerService=q,this._modelService=X,this._workerManager=this._register(new AC(_C.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=Z,this._register($.linkProvider.register({language:\"*\",hasAccessToAllModels:!0},{provideLinks:async(G,U)=>{if(!YG(this._modelService,G.uri))return Promise.resolve({links:[]});let V=await(await this._workerWithResources([G.uri])).$computeLinks(G.uri.toString());return V&&{links:V}}})),this._register($.completionProvider.register(\"*\",new J10(this._workerManager,Y,this._modelService,this._languageConfigurationService,this._logService,$)))}canComputeUnicodeHighlights(X){return YG(this._modelService,X)}async computedUnicodeHighlights(X,Y,Z){return(await this._workerWithResources([X])).$computeUnicodeHighlights(X.toString(),Y,Z)}async computeDiff(X,Y,Z,Q){let q=await(await this._workerWithResources([X,Y],!0)).$computeDiff(X.toString(),Y.toString(),Z,Q);if(!q)return null;return{identical:q.identical,quitEarly:q.quitEarly,changes:U(q.changes),moves:q.moves.map((H)=>new nq(new W8(new D0(H[0],H[1]),new D0(H[2],H[3])),U(H[4])))};function U(H){return H.map((V)=>new L5(new D0(V[0],V[1]),new D0(V[2],V[3]),V[4]?.map((K)=>new o8(new T(K[0],K[1],K[2],K[3]),new T(K[4],K[5],K[6],K[7])))))}}async computeMoreMinimalEdits(X,Y,Z=!1){if(Yq(Y)){if(!YG(this._modelService,X))return Promise.resolve(Y);let Q=v5.create(),$=this._workerWithResources([X]).then((q)=>q.$computeMoreMinimalEdits(X.toString(),Y,Z));return $.finally(()=>this._logService.trace(\"FORMAT#computeMoreMinimalEdits\",X.toString(!0),Q.elapsed())),Promise.race([$,PY(1000).then(()=>Y)])}else return Promise.resolve(void 0)}canNavigateValueSet(X){return YG(this._modelService,X)}async navigateValueSet(X,Y,Z){let Q=this._modelService.getModel(X);if(!Q)return null;let $=this._languageConfigurationService.getLanguageConfiguration(Q.getLanguageId()).getWordDefinition(),q=$.source,G=$.flags;return(await this._workerWithResources([X])).$navigateValueSet(X.toString(),Y,Z,q,G)}canComputeWordRanges(X){return YG(this._modelService,X)}async computeWordRanges(X,Y){let Z=this._modelService.getModel(X);if(!Z)return Promise.resolve(null);let Q=this._languageConfigurationService.getLanguageConfiguration(Z.getLanguageId()).getWordDefinition(),$=Q.source,q=Q.flags;return(await this._workerWithResources([X])).$computeWordRanges(X.toString(),Y,$,q)}async findSectionHeaders(X,Y){return(await this._workerWithResources([X])).$findSectionHeaders(X.toString(),Y)}async computeDefaultDocumentColors(X){return(await this._workerWithResources([X])).$computeDefaultDocumentColors(X.toString())}async _workerWithResources(X,Y=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(X,Y)}};aM=_C=PC([yY(0,j8),yY(1,lM),yY(2,x1),yY(3,u6),yY(4,$1),yY(5,j2)],aM);class J10{constructor(J,X,Y,Z,Q,$){this.languageConfigurationService=Z,this.logService=Q,this.languageFeaturesService=$,this._debugDisplayName=\"wordbasedCompletions\",this._workerManager=J,this._configurationService=X,this._modelService=Y}async provideCompletionItems(J,X){let Y=this._configurationService.getValue(J.uri,X,\"editor\");if(Y.wordBasedSuggestions===\"off\")return;if(Y.wordBasedSuggestions===\"offWithInlineSuggestions\"&&this.languageFeaturesService.inlineCompletionsProvider.has(J)&&t00(this._configurationService,J.uri,J.getLanguageId()))return;let Z=[];if(Y.wordBasedSuggestions===\"currentDocument\"){if(YG(this._modelService,J.uri))Z.push(J.uri)}else for(let V of this._modelService.getModels()){if(!YG(this._modelService,V.uri))continue;if(V===J)Z.unshift(V.uri);else if(Y.wordBasedSuggestions===\"allDocuments\"||V.getLanguageId()===J.getLanguageId())Z.push(V.uri)}if(Z.length===0)return;let Q=this.languageConfigurationService.getLanguageConfiguration(J.getLanguageId()).getWordDefinition(),$=J.getWordAtPosition(X),q=!$?T.fromPositions(X):new T(X.lineNumber,$.startColumn,X.lineNumber,$.endColumn),G=q.setEndPosition(X.lineNumber,X.column);this.logService.trace(\"[WordBasedCompletionItemProvider]\",`word: \"${$?.word||\"\"}\", wordDef: \"${Q}\", replace: [${q.toString()}], insert: [${G.toString()}]`);let H=await(await this._workerManager.withWorker()).textualSuggest(Z,$?.word,Q);if(!H)return;return{duration:H.duration,suggestions:H.words.map((V)=>{return{kind:18,label:V,insertText:V,range:{insert:G,replace:q}}})}}}var AC=class extends y{constructor(X,Y,Z){super();this._workerDescriptor=X,this._modelService=Y,this._webWorkerService=Z,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new Cq).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(e00/2),X1),this._register(this._modelService.onModelRemoved(($)=>this._checkStopEmptyWorker()))}dispose(){if(this._editorWorkerClient)this._editorWorkerClient.dispose(),this._editorWorkerClient=null;super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;if(this._modelService.getModels().length===0)this._editorWorkerClient.dispose(),this._editorWorkerClient=null}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;if(new Date().getTime()-this._lastWorkerUsedTime>e00)this._editorWorkerClient.dispose(),this._editorWorkerClient=null}withWorker(){if(this._lastWorkerUsedTime=new Date().getTime(),!this._editorWorkerClient)this._editorWorkerClient=new FF(this._workerDescriptor,!1,this._modelService,this._webWorkerService);return Promise.resolve(this._editorWorkerClient)}};AC=PC([yY(1,j8),yY(2,j2)],AC);class X10{constructor(J){this._instance=J,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(J,X){throw Error(\"Not supported\")}}var FF=class extends y{constructor(X,Y,Z,Q){super();this._workerDescriptorOrWorker=X,this._disposed=!1,this._modelService=Z,this._webWorkerService=Q,this._keepIdleModels=Y,this._worker=null,this._modelManager=null}fhr(X,Y){throw Error(\"Not implemented!\")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),zF.setChannel(this._worker,this._createEditorWorkerHost())}catch(X){kM(X),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let X=this._getOrCreateWorker().proxy;return await X.$ping(),X}catch(X){return kM(X),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new X10(new DV(null))}_createEditorWorkerHost(){return{$fhr:(X,Y)=>this.fhr(X,Y)}}_getOrCreateModelManager(X){if(!this._modelManager)this._modelManager=this._register(new FC(X,this._modelService,this._keepIdleModels));return this._modelManager}async workerWithSyncedResources(X,Y=!1){if(this._disposed)return Promise.reject(Jo());let Z=await this._getProxy();return this._getOrCreateModelManager(Z).ensureSyncedResources(X,Y),Z}async textualSuggest(X,Y,Z){let Q=await this.workerWithSyncedResources(X),$=Z.source,q=Z.flags;return Q.$textualSuggest(X.map((G)=>G.toString()),Y,$,q)}dispose(){super.dispose(),this._disposed=!0}};FF=PC([yY(2,j8),yY(3,j2)],FF);function Y10(J,X,Y){return new Z10(J,X,Y)}class Z10 extends FF{constructor(J,X,Y){super(Y.worker,Y.keepIdleModels||!1,J,X);this._foreignModuleHost=Y.host||null,this._foreignProxy=this._getProxy().then((Z)=>{return new Proxy({},{get(Q,$,q){if($===\"then\")return;if(typeof $!==\"string\")throw Error(\"Not supported\");return(...G)=>{return Z.$fmr($,G)}}})})}fhr(J,X){if(!this._foreignModuleHost||typeof this._foreignModuleHost[J]!==\"function\")return Promise.reject(Error(\"Missing method \"+J+\" or missing main thread foreign host.\"));try{return Promise.resolve(this._foreignModuleHost[J].apply(this._foreignModuleHost,X))}catch(Y){return Promise.reject(Y)}}getProxy(){return this._foreignProxy}withSyncedResources(J){return this.workerWithSyncedResources(J).then((X)=>this.getProxy())}}var P2={ICodeEditor:\"vs.editor.ICodeEditor\",IDiffEditor:\"vs.editor.IDiffEditor\"};var D2=new class{clone(){return this}equals(J){return this===J}};function iM(J,X){return new Dq([new zY(0,\"\",J)],X)}function OV(J,X){let Y=new Uint32Array(2);return Y[0]=0,Y[1]=(J<<0|0|0|32768|33554432)>>>0,new s$(Y,[],X===null?D2:X)}function q4(J,X){let Y=Tq();if(Y?.createTrustedTypesPolicy)try{return Y.createTrustedTypesPolicy(J,X)}catch(Z){b0(Z);return}try{return globalThis.trustedTypes?.createPolicy(J,X)}catch(Z){b0(Z);return}}class I5{static getLanguageId(J){return(J&255)>>>0}static getTokenType(J){return(J&768)>>>8}static containsBalancedBrackets(J){return(J&1024)!==0}static getFontStyle(J){return(J&30720)>>>11}static getForeground(J){return(J&16744448)>>>15}static getBackground(J){return(J&4278190080)>>>24}static getClassNameFromMetadata(J){let Y=\"mtk\"+this.getForeground(J),Z=this.getFontStyle(J);if(Z&1)Y+=\" mtki\";if(Z&2)Y+=\" mtkb\";if(Z&4)Y+=\" mtku\";if(Z&8)Y+=\" mtks\";return Y}static getInlineStyleFromMetadata(J,X){let Y=this.getForeground(J),Z=this.getFontStyle(J),Q=`color: ${X[Y]};`;if(Z&1)Q+=\"font-style: italic;\";if(Z&2)Q+=\"font-weight: bold;\";let $=\"\";if(Z&4)$+=\" underline\";if(Z&8)$+=\" line-through\";if($)Q+=`text-decoration:${$};`;return Q}static getPresentationFromMetadata(J){let X=this.getForeground(J),Y=this.getFontStyle(J);return{foreground:X,italic:Boolean(Y&1),bold:Boolean(Y&2),underline:Boolean(Y&4),strikethrough:Boolean(Y&8)}}}class b1{static createEmpty(J,X){let Y=b1.defaultTokenMetadata,Z=new Uint32Array(2);return Z[0]=J.length,Z[1]=Y,new b1(Z,J,X)}static createFromTextAndMetadata(J,X){let Y=0,Z=\"\",Q=[];for(let{text:$,metadata:q}of J)Q.push(Y+$.length,q),Y+=$.length,Z+=$;return new b1(new Uint32Array(Q),Z,X)}static convertToEndOffset(J,X){let Z=(J.length>>>1)-1;for(let Q=0;Q<Z;Q++)J[Q<<1]=J[Q+1<<1];J[Z<<1]=X}static findIndexInTokensArray(J,X){if(J.length<=2)return 0;let Y=0,Z=(J.length>>>1)-1;while(Y<Z){let Q=Y+Math.floor((Z-Y)/2),$=J[Q<<1];if($===X)return Q+1;else if($<X)Y=Q+1;else if($>X)Z=Q}return Y}static{this.defaultTokenMetadata=33587200}constructor(J,X,Y){if(this._lineTokensBrand=void 0,(J.length>1?J[J.length-2]:0)!==X.length)b0(Error(\"Token length and text length do not match!\"));this._tokens=J,this._tokensCount=this._tokens.length>>>1,this._text=X,this.languageIdCodec=Y}getTextLength(){return this._text.length}equals(J){if(J instanceof b1)return this.slicedEquals(J,0,this._tokensCount);return!1}slicedEquals(J,X,Y){if(this._text!==J._text)return!1;if(this._tokensCount!==J._tokensCount)return!1;let Z=X<<1,Q=Z+(Y<<1);for(let $=Z;$<Q;$++)if(this._tokens[$]!==J._tokens[$])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(J){if(J>0)return this._tokens[J-1<<1];return 0}getMetadata(J){return this._tokens[(J<<1)+1]}getLanguageId(J){let X=this._tokens[(J<<1)+1],Y=I5.getLanguageId(X);return this.languageIdCodec.decodeLanguageId(Y)}getStandardTokenType(J){let X=this._tokens[(J<<1)+1];return I5.getTokenType(X)}getForeground(J){let X=this._tokens[(J<<1)+1];return I5.getForeground(X)}getClassName(J){let X=this._tokens[(J<<1)+1];return I5.getClassNameFromMetadata(X)}getInlineStyle(J,X){let Y=this._tokens[(J<<1)+1];return I5.getInlineStyleFromMetadata(Y,X)}getPresentation(J){let X=this._tokens[(J<<1)+1];return I5.getPresentationFromMetadata(X)}getEndOffset(J){return this._tokens[J<<1]}findTokenIndexAtOffset(J){return b1.findIndexInTokensArray(this._tokens,J)}inflate(){return this}sliceAndInflate(J,X,Y){return new DC(this,J,X,Y)}sliceZeroCopy(J){return this.sliceAndInflate(J.start,J.endExclusive,0)}withInserted(J){if(J.length===0)return this;let X=0,Y=0,Z=\"\",Q=[],$=0;while(!0){let q=X<this._tokensCount?this._tokens[X<<1]:-1,G=Y<J.length?J[Y]:null;if(q!==-1&&(G===null||q<=G.offset)){Z+=this._text.substring($,q);let U=this._tokens[(X<<1)+1];Q.push(Z.length,U),X++,$=q}else if(G){if(G.offset>$){Z+=this._text.substring($,G.offset);let U=this._tokens[(X<<1)+1];Q.push(Z.length,U),$=G.offset}Z+=G.text,Q.push(Z.length,G.tokenMetadata),Y++}else break}return new b1(new Uint32Array(Q),Z,this.languageIdCodec)}getTokensInRange(J){let X=new Q10,Y=this.findTokenIndexAtOffset(J.start),Z=this.findTokenIndexAtOffset(J.endExclusive);for(let Q=Y;Q<=Z;Q++){let q=new H0(this.getStartOffset(Q),this.getEndOffset(Q)).intersectionLength(J);if(q>0)X.add(q,this.getMetadata(Q))}return X.build()}getTokenText(J){let X=this.getStartOffset(J),Y=this.getEndOffset(J);return this._text.substring(X,Y)}forEach(J){let X=this.getCount();for(let Y=0;Y<X;Y++)J(Y)}toString(){let J=\"\";return this.forEach((X)=>{J+=`[${this.getTokenText(X)}]{${this.getClassName(X)}}`}),J}}class DC{constructor(J,X,Y,Z){this._source=J,this._startOffset=X,this._endOffset=Y,this._deltaOffset=Z,this._firstTokenIndex=J.findTokenIndexAtOffset(X),this.languageIdCodec=J.languageIdCodec,this._tokensCount=0;for(let Q=this._firstTokenIndex,$=J.getCount();Q<$;Q++){if(J.getStartOffset(Q)>=Y)break;this._tokensCount++}}getMetadata(J){return this._source.getMetadata(this._firstTokenIndex+J)}getLanguageId(J){return this._source.getLanguageId(this._firstTokenIndex+J)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(J){if(J instanceof DC)return this._startOffset===J._startOffset&&this._endOffset===J._endOffset&&this._deltaOffset===J._deltaOffset&&this._source.slicedEquals(J._source,this._firstTokenIndex,this._tokensCount);return!1}getCount(){return this._tokensCount}getStandardTokenType(J){return this._source.getStandardTokenType(this._firstTokenIndex+J)}getForeground(J){return this._source.getForeground(this._firstTokenIndex+J)}getEndOffset(J){let X=this._source.getEndOffset(this._firstTokenIndex+J);return Math.min(this._endOffset,X)-this._startOffset+this._deltaOffset}getClassName(J){return this._source.getClassName(this._firstTokenIndex+J)}getInlineStyle(J,X){return this._source.getInlineStyle(this._firstTokenIndex+J,X)}getPresentation(J){return this._source.getPresentation(this._firstTokenIndex+J)}findTokenIndexAtOffset(J){return this._source.findTokenIndexAtOffset(J+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(J){let X=this._firstTokenIndex+J,Y=this._source.getStartOffset(X),Z=this._source.getEndOffset(X),Q=this._source.getTokenText(X);if(Y<this._startOffset)Q=Q.substring(this._startOffset-Y);if(Z>this._endOffset)Q=Q.substring(0,Q.length-(Z-this._endOffset));return Q}forEach(J){for(let X=0;X<this.getCount();X++)J(X)}}class BF{static fromLineTokens(J){let X=[];for(let Y=0;Y<J.getCount();Y++)X.push(new rM(J.getEndOffset(Y)-J.getStartOffset(Y),J.getMetadata(Y)));return BF.create(X)}static create(J){return new BF(J)}constructor(J){this._tokenInfo=J}toLineTokens(J,X){return b1.createFromTextAndMetadata(this.map((Y,Z)=>({text:Y.substring(J),metadata:Z.metadata})),X)}forEach(J){let X=0;for(let Y of this._tokenInfo){let Z=new H0(X,X+Y.length);J(Z,Y),X+=Y.length}}map(J){let X=[],Y=0;for(let Z of this._tokenInfo){let Q=new H0(Y,Y+Z.length);X.push(J(Q,Z)),Y+=Z.length}return X}slice(J){let X=[],Y=0;for(let Z of this._tokenInfo){let Q=Y,$=Q+Z.length;if($>J.start){if(Q>=J.endExclusive)break;let q=Math.max(0,J.start-Q),G=Math.max(0,$-J.endExclusive);X.push(new rM(Z.length-q-G,Z.metadata))}Y+=Z.length}return BF.create(X)}}class rM{constructor(J,X){this.length=J,this.metadata=X}}class Q10{constructor(){this._tokens=[]}add(J,X){this._tokens.push(new rM(J,X))}build(){return BF.create(this._tokens)}}class x7{constructor(J,X,Y,Z){this.startColumn=J,this.endColumn=X,this.className=Y,this.type=Z,this._lineDecorationBrand=void 0}static _equals(J,X){return J.startColumn===X.startColumn&&J.endColumn===X.endColumn&&J.className===X.className&&J.type===X.type}static equalsArr(J,X){let Y=J.length,Z=X.length;if(Y!==Z)return!1;for(let Q=0;Q<Y;Q++)if(!x7._equals(J[Q],X[Q]))return!1;return!0}static extractWrapped(J,X,Y){if(J.length===0)return J;let Z=X+1,Q=Y+1,$=Y-X,q=[],G=0;for(let U of J){if(U.endColumn<=Z||U.startColumn>=Q)continue;q[G++]=new x7(Math.max(1,U.startColumn-Z+1),Math.min($+1,U.endColumn-Z+1),U.className,U.type)}return q}static filter(J,X,Y,Z){if(J.length===0)return[];let Q=[],$=0;for(let q=0,G=J.length;q<G;q++){let U=J[q],H=U.range;if(H.endLineNumber<X||H.startLineNumber>X)continue;if(H.isEmpty()&&(U.type===0||U.type===3))continue;let V=H.startLineNumber===X?H.startColumn:Y,K=H.endLineNumber===X?H.endColumn:Z;Q[$++]=new x7(V,K,U.inlineClassName,U.type)}return Q}static _typeCompare(J,X){let Y=[2,0,1,3];return Y[J]-Y[X]}static compare(J,X){if(J.startColumn!==X.startColumn)return J.startColumn-X.startColumn;if(J.endColumn!==X.endColumn)return J.endColumn-X.endColumn;let Y=x7._typeCompare(J.type,X.type);if(Y!==0)return Y;if(J.className!==X.className)return J.className<X.className?-1:1;return 0}}class OC{constructor(J,X,Y,Z){this.startOffset=J,this.endOffset=X,this.className=Y,this.metadata=Z}}class oM{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(J){let X=0;for(let Y=0,Z=J.length;Y<Z;Y++)X|=J[Y];return X}consumeLowerThan(J,X,Y){while(this.count>0&&this.stopOffsets[0]<J){let Z=0;while(Z+1<this.count&&this.stopOffsets[Z]===this.stopOffsets[Z+1])Z++;Y.push(new OC(X,this.stopOffsets[Z],this.classNames.join(\" \"),oM._metadata(this.metadata))),X=this.stopOffsets[Z]+1,this.stopOffsets.splice(0,Z+1),this.classNames.splice(0,Z+1),this.metadata.splice(0,Z+1),this.count-=Z+1}if(this.count>0&&X<J)Y.push(new OC(X,J-1,this.classNames.join(\" \"),oM._metadata(this.metadata))),X=J;return X}insert(J,X,Y){if(this.count===0||this.stopOffsets[this.count-1]<=J)this.stopOffsets.push(J),this.classNames.push(X),this.metadata.push(Y);else for(let Z=0;Z<this.count;Z++)if(this.stopOffsets[Z]>=J){this.stopOffsets.splice(Z,0,J),this.classNames.splice(Z,0,X),this.metadata.splice(Z,0,Y);break}this.count++;return}}class MC{static normalize(J,X){if(X.length===0)return[];let Y=[],Z=new oM,Q=0;for(let $=0,q=X.length;$<q;$++){let G=X[$],U=G.startColumn,H=G.endColumn,V=G.className,K=G.type===1?2:G.type===2?4:0;if(U>1){let z=J.charCodeAt(U-2);if(V6(z))U--}if(H>1){let z=J.charCodeAt(H-2);if(V6(z))H--}let j=U-1,W=H-2;if(Q=Z.consumeLowerThan(j,Q,Y),Z.count===0)Q=j;Z.insert(W,V,K)}return Z.consumeLowerThan(1073741824,Q,Y),Y}}class z8{constructor(J,X,Y,Z){this.endIndex=J,this.type=X,this.metadata=Y,this.containsRTL=Z,this._linePartBrand=void 0}isWhitespace(){return this.metadata&1?!0:!1}isPseudoAfter(){return this.metadata&4?!0:!1}}class u9{get isLTR(){return!this.containsRTL&&this.textDirection!==N8.RTL}constructor(J,X,Y,Z,Q,$,q,G,U,H,V,K,j,W,z,B,P,_,A,O,D,R=!1){this.useMonospaceOptimizations=J,this.canUseHalfwidthRightwardsArrow=X,this.lineContent=Y,this.continuesWithWrappedLine=Z,this.isBasicASCII=Q,this.containsRTL=$,this.fauxIndentLength=q,this.lineTokens=G,this.lineDecorations=U.sort(x7.compare),this.tabSize=H,this.startVisibleColumn=V,this.spaceWidth=K,this.stopRenderingLineAfter=z,this.renderWhitespace=B===\"all\"?4:B===\"boundary\"?1:B===\"selection\"?2:B===\"trailing\"?3:0,this.renderControlCharacters=P,this.fontLigatures=_,this.selectionsOnLine=A&&A.sort((k,I)=>k.start<I.start?-1:1),this.renderNewLineWhenEmpty=R,this.textDirection=O,this.verticalScrollbarSize=D;let N=Math.abs(W-K),w=Math.abs(j-K);if(N<w)this.renderSpaceWidth=W,this.renderSpaceCharCode=11825;else this.renderSpaceWidth=j,this.renderSpaceCharCode=183}sameSelection(J){if(this.selectionsOnLine===null)return J===null;if(J===null)return!1;if(J.length!==this.selectionsOnLine.length)return!1;for(let X=0;X<this.selectionsOnLine.length;X++)if(!this.selectionsOnLine[X].equals(J[X]))return!1;return!0}equals(J){return this.useMonospaceOptimizations===J.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===J.canUseHalfwidthRightwardsArrow&&this.lineContent===J.lineContent&&this.continuesWithWrappedLine===J.continuesWithWrappedLine&&this.isBasicASCII===J.isBasicASCII&&this.containsRTL===J.containsRTL&&this.fauxIndentLength===J.fauxIndentLength&&this.tabSize===J.tabSize&&this.startVisibleColumn===J.startVisibleColumn&&this.spaceWidth===J.spaceWidth&&this.renderSpaceWidth===J.renderSpaceWidth&&this.renderSpaceCharCode===J.renderSpaceCharCode&&this.stopRenderingLineAfter===J.stopRenderingLineAfter&&this.renderWhitespace===J.renderWhitespace&&this.renderControlCharacters===J.renderControlCharacters&&this.fontLigatures===J.fontLigatures&&x7.equalsArr(this.lineDecorations,J.lineDecorations)&&this.lineTokens.equals(J.lineTokens)&&this.sameSelection(J.selectionsOnLine)&&this.textDirection===J.textDirection&&this.verticalScrollbarSize===J.verticalScrollbarSize&&this.renderNewLineWhenEmpty===J.renderNewLineWhenEmpty}}class nM{constructor(J,X){this.partIndex=J,this.charIndex=X}}class xY{static getPartIndex(J){return(J&4294901760)>>>16}static getCharIndex(J){return(J&65535)>>>0}constructor(J,X){this.length=J,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(J,X,Y,Z){let Q=(X<<16|Y<<0)>>>0;this._data[J-1]=Q,this._horizontalOffset[J-1]=Z}getHorizontalOffset(J){if(this._horizontalOffset.length===0)return 0;return this._horizontalOffset[J-1]}charOffsetToPartData(J){if(this.length===0)return 0;if(J<0)return this._data[0];if(J>=this.length)return this._data[this.length-1];return this._data[J]}getDomPosition(J){let X=this.charOffsetToPartData(J-1),Y=xY.getPartIndex(X),Z=xY.getCharIndex(X);return new nM(Y,Z)}getColumn(J,X){return this.partDataToCharOffset(J.partIndex,X,J.charIndex)+1}partDataToCharOffset(J,X,Y){if(this.length===0)return 0;let Z=(J<<16|Y<<0)>>>0,Q=0,$=this.length-1;while(Q+1<$){let z=Q+$>>>1,B=this._data[z];if(B===Z)return z;else if(B>Z)$=z;else Q=z}if(Q===$)return Q;let q=this._data[Q],G=this._data[$];if(q===Z)return Q;if(G===Z)return $;let U=xY.getPartIndex(q),H=xY.getCharIndex(q),V=xY.getPartIndex(G),K;if(U!==V)K=X;else K=xY.getCharIndex(G);let j=Y-H,W=K-Y;if(j<=W)return Q;return $}}class MV{constructor(J,X){this._renderLineOutputBrand=void 0,this.characterMapping=J,this.containsForeignElements=X}}function ZG(J,X){if(J.lineContent.length===0){if(J.lineDecorations.length>0){X.appendString(\"<span>\");let Y=0,Z=0,Q=0;for(let q of J.lineDecorations)if(q.type===1||q.type===2){if(X.appendString('<span class=\"'),X.appendString(q.className),X.appendString('\"></span>'),q.type===1)Q|=1,Y++;if(q.type===2)Q|=2,Z++}X.appendString(\"</span>\");let $=new xY(1,Y+Z);return $.setColumnInfo(1,Y,0,0),new MV($,Q)}if(J.renderNewLineWhenEmpty)X.appendString(`<span><span>\n</span></span>`);else X.appendString(\"<span><span></span></span>\");return new MV(new xY(0,0),0)}return Gz0(Jz0(J),X)}class $10{constructor(J,X,Y){this.characterMapping=J,this.html=X,this.containsForeignElements=Y}}function RV(J){let X=new h9(1e4),Y=ZG(J,X);return new $10(Y.characterMapping,X.build(),Y.containsForeignElements)}class q10{constructor(J,X,Y,Z,Q,$,q,G,U,H,V,K,j,W,z){this.fontIsMonospace=J,this.canUseHalfwidthRightwardsArrow=X,this.lineContent=Y,this.len=Z,this.isOverflowing=Q,this.overflowingCharCount=$,this.parts=q,this.containsForeignElements=G,this.fauxIndentLength=U,this.tabSize=H,this.startVisibleColumn=V,this.spaceWidth=K,this.renderSpaceCharCode=j,this.renderWhitespace=W,this.renderControlCharacters=z}}function Jz0(J){let X=J.lineContent,Y,Z,Q;if(J.stopRenderingLineAfter!==-1&&J.stopRenderingLineAfter<X.length)Y=!0,Z=X.length-J.stopRenderingLineAfter,Q=J.stopRenderingLineAfter;else Y=!1,Z=0,Q=X.length;let $=Xz0(X,J.containsRTL,J.lineTokens,J.fauxIndentLength,Q);if(J.renderControlCharacters&&!J.isBasicASCII)$=Qz0(X,$);if(J.renderWhitespace===4||J.renderWhitespace===1||J.renderWhitespace===2&&!!J.selectionsOnLine||J.renderWhitespace===3&&!J.continuesWithWrappedLine)$=$z0(J,X,Q,$);let q=0;if(J.lineDecorations.length>0){for(let G=0,U=J.lineDecorations.length;G<U;G++){let H=J.lineDecorations[G];if(H.type===3)q|=1;else if(H.type===1)q|=1;else if(H.type===2)q|=2}$=qz0(X,Q,$,J.lineDecorations)}if(!J.containsRTL)$=Yz0(X,$,!J.isBasicASCII||J.fontLigatures);else $=Zz0(X,$);return new q10(J.useMonospaceOptimizations,J.canUseHalfwidthRightwardsArrow,X,Q,Y,Z,$,q,J.fauxIndentLength,J.tabSize,J.startVisibleColumn,J.spaceWidth,J.renderSpaceCharCode,J.renderWhitespace,J.renderControlCharacters)}function Xz0(J,X,Y,Z,Q){let $=[],q=0;if(Z>0)$[q++]=new z8(Z,\"\",0,!1);let G=Z;for(let U=0,H=Y.getCount();U<H;U++){let V=Y.getEndOffset(U);if(V<=Z)continue;let K=Y.getClassName(U);if(V>=Q){let W=X?_X(J.substring(G,Q)):!1;$[q++]=new z8(Q,K,0,W);break}let j=X?_X(J.substring(G,V)):!1;$[q++]=new z8(V,K,0,j),G=V}return $}function Yz0(J,X,Y){let Z=0,Q=[],$=0;if(Y)for(let q=0,G=X.length;q<G;q++){let U=X[q],H=U.endIndex;if(Z+50<H){let{type:V,metadata:K,containsRTL:j}=U,W=-1,z=Z;for(let B=Z;B<H;B++){if(J.charCodeAt(B)===32)W=B;if(W!==-1&&B-z>=50)Q[$++]=new z8(W+1,V,K,j),z=W+1,W=-1}if(z!==H)Q[$++]=new z8(H,V,K,j)}else Q[$++]=U;Z=H}else for(let q=0,G=X.length;q<G;q++){let U=X[q],H=U.endIndex,V=H-Z;if(V>50){let{type:K,metadata:j,containsRTL:W}=U,z=Math.ceil(V/50);for(let B=1;B<z;B++){let P=Z+B*50;Q[$++]=new z8(P,K,j,W)}Q[$++]=new z8(H,K,j,W)}else Q[$++]=U;Z=H}return Q}function Zz0(J,X){if(X.length===0)return X;let Y=X[0];if(!Y.containsRTL)return X;let Z=Y.endIndex,Q=0;for(let q=0;q<Z;q++){let G=J.charCodeAt(q);if(G!==32&&G!==9){Q=q;break}}if(Q===0)return X;let $=[];$.push(new z8(Q,Y.type,Y.metadata,!1)),$.push(new z8(Z,Y.type,Y.metadata,Y.containsRTL));for(let q=1;q<X.length;q++)$.push(X[q]);return $}function G10(J){if(J<32)return J!==9;if(J===127)return!0;if(J>=8234&&J<=8238||J>=8294&&J<=8297||J>=8206&&J<=8207||J===1564)return!0;return!1}function Qz0(J,X){let Y=[],Z=new z8(0,\"\",0,!1),Q=0;for(let $ of X){let q=$.endIndex;for(;Q<q;Q++){let G=J.charCodeAt(Q);if(G10(G)){if(Q>Z.endIndex)Z=new z8(Q,$.type,$.metadata,$.containsRTL),Y.push(Z);Z=new z8(Q+1,\"mtkcontrol\",$.metadata,!1),Y.push(Z)}}if(Q>Z.endIndex)Z=new z8(q,$.type,$.metadata,$.containsRTL),Y.push(Z)}return Y}function $z0(J,X,Y,Z){let{continuesWithWrappedLine:Q,fauxIndentLength:$,tabSize:q,startVisibleColumn:G,useMonospaceOptimizations:U,selectionsOnLine:H}=J,V=J.renderWhitespace===1,K=J.renderWhitespace===3,j=J.renderSpaceWidth!==J.spaceWidth,W=[],z=0,B=0,P=Z[B].type,_=Z[B].containsRTL,A=Z[B].endIndex,O=Z.length,D=!1,R=b6(X),N;if(R===-1)D=!0,R=Y,N=Y;else N=T5(X);let w=!1,k=0,I=H&&H[k],S=G%q;for(let u=$;u<Y;u++){let p=X.charCodeAt(u);if(I&&I.endExclusive<=u)k++,I=H&&H[k];let s;if(u<R||u>N)s=!0;else if(p===9)s=!0;else if(p===32)if(V)if(w)s=!0;else{let l=u+1<Y?X.charCodeAt(u+1):0;s=l===32||l===9}else s=!0;else s=!1;if(s&&H)s=!!I&&I.start<=u&&u<I.endExclusive;if(s&&K)s=D||u>N;if(s&&_){if(u>=R&&u<=N)s=!1}if(w){if(!s||!U&&S>=q){if(j){let l=z>0?W[z-1].endIndex:$;for(let n=l+1;n<=u;n++)W[z++]=new z8(n,\"mtkw\",1,!1)}else W[z++]=new z8(u,\"mtkw\",1,!1);S=S%q}}else if(u===A||s&&u>$)W[z++]=new z8(u,P,0,_),S=S%q;if(p===9)S=q;else if(T4(p))S+=2;else S++;w=s;while(u===A)if(B++,B<O)P=Z[B].type,_=Z[B].containsRTL,A=Z[B].endIndex;else break}let h=!1;if(w)if(Q&&V){let u=Y>0?X.charCodeAt(Y-1):0,p=Y>1?X.charCodeAt(Y-2):0;if(!(u===32&&(p!==32&&p!==9)))h=!0}else h=!0;if(h)if(j){let u=z>0?W[z-1].endIndex:$;for(let p=u+1;p<=Y;p++)W[z++]=new z8(p,\"mtkw\",1,!1)}else W[z++]=new z8(Y,\"mtkw\",1,!1);else W[z++]=new z8(Y,P,0,_);return W}function qz0(J,X,Y,Z){Z.sort(x7.compare);let Q=MC.normalize(J,Z),$=Q.length,q=0,G=[],U=0,H=0;for(let K=0,j=Y.length;K<j;K++){let W=Y[K],z=W.endIndex,B=W.type,P=W.metadata,_=W.containsRTL;while(q<$&&Q[q].startOffset<z){let A=Q[q];if(A.startOffset>H)H=A.startOffset,G[U++]=new z8(H,B,P,_);if(A.endOffset+1<=z)H=A.endOffset+1,G[U++]=new z8(H,B+\" \"+A.className,P|A.metadata,_),q++;else{H=z,G[U++]=new z8(H,B+\" \"+A.className,P|A.metadata,_);break}}if(z>H)H=z,G[U++]=new z8(H,B,P,_)}let V=Y[Y.length-1].endIndex;if(q<$&&Q[q].startOffset===V)while(q<$&&Q[q].startOffset===V){let K=Q[q];G[U++]=new z8(H,K.className,K.metadata,!1),q++}return G}function Gz0(J,X){let{fontIsMonospace:Y,canUseHalfwidthRightwardsArrow:Z,containsForeignElements:Q,lineContent:$,len:q,isOverflowing:G,overflowingCharCount:U,parts:H,fauxIndentLength:V,tabSize:K,startVisibleColumn:j,spaceWidth:W,renderSpaceCharCode:z,renderWhitespace:B,renderControlCharacters:P}=J,_=new xY(q+1,H.length),A=!1,O=0,D=j,R=0,N=0,w=0;X.appendString(\"<span>\");for(let k=0,I=H.length;k<I;k++){let S=H[k],h=S.endIndex,u=S.type,p=S.containsRTL,s=B!==0&&S.isWhitespace(),l=s&&!Y&&(u===\"mtkw\"||!Q),n=O===h&&S.isPseudoAfter();if(R=0,X.appendString(\"<span \"),p)X.appendString('style=\"unicode-bidi:isolate\" ');if(X.appendString('class=\"'),X.appendString(l?\"mtkz\":u),X.appendASCIICharCode(34),s){let X0=0;{let V0=O,e=D;for(;V0<h;V0++){let k0=($.charCodeAt(V0)===9?K-e%K:1)|0;if(X0+=k0,V0>=V)e+=k0}}if(l)X.appendString(' style=\"width:'),X.appendString(String(W*X0)),X.appendString('px\"');X.appendASCIICharCode(62);for(;O<h;O++){_.setColumnInfo(O+1,k-w,R,N),w=0;let V0=$.charCodeAt(O),e,L0;if(V0===9){if(e=K-D%K|0,L0=e,!Z||L0>1)X.appendCharCode(8594);else X.appendCharCode(65515);for(let k0=2;k0<=L0;k0++)X.appendCharCode(160)}else e=2,L0=1,X.appendCharCode(z),X.appendCharCode(8204);if(R+=e,N+=L0,O>=V)D+=L0}}else{X.appendASCIICharCode(62);for(;O<h;O++){_.setColumnInfo(O+1,k-w,R,N),w=0;let X0=$.charCodeAt(O),V0=1,e=1;switch(X0){case 9:V0=K-D%K,e=V0;for(let L0=1;L0<=V0;L0++)X.appendCharCode(160);break;case 32:X.appendCharCode(160);break;case 60:X.appendString(\"&lt;\");break;case 62:X.appendString(\"&gt;\");break;case 38:X.appendString(\"&amp;\");break;case 0:if(P)X.appendCharCode(9216);else X.appendString(\"&#00;\");break;case 65279:case 8232:case 8233:case 133:X.appendCharCode(65533);break;default:if(T4(X0))e++;if(P&&X0<32)X.appendCharCode(9216+X0);else if(P&&X0===127)X.appendCharCode(9249);else if(P&&G10(X0))X.appendString(\"[U+\"),X.appendString(Uz0(X0)),X.appendString(\"]\"),V0=8,e=V0;else X.appendCharCode(X0)}if(R+=V0,N+=e,O>=V)D+=e}}if(n)w++;else w=0;if(O>=q&&!A&&S.isPseudoAfter())A=!0,_.setColumnInfo(O+1,k,R,N);X.appendString(\"</span>\")}if(!A)_.setColumnInfo(q+1,H.length-1,R,N);if(G)X.appendString('<span class=\"mtkoverflow\">'),X.appendString(F(832,\"Show more ({0})\",Hz0(U))),X.appendString(\"</span>\");return X.appendString(\"</span>\"),new MV(_,Q)}function Uz0(J){return J.toString(16).toUpperCase().padStart(4,\"0\")}function Hz0(J){if(J<1024)return F(833,\"{0} chars\",J);if(J<1048576)return`${(J/1024).toFixed(1)} KB`;return`${(J/1024/1024).toFixed(1)} MB`}class tM{constructor(J,X,Y,Z){this._viewportBrand=void 0,this.top=J|0,this.left=X|0,this.width=Y|0,this.height=Z|0}}class RC{constructor(J,X){this.tabSize=J,this.data=X}}class NV{constructor(J,X,Y,Z,Q,$,q){this._viewLineDataBrand=void 0,this.content=J,this.continuesWithWrappedLine=X,this.minColumn=Y,this.maxColumn=Z,this.startVisibleColumn=Q,this.tokens=$,this.inlineDecorations=q}}class K7{constructor(J,X,Y,Z,Q,$,q,G,U,H,V,K){this.minColumn=J,this.maxColumn=X,this.content=Y,this.continuesWithWrappedLine=Z,this.isBasicASCII=K7.isBasicASCII(Y,$),this.containsRTL=K7.containsRTL(Y,this.isBasicASCII,Q),this.tokens=q,this.inlineDecorations=G,this.tabSize=U,this.startVisibleColumn=H,this.textDirection=V,this.hasVariableFonts=K}static isBasicASCII(J,X){if(X)return oH(J);return!0}static containsRTL(J,X,Y){if(!X&&Y)return _X(J);return!1}}class QG{constructor(J,X,Y){this.color=J,this.zIndex=X,this.data=Y}static compareByRenderingProps(J,X){if(J.zIndex===X.zIndex){if(J.color<X.color)return-1;if(J.color>X.color)return 1;return 0}return J.zIndex-X.zIndex}static equals(J,X){return J.color===X.color&&J.zIndex===X.zIndex&&w1(J.data,X.data)}static equalsArr(J,X){return w1(J,X,QG.equals)}}function Vz0(J){return Array.isArray(J)}function U10(J){return!Vz0(J)}function NC(J){return typeof J===\"string\"}function wC(J){return!NC(J)}function O2(J){return J?!1:!0}function TX(J,X){return J.ignoreCase&&X?X.toLowerCase():X}function TC(J){return J.replace(/[&<>'\"_]/g,\"-\")}function H10(J,X){console.log(`${J.languageId}: ${X}`)}function o1(J,X){return Error(`${J.languageId}: ${X}`)}function bY(J,X,Y,Z,Q){let $=/\\$((\\$)|(#)|(\\d\\d?)|[sS](\\d\\d?)|@(\\w+))/g,q=null;return X.replace($,function(G,U,H,V,K,j,W,z,B){if(!O2(H))return\"$\";if(!O2(V))return TX(J,Y);if(!O2(K)&&K<Z.length)return TX(J,Z[K]);if(!O2(W)&&J&&typeof J[W]===\"string\")return J[W];if(q===null)q=Q.split(\".\"),q.unshift(Q);if(!O2(j)&&j<q.length)return TX(J,q[j]);return\"\"})}function V10(J,X,Y){let Z=/\\$[sS](\\d\\d?)/g,Q=null;return X.replace(Z,function($,q){if(Q===null)Q=Y.split(\".\"),Q.unshift(Y);if(!O2(q)&&q<Q.length)return a8(TX(J,Q[q]));return\"\"})}function _F(J,X){let Y=X;while(Y&&Y.length>0){let Z=J.tokenizer[Y];if(Z)return Z;let Q=Y.lastIndexOf(\".\");if(Q<0)Y=null;else Y=Y.substr(0,Q)}return null}function K10(J,X){let Y=X;while(Y&&Y.length>0){if(J.stateNames[Y])return!0;let Q=Y.lastIndexOf(\".\");if(Q<0)Y=null;else Y=Y.substr(0,Q)}return!1}var Kz0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},jz0=function(J,X){return function(Y,Z){X(Y,Z,J)}},LC,j10=5;class PF{static{this._INSTANCE=new PF(j10)}static create(J,X){return this._INSTANCE.create(J,X)}constructor(J){this._maxCacheDepth=J,this._entries=Object.create(null)}create(J,X){if(J!==null&&J.depth>=this._maxCacheDepth)return new TV(J,X);let Y=TV.getStackElementId(J);if(Y.length>0)Y+=\"|\";Y+=X;let Z=this._entries[Y];if(Z)return Z;return Z=new TV(J,X),this._entries[Y]=Z,Z}}class TV{constructor(J,X){this.parent=J,this.state=X,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(J){let X=\"\";while(J!==null){if(X.length>0)X+=\"|\";X+=J.state,J=J.parent}return X}static _equals(J,X){while(J!==null&&X!==null){if(J===X)return!0;if(J.state!==X.state)return!1;J=J.parent,X=X.parent}if(J===null&&X===null)return!0;return!1}equals(J){return TV._equals(this,J)}push(J){return PF.create(this,J)}pop(){return this.parent}popall(){let J=this;while(J.parent)J=J.parent;return J}switchTo(J){return PF.create(this.parent,J)}}class wV{constructor(J,X){this.languageId=J,this.state=X}equals(J){return this.languageId===J.languageId&&this.state.equals(J.state)}clone(){if(this.state.clone()===this.state)return this;return new wV(this.languageId,this.state)}}class M2{static{this._INSTANCE=new M2(j10)}static create(J,X){return this._INSTANCE.create(J,X)}constructor(J){this._maxCacheDepth=J,this._entries=Object.create(null)}create(J,X){if(X!==null)return new AF(J,X);if(J!==null&&J.depth>=this._maxCacheDepth)return new AF(J,X);let Y=TV.getStackElementId(J),Z=this._entries[Y];if(Z)return Z;return Z=new AF(J,null),this._entries[Y]=Z,Z}}class AF{constructor(J,X){this.stack=J,this.embeddedLanguageData=X}clone(){if((this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData)return this;return M2.create(this.stack,this.embeddedLanguageData)}equals(J){if(!(J instanceof AF))return!1;if(!this.stack.equals(J.stack))return!1;if(this.embeddedLanguageData===null&&J.embeddedLanguageData===null)return!0;if(this.embeddedLanguageData===null||J.embeddedLanguageData===null)return!1;return this.embeddedLanguageData.equals(J.embeddedLanguageData)}}class W10{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(J){this._languageId=J}emit(J,X){if(this._lastTokenType===X&&this._lastTokenLanguage===this._languageId)return;this._lastTokenType=X,this._lastTokenLanguage=this._languageId,this._tokens.push(new zY(J,X,this._languageId))}nestedLanguageTokenize(J,X,Y,Z){let{languageId:Q,state:$}=Y,q=f1.get(Q);if(!q)return this.enterLanguage(Q),this.emit(Z,\"\"),$;let G=q.tokenize(J,X,$);if(Z!==0)for(let U of G.tokens)this._tokens.push(new zY(U.offset+Z,U.type,U.language));else this._tokens=this._tokens.concat(G.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,G.endState}finalize(J){return new Dq(this._tokens,J)}}class eM{constructor(J,X){this._languageService=J,this._theme=X,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(J){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(J)}emit(J,X){let Y=this._theme.match(this._currentLanguageId,X)|1024;if(this._lastTokenMetadata===Y)return;this._lastTokenMetadata=Y,this._tokens.push(J),this._tokens.push(Y)}static _merge(J,X,Y){let Z=J!==null?J.length:0,Q=X.length,$=Y!==null?Y.length:0;if(Z===0&&Q===0&&$===0)return new Uint32Array(0);if(Z===0&&Q===0)return Y;if(Q===0&&$===0)return J;let q=new Uint32Array(Z+Q+$);if(J!==null)q.set(J);for(let G=0;G<Q;G++)q[Z+G]=X[G];if(Y!==null)q.set(Y,Z+Q);return q}nestedLanguageTokenize(J,X,Y,Z){let{languageId:Q,state:$}=Y,q=f1.get(Q);if(!q)return this.enterLanguage(Q),this.emit(Z,\"\"),$;let G=q.tokenizeEncoded(J,X,$);if(Z!==0)for(let U=0,H=G.tokens.length;U<H;U+=2)G.tokens[U]+=Z;return this._prependTokens=eM._merge(this._prependTokens,this._tokens,G.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,G.endState}finalize(J){return new s$(eM._merge(this._prependTokens,this._tokens,null),[],J)}}var $G=LC=class extends y{constructor(X,Y,Z,Q,$){super();this._configurationService=$,this._languageService=X,this._standaloneThemeService=Y,this._languageId=Z,this._lexer=Q,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let q=!1;this._register(f1.onDidChange((G)=>{if(q)return;let U=!1;for(let H=0,V=G.changedLanguages.length;H<V;H++){let K=G.changedLanguages[H];if(this._embeddedLanguages[K]){U=!0;break}}if(U)q=!0,f1.handleChange([this._languageId]),q=!1})),this._maxTokenizationLineLength=this._configurationService.getValue(\"editor.maxTokenizationLineLength\",{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration((G)=>{if(G.affectsConfiguration(\"editor.maxTokenizationLineLength\"))this._maxTokenizationLineLength=this._configurationService.getValue(\"editor.maxTokenizationLineLength\",{overrideIdentifier:this._languageId})}))}getLoadStatus(){let X=[];for(let Y in this._embeddedLanguages){let Z=f1.get(Y);if(Z){if(Z instanceof LC){let Q=Z.getLoadStatus();if(Q.loaded===!1)X.push(Q.promise)}continue}if(!f1.isResolved(Y))X.push(f1.getOrCreate(Y))}if(X.length===0)return{loaded:!0};return{loaded:!1,promise:Promise.all(X).then((Y)=>{return})}}getInitialState(){let X=PF.create(null,this._lexer.start);return M2.create(X,null)}tokenize(X,Y,Z){if(X.length>=this._maxTokenizationLineLength)return iM(this._languageId,Z);let Q=new W10,$=this._tokenize(X,Y,Z,Q);return Q.finalize($)}tokenizeEncoded(X,Y,Z){if(X.length>=this._maxTokenizationLineLength)return OV(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),Z);let Q=new eM(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),$=this._tokenize(X,Y,Z,Q);return Q.finalize($)}_tokenize(X,Y,Z,Q){if(Z.embeddedLanguageData)return this._nestedTokenize(X,Y,Z,0,Q);else return this._myTokenize(X,Y,Z,0,Q)}_findLeavingNestedLanguageOffset(X,Y){let Z=this._lexer.tokenizer[Y.stack.state];if(!Z){if(Z=_F(this._lexer,Y.stack.state),!Z)throw o1(this._lexer,\"tokenizer state is not defined: \"+Y.stack.state)}let Q=-1,$=!1;for(let q of Z){if(!wC(q.action)||!(q.action.nextEmbedded===\"@pop\"||q.action.hasEmbeddedEndInCases))continue;$=!0;let G=q.resolveRegex(Y.stack.state),U=G.source;if(U.substr(0,4)===\"^(?:\"&&U.substr(U.length-1,1)===\")\"){let V=(G.ignoreCase?\"i\":\"\")+(G.unicode?\"u\":\"\");G=new RegExp(U.substr(4,U.length-5),V)}let H=X.search(G);if(H===-1||H!==0&&q.matchOnlyAtLineStart)continue;if(Q===-1||H<Q)Q=H}if(!$)throw o1(this._lexer,'no rule containing nextEmbedded: \"@pop\" in tokenizer embedded state: '+Y.stack.state);return Q}_nestedTokenize(X,Y,Z,Q,$){let q=this._findLeavingNestedLanguageOffset(X,Z);if(q===-1){let H=$.nestedLanguageTokenize(X,Y,Z.embeddedLanguageData,Q);return M2.create(Z.stack,new wV(Z.embeddedLanguageData.languageId,H))}let G=X.substring(0,q);if(G.length>0)$.nestedLanguageTokenize(G,!1,Z.embeddedLanguageData,Q);let U=X.substring(q);return this._myTokenize(U,Y,Z,Q+q,$)}_safeRuleName(X){if(X)return X.name;return\"(unknown)\"}_myTokenize(X,Y,Z,Q,$){$.enterLanguage(this._languageId);let q=X.length,G=Y&&this._lexer.includeLF?X+`\n`:X,U=G.length,H=Z.embeddedLanguageData,V=Z.stack,K=0,j=null,W=!0;while(W||K<U){let z=K,B=V.depth,P=j?j.groups.length:0,_=V.state,A=null,O=null,D=null,R=null,N=null;if(j){A=j.matches;let I=j.groups.shift();if(O=I.matched,D=I.action,R=j.rule,j.groups.length===0)j=null}else{if(!W&&K>=U)break;W=!1;let I=this._lexer.tokenizer[_];if(!I){if(I=_F(this._lexer,_),!I)throw o1(this._lexer,\"tokenizer state is not defined: \"+_)}let S=G.substr(K);for(let h of I)if(K===0||!h.matchOnlyAtLineStart){if(A=S.match(h.resolveRegex(_)),A){O=A[0],D=h.action;break}}}if(!A)A=[\"\"],O=\"\";if(!D){if(K<U)A=[G.charAt(K)],O=A[0];D=this._lexer.defaultToken}if(O===null)break;K+=O.length;while(U10(D)&&wC(D)&&D.test)D=D.test(O,A,_,K===U);let w=null;if(typeof D===\"string\"||Array.isArray(D))w=D;else if(D.group)w=D.group;else if(D.token!==null&&D.token!==void 0){if(D.tokenSubst)w=bY(this._lexer,D.token,O,A,_);else w=D.token;if(D.nextEmbedded)if(D.nextEmbedded===\"@pop\"){if(!H)throw o1(this._lexer,\"cannot pop embedded language if not inside one\");H=null}else if(H)throw o1(this._lexer,\"cannot enter embedded language from within an embedded language\");else N=bY(this._lexer,D.nextEmbedded,O,A,_);if(D.goBack)K=Math.max(0,K-D.goBack);if(D.switchTo&&typeof D.switchTo===\"string\"){let I=bY(this._lexer,D.switchTo,O,A,_);if(I[0]===\"@\")I=I.substr(1);if(!_F(this._lexer,I))throw o1(this._lexer,\"trying to switch to a state '\"+I+\"' that is undefined in rule: \"+this._safeRuleName(R));else V=V.switchTo(I)}else if(D.transform&&typeof D.transform===\"function\")throw o1(this._lexer,\"action.transform not supported\");else if(D.next)if(D.next===\"@push\")if(V.depth>=this._lexer.maxStack)throw o1(this._lexer,\"maximum tokenizer stack size reached: [\"+V.state+\",\"+V.parent.state+\",...]\");else V=V.push(_);else if(D.next===\"@pop\")if(V.depth<=1)throw o1(this._lexer,\"trying to pop an empty stack in rule: \"+this._safeRuleName(R));else V=V.pop();else if(D.next===\"@popall\")V=V.popall();else{let I=bY(this._lexer,D.next,O,A,_);if(I[0]===\"@\")I=I.substr(1);if(!_F(this._lexer,I))throw o1(this._lexer,\"trying to set a next state '\"+I+\"' that is undefined in rule: \"+this._safeRuleName(R));else V=V.push(I)}if(D.log&&typeof D.log===\"string\")H10(this._lexer,this._lexer.languageId+\": \"+bY(this._lexer,D.log,O,A,_))}if(w===null)throw o1(this._lexer,\"lexer rule has no well-defined action in rule: \"+this._safeRuleName(R));let k=(I)=>{let S=this._languageService.getLanguageIdByLanguageName(I)||this._languageService.getLanguageIdByMimeType(I)||I,h=this._getNestedEmbeddedLanguageData(S);if(K<U){let u=X.substr(K);return this._nestedTokenize(u,Y,M2.create(V,h),Q+K,$)}else return M2.create(V,h)};if(Array.isArray(w)){if(j&&j.groups.length>0)throw o1(this._lexer,\"groups cannot be nested: \"+this._safeRuleName(R));if(A.length!==w.length+1)throw o1(this._lexer,\"matched number of groups does not match the number of actions in rule: \"+this._safeRuleName(R));let I=0;for(let S=1;S<A.length;S++)I+=A[S].length;if(I!==O.length)throw o1(this._lexer,\"with groups, all characters should be matched in consecutive groups in rule: \"+this._safeRuleName(R));j={rule:R,matches:A,groups:[]};for(let S=0;S<w.length;S++)j.groups[S]={action:w[S],matched:A[S+1]};K-=O.length;continue}else{if(w===\"@rematch\"){if(K-=O.length,O=\"\",A=null,w=\"\",N!==null)return k(N)}if(O.length===0)if(U===0||B!==V.depth||_!==V.state||(!j?0:j.groups.length)!==P)continue;else throw o1(this._lexer,\"no progress in tokenizer in rule: \"+this._safeRuleName(R));let I=null;if(NC(w)&&w.indexOf(\"@brackets\")===0){let S=w.substr(9),h=Wz0(this._lexer,O);if(!h)throw o1(this._lexer,\"@brackets token returned but no bracket defined as: \"+O);I=TC(h.token+S)}else{let S=w===\"\"?\"\":w+this._lexer.tokenPostfix;I=TC(S)}if(z<q)$.emit(z+Q,I)}if(N!==null)return k(N)}return M2.create(V,H)}_getNestedEmbeddedLanguageData(X){if(!this._languageService.isRegisteredLanguageId(X))return new wV(X,D2);if(X!==this._languageId)this._languageService.requestBasicLanguageFeatures(X),f1.getOrCreate(X),this._embeddedLanguages[X]=!0;let Y=f1.get(X);if(Y)return new wV(X,Y.getInitialState());return new wV(X,D2)}};$G=LC=Kz0([jz0(4,o0)],$G);function Wz0(J,X){if(!X)return null;X=TX(J,X);let Y=J.brackets;for(let Z of Y)if(Z.open===X)return{token:Z.token,bracketType:1};else if(Z.close===X)return{token:Z.token,bracketType:-1};return null}var zz0=q4(\"standaloneColorizer\",{createHTML:(J)=>J});class DF{static colorizeElement(J,X,Y,Z){Z=Z||{};let Q=Z.theme||\"vs\",$=Z.mimeType||Y.getAttribute(\"lang\")||Y.getAttribute(\"data-lang\");if(!$)return console.error(\"Mode not detected\"),Promise.resolve();let q=X.getLanguageIdByMimeType($)||$;J.setTheme(Q);let G=Y.firstChild?Y.firstChild.nodeValue:\"\";Y.className+=\" \"+Q;let U=(H)=>{let V=zz0?.createHTML(H)??H;Y.innerHTML=V};return this.colorize(X,G||\"\",q,Z).then(U,(H)=>console.error(H))}static async colorize(J,X,Y,Z){let Q=J.languageIdCodec,$=4;if(Z&&typeof Z.tabSize===\"number\")$=Z.tabSize;if(nH(X))X=X.substr(1);let q=NJ(X);if(!J.isRegisteredLanguageId(Y))return z10(q,$,Q);let G=await f1.getOrCreate(Y);if(G)return Fz0(q,$,G,Q);return z10(q,$,Q)}static colorizeLine(J,X,Y,Z,Q=4){let $=K7.isBasicASCII(J,X),q=K7.containsRTL(J,$,Y);return RV(new u9(!1,!0,J,!1,$,q,0,Z,[],Q,0,0,0,0,-1,\"none\",!1,!1,null,null,0)).html}static colorizeModelLine(J,X,Y=4){let Z=J.getLineContent(X);J.tokenization.forceTokenization(X);let $=J.tokenization.getLineTokens(X).inflate();return this.colorizeLine(Z,J.mightContainNonBasicASCII(),J.mightContainRTL(),$,Y)}}function Fz0(J,X,Y,Z){return new Promise((Q,$)=>{let q=()=>{let G=Bz0(J,X,Y,Z);if(Y instanceof $G){let U=Y.getLoadStatus();if(U.loaded===!1){U.promise.then(q,$);return}}Q(G)};q()})}function z10(J,X,Y){let Z=[],Q=33587200,$=new Uint32Array(2);$[0]=0,$[1]=Q;for(let q=0,G=J.length;q<G;q++){let U=J[q];$[0]=U.length;let H=new b1($,U,Y),V=K7.isBasicASCII(U,!0),K=K7.containsRTL(U,V,!0),j=RV(new u9(!1,!0,U,!1,V,K,0,H,[],X,0,0,0,0,-1,\"none\",!1,!1,null,null,0));Z=Z.concat(j.html),Z.push(\"<br/>\")}return Z.join(\"\")}function Bz0(J,X,Y,Z){let Q=[],$=Y.getInitialState();for(let q=0,G=J.length;q<G;q++){let U=J[q],H=Y.tokenizeEncoded(U,!0,$);b1.convertToEndOffset(H.tokens,U.length);let V=new b1(H.tokens,U,Z),K=K7.isBasicASCII(U,!0),j=K7.containsRTL(U,K,!0),W=RV(new u9(!1,!0,U,!1,K,j,0,V.inflate(),[],X,0,0,0,0,-1,\"none\",!1,!1,null,null,0));Q=Q.concat(W.html),Q.push(\"<br/>\"),$=H.endState}return Q.join(\"\")}var F10=20000,qG,JR,IC,XR,kC;function B10(J){qG=document.createElement(\"div\"),qG.className=\"monaco-aria-container\";let X=()=>{let Z=document.createElement(\"div\");return Z.className=\"monaco-alert\",Z.setAttribute(\"role\",\"alert\"),Z.setAttribute(\"aria-atomic\",\"true\"),qG.appendChild(Z),Z};JR=X(),IC=X();let Y=()=>{let Z=document.createElement(\"div\");return Z.className=\"monaco-status\",Z.setAttribute(\"aria-live\",\"polite\"),Z.setAttribute(\"aria-atomic\",\"true\"),qG.appendChild(Z),Z};XR=Y(),kC=Y(),J.appendChild(qG)}function y4(J){if(!qG)return;if(JR.textContent!==J)r8(IC),YR(JR,J);else r8(JR),YR(IC,J)}function MQ(J){if(!qG)return;if(XR.textContent!==J)r8(kC),YR(XR,J);else r8(XR),YR(kC,J)}function YR(J,X){if(r8(J),X.length>F10)X=X.substr(0,F10);J.textContent=X,J.style.visibility=\"hidden\",J.style.visibility=\"visible\"}var R2=W0(\"editorWorkerService\");var ZR=W0(\"markerDecorationsService\");var _z0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Az0=function(J,X){return function(Y,Z){X(Y,Z,J)}},OF=class{static{this.ID=\"editor.contrib.markerDecorations\"}constructor(X,Y){}dispose(){}};OF=_z0([Az0(1,ZR)],OF);f0(R2,aM,0);E7(OF.ID,OF,0);class MF extends y{constructor(J,X){super();this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this._referenceDomElement=J,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,X)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let J=null,X=()=>{if(J)this.observe({width:J.width,height:J.height});else this.observe()},Y=!1,Z=!1,Q=()=>{if(Y&&!Z)try{Y=!1,Z=!0,X()}finally{E8(Q0(this._referenceDomElement),()=>{Z=!1,Q()})}};this._resizeObserver=new ResizeObserver(($)=>{if($&&$[0]&&$[0].contentRect)J={width:$[0].contentRect.width,height:$[0].contentRect.height};else J=null;Y=!0,Q()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){if(this._resizeObserver)this._resizeObserver.disconnect(),this._resizeObserver=null}observe(J){this.measureReferenceDomElement(!0,J)}measureReferenceDomElement(J,X){let Y=0,Z=0;if(X)Y=X.width,Z=X.height;else if(this._referenceDomElement)Y=this._referenceDomElement.clientWidth,Z=this._referenceDomElement.clientHeight;if(Y=Math.max(5,Y),Z=Math.max(5,Z),this._width!==Y||this._height!==Z){if(this._width=Y,this._height=Z,J)this._onDidChange.fire()}}}class GG{static{this.items=[]}constructor(J,X){this.key=J,this.migrate=X}apply(J){let X=GG._read(J,this.key),Y=(Q)=>GG._read(J,Q),Z=(Q,$)=>GG._write(J,Q,$);this.migrate(X,Y,Z)}static _read(J,X){if(typeof J>\"u\"||J===null)return;let Y=X.indexOf(\".\");if(Y>=0){let Z=X.substring(0,Y);return this._read(J[Z],X.substring(Y+1))}return J[X]}static _write(J,X,Y){let Z=X.indexOf(\".\");if(Z>=0){let Q=X.substring(0,Z);J[Q]=J[Q]||{},this._write(J[Q],X.substring(Z+1),Y);return}J[X]=Y}}function G9(J,X){GG.items.push(new GG(J,X))}function b7(J,X){G9(J,(Y,Z,Q)=>{if(typeof Y<\"u\"){for(let[$,q]of X)if(Y===$){Q(J,q);return}}})}function _10(J){GG.items.forEach((X)=>X.apply(J))}b7(\"wordWrap\",[[!0,\"on\"],[!1,\"off\"]]);b7(\"lineNumbers\",[[!0,\"on\"],[!1,\"off\"]]);b7(\"cursorBlinking\",[[\"visible\",\"solid\"]]);b7(\"renderWhitespace\",[[!0,\"boundary\"],[!1,\"none\"]]);b7(\"renderLineHighlight\",[[!0,\"line\"],[!1,\"none\"]]);b7(\"acceptSuggestionOnEnter\",[[!0,\"on\"],[!1,\"off\"]]);b7(\"tabCompletion\",[[!1,\"off\"],[!0,\"onlySnippets\"]]);b7(\"hover\",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);b7(\"parameterHints\",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);b7(\"autoIndent\",[[!1,\"advanced\"],[!0,\"full\"]]);b7(\"matchBrackets\",[[!0,\"always\"],[!1,\"never\"]]);b7(\"renderFinalNewline\",[[!0,\"on\"],[!1,\"off\"]]);b7(\"cursorSmoothCaretAnimation\",[[!0,\"on\"],[!1,\"off\"]]);b7(\"occurrencesHighlight\",[[!0,\"singleFile\"],[!1,\"off\"]]);b7(\"wordBasedSuggestions\",[[!0,\"matchingDocuments\"],[!1,\"off\"]]);b7(\"defaultColorDecorators\",[[!0,\"auto\"],[!1,\"never\"]]);b7(\"minimap.autohide\",[[!0,\"mouseover\"],[!1,\"none\"]]);G9(\"autoClosingBrackets\",(J,X,Y)=>{if(J===!1){if(Y(\"autoClosingBrackets\",\"never\"),typeof X(\"autoClosingQuotes\")>\"u\")Y(\"autoClosingQuotes\",\"never\");if(typeof X(\"autoSurround\")>\"u\")Y(\"autoSurround\",\"never\")}});G9(\"renderIndentGuides\",(J,X,Y)=>{if(typeof J<\"u\"){if(Y(\"renderIndentGuides\",void 0),typeof X(\"guides.indentation\")>\"u\")Y(\"guides.indentation\",!!J)}});G9(\"highlightActiveIndentGuide\",(J,X,Y)=>{if(typeof J<\"u\"){if(Y(\"highlightActiveIndentGuide\",void 0),typeof X(\"guides.highlightActiveIndentation\")>\"u\")Y(\"guides.highlightActiveIndentation\",!!J)}});var Pz0={method:\"showMethods\",function:\"showFunctions\",constructor:\"showConstructors\",deprecated:\"showDeprecated\",field:\"showFields\",variable:\"showVariables\",class:\"showClasses\",struct:\"showStructs\",interface:\"showInterfaces\",module:\"showModules\",property:\"showProperties\",event:\"showEvents\",operator:\"showOperators\",unit:\"showUnits\",value:\"showValues\",constant:\"showConstants\",enum:\"showEnums\",enumMember:\"showEnumMembers\",keyword:\"showKeywords\",text:\"showWords\",color:\"showColors\",file:\"showFiles\",reference:\"showReferences\",folder:\"showFolders\",typeParameter:\"showTypeParameters\",snippet:\"showSnippets\"};G9(\"suggest.filteredTypes\",(J,X,Y)=>{if(J&&typeof J===\"object\"){for(let Z of Object.entries(Pz0))if(J[Z[0]]===!1){if(typeof X(`suggest.${Z[1]}`)>\"u\")Y(`suggest.${Z[1]}`,!1)}Y(\"suggest.filteredTypes\",void 0)}});G9(\"quickSuggestions\",(J,X,Y)=>{if(typeof J===\"boolean\"){let Z=J?\"on\":\"off\";Y(\"quickSuggestions\",{comments:Z,strings:Z,other:Z})}});G9(\"experimental.stickyScroll.enabled\",(J,X,Y)=>{if(typeof J===\"boolean\"){if(Y(\"experimental.stickyScroll.enabled\",void 0),typeof X(\"stickyScroll.enabled\")>\"u\")Y(\"stickyScroll.enabled\",J)}});G9(\"experimental.stickyScroll.maxLineCount\",(J,X,Y)=>{if(typeof J===\"number\"){if(Y(\"experimental.stickyScroll.maxLineCount\",void 0),typeof X(\"stickyScroll.maxLineCount\")>\"u\")Y(\"stickyScroll.maxLineCount\",J)}});G9(\"editor.experimentalEditContextEnabled\",(J,X,Y)=>{if(typeof J===\"boolean\"){if(Y(\"editor.experimentalEditContextEnabled\",void 0),typeof X(\"editor.editContext\")>\"u\")Y(\"editor.editContext\",J)}});G9(\"codeActionsOnSave\",(J,X,Y)=>{if(J&&typeof J===\"object\"){let Z=!1,Q={};for(let $ of Object.entries(J))if(typeof $[1]===\"boolean\")Z=!0,Q[$[0]]=$[1]?\"explicit\":\"never\";else Q[$[0]]=$[1];if(Z)Y(\"codeActionsOnSave\",Q)}});G9(\"codeActionWidget.includeNearbyQuickfixes\",(J,X,Y)=>{if(typeof J===\"boolean\"){if(Y(\"codeActionWidget.includeNearbyQuickfixes\",void 0),typeof X(\"codeActionWidget.includeNearbyQuickFixes\")>\"u\")Y(\"codeActionWidget.includeNearbyQuickFixes\",J)}});G9(\"lightbulb.enabled\",(J,X,Y)=>{if(typeof J===\"boolean\")Y(\"lightbulb.enabled\",J?void 0:\"off\")});G9(\"inlineSuggest.edits.codeShifting\",(J,X,Y)=>{if(typeof J===\"boolean\")Y(\"inlineSuggest.edits.codeShifting\",void 0),Y(\"inlineSuggest.edits.allowCodeShifting\",J?\"always\":\"never\")});G9(\"hover.enabled\",(J,X,Y)=>{if(typeof J===\"boolean\")Y(\"hover.enabled\",J?\"on\":\"off\")});class A10 extends y{constructor(){super(...arguments);this._tabFocus=!1,this._onDidChangeTabFocus=this._register(new E),this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(J){this._tabFocus=J,this._onDidChangeTabFocus.fire(this._tabFocus)}}var LV=new A10;function P10(J,X,Y){let Z=J.get(58),Q=J.get(62),$=J.get(61),q=J.get(60),G=J.get(63),U=J.get(75),H=J.get(72);return eZ._create(Z,Q,$,q,G,U,H,X,Y)}function D10(J,X,Y=!1){let Z=I8.fontFamily.validate(J.fontFamily),Q=I8.fontWeight.validate(J.fontWeight),$=I8.fontSize.validate(J.fontSize),q=I8.fontLigatures2.validate(J.fontLigatures),G=I8.fontVariations.validate(J.fontVariations),U=I8.lineHeight.validate(J.lineHeight),H=I8.letterSpacing.validate(J.letterSpacing);return eZ._create(Z,Q,$,q,G,U,H,X,Y)}var c6=W0(\"accessibilityService\"),UG=new G0(\"accessibilityModeEnabled\",!1);class O10{constructor(){this._inputMode=\"insert\",this._onDidChangeInputMode=new E,this.onDidChangeInputMode=this._onDidChangeInputMode.event}getInputMode(){return this._inputMode}}var RF=new O10;var Dz0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Oz0=function(J,X){return function(Y,Z){X(Y,Z,J)}},QR=class extends y{constructor(X,Y,Z,Q,$){super();if(this._accessibilityService=$,this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new E),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new SD,this.isSimpleWidget=X,this.contextMenuId=Y,this._containerObserver=this._register(new MF(Q,Z.dimension)),this._targetWindowId=Q0(Q).vscodeWindowId,this._rawOptions=M10(Z),this._validatedOptions=N2.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(19))this._containerObserver.startObserving();this._register(MJ.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(LV.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(uz.onDidChange(()=>this._recomputeOptions())),this._register(QV.getInstance(Q0(Q)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions())),this._register(RF.onDidChangeInputMode(()=>this._recomputeOptions()))}_recomputeOptions(){let X=this._computeOptions(),Y=N2.checkEquals(this.options,X);if(Y===null)return;this.options=X,this._onDidChangeFast.fire(Y),this._onDidChange.fire(Y)}_computeOptions(){let X=this._readEnvConfiguration(),Y=P10(this._validatedOptions,X.pixelRatio,this.isSimpleWidget),Z=this._readFontInfo(Y),Q={memory:this._computeOptionsMemory,outerWidth:X.outerWidth,outerHeight:X.outerHeight-this._reservedHeight,fontInfo:Z,extraEditorClassName:X.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:X.emptySelectionClipboard,pixelRatio:X.pixelRatio,tabFocusMode:this._validatedOptions.get(164)||LV.getTabFocusMode(),inputMode:RF.getInputMode(),accessibilitySupport:X.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount,editContextSupported:X.editContextSupported};return N2.computeOptions(this._validatedOptions,Q)}_readEnvConfiguration(){return{extraEditorClassName:Rz0(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:wq||C6,pixelRatio:QV.getInstance(lx(this._targetWindowId,!0).window).value,editContextSupported:typeof globalThis.EditContext===\"function\",accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(X){return uz.readFontInfo(lx(this._targetWindowId,!0).window,X)}getRawOptions(){return this._rawOptions}updateOptions(X){let Y=M10(X);if(!N2.applyUpdate(this._rawOptions,Y))return;this._validatedOptions=N2.validateOptions(this._rawOptions),this._recomputeOptions()}observeContainer(X){this._containerObserver.observe(X)}setIsDominatedByLongLines(X){if(this._isDominatedByLongLines===X)return;this._isDominatedByLongLines=X,this._recomputeOptions()}setModelLineCount(X){let Y=Mz0(X);if(this._lineNumbersDigitCount===Y)return;this._lineNumbersDigitCount=Y,this._recomputeOptions()}setViewLineCount(X){if(this._viewLineCount===X)return;this._viewLineCount=X,this._recomputeOptions()}setReservedHeight(X){if(this._reservedHeight===X)return;this._reservedHeight=X,this._recomputeOptions()}setGlyphMarginDecorationLaneCount(X){if(this._glyphMarginDecorationLaneCount===X)return;this._glyphMarginDecorationLaneCount=X,this._recomputeOptions()}};QR=Dz0([Oz0(4,c6)],QR);function Mz0(J){let X=0;while(J)J=Math.floor(J/10),X++;return X?X:1}function Rz0(){let J=\"\";if(TJ||iO)J+=\"no-minimap-shadow \",J+=\"enable-user-select \";else J+=\"no-user-select \";if(I0)J+=\"mac \";return J}class R10{constructor(){this._values=[]}_read(J){return this._values[J]}get(J){return this._values[J]}_write(J,X){this._values[J]=X}}class N10{constructor(){this._values=[]}_read(J){if(J>=this._values.length)throw Error(\"Cannot read uninitialized value\");return this._values[J]}get(J){return this._read(J)}_write(J,X){this._values[J]=X}}class N2{static validateOptions(J){let X=new R10;for(let Y of l$){let Z=Y.name===\"_never_\"?void 0:J[Y.name];X._write(Y.id,Y.validate(Z))}return X}static computeOptions(J,X){let Y=new N10;for(let Z of l$)Y._write(Z.id,Z.compute(X,Y,J._read(Z.id)));return Y}static _deepEquals(J,X){if(typeof J!==\"object\"||typeof X!==\"object\"||!J||!X)return J===X;if(Array.isArray(J)||Array.isArray(X))return Array.isArray(J)&&Array.isArray(X)?w1(J,X):!1;if(Object.keys(J).length!==Object.keys(X).length)return!1;for(let Y in J)if(!N2._deepEquals(J[Y],X[Y]))return!1;return!0}static checkEquals(J,X){let Y=[],Z=!1;for(let Q of l$){let $=!N2._deepEquals(J._read(Q.id),X._read(Q.id));if(Y[Q.id]=$,$)Z=!0}return Z?new _z(Y):null}static applyUpdate(J,X){let Y=!1;for(let Z of l$)if(X.hasOwnProperty(Z.name)){let Q=Z.applyUpdate(J[Z.name],X[Z.name]);J[Z.name]=Q.newValue,Y=Y||Q.didChange}return Y}}function M10(J){let X=DJ(J);return _10(X),X}var G4;(function(J){let X={total:0,min:Number.MAX_VALUE,max:0},Y={...X},Z={...X},Q={...X},$=0;J.sampleCount=A0(\"inputLatency.sampleCount\",0);let q={keydown:0,input:0,render:0};function G(){_(),performance.mark(\"inputlatency/start\"),performance.mark(\"keydown/start\"),q.keydown=1,queueMicrotask(U)}J.onKeyDown=G;function U(){if(q.keydown===1)performance.mark(\"keydown/end\"),q.keydown=2}function H(){performance.mark(\"input/start\"),q.input=1,P()}J.onBeforeInput=H;function V(){if(q.input===0)H();queueMicrotask(K)}J.onInput=V;function K(){if(q.input===1)performance.mark(\"input/end\"),q.input=2}function j(){_()}J.onKeyUp=j;function W(){_()}J.onSelectionChange=W;function z(){if(q.keydown===2&&q.input===2&&q.render===0)performance.mark(\"render/start\"),q.render=1,queueMicrotask(B),P()}J.onRenderStart=z;function B(){if(q.render===1)performance.mark(\"render/end\"),q.render=2}function P(){setTimeout(_)}function _(){if(q.keydown===2&&q.input===2&&q.render===2)performance.mark(\"inputlatency/end\"),performance.measure(\"keydown\",\"keydown/start\",\"keydown/end\"),performance.measure(\"input\",\"input/start\",\"input/end\"),performance.measure(\"render\",\"render/start\",\"render/end\"),performance.measure(\"inputlatency\",\"inputlatency/start\",\"inputlatency/end\"),A(\"keydown\",X),A(\"input\",Y),A(\"render\",Z),A(\"inputlatency\",Q),$++,J.sampleCount.set(J.sampleCount.get()+1,void 0),O()}function A(w,k){let I=performance.getEntriesByName(w)[0].duration;k.total+=I,k.min=Math.min(k.min,I),k.max=Math.max(k.max,I)}function O(){performance.clearMarks(\"keydown/start\"),performance.clearMarks(\"keydown/end\"),performance.clearMarks(\"input/start\"),performance.clearMarks(\"input/end\"),performance.clearMarks(\"render/start\"),performance.clearMarks(\"render/end\"),performance.clearMarks(\"inputlatency/start\"),performance.clearMarks(\"inputlatency/end\"),performance.clearMeasures(\"keydown\"),performance.clearMeasures(\"input\"),performance.clearMeasures(\"render\"),performance.clearMeasures(\"inputlatency\"),q.keydown=0,q.input=0,q.render=0}function D(){if($===0)return;let w={keydown:R(X),input:R(Y),render:R(Z),total:R(Q),sampleCount:$};return N(X),N(Y),N(Z),N(Q),$=0,w}J.getAndClearMeasurements=D;function R(w){return{average:w.total/$,max:w.max,min:w.min}}function N(w){w.total=0,w.min=Number.MAX_VALUE,w.max=0}})(G4||(G4={}));var yC=new Map;function z5(J=X1.document.head,X,Y){let Z=document.createElement(\"style\");if(Z.type=\"text/css\",Z.media=\"screen\",X?.(Z),J.appendChild(Z),Y)Y.add(J0(()=>Z.remove()));if(J===X1.document.head){let Q=new Set;if(yC.set(Z,Q),Y)Y.add(J0(()=>yC.delete(Z)));for(let{window:$,disposables:q}of dx()){if($===X1)continue;let G=q.add(Nz0(Z,Q,$));Y?.add(G)}}return Z}function Nz0(J,X,Y){let Z=new a,Q=J.cloneNode(!0);Y.document.head.appendChild(Q),Z.add(J0(()=>Q.remove()));for(let $ of J.sheet?.cssRules??[])Q.sheet?.insertRule($.cssText,Q.sheet?.cssRules.length);return Z.add(Ct.observe(J,Z,{childList:!0,subtree:C6,characterData:C6})(()=>{Q.textContent=J.textContent})),X.add(Q),Z.add(J0(()=>X.delete(Q))),Z}var EC=null;function wz0(){if(!EC)EC=z5();return EC}function $R(J,X,Y=wz0()){if(!Y||!X)return;Y.sheet?.insertRule(`${J} {${X}}`,0);for(let Z of yC.get(Y)??[])$R(J,X,Z)}class RQ{constructor(){this._hooks=new a,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(J,X){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let Y=this._onStopCallback;if(this._onStopCallback=null,J&&Y)Y(X)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(J,X,Y,Z,Q){if(this.isMonitoring())this.stopMonitoring(!1);this._pointerMoveCallback=Z,this._onStopCallback=Q;let $=J;try{J.setPointerCapture(X),this._hooks.add(J0(()=>{try{J.releasePointerCapture(X)}catch(q){}}))}catch(q){$=Q0(J)}this._hooks.add(f($,r.POINTER_MOVE,(q)=>{if(q.buttons!==Y){this.stopMonitoring(!0);return}q.preventDefault(),this._pointerMoveCallback(q)})),this._hooks.add(f($,r.POINTER_UP,(q)=>this.stopMonitoring(!0)))}}function qR(J){return`--vscode-${J.replace(/\\./g,\"-\")}`}function Z0(J){return`var(${qR(J)})`}function xC(J,X){return`var(${qR(J)}, ${X})`}function Tz0(J){return J!==null&&typeof J===\"object\"&&\"light\"in J&&\"dark\"in J}var bC={ColorContribution:\"base.contributions.colors\"},Lz0=\"default\";class T10 extends y{constructor(){super();this._onDidChangeSchema=this._register(new E),this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:\"object\",properties:{}},this.colorReferenceSchema={type:\"string\",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(J,X,Y,Z=!1,Q){let $={id:J,description:Y,defaults:X,needsTransparency:Z,deprecationMessage:Q};this.colorsById[J]=$;let q={type:\"string\",format:\"color-hex\",defaultSnippets:[{body:\"${1:#ff0000}\"}]};if(Q)q.deprecationMessage=Q;if(Z)q.pattern=\"^#(?:(?<rgba>[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$\",q.patternErrorMessage=F(2091,\"This color must be transparent or it will obscure content\");return this.colorSchema.properties[J]={description:Y,oneOf:[q,{type:\"string\",const:Lz0,description:F(2092,\"Use the default color.\")}]},this.colorReferenceSchema.enum.push(J),this.colorReferenceSchema.enumDescriptions.push(Y),this._onDidChangeSchema.fire(),J}getColors(){return Object.keys(this.colorsById).map((J)=>this.colorsById[J])}resolveDefaultColor(J,X){let Y=this.colorsById[J];if(Y?.defaults){let Z=Tz0(Y.defaults)?Y.defaults[X.type]:Y.defaults;return c9(Z,X)}return}getColorSchema(){return this.colorSchema}toString(){let J=(X,Y)=>{let Z=X.indexOf(\".\")===-1?0:1,Q=Y.indexOf(\".\")===-1?0:1;if(Z!==Q)return Z-Q;return X.localeCompare(Y)};return Object.keys(this.colorsById).sort(J).map((X)=>`- \\`${X}\\`: ${this.colorsById[X].description}`).join(`\n`)}}var GR=new T10;y1.add(bC.ColorContribution,GR);function x(J,X,Y,Z,Q){return GR.registerColor(J,X,Y,Z,Q)}function Iz0(J,X){switch(J.op){case 0:return c9(J.value,X)?.darken(J.factor);case 1:return c9(J.value,X)?.lighten(J.factor);case 2:return c9(J.value,X)?.transparent(J.factor);case 7:{let Y=c9(J.color,X)||c.transparent,Z=c9(J.with,X)||c.transparent;return Y.mix(Z,J.ratio)}case 3:{let Y=c9(J.background,X);if(!Y)return c9(J.value,X);return c9(J.value,X)?.makeOpaque(Y)}case 4:for(let Y of J.values){let Z=c9(Y,X);if(Z)return Z}return;case 6:return c9(X.defines(J.if)?J.then:J.else,X);case 5:{let Y=c9(J.value,X);if(!Y)return;let Z=c9(J.background,X);if(!Z)return Y.transparent(J.factor*J.transparency);return Y.isDarkerThan(Z)?c.getLighterColor(Y,Z,J.factor).transparent(J.transparency):c.getDarkerColor(Y,Z,J.factor).transparent(J.transparency)}default:throw uH()}}function NQ(J,X){return{op:0,value:J,factor:X}}function x4(J,X){return{op:1,value:J,factor:X}}function g0(J,X){return{op:2,value:J,factor:X}}function CC(...J){return{op:4,values:J}}function L10(J,X,Y){return{op:6,if:J,then:X,else:Y}}function SC(J,X,Y,Z){return{op:5,value:J,background:X,factor:Y,transparency:Z}}function c9(J,X){if(J===null)return;else if(typeof J===\"string\"){if(J[0]===\"#\")return c.fromHex(J);return X.getColor(J)}else if(J instanceof c)return J;else if(typeof J===\"object\")return Iz0(J,X);return}var I10=\"vscode://schemas/workbench-colors\",k10=y1.as(dq.JSONContribution);k10.registerSchema(I10,GR.getColorSchema());var w10=new B1(()=>k10.notifySchemaChanged(I10),200);GR.onDidChangeSchema(()=>{if(!w10.isScheduled())w10.schedule()});var H1=x(\"foreground\",{dark:\"#CCCCCC\",light:\"#616161\",hcDark:\"#FFFFFF\",hcLight:\"#292929\"},F(1838,\"Overall foreground color. This color is only used if not overridden by a component.\"));x(\"strongForeground\",{dark:\"#FFFFFF\",light:\"#000000\",hcDark:\"#FFFFFF\",hcLight:\"#000000\"},F(1839,\"Highest-contrast foreground color, intended for text or icons that need maximum legibility across various backgrounds. This color is only used if not overridden by a component.\"));x(\"disabledForeground\",{dark:\"#CCCCCC80\",light:\"#61616180\",hcDark:\"#A5A5A5\",hcLight:\"#7F7F7F\"},F(1840,\"Overall foreground for disabled elements. This color is only used if not overridden by a component.\"));x(\"errorForeground\",{dark:\"#F48771\",light:\"#A1260D\",hcDark:\"#F48771\",hcLight:\"#B5200D\"},F(1841,\"Overall foreground color for error messages. This color is only used if not overridden by a component.\"));var Lc0=x(\"descriptionForeground\",{light:\"#717171\",dark:g0(H1,0.7),hcDark:g0(H1,0.7),hcLight:g0(H1,0.7)},F(1842,\"Foreground color for description text providing additional information, for example for a label.\")),HG=x(\"icon.foreground\",{dark:\"#C5C5C5\",light:\"#424242\",hcDark:\"#FFFFFF\",hcLight:\"#292929\"},F(1843,\"The default color for icons in the workbench.\")),U9=x(\"focusBorder\",{dark:\"#007FD4\",light:\"#0090F1\",hcDark:\"#F38518\",hcLight:\"#006BBD\"},F(1844,\"Overall border color for focused elements. This color is only used if not overridden by a component.\")),t0=x(\"contrastBorder\",{light:null,dark:null,hcDark:\"#6FC3DF\",hcLight:\"#0F4A85\"},F(1845,\"An extra border around elements to separate them from others for greater contrast.\")),v1=x(\"contrastActiveBorder\",{light:null,dark:null,hcDark:U9,hcLight:U9},F(1846,\"An extra border around active elements to separate them from others for greater contrast.\"));x(\"selection.background\",null,F(1847,\"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.\"));var E10=x(\"textLink.foreground\",{light:\"#006AB1\",dark:\"#3794FF\",hcDark:\"#21A6FF\",hcLight:\"#0F4A85\"},F(1848,\"Foreground color for links in text.\"));x(\"textLink.activeForeground\",{light:\"#006AB1\",dark:\"#3794FF\",hcDark:\"#21A6FF\",hcLight:\"#0F4A85\"},F(1849,\"Foreground color for links in text when clicked on and on mouse hover.\"));x(\"textSeparator.foreground\",{light:\"#0000002e\",dark:\"#ffffff2e\",hcDark:c.black,hcLight:\"#292929\"},F(1850,\"Color for text separators.\"));x(\"textPreformat.foreground\",{light:\"#A31515\",dark:\"#D7BA7D\",hcDark:\"#FFFFFF\",hcLight:\"#FFFFFF\"},F(1851,\"Foreground color for preformatted text segments.\"));x(\"textPreformat.background\",{light:\"#0000001A\",dark:\"#FFFFFF1A\",hcDark:null,hcLight:\"#09345f\"},F(1852,\"Background color for preformatted text segments.\"));x(\"textPreformat.border\",{light:null,dark:null,hcDark:t0,hcLight:null},F(1853,\"Border color for preformatted text segments.\"));x(\"textBlockQuote.background\",{light:\"#f2f2f2\",dark:\"#222222\",hcDark:null,hcLight:\"#F2F2F2\"},F(1854,\"Background color for block quotes in text.\"));x(\"textBlockQuote.border\",{light:\"#007acc80\",dark:\"#007acc80\",hcDark:c.white,hcLight:\"#292929\"},F(1855,\"Border color for block quotes in text.\"));x(\"textCodeBlock.background\",{light:\"#dcdcdc66\",dark:\"#0a0a0a66\",hcDark:c.black,hcLight:\"#F2F2F2\"},F(1856,\"Background color for code blocks in text.\"));x(\"sash.hoverBorder\",U9,F(2062,\"Border color of active sashes.\"));var IV=x(\"badge.background\",{dark:\"#4D4D4D\",light:\"#C4C4C4\",hcDark:c.black,hcLight:\"#0F4A85\"},F(2063,\"Badge background color. Badges are small information labels, e.g. for search results count.\")),y10=x(\"badge.foreground\",{dark:c.white,light:\"#333\",hcDark:c.white,hcLight:c.white},F(2064,\"Badge foreground color. Badges are small information labels, e.g. for search results count.\"));x(\"activityWarningBadge.foreground\",{dark:c.white,light:c.white,hcDark:c.white,hcLight:c.white},F(2065,\"Foreground color of the warning activity badge\"));x(\"activityWarningBadge.background\",{dark:\"#B27C00\",light:\"#B27C00\",hcDark:null,hcLight:\"#B27C00\"},F(2066,\"Background color of the warning activity badge\"));x(\"activityErrorBadge.foreground\",{dark:c.black.lighten(0.2),light:c.white,hcDark:null,hcLight:c.black.lighten(0.2)},F(2067,\"Foreground color of the error activity badge\"));x(\"activityErrorBadge.background\",{dark:\"#F14C4C\",light:\"#E51400\",hcDark:null,hcLight:\"#F14C4C\"},F(2068,\"Background color of the error activity badge\"));var NF=x(\"scrollbar.shadow\",{dark:\"#000000\",light:\"#DDDDDD\",hcDark:null,hcLight:null},F(2069,\"Scrollbar shadow to indicate that the view is scrolled.\")),UR=x(\"scrollbarSlider.background\",{dark:c.fromHex(\"#797979\").transparent(0.4),light:c.fromHex(\"#646464\").transparent(0.4),hcDark:g0(t0,0.6),hcLight:g0(t0,0.4)},F(2070,\"Scrollbar slider background color.\")),HR=x(\"scrollbarSlider.hoverBackground\",{dark:c.fromHex(\"#646464\").transparent(0.7),light:c.fromHex(\"#646464\").transparent(0.7),hcDark:g0(t0,0.8),hcLight:g0(t0,0.8)},F(2071,\"Scrollbar slider background color when hovering.\")),VR=x(\"scrollbarSlider.activeBackground\",{dark:c.fromHex(\"#BFBFBF\").transparent(0.4),light:c.fromHex(\"#000000\").transparent(0.6),hcDark:t0,hcLight:t0},F(2072,\"Scrollbar slider background color when clicked on.\"));x(\"scrollbar.background\",null,F(2073,\"Scrollbar track background color.\"));var x10=x(\"progressBar.background\",{dark:c.fromHex(\"#0E70C0\"),light:c.fromHex(\"#0E70C0\"),hcDark:t0,hcLight:t0},F(2074,\"Background color of the progress bar that can show for long running operations.\"));x(\"chart.line\",{dark:\"#236B8E\",light:\"#236B8E\",hcDark:\"#236B8E\",hcLight:\"#236B8E\"},F(2075,\"Line color for the chart.\"));x(\"chart.axis\",{dark:c.fromHex(\"#BFBFBF\").transparent(0.4),light:c.fromHex(\"#000000\").transparent(0.6),hcDark:t0,hcLight:t0},F(2076,\"Axis color for the chart.\"));x(\"chart.guide\",{dark:c.fromHex(\"#BFBFBF\").transparent(0.2),light:c.fromHex(\"#000000\").transparent(0.2),hcDark:t0,hcLight:t0},F(2077,\"Guide line for the chart.\"));var b4=x(\"editor.background\",{light:\"#ffffff\",dark:\"#1E1E1E\",hcDark:c.black,hcLight:c.white},F(1865,\"Editor background color.\")),VG=x(\"editor.foreground\",{light:\"#333333\",dark:\"#BBBBBB\",hcDark:c.white,hcLight:H1},F(1866,\"Editor default foreground color.\"));x(\"editorStickyScroll.background\",b4,F(1867,\"Background color of sticky scroll in the editor\"));x(\"editorStickyScrollGutter.background\",b4,F(1868,\"Background color of the gutter part of sticky scroll in the editor\"));x(\"editorStickyScrollHover.background\",{dark:\"#2A2D2E\",light:\"#F0F0F0\",hcDark:null,hcLight:c.fromHex(\"#0F4A85\").transparent(0.1)},F(1869,\"Background color of sticky scroll on hover in the editor\"));x(\"editorStickyScroll.border\",{dark:null,light:null,hcDark:t0,hcLight:t0},F(1870,\"Border color of sticky scroll in the editor\"));x(\"editorStickyScroll.shadow\",NF,F(1871,\" Shadow color of sticky scroll in the editor\"));var U4=x(\"editorWidget.background\",{dark:\"#252526\",light:\"#F3F3F3\",hcDark:\"#0C141F\",hcLight:c.white},F(1872,\"Background color of editor widgets, such as find/replace.\")),wQ=x(\"editorWidget.foreground\",H1,F(1873,\"Foreground color of editor widgets, such as find/replace.\")),WR=x(\"editorWidget.border\",{dark:g0(wQ,0.2),light:g0(wQ,0.2),hcDark:t0,hcLight:t0},F(1874,\"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.\"));x(\"editorWidget.resizeBorder\",null,F(1875,\"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.\"));x(\"editorError.background\",null,F(1876,\"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations.\"),!0);var wF=x(\"editorError.foreground\",{dark:\"#F14C4C\",light:\"#E51400\",hcDark:\"#F48771\",hcLight:\"#B5200D\"},F(1877,\"Foreground color of error squigglies in the editor.\")),gc0=x(\"editorError.border\",{dark:null,light:null,hcDark:c.fromHex(\"#E47777\").transparent(0.8),hcLight:\"#B5200D\"},F(1878,\"If set, color of double underlines for errors in the editor.\")),v10=x(\"editorWarning.background\",null,F(1879,\"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations.\"),!0),vJ=x(\"editorWarning.foreground\",{dark:\"#CCA700\",light:\"#BF8803\",hcDark:\"#FFD370\",hcLight:\"#895503\"},F(1880,\"Foreground color of warning squigglies in the editor.\")),yV=x(\"editorWarning.border\",{dark:null,light:null,hcDark:c.fromHex(\"#FFCC00\").transparent(0.8),hcLight:c.fromHex(\"#FFCC00\").transparent(0.8)},F(1881,\"If set, color of double underlines for warnings in the editor.\"));x(\"editorInfo.background\",null,F(1882,\"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations.\"),!0);var IX=x(\"editorInfo.foreground\",{dark:\"#59a4f9\",light:\"#0063d3\",hcDark:\"#59a4f9\",hcLight:\"#0063d3\"},F(1883,\"Foreground color of info squigglies in the editor.\")),xV=x(\"editorInfo.border\",{dark:null,light:null,hcDark:c.fromHex(\"#59a4f9\").transparent(0.8),hcLight:\"#292929\"},F(1884,\"If set, color of double underlines for infos in the editor.\")),g10=x(\"editorHint.foreground\",{dark:c.fromHex(\"#eeeeee\").transparent(0.7),light:\"#6c6c6c\",hcDark:null,hcLight:null},F(1885,\"Foreground color of hint squigglies in the editor.\"));x(\"editorHint.border\",{dark:null,light:null,hcDark:c.fromHex(\"#eeeeee\").transparent(0.8),hcLight:\"#292929\"},F(1886,\"If set, color of double underlines for hints in the editor.\"));var pc0=x(\"editorLink.activeForeground\",{dark:\"#4E94CE\",light:c.blue,hcDark:c.cyan,hcLight:\"#292929\"},F(1887,\"Color of active links.\")),LX=x(\"editor.selectionBackground\",{light:\"#ADD6FF\",dark:\"#264F78\",hcDark:\"#f3f518\",hcLight:\"#0F4A85\"},F(1888,\"Color of the editor selection.\")),p10=x(\"editor.selectionForeground\",{light:null,dark:null,hcDark:\"#000000\",hcLight:c.white},F(1889,\"Color of the selected text for high contrast.\")),gC=x(\"editor.inactiveSelectionBackground\",{light:g0(LX,0.5),dark:g0(LX,0.5),hcDark:g0(LX,0.7),hcLight:g0(LX,0.5)},F(1890,\"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.\"),!0),KG=x(\"editor.selectionHighlightBackground\",{light:SC(LX,b4,0.3,0.6),dark:SC(LX,b4,0.3,0.6),hcDark:null,hcLight:null},F(1891,\"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.selectionHighlightBorder\",{light:null,dark:null,hcDark:v1,hcLight:v1},F(1892,\"Border color for regions with the same content as the selection.\"));x(\"editor.compositionBorder\",{light:\"#000000\",dark:\"#ffffff\",hcLight:\"#000000\",hcDark:\"#ffffff\"},F(1893,\"The border color for an IME composition.\"));x(\"editor.findMatchBackground\",{light:\"#A8AC94\",dark:\"#515C6A\",hcDark:null,hcLight:null},F(1894,\"Color of the current search match.\"));var m10=x(\"editor.findMatchForeground\",null,F(1895,\"Text color of the current search match.\")),d9=x(\"editor.findMatchHighlightBackground\",{light:\"#EA5C0055\",dark:\"#EA5C0055\",hcDark:null,hcLight:null},F(1896,\"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.\"),!0),u10=x(\"editor.findMatchHighlightForeground\",null,F(1897,\"Foreground color of the other search matches.\"),!0);x(\"editor.findRangeHighlightBackground\",{dark:\"#3a3d4166\",light:\"#b4b4b44d\",hcDark:null,hcLight:null},F(1898,\"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.findMatchBorder\",{light:null,dark:null,hcDark:v1,hcLight:v1},F(1899,\"Border color of the current search match.\"));var CY=x(\"editor.findMatchHighlightBorder\",{light:null,dark:null,hcDark:v1,hcLight:v1},F(1900,\"Border color of the other search matches.\")),c10=x(\"editor.findRangeHighlightBorder\",{dark:null,light:null,hcDark:g0(v1,0.4),hcLight:g0(v1,0.4)},F(1901,\"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.hoverHighlightBackground\",{light:\"#ADD6FF26\",dark:\"#264f7840\",hcDark:\"#ADD6FF26\",hcLight:null},F(1902,\"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.\"),!0);var b10=x(\"editorHoverWidget.background\",U4,F(1903,\"Background color of the editor hover.\")),mc0=x(\"editorHoverWidget.foreground\",wQ,F(1904,\"Foreground color of the editor hover.\")),d10=x(\"editorHoverWidget.border\",WR,F(1905,\"Border color of the editor hover.\"));x(\"editorHoverWidget.statusBarBackground\",{dark:x4(b10,0.2),light:NQ(b10,0.05),hcDark:U4,hcLight:U4},F(1906,\"Background color of the editor hover status bar.\"));var l10=x(\"editorInlayHint.foreground\",{dark:\"#969696\",light:\"#969696\",hcDark:c.white,hcLight:c.black},F(1907,\"Foreground color of inline hints\")),s10=x(\"editorInlayHint.background\",{dark:g0(IV,0.1),light:g0(IV,0.1),hcDark:g0(c.white,0.1),hcLight:g0(IV,0.1)},F(1908,\"Background color of inline hints\")),uc0=x(\"editorInlayHint.typeForeground\",l10,F(1909,\"Foreground color of inline hints for types\")),cc0=x(\"editorInlayHint.typeBackground\",s10,F(1910,\"Background color of inline hints for types\")),dc0=x(\"editorInlayHint.parameterForeground\",l10,F(1911,\"Foreground color of inline hints for parameters\")),lc0=x(\"editorInlayHint.parameterBackground\",s10,F(1912,\"Background color of inline hints for parameters\")),kz0=x(\"editorLightBulb.foreground\",{dark:\"#FFCC00\",light:\"#DDB100\",hcDark:\"#FFCC00\",hcLight:\"#007ACC\"},F(1913,\"The color used for the lightbulb actions icon.\"));x(\"editorLightBulbAutoFix.foreground\",{dark:\"#75BEFF\",light:\"#007ACC\",hcDark:\"#75BEFF\",hcLight:\"#007ACC\"},F(1914,\"The color used for the lightbulb auto fix actions icon.\"));x(\"editorLightBulbAi.foreground\",kz0,F(1915,\"The color used for the lightbulb AI icon.\"));x(\"editor.snippetTabstopHighlightBackground\",{dark:new c(new d(124,124,124,0.3)),light:new c(new d(10,50,100,0.2)),hcDark:new c(new d(124,124,124,0.3)),hcLight:new c(new d(10,50,100,0.2))},F(1916,\"Highlight background color of a snippet tabstop.\"));x(\"editor.snippetTabstopHighlightBorder\",null,F(1917,\"Highlight border color of a snippet tabstop.\"));x(\"editor.snippetFinalTabstopHighlightBackground\",null,F(1918,\"Highlight background color of the final tabstop of a snippet.\"));x(\"editor.snippetFinalTabstopHighlightBorder\",{dark:\"#525252\",light:new c(new d(10,50,100,0.5)),hcDark:\"#525252\",hcLight:\"#292929\"},F(1919,\"Highlight border color of the final tabstop of a snippet.\"));var KR=new c(new d(155,185,85,0.2)),jR=new c(new d(255,0,0,0.2)),a10=x(\"diffEditor.insertedTextBackground\",{dark:\"#9ccc2c33\",light:\"#9ccc2c40\",hcDark:null,hcLight:null},F(1920,\"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.\"),!0),i10=x(\"diffEditor.removedTextBackground\",{dark:\"#ff000033\",light:\"#ff000033\",hcDark:null,hcLight:null},F(1921,\"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.\"),!0),sc0=x(\"diffEditor.insertedLineBackground\",{dark:KR,light:KR,hcDark:null,hcLight:null},F(1922,\"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"diffEditor.removedLineBackground\",{dark:jR,light:jR,hcDark:null,hcLight:null},F(1923,\"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"diffEditorGutter.insertedLineBackground\",null,F(1924,\"Background color for the margin where lines got inserted.\"));x(\"diffEditorGutter.removedLineBackground\",null,F(1925,\"Background color for the margin where lines got removed.\"));var r10=x(\"diffEditorOverview.insertedForeground\",null,F(1926,\"Diff overview ruler foreground for inserted content.\")),o10=x(\"diffEditorOverview.removedForeground\",null,F(1927,\"Diff overview ruler foreground for removed content.\"));x(\"diffEditor.insertedTextBorder\",{dark:null,light:null,hcDark:\"#33ff2eff\",hcLight:\"#374E06\"},F(1928,\"Outline color for the text that got inserted.\"));x(\"diffEditor.removedTextBorder\",{dark:null,light:null,hcDark:\"#FF008F\",hcLight:\"#AD0707\"},F(1929,\"Outline color for text that got removed.\"));x(\"diffEditor.border\",{dark:null,light:null,hcDark:t0,hcLight:t0},F(1930,\"Border color between the two text editors.\"));x(\"diffEditor.diagonalFill\",{dark:\"#cccccc33\",light:\"#22222233\",hcDark:null,hcLight:null},F(1931,\"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.\"));x(\"diffEditor.unchangedRegionBackground\",\"sideBar.background\",F(1932,\"The background color of unchanged blocks in the diff editor.\"));x(\"diffEditor.unchangedRegionForeground\",\"foreground\",F(1933,\"The foreground color of unchanged blocks in the diff editor.\"));x(\"diffEditor.unchangedCodeBackground\",{dark:\"#74747429\",light:\"#b8b8b829\",hcDark:null,hcLight:null},F(1934,\"The background color of unchanged code in the diff editor.\"));var w2=x(\"widget.shadow\",{dark:g0(c.black,0.36),light:g0(c.black,0.16),hcDark:null,hcLight:null},F(1935,\"Shadow color of widgets such as find/replace inside the editor.\")),zR=x(\"widget.border\",{dark:null,light:null,hcDark:t0,hcLight:t0},F(1936,\"Border color of widgets such as find/replace inside the editor.\")),C10=x(\"toolbar.hoverBackground\",{dark:\"#5a5d5e50\",light:\"#b8b8b850\",hcDark:null,hcLight:null},F(1937,\"Toolbar background when hovering over actions using the mouse\"));x(\"toolbar.hoverOutline\",{dark:null,light:null,hcDark:v1,hcLight:v1},F(1938,\"Toolbar outline when hovering over actions using the mouse\"));x(\"toolbar.activeBackground\",{dark:x4(C10,0.1),light:NQ(C10,0.1),hcDark:null,hcLight:null},F(1939,\"Toolbar background when holding the mouse over actions\"));var n10=x(\"breadcrumb.foreground\",g0(H1,0.8),F(1940,\"Color of focused breadcrumb items.\")),t10=x(\"breadcrumb.background\",b4,F(1941,\"Background color of breadcrumb items.\")),pC=x(\"breadcrumb.focusForeground\",{light:NQ(H1,0.2),dark:x4(H1,0.1),hcDark:x4(H1,0.1),hcLight:x4(H1,0.1)},F(1942,\"Color of focused breadcrumb items.\")),e10=x(\"breadcrumb.activeSelectionForeground\",{light:NQ(H1,0.2),dark:x4(H1,0.1),hcDark:x4(H1,0.1),hcLight:x4(H1,0.1)},F(1943,\"Color of selected breadcrumb items.\"));x(\"breadcrumbPicker.background\",U4,F(1944,\"Background color of breadcrumb item picker.\"));var J60=0.5,S10=c.fromHex(\"#40C8AE\").transparent(J60),f10=c.fromHex(\"#40A6FF\").transparent(J60),h10=c.fromHex(\"#606060\").transparent(0.4),mC=0.4,kV=1,fC=x(\"merge.currentHeaderBackground\",{dark:S10,light:S10,hcDark:null,hcLight:null},F(1945,\"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"merge.currentContentBackground\",g0(fC,mC),F(1946,\"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0);var hC=x(\"merge.incomingHeaderBackground\",{dark:f10,light:f10,hcDark:null,hcLight:null},F(1947,\"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"merge.incomingContentBackground\",g0(hC,mC),F(1948,\"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0);var vC=x(\"merge.commonHeaderBackground\",{dark:h10,light:h10,hcDark:null,hcLight:null},F(1949,\"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"merge.commonContentBackground\",g0(vC,mC),F(1950,\"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.\"),!0);var EV=x(\"merge.border\",{dark:null,light:null,hcDark:\"#C3DF6F\",hcLight:\"#007ACC\"},F(1951,\"Border color on headers and the splitter in inline merge-conflicts.\"));x(\"editorOverviewRuler.currentContentForeground\",{dark:g0(fC,kV),light:g0(fC,kV),hcDark:EV,hcLight:EV},F(1952,\"Current overview ruler foreground for inline merge-conflicts.\"));x(\"editorOverviewRuler.incomingContentForeground\",{dark:g0(hC,kV),light:g0(hC,kV),hcDark:EV,hcLight:EV},F(1953,\"Incoming overview ruler foreground for inline merge-conflicts.\"));x(\"editorOverviewRuler.commonContentForeground\",{dark:g0(vC,kV),light:g0(vC,kV),hcDark:EV,hcLight:EV},F(1954,\"Common ancestor overview ruler foreground for inline merge-conflicts.\"));var FR=x(\"editorOverviewRuler.findMatchForeground\",{dark:\"#d186167e\",light:\"#d186167e\",hcDark:\"#AB5A00\",hcLight:\"#AB5A00\"},F(1955,\"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.\"),!0),uC=x(\"editorOverviewRuler.selectionHighlightForeground\",\"#A0A0A0CC\",F(1956,\"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),X60=x(\"problemsErrorIcon.foreground\",wF,F(1957,\"The color used for the problems error icon.\")),Y60=x(\"problemsWarningIcon.foreground\",vJ,F(1958,\"The color used for the problems warning icon.\")),Z60=x(\"problemsInfoIcon.foreground\",IX,F(1959,\"The color used for the problems info icon.\"));var TF=x(\"minimap.findMatchHighlight\",d9,F(2051,\"Minimap marker color for find matches.\"),!0),LF=x(\"minimap.selectionOccurrenceHighlight\",KG,F(2052,\"Minimap marker color for repeating editor selections.\"),!0),cC=x(\"minimap.selectionHighlight\",LX,F(2053,\"Minimap marker color for the editor selection.\"),!0),Q60=x(\"minimap.infoHighlight\",{dark:IX,light:IX,hcDark:xV,hcLight:xV},F(2054,\"Minimap marker color for infos.\")),$60=x(\"minimap.warningHighlight\",{dark:vJ,light:vJ,hcDark:yV,hcLight:yV},F(2055,\"Minimap marker color for warnings.\")),q60=x(\"minimap.errorHighlight\",{dark:new c(new d(255,18,18,0.7)),light:new c(new d(255,18,18,0.7)),hcDark:new c(new d(255,50,50,1)),hcLight:\"#B5200D\"},F(2056,\"Minimap marker color for errors.\")),G60=x(\"minimap.background\",null,F(2057,\"Minimap background color.\")),U60=x(\"minimap.foregroundOpacity\",c.fromHex(\"#000f\"),F(2058,'Opacity of foreground elements rendered in the minimap. For example, \"#000000c0\" will render the elements with 75% opacity.'));x(\"minimapSlider.background\",g0(UR,0.5),F(2059,\"Minimap slider background color.\"));x(\"minimapSlider.hoverBackground\",g0(HR,0.5),F(2060,\"Minimap slider background color when hovering.\"));x(\"minimapSlider.activeBackground\",g0(VR,0.5),F(2061,\"Minimap slider background color when clicked on.\"));x(\"charts.foreground\",H1,F(1857,\"The foreground color used in charts.\"));x(\"charts.lines\",g0(H1,0.5),F(1858,\"The color used for horizontal lines in charts.\"));x(\"charts.red\",wF,F(1859,\"The red color used in chart visualizations.\"));x(\"charts.blue\",IX,F(1860,\"The blue color used in chart visualizations.\"));x(\"charts.yellow\",vJ,F(1861,\"The yellow color used in chart visualizations.\"));x(\"charts.orange\",TF,F(1862,\"The orange color used in chart visualizations.\"));x(\"charts.green\",{dark:\"#89D185\",light:\"#388A34\",hcDark:\"#89D185\",hcLight:\"#374e06\"},F(1863,\"The green color used in chart visualizations.\"));x(\"charts.purple\",{dark:\"#B180D7\",light:\"#652D90\",hcDark:\"#B180D7\",hcLight:\"#652D90\"},F(1864,\"The purple color used in chart visualizations.\"));var H60=x(\"list.focusBackground\",null,F(2008,\"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),V60=x(\"list.focusForeground\",null,F(2009,\"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),K60=x(\"list.focusOutline\",{dark:U9,light:U9,hcDark:v1,hcLight:v1},F(2010,\"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),j60=x(\"list.focusAndSelectionOutline\",null,F(2011,\"List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.\")),SY=x(\"list.activeSelectionBackground\",{dark:\"#04395E\",light:\"#0060C0\",hcDark:null,hcLight:c.fromHex(\"#0F4A85\").transparent(0.1)},F(2012,\"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),T2=x(\"list.activeSelectionForeground\",{dark:c.white,light:c.white,hcDark:null,hcLight:null},F(2013,\"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),_R=x(\"list.activeSelectionIconForeground\",null,F(2014,\"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.\")),W60=x(\"list.inactiveSelectionBackground\",{dark:\"#37373D\",light:\"#E4E6F1\",hcDark:null,hcLight:c.fromHex(\"#0F4A85\").transparent(0.1)},F(2015,\"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),z60=x(\"list.inactiveSelectionForeground\",null,F(2016,\"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),F60=x(\"list.inactiveSelectionIconForeground\",null,F(2017,\"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),B60=x(\"list.inactiveFocusBackground\",null,F(2018,\"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),_60=x(\"list.inactiveFocusOutline\",null,F(2019,\"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.\")),TQ=x(\"list.hoverBackground\",{dark:\"#2A2D2E\",light:\"#F0F0F0\",hcDark:c.white.transparent(0.1),hcLight:c.fromHex(\"#0F4A85\").transparent(0.1)},F(2020,\"List/Tree background when hovering over items using the mouse.\")),AR=x(\"list.hoverForeground\",null,F(2021,\"List/Tree foreground when hovering over items using the mouse.\")),A60=x(\"list.dropBackground\",{dark:\"#062F4A\",light:\"#D6EBFF\",hcDark:null,hcLight:null},F(2022,\"List/Tree drag and drop background when moving items over other items when using the mouse.\")),P60=x(\"list.dropBetweenBackground\",{dark:HG,light:HG,hcDark:null,hcLight:null},F(2023,\"List/Tree drag and drop border color when moving items between items when using the mouse.\")),BR=x(\"list.highlightForeground\",{dark:\"#2AAAFF\",light:\"#0066BF\",hcDark:U9,hcLight:U9},F(2024,\"List/Tree foreground color of the match highlights when searching inside the list/tree.\")),D60=x(\"list.focusHighlightForeground\",{dark:BR,light:L10(SY,BR,\"#BBE7FF\"),hcDark:BR,hcLight:BR},F(2025,\"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.\"));x(\"list.invalidItemForeground\",{dark:\"#B89500\",light:\"#B89500\",hcDark:\"#B89500\",hcLight:\"#B5200D\"},F(2026,\"List/Tree foreground color for invalid items, for example an unresolved root in explorer.\"));x(\"list.errorForeground\",{dark:\"#F88070\",light:\"#B01011\",hcDark:null,hcLight:null},F(2027,\"Foreground color of list items containing errors.\"));x(\"list.warningForeground\",{dark:\"#CCA700\",light:\"#855F00\",hcDark:null,hcLight:null},F(2028,\"Foreground color of list items containing warnings.\"));var O60=x(\"listFilterWidget.background\",{light:NQ(U4,0),dark:x4(U4,0),hcDark:U4,hcLight:U4},F(2029,\"Background color of the type filter widget in lists and trees.\")),M60=x(\"listFilterWidget.outline\",{dark:c.transparent,light:c.transparent,hcDark:\"#f38518\",hcLight:\"#007ACC\"},F(2030,\"Outline color of the type filter widget in lists and trees.\")),R60=x(\"listFilterWidget.noMatchesOutline\",{dark:\"#BE1100\",light:\"#BE1100\",hcDark:t0,hcLight:t0},F(2031,\"Outline color of the type filter widget in lists and trees, when there are no matches.\")),N60=x(\"listFilterWidget.shadow\",w2,F(2032,\"Shadow color of the type filter widget in lists and trees.\"));x(\"list.filterMatchBackground\",{dark:d9,light:d9,hcDark:null,hcLight:null},F(2033,\"Background color of the filtered match.\"));x(\"list.filterMatchBorder\",{dark:CY,light:CY,hcDark:t0,hcLight:v1},F(2034,\"Border color of the filtered match.\"));x(\"list.deemphasizedForeground\",{dark:\"#8C8C8C\",light:\"#8E8E90\",hcDark:\"#A7A8A9\",hcLight:\"#666666\"},F(2035,\"List/Tree foreground color for items that are deemphasized.\"));var dC=x(\"tree.indentGuidesStroke\",{dark:\"#585858\",light:\"#a9a9a9\",hcDark:\"#a9a9a9\",hcLight:\"#a5a5a5\"},F(2036,\"Tree stroke color for the indentation guides.\")),w60=x(\"tree.inactiveIndentGuidesStroke\",g0(dC,0.4),F(2037,\"Tree stroke color for the indentation guides that are not active.\")),T60=x(\"tree.tableColumnsBorder\",{dark:\"#CCCCCC20\",light:\"#61616120\",hcDark:null,hcLight:null},F(2038,\"Table border color between columns.\")),L60=x(\"tree.tableOddRowsBackground\",{dark:g0(H1,0.04),light:g0(H1,0.04),hcDark:null,hcLight:null},F(2039,\"Background color for odd table rows.\"));x(\"editorActionList.background\",U4,F(2040,\"Action List background color.\"));var Vd0=x(\"editorActionList.foreground\",wQ,F(2041,\"Action List foreground color.\"));x(\"editorActionList.focusForeground\",T2,F(2042,\"Action List foreground color for the focused item.\"));x(\"editorActionList.focusBackground\",SY,F(2043,\"Action List background color for the focused item.\"));var I60=x(\"input.background\",{dark:\"#3C3C3C\",light:c.white,hcDark:c.black,hcLight:c.white},F(1960,\"Input box background.\")),k60=x(\"input.foreground\",H1,F(1961,\"Input box foreground.\")),E60=x(\"input.border\",{dark:null,light:null,hcDark:t0,hcLight:t0},F(1962,\"Input box border.\")),jG=x(\"inputOption.activeBorder\",{dark:\"#007ACC\",light:\"#007ACC\",hcDark:t0,hcLight:t0},F(1963,\"Border color of activated options in input fields.\")),Ez0=x(\"inputOption.hoverBackground\",{dark:\"#5a5d5e80\",light:\"#b8b8b850\",hcDark:null,hcLight:null},F(1964,\"Background color of activated options in input fields.\")),LQ=x(\"inputOption.activeBackground\",{dark:g0(U9,0.4),light:g0(U9,0.2),hcDark:c.transparent,hcLight:c.transparent},F(1965,\"Background hover color of options in input fields.\")),WG=x(\"inputOption.activeForeground\",{dark:c.white,light:c.black,hcDark:H1,hcLight:H1},F(1966,\"Foreground color of activated options in input fields.\"));x(\"input.placeholderForeground\",{light:g0(H1,0.5),dark:g0(H1,0.5),hcDark:g0(H1,0.7),hcLight:g0(H1,0.7)},F(1967,\"Input box foreground color for placeholder text.\"));var y60=x(\"inputValidation.infoBackground\",{dark:\"#063B49\",light:\"#D6ECF2\",hcDark:c.black,hcLight:c.white},F(1968,\"Input validation background color for information severity.\")),x60=x(\"inputValidation.infoForeground\",{dark:null,light:null,hcDark:null,hcLight:H1},F(1969,\"Input validation foreground color for information severity.\")),b60=x(\"inputValidation.infoBorder\",{dark:\"#007acc\",light:\"#007acc\",hcDark:t0,hcLight:t0},F(1970,\"Input validation border color for information severity.\")),C60=x(\"inputValidation.warningBackground\",{dark:\"#352A05\",light:\"#F6F5D2\",hcDark:c.black,hcLight:c.white},F(1971,\"Input validation background color for warning severity.\")),S60=x(\"inputValidation.warningForeground\",{dark:null,light:null,hcDark:null,hcLight:H1},F(1972,\"Input validation foreground color for warning severity.\")),f60=x(\"inputValidation.warningBorder\",{dark:\"#B89500\",light:\"#B89500\",hcDark:t0,hcLight:t0},F(1973,\"Input validation border color for warning severity.\")),h60=x(\"inputValidation.errorBackground\",{dark:\"#5A1D1D\",light:\"#F2DEDE\",hcDark:c.black,hcLight:c.white},F(1974,\"Input validation background color for error severity.\")),v60=x(\"inputValidation.errorForeground\",{dark:null,light:null,hcDark:null,hcLight:H1},F(1975,\"Input validation foreground color for error severity.\")),g60=x(\"inputValidation.errorBorder\",{dark:\"#BE1100\",light:\"#BE1100\",hcDark:t0,hcLight:t0},F(1976,\"Input validation border color for error severity.\")),SV=x(\"dropdown.background\",{dark:\"#3C3C3C\",light:c.white,hcDark:c.black,hcLight:c.white},F(1977,\"Dropdown background.\")),p60=x(\"dropdown.listBackground\",{dark:null,light:null,hcDark:c.black,hcLight:c.white},F(1978,\"Dropdown list background.\")),IF=x(\"dropdown.foreground\",{dark:\"#F0F0F0\",light:H1,hcDark:c.white,hcLight:H1},F(1979,\"Dropdown foreground.\")),kF=x(\"dropdown.border\",{dark:SV,light:\"#CECECE\",hcDark:t0,hcLight:t0},F(1980,\"Dropdown border.\")),lC=x(\"button.foreground\",c.white,F(1981,\"Button foreground color.\")),m60=x(\"button.separator\",g0(lC,0.4),F(1982,\"Button separator color.\")),bV=x(\"button.background\",{dark:\"#0E639C\",light:\"#007ACC\",hcDark:c.black,hcLight:\"#0F4A85\"},F(1983,\"Button background color.\")),u60=x(\"button.hoverBackground\",{dark:x4(bV,0.2),light:NQ(bV,0.2),hcDark:bV,hcLight:bV},F(1984,\"Button background color when hovering.\")),c60=x(\"button.border\",t0,F(1985,\"Button border color.\")),d60=x(\"button.secondaryForeground\",{dark:H1,light:H1,hcDark:c.white,hcLight:H1},F(1986,\"Secondary button foreground color.\")),l60=x(\"button.secondaryBackground\",{dark:TQ,light:TQ,hcDark:null,hcLight:c.white},F(1987,\"Secondary button background color.\")),s60=x(\"button.secondaryBorder\",{dark:g0(H1,0.15),light:g0(H1,0.15),hcDark:t0,hcLight:t0},F(1988,\"Secondary button border color.\")),a60=x(\"button.secondaryHoverBackground\",{dark:x4(TQ,0.2),light:x4(TQ,0.2),hcDark:null,hcLight:null},F(1989,\"Secondary button background color when hovering.\")),CV=x(\"radio.activeForeground\",WG,F(1990,\"Foreground color of active radio option.\")),i60=x(\"radio.activeBackground\",LQ,F(1991,\"Background color of active radio option.\")),r60=x(\"radio.activeBorder\",jG,F(1992,\"Border color of the active radio option.\")),o60=x(\"radio.inactiveForeground\",null,F(1993,\"Foreground color of inactive radio option.\")),n60=x(\"radio.inactiveBackground\",null,F(1994,\"Background color of inactive radio option.\")),t60=x(\"radio.inactiveBorder\",{light:g0(CV,0.2),dark:g0(CV,0.2),hcDark:g0(CV,0.4),hcLight:g0(CV,0.2)},F(1995,\"Border color of the inactive radio option.\")),e60=x(\"radio.inactiveHoverBackground\",Ez0,F(1996,\"Background color of inactive active radio option when hovering.\")),PR=x(\"checkbox.background\",SV,F(1997,\"Background color of checkbox widget.\"));x(\"checkbox.selectBackground\",U4,F(1998,\"Background color of checkbox widget when the element it's in is selected.\"));var DR=x(\"checkbox.foreground\",IF,F(1999,\"Foreground color of checkbox widget.\")),J80=x(\"checkbox.border\",kF,F(2000,\"Border color of checkbox widget.\"));x(\"checkbox.selectBorder\",HG,F(2001,\"Border color of checkbox widget when the element it's in is selected.\"));var X80=x(\"checkbox.disabled.background\",{op:7,color:PR,with:DR,ratio:0.33},F(2002,\"Background of a disabled checkbox.\")),Y80=x(\"checkbox.disabled.foreground\",{op:7,color:DR,with:PR,ratio:0.33},F(2003,\"Foreground of a disabled checkbox.\")),Z80=x(\"keybindingLabel.background\",{dark:new c(new d(128,128,128,0.17)),light:new c(new d(221,221,221,0.4)),hcDark:c.transparent,hcLight:c.transparent},F(2004,\"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.\")),Q80=x(\"keybindingLabel.foreground\",{dark:c.fromHex(\"#CCCCCC\"),light:c.fromHex(\"#555555\"),hcDark:c.white,hcLight:H1},F(2005,\"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.\")),$80=x(\"keybindingLabel.border\",{dark:new c(new d(51,51,51,0.6)),light:new c(new d(204,204,204,0.4)),hcDark:new c(new d(111,195,223)),hcLight:t0},F(2006,\"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.\")),q80=x(\"keybindingLabel.bottomBorder\",{dark:new c(new d(68,68,68,0.6)),light:new c(new d(187,187,187,0.4)),hcDark:new c(new d(111,195,223)),hcLight:H1},F(2007,\"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.\"));var G80=x(\"menu.border\",{dark:null,light:null,hcDark:t0,hcLight:t0},F(2044,\"Border color of menus.\")),U80=x(\"menu.foreground\",IF,F(2045,\"Foreground color of menu items.\")),H80=x(\"menu.background\",SV,F(2046,\"Background color of menu items.\"));x(\"menu.selectionForeground\",T2,F(2047,\"Foreground color of the selected menu item in menus.\"));x(\"menu.selectionBackground\",SY,F(2048,\"Background color of the selected menu item in menus.\"));var V80=x(\"menu.selectionBorder\",{dark:null,light:null,hcDark:v1,hcLight:v1},F(2049,\"Border color of the selected menu item in menus.\")),K80=x(\"menu.separatorBackground\",{dark:g0(H1,0.2),light:g0(H1,0.2),hcDark:t0,hcLight:t0},F(2050,\"Color of a separator menu item in menus.\"));var OR=x(\"quickInput.background\",U4,F(2078,\"Quick picker background color. The quick picker widget is the container for pickers like the command palette.\")),W80=x(\"quickInput.foreground\",wQ,F(2079,\"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.\")),z80=x(\"quickInputTitle.background\",{dark:new c(new d(255,255,255,0.105)),light:new c(new d(0,0,0,0.06)),hcDark:\"#000000\",hcLight:c.white},F(2080,\"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.\")),MR=x(\"pickerGroup.foreground\",{dark:\"#3794FF\",light:\"#0066BF\",hcDark:c.white,hcLight:\"#0F4A85\"},F(2081,\"Quick picker color for grouping labels.\")),F80=x(\"pickerGroup.border\",{dark:\"#3F3F46\",light:\"#CCCEDB\",hcDark:c.white,hcLight:\"#0F4A85\"},F(2082,\"Quick picker color for grouping borders.\")),j80=x(\"quickInput.list.focusBackground\",null,\"\",void 0,F(2083,\"Please use quickInputList.focusBackground instead\")),fV=x(\"quickInputList.focusForeground\",T2,F(2084,\"Quick picker foreground color for the focused item.\")),RR=x(\"quickInputList.focusIconForeground\",_R,F(2085,\"Quick picker icon foreground color for the focused item.\")),hV=x(\"quickInputList.focusBackground\",{dark:CC(j80,SY),light:CC(j80,SY),hcDark:null,hcLight:null},F(2086,\"Quick picker background color for the focused item.\"));x(\"quickInputList.focusHighlightForeground\",D60,F(2087,\"Quick picker foreground color of the match highlights on the focused item.\"));x(\"search.resultsInfoForeground\",{light:H1,dark:g0(H1,0.65),hcDark:H1,hcLight:H1},F(2088,\"Color of the text in the search viewlet's completion message.\"));x(\"searchEditor.findMatchBackground\",{light:g0(d9,0.66),dark:g0(d9,0.66),hcDark:d9,hcLight:d9},F(2089,\"Color of the Search Editor query matches.\"));x(\"searchEditor.findMatchBorder\",{light:g0(CY,0.66),dark:g0(CY,0.66),hcDark:CY,hcLight:CY},F(2090,\"Border color of the Search Editor query matches.\"));class L2{constructor(J,X){this.x=J,this.y=X,this._pageCoordinatesBrand=void 0}toClientCoordinates(J){return new NR(this.x-J.scrollX,this.y-J.scrollY)}}class NR{constructor(J,X){this.clientX=J,this.clientY=X,this._clientCoordinatesBrand=void 0}toPageCoordinates(J){return new L2(this.clientX+J.scrollX,this.clientY+J.scrollY)}}class B80{constructor(J,X,Y,Z){this.x=J,this.y=X,this.width=Y,this.height=Z,this._editorPagePositionBrand=void 0}}class _80{constructor(J,X){this.x=J,this.y=X,this._positionRelativeToEditorBrand=void 0}}function vV(J){let X=R8(J);return new B80(X.left,X.top,X.width,X.height)}function gV(J,X,Y){let Z=X.width/J.offsetWidth,Q=X.height/J.offsetHeight,$=(Y.x-X.x)/Z,q=(Y.y-X.y)/Q;return new _80($,q)}class kX extends k8{get editorPos(){return this._editorPos??=vV(this._editorViewDomNode),this._editorPos}get relativePos(){return this._relativePos??=gV(this._editorViewDomNode,this.editorPos,this.pos),this._relativePos}constructor(J,X,Y){super(Q0(Y),J);this._editorMouseEventBrand=void 0,this.isFromPointerCapture=X,this.pos=new L2(this.posx,this.posy),this._editorViewDomNode=Y}}class sC{constructor(J){this._editorViewDomNode=J}_create(J){return new kX(J,!1,this._editorViewDomNode)}onContextMenu(J,X){return f(J,r.CONTEXT_MENU,(Y)=>{X(this._create(Y))})}onMouseUp(J,X){return f(J,r.MOUSE_UP,(Y)=>{X(this._create(Y))})}onMouseDown(J,X){return f(J,r.MOUSE_DOWN,(Y)=>{X(this._create(Y))})}onPointerDown(J,X){return f(J,r.POINTER_DOWN,(Y)=>{X(this._create(Y),Y.pointerId)})}onMouseLeave(J,X){return f(J,r.MOUSE_LEAVE,(Y)=>{X(this._create(Y))})}onMouseMove(J,X){return f(J,r.MOUSE_MOVE,(Y)=>X(this._create(Y)))}}class aC{constructor(J){this._editorViewDomNode=J}_create(J){return new kX(J,!1,this._editorViewDomNode)}onPointerUp(J,X){return f(J,\"pointerup\",(Y)=>{X(this._create(Y))})}onPointerDown(J,X){return f(J,r.POINTER_DOWN,(Y)=>{X(this._create(Y),Y.pointerId)})}onPointerLeave(J,X){return f(J,r.POINTER_LEAVE,(Y)=>{X(this._create(Y))})}onPointerMove(J,X){return f(J,\"pointermove\",(Y)=>X(this._create(Y)))}}class iC extends y{constructor(J){super();this._editorViewDomNode=J,this._globalPointerMoveMonitor=this._register(new RQ),this._keydownListener=null}startMonitoring(J,X,Y,Z,Q){this._keydownListener=F6(J.ownerDocument,\"keydown\",($)=>{if($.toKeyCodeChord().isModifierKey())return;this._globalPointerMoveMonitor.stopMonitoring(!0,$.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(J,X,Y,($)=>{Z(new kX($,!0,this._editorViewDomNode))},($)=>{this._keydownListener.dispose(),Q($)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class A80{static{this._idPool=0}constructor(J){this._editor=J,this._instanceId=++A80._idPool,this._counter=0,this._rules=new VX,this._garbageCollectionScheduler=new B1(()=>this.garbageCollect(),1000)}dispose(){this._rules.dispose(),this._garbageCollectionScheduler.dispose()}createClassNameRef(J){let X=this.getOrCreateRule(J);return X.increaseRefCount(),{className:X.className,dispose:()=>{X.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(J){let X=this.computeUniqueKey(J),Y=this._rules.get(X);if(!Y){let Z=this._counter++;Y=new P80(X,`dyn-rule-${this._instanceId}-${Z}`,Sq(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,J),this._rules.set(X,Y)}return Y}computeUniqueKey(J){return JSON.stringify(J)}garbageCollect(){for(let J of this._rules.values())if(!J.hasReferences())this._rules.deleteAndDispose(J.key)}}class P80{constructor(J,X,Y,Z){this.key=J,this.className=X,this.properties=Z,this._referenceCount=0,this._styleElementDisposables=new a,this._styleElement=z5(Y,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(J,X){let Y=`.${J} {`;for(let Z in X){let Q=X[Z],$;if(typeof Q===\"object\")$=Z0(Q.id);else $=Q;let q=yz0(Z);Y+=`\n\t${q}: ${$};`}return Y+=`\n}`,Y}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function yz0(J){return J.replace(/(^[A-Z])/,([X])=>X.toLowerCase()).replace(/([A-Z])/g,([X])=>`-${X.toLowerCase()}`)}class C4 extends y{constructor(){super();this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(J){return!1}onCompositionEnd(J){return!1}onConfigurationChanged(J){return!1}onCursorStateChanged(J){return!1}onDecorationsChanged(J){return!1}onFlushed(J){return!1}onFocusChanged(J){return!1}onLanguageConfigurationChanged(J){return!1}onLineMappingChanged(J){return!1}onLinesChanged(J){return!1}onLinesDeleted(J){return!1}onLinesInserted(J){return!1}onRevealRangeRequest(J){return!1}onScrollChanged(J){return!1}onThemeChanged(J){return!1}onTokensChanged(J){return!1}onTokensColorsChanged(J){return!1}onZonesChanged(J){return!1}handleEvents(J){let X=!1;for(let Y=0,Z=J.length;Y<Z;Y++){let Q=J[Y];switch(Q.type){case 0:if(this.onCompositionStart(Q))X=!0;break;case 1:if(this.onCompositionEnd(Q))X=!0;break;case 2:if(this.onConfigurationChanged(Q))X=!0;break;case 3:if(this.onCursorStateChanged(Q))X=!0;break;case 4:if(this.onDecorationsChanged(Q))X=!0;break;case 5:if(this.onFlushed(Q))X=!0;break;case 6:if(this.onFocusChanged(Q))X=!0;break;case 7:if(this.onLanguageConfigurationChanged(Q))X=!0;break;case 8:if(this.onLineMappingChanged(Q))X=!0;break;case 9:if(this.onLinesChanged(Q))X=!0;break;case 10:if(this.onLinesDeleted(Q))X=!0;break;case 11:if(this.onLinesInserted(Q))X=!0;break;case 12:if(this.onRevealRangeRequest(Q))X=!0;break;case 13:if(this.onScrollChanged(Q))X=!0;break;case 15:if(this.onTokensChanged(Q))X=!0;break;case 14:if(this.onThemeChanged(Q))X=!0;break;case 16:if(this.onTokensColorsChanged(Q))X=!0;break;case 17:if(this.onZonesChanged(Q))X=!0;break;default:console.info(\"View received unknown event: \"),console.info(Q)}}if(X)this._shouldRender=!0}}class e1 extends C4{constructor(J){super();this._context=J,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onBeforeRender(J){}}class k5{static write(J,X){J.setAttribute(\"data-mprt\",String(X))}static read(J){let X=J.getAttribute(\"data-mprt\");if(X===null)return 0;return parseInt(X,10)}static collect(J,X){let Y=[],Z=0;while(J&&J!==J.ownerDocument.body){if(J===X)break;if(J.nodeType===J.ELEMENT_NODE)Y[Z++]=this.read(J);J=J.parentElement}let Q=new Uint8Array(Z);for(let $=0;$<Z;$++)Q[$]=Y[Z-$-1];return Q}}class D80{constructor(J,X){this._restrictedRenderingContextBrand=void 0,this._viewLayout=J,this.viewportData=X,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;let Y=this._viewLayout.getCurrentViewport();this.scrollTop=Y.top,this.scrollLeft=Y.left,this.viewportWidth=Y.width,this.viewportHeight=Y.height}getScrolledTopFromAbsoluteTop(J){return J-this.scrollTop}getVerticalOffsetForLineNumber(J,X){return this._viewLayout.getVerticalOffsetForLineNumber(J,X)}getVerticalOffsetAfterLineNumber(J,X){return this._viewLayout.getVerticalOffsetAfterLineNumber(J,X)}getLineHeightForLineNumber(J){return this._viewLayout.getLineHeightForLineNumber(J)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class rC extends D80{constructor(J,X,Y,Z){super(J,X);this._renderingContextBrand=void 0,this._viewLines=Y,this._viewLinesGpu=Z}linesVisibleRangesForRange(J,X){let Y=this._viewLines.linesVisibleRangesForRange(J,X);if(!this._viewLinesGpu)return Y;let Z=this._viewLinesGpu.linesVisibleRangesForRange(J,X);if(!Y)return Z;if(!Z)return Y;return Y.concat(Z).sort((Q,$)=>Q.lineNumber-$.lineNumber)}visibleRangeForPosition(J){return this._viewLines.visibleRangeForPosition(J)??this._viewLinesGpu?.visibleRangeForPosition(J)??null}}class EF{constructor(J,X,Y,Z){this.outsideRenderedLine=J,this.lineNumber=X,this.ranges=Y,this.continuesOnNextLine=Z}}class I2{static from(J){let X=Array(J.length);for(let Y=0,Z=J.length;Y<Z;Y++){let Q=J[Y];X[Y]=new I2(Q.left,Q.width)}return X}constructor(J,X){this._horizontalRangeBrand=void 0,this.left=Math.round(J),this.width=Math.round(X)}toString(){return`[${this.left},${this.width}]`}}class gJ{constructor(J,X){this._floatHorizontalRangeBrand=void 0,this.left=J,this.width=X}toString(){return`[${this.left},${this.width}]`}static compare(J,X){return J.left-X.left}}class yF{constructor(J,X){this.outsideRenderedLine=J,this.originalLeft=X,this.left=Math.round(this.originalLeft)}}class pV{constructor(J,X){this.outsideRenderedLine=J,this.ranges=X}}class mV{static _createRange(){if(!this._handyReadyRange)this._handyReadyRange=document.createRange();return this._handyReadyRange}static _detachRange(J,X){J.selectNodeContents(X)}static _readClientRects(J,X,Y,Z,Q){let $=this._createRange();try{return $.setStart(J,X),$.setEnd(Y,Z),$.getClientRects()}catch(q){return null}finally{this._detachRange($,Q)}}static _mergeAdjacentRanges(J){if(J.length===1)return J;J.sort(gJ.compare);let X=[],Y=0,Z=J[0];for(let Q=1,$=J.length;Q<$;Q++){let q=J[Q];if(Z.left+Z.width+0.9>=q.left)Z.width=Math.max(Z.width,q.left+q.width-Z.left);else X[Y++]=Z,Z=q}return X[Y++]=Z,X}static _createHorizontalRangesFromClientRects(J,X,Y){if(!J||J.length===0)return null;let Z=[];for(let Q=0,$=J.length;Q<$;Q++){let q=J[Q];Z[Q]=new gJ(Math.max(0,(q.left-X)/Y),q.width/Y)}return this._mergeAdjacentRanges(Z)}static readHorizontalRanges(J,X,Y,Z,Q,$){let G=J.children.length-1;if(0>G)return null;if(X=Math.min(G,Math.max(0,X)),Z=Math.min(G,Math.max(0,Z)),X===Z&&Y===Q&&Y===0&&!J.children[X].firstChild){let K=J.children[X].getClientRects();return $.markDidDomLayout(),this._createHorizontalRangesFromClientRects(K,$.clientRectDeltaLeft,$.clientRectScale)}if(X!==Z){if(Z>0&&Q===0)Z--,Q=1073741824}let U=J.children[X].firstChild,H=J.children[Z].firstChild;if(!U||!H){if(!U&&Y===0&&X>0)U=J.children[X-1].firstChild,Y=1073741824;if(!H&&Q===0&&Z>0)H=J.children[Z-1].firstChild,Q=1073741824}if(!U||!H)return null;Y=Math.min(U.textContent.length,Math.max(0,Y)),Q=Math.min(H.textContent.length,Math.max(0,Q));let V=this._readClientRects(U,Y,H,Q,$.endNode);return $.markDidDomLayout(),this._createHorizontalRangesFromClientRects(V,$.clientRectDeltaLeft,$.clientRectScale)}}var S4;(function(J){J.DARK=\"dark\",J.LIGHT=\"light\",J.HIGH_CONTRAST_DARK=\"hcDark\",J.HIGH_CONTRAST_LIGHT=\"hcLight\"})(S4||(S4={}));var zG;(function(J){J.VS=\"vs\",J.VS_DARK=\"vs-dark\",J.HC_BLACK=\"hc-black\",J.HC_LIGHT=\"hc-light\"})(zG||(zG={}));function l9(J){return J===S4.HIGH_CONTRAST_DARK||J===S4.HIGH_CONTRAST_LIGHT}function pJ(J){return J===S4.DARK||J===S4.HIGH_CONTRAST_DARK}var xz0=function(){if(Q7)return!0;if(y6||C6||TJ)return!1;return!0}(),uV=!0;class H9{static{this.CLASS_NAME=\"view-line\"}constructor(J,X){this._viewGpuContext=J,this._options=X,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){if(this._renderedViewLine&&this._renderedViewLine.domNode)return this._renderedViewLine.domNode.domNode;return null}setDomNode(J){if(this._renderedViewLine)this._renderedViewLine.domNode=p0(J);else throw Error(\"I have no rendered view line to set the dom node to...\")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(J){this._isMaybeInvalid=!0,this._options=J}onSelectionChanged(){if(l9(this._options.themeType)||this._renderedViewLine?.input.renderWhitespace===2)return this._isMaybeInvalid=!0,!0;return!1}renderLine(J,X,Y,Z,Q){if(this._options.useGpu&&this._viewGpuContext?.canRender(this._options,Z,J))return this._renderedViewLine?.domNode?.domNode.remove(),this._renderedViewLine=null,!1;if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;let $=Z.getViewLineRenderingData(J),q=this._options,G=x7.filter($.inlineDecorations,J,$.minColumn,$.maxColumn),U=q.experimentalWhitespaceRendering===\"off\"?q.renderWhitespace:\"none\",H=!$.hasVariableFonts,V=null;if(l9(q.themeType)||U===\"selection\"){let z=Z.selections;for(let B of z){if(B.endLineNumber<J||B.startLineNumber>J)continue;let P=B.startLineNumber===J?B.startColumn:$.minColumn,_=B.endLineNumber===J?B.endColumn:$.maxColumn;if(P<_){if(l9(q.themeType))G.push(new x7(P,_,\"inline-selected-text\",0));if(U===\"selection\"){if(!V)V=[];V.push(new H0(P-1,_-1))}}}}let K=new u9(q.useMonospaceOptimizations,q.canUseHalfwidthRightwardsArrow,$.content,$.continuesWithWrappedLine,$.isBasicASCII,$.containsRTL,$.minColumn-1,$.tokens,G,$.tabSize,$.startVisibleColumn,q.spaceWidth,q.middotWidth,q.wsmiddotWidth,q.stopRenderingLineAfter,U,q.renderControlCharacters,q.fontLigatures!==R7.OFF,V,$.textDirection,q.verticalScrollbarSize);if(this._renderedViewLine&&this._renderedViewLine.input.equals(K))return!1;if(Q.appendString(\"<div \"),$.textDirection===N8.RTL)Q.appendString('dir=\"rtl\" ');else if($.containsRTL)Q.appendString('dir=\"ltr\" ');if(Q.appendString('style=\"top:'),Q.appendString(String(X)),Q.appendString(\"px;height:\"),Q.appendString(String(Y)),Q.appendString(\"px;line-height:\"),Q.appendString(String(Y)),$.textDirection===N8.RTL)Q.appendString(\"px;padding-right:\"),Q.appendString(String(q.verticalScrollbarSize));Q.appendString('px;\" class=\"'),Q.appendString(H9.CLASS_NAME),Q.appendString('\">');let j=ZG(K,Q);Q.appendString(\"</div>\");let W=null;if(H&&uV&&xz0&&$.isBasicASCII&&K.isLTR&&q.useMonospaceOptimizations&&j.containsForeignElements===0)W=new xF(this._renderedViewLine?this._renderedViewLine.domNode:null,K,j.characterMapping);if(!W)W=M80(this._renderedViewLine?this._renderedViewLine.domNode:null,K,j.characterMapping,j.containsForeignElements);return this._renderedViewLine=W,!0}layoutLine(J,X,Y){if(this._renderedViewLine&&this._renderedViewLine.domNode)this._renderedViewLine.domNode.setTop(X),this._renderedViewLine.domNode.setHeight(Y),this._renderedViewLine.domNode.setLineHeight(Y)}isRenderedRTL(){if(!this._renderedViewLine)return!1;return this._renderedViewLine.input.textDirection===N8.RTL}getWidth(J){if(!this._renderedViewLine)return 0;return this._renderedViewLine.getWidth(J)}getWidthIsFast(){if(!this._renderedViewLine)return!0;return this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){if(!this._renderedViewLine)return!1;return this._renderedViewLine instanceof xF}monospaceAssumptionsAreValid(){if(!this._renderedViewLine)return uV;if(this._renderedViewLine instanceof xF)return this._renderedViewLine.monospaceAssumptionsAreValid();return uV}onMonospaceAssumptionsInvalidated(){if(this._renderedViewLine&&this._renderedViewLine instanceof xF)this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine()}getVisibleRangesForRange(J,X,Y,Z){if(!this._renderedViewLine)return null;X=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,X)),Y=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,Y));let Q=this._renderedViewLine.input.stopRenderingLineAfter;if(Q!==-1&&X>Q+1&&Y>Q+1)return new pV(!0,[new gJ(this.getWidth(Z),0)]);if(Q!==-1&&X>Q+1)X=Q+1;if(Q!==-1&&Y>Q+1)Y=Q+1;let $=this._renderedViewLine.getVisibleRangesForRange(J,X,Y,Z);if($&&$.length>0)return new pV(!1,$);return null}getColumnOfNodeOffset(J,X){if(!this._renderedViewLine)return 1;return this._renderedViewLine.getColumnOfNodeOffset(J,X)}resetCachedWidth(){this._renderedViewLine?.resetCachedWidth()}}class xF{constructor(J,X,Y){this._cachedWidth=-1,this.domNode=J,this.input=X;let Z=Math.floor(X.lineContent.length/300);if(Z>0){this._keyColumnPixelOffsetCache=new Float32Array(Z);for(let Q=0;Q<Z;Q++)this._keyColumnPixelOffsetCache[Q]=-1}else this._keyColumnPixelOffsetCache=null;this._characterMapping=Y,this._charWidth=X.spaceWidth}getWidth(J){if(!this.domNode||this.input.lineContent.length<300){let X=this._characterMapping.getHorizontalOffset(this._characterMapping.length);return Math.round(this._charWidth*X)}if(this._cachedWidth===-1)this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,J?.markDidDomLayout();return this._cachedWidth}getWidthIsFast(){return this.input.lineContent.length<300||this._cachedWidth!==-1}resetCachedWidth(){this._cachedWidth=-1}monospaceAssumptionsAreValid(){if(!this.domNode)return uV;if(this.input.lineContent.length<300){let J=this.getWidth(null),X=this.domNode.domNode.firstChild.offsetWidth;if(Math.abs(J-X)>=2)console.warn(\"monospace assumptions have been violated, therefore disabling monospace optimizations!\"),uV=!1}return uV}toSlowRenderedLine(){return M80(this.domNode,this.input,this._characterMapping,0)}getVisibleRangesForRange(J,X,Y,Z){let Q=this._getColumnPixelOffset(J,X,Z),$=this._getColumnPixelOffset(J,Y,Z);return[new gJ(Q,$-Q)]}_getColumnPixelOffset(J,X,Y){if(X<=300){let U=this._characterMapping.getHorizontalOffset(X);return this._charWidth*U}let Z=Math.floor((X-1)/300)-1,Q=(Z+1)*300+1,$=-1;if(this._keyColumnPixelOffsetCache){if($=this._keyColumnPixelOffsetCache[Z],$===-1)$=this._actualReadPixelOffset(J,Q,Y),this._keyColumnPixelOffsetCache[Z]=$}if($===-1){let U=this._characterMapping.getHorizontalOffset(X);return this._charWidth*U}let q=this._characterMapping.getHorizontalOffset(Q),G=this._characterMapping.getHorizontalOffset(X);return $+this._charWidth*(G-q)}_getReadingTarget(J){return J.domNode.firstChild}_actualReadPixelOffset(J,X,Y){if(!this.domNode)return-1;let Z=this._characterMapping.getDomPosition(X),Q=mV.readHorizontalRanges(this._getReadingTarget(this.domNode),Z.partIndex,Z.charIndex,Z.partIndex,Z.charIndex,Y);if(!Q||Q.length===0)return-1;return Q[0].left}getColumnOfNodeOffset(J,X){return FG(this._characterMapping,J,X)}}class oC{constructor(J,X,Y,Z){if(this.domNode=J,this.input=X,this._characterMapping=Y,this._isWhitespaceOnly=/^\\s*$/.test(X.lineContent),this._containsForeignElements=Z,this._cachedWidth=-1,this._pixelOffsetCache=null,X.isLTR){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let Q=0,$=this._characterMapping.length;Q<=$;Q++)this._pixelOffsetCache[Q]=-1}}_getReadingTarget(J){return J.domNode.firstChild}getWidth(J){if(!this.domNode)return 0;if(this._cachedWidth===-1)this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,J?.markDidDomLayout();return this._cachedWidth}getWidthIsFast(){if(this._cachedWidth===-1)return!1;return!0}resetCachedWidth(){if(this._cachedWidth=-1,this._pixelOffsetCache!==null)for(let J=0,X=this._pixelOffsetCache.length;J<X;J++)this._pixelOffsetCache[J]=-1}getVisibleRangesForRange(J,X,Y,Z){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){let Q=this._readPixelOffset(this.domNode,J,X,Z);if(Q===-1)return null;let $=this._readPixelOffset(this.domNode,J,Y,Z);if($===-1)return null;return[new gJ(Q,$-Q)]}return this._readVisibleRangesForRange(this.domNode,J,X,Y,Z)}_readVisibleRangesForRange(J,X,Y,Z,Q){if(Y===Z){let $=this._readPixelOffset(J,X,Y,Q);if($===-1)return null;else return[new gJ($,0)]}else return this._readRawVisibleRangesForRange(J,Y,Z,Q)}_readPixelOffset(J,X,Y,Z){if(this.input.isLTR&&this._characterMapping.length===0){if(this._containsForeignElements===0)return 0;if(this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(Z);let Q=this._getReadingTarget(J);if(Q.firstChild)return Z.markDidDomLayout(),Q.firstChild.offsetWidth;else return 0}if(this._pixelOffsetCache!==null){let Q=this._pixelOffsetCache[Y];if(Q!==-1)return Q;let $=this._actualReadPixelOffset(J,X,Y,Z);return this._pixelOffsetCache[Y]=$,$}return this._actualReadPixelOffset(J,X,Y,Z)}_actualReadPixelOffset(J,X,Y,Z){if(this._characterMapping.length===0){let G=mV.readHorizontalRanges(this._getReadingTarget(J),0,0,0,0,Z);if(!G||G.length===0)return-1;return G[0].left}if(this.input.isLTR&&Y===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(Z);let Q=this._characterMapping.getDomPosition(Y),$=mV.readHorizontalRanges(this._getReadingTarget(J),Q.partIndex,Q.charIndex,Q.partIndex,Q.charIndex,Z);if(!$||$.length===0)return-1;let q=$[0].left;if(this.input.isBasicASCII){let G=this._characterMapping.getHorizontalOffset(Y),U=Math.round(this.input.spaceWidth*G);if(Math.abs(U-q)<=1)return U}return q}_readRawVisibleRangesForRange(J,X,Y,Z){if(this.input.isLTR&&X===1&&Y===this._characterMapping.length)return[new gJ(0,this.getWidth(Z))];let Q=this._characterMapping.getDomPosition(X),$=this._characterMapping.getDomPosition(Y);return mV.readHorizontalRanges(this._getReadingTarget(J),Q.partIndex,Q.charIndex,$.partIndex,$.charIndex,Z)}getColumnOfNodeOffset(J,X){return FG(this._characterMapping,J,X)}}class O80 extends oC{_readVisibleRangesForRange(J,X,Y,Z,Q){let $=super._readVisibleRangesForRange(J,X,Y,Z,Q);if(!$||$.length===0||Y===Z||Y===1&&Z===this._characterMapping.length)return $;if(this.input.isLTR){let q=this._readPixelOffset(J,X,Z,Q);if(q!==-1){let G=$[$.length-1];if(G.left<q)G.width=q-G.left}}return $}}var M80=function(){if(wq)return bz0;return Cz0}();function bz0(J,X,Y,Z){return new O80(J,X,Y,Z)}function Cz0(J,X,Y,Z){return new oC(J,X,Y,Z)}function FG(J,X,Y){let Z=X.textContent.length,Q=-1;while(X)X=X.previousSibling,Q++;return J.getColumn(new nM(Q,Y),Z)}class V1{static _nextVisibleColumn(J,X,Y){if(J===9)return V1.nextRenderTabStop(X,Y);if(T4(J)||wz(J))return X+2;return X+1}static visibleColumnFromColumn(J,X,Y){let Z=Math.min(X-1,J.length),Q=J.substring(0,Z),$=new rH(Q),q=0;while(!$.eol()){let G=iH(Q,Z,$.offset);$.nextGraphemeLength(),q=this._nextVisibleColumn(G,q,Y)}return q}static columnFromVisibleColumn(J,X,Y){if(X<=0)return 1;let Z=J.length,Q=new rH(J),$=0,q=1;while(!Q.eol()){let G=iH(J,Z,Q.offset);Q.nextGraphemeLength();let U=this._nextVisibleColumn(G,$,Y),H=Q.offset+1;if(U>=X){let V=X-$;if(U-X<V)return H;else return q}$=U,q=H}return Z+1}static nextRenderTabStop(J,X){return J+X-J%X}static nextIndentTabStop(J,X){return V1.nextRenderTabStop(J,X)}static prevRenderTabStop(J,X){return Math.max(0,J-1-(J-1)%X)}static prevIndentTabStop(J,X){return V1.prevRenderTabStop(J,X)}}class BG{static whitespaceVisibleColumn(J,X,Y){let Z=J.length,Q=0,$=-1,q=-1;for(let G=0;G<Z;G++){if(G===X)return[$,q,Q];if(Q%Y===0)$=G,q=Q;switch(J.charCodeAt(G)){case 32:Q+=1;break;case 9:Q=V1.nextRenderTabStop(Q,Y);break;default:return[-1,-1,-1]}}if(X===Z)return[$,q,Q];return[-1,-1,-1]}static atomicPosition(J,X,Y,Z){let Q=J.length,[$,q,G]=BG.whitespaceVisibleColumn(J,X,Y);if(G===-1)return-1;let U;switch(Z){case 0:U=!0;break;case 1:U=!1;break;case 2:if(G%Y===0)return X;U=G%Y<=Y/2;break}if(U){if($===-1)return-1;let K=q;for(let j=$;j<Q;++j){if(K===q+Y)return $;switch(J.charCodeAt(j)){case 32:K+=1;break;case 9:K=V1.nextRenderTabStop(K,Y);break;default:return-1}}if(K===q+Y)return $;return-1}let H=V1.nextRenderTabStop(G,Y),V=G;for(let K=X;K<Q;K++){if(V===H)return K;switch(J.charCodeAt(K)){case 32:V+=1;break;case 9:V=V1.nextRenderTabStop(V,Y);break;default:return-1}}if(V===H)return Q;return-1}}class IQ{constructor(J=null){this.hitTarget=J,this.type=0}}class nC{get hitTarget(){return this.spanNode}constructor(J,X,Y){this.position=J,this.spanNode=X,this.injectedText=Y,this.type=1}}var AG;(function(J){function X(Y,Z,Q){let $=Y.getPositionFromDOMInfo(Z,Q);if($)return new nC($,Z,null);return new IQ(Z)}J.createFromDOMInfo=X})(AG||(AG={}));class tC{constructor(J,X){this.lastViewCursorsRenderData=J,this.lastTextareaPosition=X}}class v8{static _deduceRage(J,X=null){if(!X&&J)return new T(J.lineNumber,J.column,J.lineNumber,J.column);return X??null}static createUnknown(J,X,Y){return{type:0,element:J,mouseColumn:X,position:Y,range:this._deduceRage(Y)}}static createTextarea(J,X){return{type:1,element:J,mouseColumn:X,position:null,range:null}}static createMargin(J,X,Y,Z,Q,$){return{type:J,element:X,mouseColumn:Y,position:Z,range:Q,detail:$}}static createViewZone(J,X,Y,Z,Q){return{type:J,element:X,mouseColumn:Y,position:Z,range:this._deduceRage(Z),detail:Q}}static createContentText(J,X,Y,Z,Q){return{type:6,element:J,mouseColumn:X,position:Y,range:this._deduceRage(Y,Z),detail:Q}}static createContentEmpty(J,X,Y,Z){return{type:7,element:J,mouseColumn:X,position:Y,range:this._deduceRage(Y),detail:Z}}static createContentWidget(J,X,Y){return{type:9,element:J,mouseColumn:X,position:null,range:null,detail:Y}}static createScrollbar(J,X,Y){return{type:11,element:J,mouseColumn:X,position:Y,range:this._deduceRage(Y)}}static createOverlayWidget(J,X,Y){return{type:12,element:J,mouseColumn:X,position:null,range:null,detail:Y}}static createOutsideEditor(J,X,Y,Z){return{type:13,element:null,mouseColumn:J,position:X,range:this._deduceRage(X),outsidePosition:Y,outsideDistance:Z}}static _typeToString(J){if(J===1)return\"TEXTAREA\";if(J===2)return\"GUTTER_GLYPH_MARGIN\";if(J===3)return\"GUTTER_LINE_NUMBERS\";if(J===4)return\"GUTTER_LINE_DECORATIONS\";if(J===5)return\"GUTTER_VIEW_ZONE\";if(J===6)return\"CONTENT_TEXT\";if(J===7)return\"CONTENT_EMPTY\";if(J===8)return\"CONTENT_VIEW_ZONE\";if(J===9)return\"CONTENT_WIDGET\";if(J===10)return\"OVERVIEW_RULER\";if(J===11)return\"SCROLLBAR\";if(J===12)return\"OVERLAY_WIDGET\";return\"UNKNOWN\"}static toString(J){return this._typeToString(J.type)+\": \"+J.position+\" - \"+J.range+\" - \"+JSON.stringify(J.detail)}}class j7{static isTextArea(J){return J.length===2&&J[0]===3&&J[1]===7}static isChildOfViewLines(J){return J.length>=4&&J[0]===3&&J[3]===8}static isStrictChildOfViewLines(J){return J.length>4&&J[0]===3&&J[3]===8}static isChildOfScrollableElement(J){return J.length>=2&&J[0]===3&&J[1]===6}static isChildOfMinimap(J){return J.length>=2&&J[0]===3&&J[1]===9}static isChildOfContentWidgets(J){return J.length>=4&&J[0]===3&&J[3]===1}static isChildOfOverflowGuard(J){return J.length>=1&&J[0]===3}static isChildOfOverflowingContentWidgets(J){return J.length>=1&&J[0]===2}static isChildOfOverlayWidgets(J){return J.length>=2&&J[0]===3&&J[1]===4}static isChildOfOverflowingOverlayWidgets(J){return J.length>=1&&J[0]===5}}class PG{constructor(J,X,Y){this.viewModel=J.viewModel;let Z=J.configuration.options;this.layoutInfo=Z.get(165),this.viewDomNode=X.viewDomNode,this.viewLinesGpu=X.viewLinesGpu,this.lineHeight=Z.get(75),this.stickyTabStops=Z.get(132),this.typicalHalfwidthCharacterWidth=Z.get(59).typicalHalfwidthCharacterWidth,this.lastRenderData=Y,this._context=J,this._viewHelper=X}getZoneAtCoord(J){return PG.getZoneAtCoord(this._context,J)}static getZoneAtCoord(J,X){let Y=J.viewLayout.getWhitespaceAtVerticalOffset(X);if(Y){let Z=Y.verticalOffset+Y.height/2,Q=J.viewModel.getLineCount(),$=null,q,G=null;if(Y.afterLineNumber!==Q)G=new C(Y.afterLineNumber+1,1);if(Y.afterLineNumber>0)$=new C(Y.afterLineNumber,J.viewModel.getLineMaxColumn(Y.afterLineNumber));if(G===null)q=$;else if($===null)q=G;else if(X<Z)q=$;else q=G;return{viewZoneId:Y.id,afterLineNumber:Y.afterLineNumber,positionBefore:$,positionAfter:G,position:q}}return null}getFullLineRangeAtCoord(J){if(this._context.viewLayout.isAfterLines(J)){let Z=this._context.viewModel.getLineCount(),Q=this._context.viewModel.getLineMaxColumn(Z);return{range:new T(Z,Q,Z,Q),isAfterLines:!0}}let X=this._context.viewLayout.getLineNumberAtVerticalOffset(J),Y=this._context.viewModel.getLineMaxColumn(X);return{range:new T(X,1,X,Y),isAfterLines:!1}}getLineNumberAtVerticalOffset(J){return this._context.viewLayout.getLineNumberAtVerticalOffset(J)}isAfterLines(J){return this._context.viewLayout.isAfterLines(J)}isInTopPadding(J){return this._context.viewLayout.isInTopPadding(J)}isInBottomPadding(J){return this._context.viewLayout.isInBottomPadding(J)}getVerticalOffsetForLineNumber(J){return this._context.viewLayout.getVerticalOffsetForLineNumber(J)}findAttribute(J,X){return PG._findAttribute(J,X,this._viewHelper.viewDomNode)}static _findAttribute(J,X,Y){while(J&&J!==J.ownerDocument.body){if(J.hasAttribute&&J.hasAttribute(X))return J.getAttribute(X);if(J===Y)return null;J=J.parentNode}return null}getLineWidth(J){return this._viewHelper.getLineWidth(J)}isRtl(J){return this.viewModel.getTextDirection(J)===N8.RTL}visibleRangeForPosition(J,X){return this._viewHelper.visibleRangeForPosition(J,X)}getPositionFromDOMInfo(J,X){return this._viewHelper.getPositionFromDOMInfo(J,X)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}}class N80{constructor(J,X,Y,Z){this.editorPos=X,this.pos=Y,this.relativePos=Z,this.mouseVerticalOffset=Math.max(0,J.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=J.getCurrentScrollLeft()+this.relativePos.x-J.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<J.layoutInfo.contentLeft&&this.relativePos.x>=J.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,u5._getMouseColumn(this.mouseContentHorizontalOffset,J.typicalHalfwidthCharacterWidth))}}class w80 extends N80{get target(){if(this._useHitTestTarget)return this.hitTestResult.value.hitTarget;return this._eventTarget}get targetPath(){if(this._targetPathCacheElement!==this.target)this._targetPathCacheElement=this.target,this._targetPathCacheValue=k5.collect(this.target,this._ctx.viewDomNode);return this._targetPathCacheValue}constructor(J,X,Y,Z,Q){super(J,X,Y,Z);this.hitTestResult=new f8(()=>u5.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=J,this._eventTarget=Q;let $=Boolean(this._eventTarget);this._useHitTestTarget=!$}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(J=null){if(J&&J.column<this._ctx.viewModel.getLineMaxColumn(J.lineNumber))return V1.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(J.lineNumber),J.column,this._ctx.viewModel.model.getOptions().tabSize)+1;return this.mouseColumn}fulfillUnknown(J=null){return v8.createUnknown(this.target,this._getMouseColumn(J),J)}fulfillTextarea(){return v8.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(J,X,Y,Z){return v8.createMargin(J,this.target,this._getMouseColumn(X),X,Y,Z)}fulfillViewZone(J,X,Y){return v8.createViewZone(J,this.target,this._getMouseColumn(),X,Y)}fulfillContentText(J,X,Y){return v8.createContentText(this.target,this._getMouseColumn(J),J,X,Y)}fulfillContentEmpty(J,X){return v8.createContentEmpty(this.target,this._getMouseColumn(J),J,X)}fulfillContentWidget(J){return v8.createContentWidget(this.target,this._getMouseColumn(),J)}fulfillScrollbar(J){return v8.createScrollbar(this.target,this._getMouseColumn(J),J)}fulfillOverlayWidget(J){return v8.createOverlayWidget(this.target,this._getMouseColumn(),J)}}var R80={isAfterLines:!0};function _G(J){return{isAfterLines:!1,horizontalDistanceToText:J}}class u5{constructor(J,X){this._context=J,this._viewHelper=X}mouseTargetIsWidget(J){let X=J.target,Y=k5.collect(X,this._viewHelper.viewDomNode);if(j7.isChildOfContentWidgets(Y)||j7.isChildOfOverflowingContentWidgets(Y))return!0;if(j7.isChildOfOverlayWidgets(Y)||j7.isChildOfOverflowingOverlayWidgets(Y))return!0;return!1}createMouseTarget(J,X,Y,Z,Q){let $=new PG(this._context,this._viewHelper,J),q=new w80($,X,Y,Z,Q);try{let G=u5._createMouseTarget($,q);if(G.type===6){if($.stickyTabStops&&G.position!==null){let U=u5._snapToSoftTabBoundary(G.position,$.viewModel),H=T.fromPositions(U,U).plusRange(G.range);return q.fulfillContentText(U,H,G.detail)}}return G}catch(G){return q.fulfillUnknown()}}static _createMouseTarget(J,X){if(X.target===null)return X.fulfillUnknown();let Y=X,Z=null;if(!j7.isChildOfOverflowGuard(X.targetPath)&&!j7.isChildOfOverflowingContentWidgets(X.targetPath)&&!j7.isChildOfOverflowingOverlayWidgets(X.targetPath))Z=Z||X.fulfillUnknown();return Z=Z||u5._hitTestContentWidget(J,Y),Z=Z||u5._hitTestOverlayWidget(J,Y),Z=Z||u5._hitTestMinimap(J,Y),Z=Z||u5._hitTestScrollbarSlider(J,Y),Z=Z||u5._hitTestViewZone(J,Y),Z=Z||u5._hitTestMargin(J,Y),Z=Z||u5._hitTestViewCursor(J,Y),Z=Z||u5._hitTestTextArea(J,Y),Z=Z||u5._hitTestViewLines(J,Y),Z=Z||u5._hitTestScrollbar(J,Y),Z||X.fulfillUnknown()}static _hitTestContentWidget(J,X){if(j7.isChildOfContentWidgets(X.targetPath)||j7.isChildOfOverflowingContentWidgets(X.targetPath)){let Y=J.findAttribute(X.target,\"widgetId\");if(Y)return X.fulfillContentWidget(Y);else return X.fulfillUnknown()}return null}static _hitTestOverlayWidget(J,X){if(j7.isChildOfOverlayWidgets(X.targetPath)||j7.isChildOfOverflowingOverlayWidgets(X.targetPath)){let Y=J.findAttribute(X.target,\"widgetId\");if(Y)return X.fulfillOverlayWidget(Y);else return X.fulfillUnknown()}return null}static _hitTestViewCursor(J,X){if(X.target){let Y=J.lastRenderData.lastViewCursorsRenderData;for(let Z of Y)if(X.target===Z.domNode)return X.fulfillContentText(Z.position,null,{mightBeForeignElement:!1,injectedText:null})}if(X.isInContentArea){let Y=J.lastRenderData.lastViewCursorsRenderData,Z=X.mouseContentHorizontalOffset,Q=X.mouseVerticalOffset;for(let $ of Y){if(Z<$.contentLeft)continue;if(Z>$.contentLeft+$.width)continue;let q=J.getVerticalOffsetForLineNumber($.position.lineNumber);if(q<=Q&&Q<=q+$.height)return X.fulfillContentText($.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(J,X){let Y=J.getZoneAtCoord(X.mouseVerticalOffset);if(Y){let Z=X.isInContentArea?8:5;return X.fulfillViewZone(Z,Y.position,Y)}return null}static _hitTestTextArea(J,X){if(j7.isTextArea(X.targetPath)){if(J.lastRenderData.lastTextareaPosition)return X.fulfillContentText(J.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null});return X.fulfillTextarea()}return null}static _hitTestMargin(J,X){if(X.isInMarginArea){let Y=J.getFullLineRangeAtCoord(X.mouseVerticalOffset),Z=Y.range.getStartPosition(),Q=Math.abs(X.relativePos.x),$={isAfterLines:Y.isAfterLines,glyphMarginLeft:J.layoutInfo.glyphMarginLeft,glyphMarginWidth:J.layoutInfo.glyphMarginWidth,lineNumbersWidth:J.layoutInfo.lineNumbersWidth,offsetX:Q};if(Q-=J.layoutInfo.glyphMarginLeft,Q<=J.layoutInfo.glyphMarginWidth){let q=J.viewModel.coordinatesConverter.convertViewPositionToModelPosition(Y.range.getStartPosition()),G=J.viewModel.glyphLanes.getLanesAtLine(q.lineNumber);return $.glyphMarginLane=G[Math.floor(Q/J.lineHeight)],X.fulfillMargin(2,Z,Y.range,$)}if(Q-=J.layoutInfo.glyphMarginWidth,Q<=J.layoutInfo.lineNumbersWidth)return X.fulfillMargin(3,Z,Y.range,$);return Q-=J.layoutInfo.lineNumbersWidth,X.fulfillMargin(4,Z,Y.range,$)}return null}static _hitTestViewLines(J,X){if(!j7.isChildOfViewLines(X.targetPath))return null;if(J.isInTopPadding(X.mouseVerticalOffset))return X.fulfillContentEmpty(new C(1,1),R80);if(J.isAfterLines(X.mouseVerticalOffset)||J.isInBottomPadding(X.mouseVerticalOffset)){let Z=J.viewModel.getLineCount(),Q=J.viewModel.getLineMaxColumn(Z);return X.fulfillContentEmpty(new C(Z,Q),R80)}if(j7.isStrictChildOfViewLines(X.targetPath)){let Z=J.getLineNumberAtVerticalOffset(X.mouseVerticalOffset),Q=J.viewModel.getLineLength(Z),$=J.getLineWidth(Z);if(Q===0){let G=_G(X.mouseContentHorizontalOffset-$);return X.fulfillContentEmpty(new C(Z,1),G)}if(J.isRtl(Z)){if(X.mouseContentHorizontalOffset+$<=J.layoutInfo.contentWidth-J.layoutInfo.verticalScrollbarWidth){let G=_G(X.mouseContentHorizontalOffset-$),U=new C(Z,J.viewModel.getLineMaxColumn(Z));return X.fulfillContentEmpty(U,G)}}else if(X.mouseContentHorizontalOffset>=$){let G=_G(X.mouseContentHorizontalOffset-$),U=new C(Z,J.viewModel.getLineMaxColumn(Z));return X.fulfillContentEmpty(U,G)}}else if(J.viewLinesGpu){let Z=J.getLineNumberAtVerticalOffset(X.mouseVerticalOffset);if(J.viewModel.getLineLength(Z)===0){let G=J.getLineWidth(Z),U=_G(X.mouseContentHorizontalOffset-G);return X.fulfillContentEmpty(new C(Z,1),U)}let Q=J.getLineWidth(Z);if(J.isRtl(Z)){if(X.mouseContentHorizontalOffset+Q<=J.layoutInfo.contentWidth-J.layoutInfo.verticalScrollbarWidth){let G=_G(X.mouseContentHorizontalOffset-Q),U=new C(Z,J.viewModel.getLineMaxColumn(Z));return X.fulfillContentEmpty(U,G)}}else if(X.mouseContentHorizontalOffset>=Q){let G=_G(X.mouseContentHorizontalOffset-Q),U=new C(Z,J.viewModel.getLineMaxColumn(Z));return X.fulfillContentEmpty(U,G)}let q=J.viewLinesGpu.getPositionAtCoordinate(Z,X.mouseContentHorizontalOffset);if(q){let G={injectedText:null,mightBeForeignElement:!1};return X.fulfillContentText(q,T.fromPositions(q,q),G)}}let Y=X.hitTestResult.value;if(Y.type===1)return u5.createMouseTargetFromHitTestPosition(J,X,Y.spanNode,Y.position,Y.injectedText);if(X.wouldBenefitFromHitTestTargetSwitch)return X.switchToHitTestTarget(),this._createMouseTarget(J,X);return X.fulfillUnknown()}static _hitTestMinimap(J,X){if(j7.isChildOfMinimap(X.targetPath)){let Y=J.getLineNumberAtVerticalOffset(X.mouseVerticalOffset),Z=J.viewModel.getLineMaxColumn(Y);return X.fulfillScrollbar(new C(Y,Z))}return null}static _hitTestScrollbarSlider(J,X){if(j7.isChildOfScrollableElement(X.targetPath)){if(X.target&&X.target.nodeType===1){let Y=X.target.className;if(Y&&/\\b(slider|scrollbar)\\b/.test(Y)){let Z=J.getLineNumberAtVerticalOffset(X.mouseVerticalOffset),Q=J.viewModel.getLineMaxColumn(Z);return X.fulfillScrollbar(new C(Z,Q))}}}return null}static _hitTestScrollbar(J,X){if(j7.isChildOfScrollableElement(X.targetPath)){let Y=J.getLineNumberAtVerticalOffset(X.mouseVerticalOffset),Z=J.viewModel.getLineMaxColumn(Y);return X.fulfillScrollbar(new C(Y,Z))}return null}getMouseColumn(J){let X=this._context.configuration.options,Y=X.get(165),Z=this._context.viewLayout.getCurrentScrollLeft()+J.x-Y.contentLeft;return u5._getMouseColumn(Z,X.get(59).typicalHalfwidthCharacterWidth)}static _getMouseColumn(J,X){if(J<0)return 1;return Math.round(J/X)+1}static createMouseTargetFromHitTestPosition(J,X,Y,Z,Q){let{lineNumber:$,column:q}=Z,G=J.getLineWidth($);if(X.mouseContentHorizontalOffset>G){let P=_G(X.mouseContentHorizontalOffset-G);return X.fulfillContentEmpty(Z,P)}let U=J.visibleRangeForPosition($,q);if(!U)return X.fulfillUnknown(Z);let H=U.left;if(Math.abs(X.mouseContentHorizontalOffset-H)<1)return X.fulfillContentText(Z,null,{mightBeForeignElement:!!Q,injectedText:Q});let V=[];if(V.push({offset:U.left,column:q}),q>1){let P=J.visibleRangeForPosition($,q-1);if(P)V.push({offset:P.left,column:q-1})}let K=J.viewModel.getLineMaxColumn($);if(q<K){let P=J.visibleRangeForPosition($,q+1);if(P)V.push({offset:P.left,column:q+1})}V.sort((P,_)=>P.offset-_.offset);let j=X.pos.toClientCoordinates(Q0(J.viewDomNode)),W=Y.getBoundingClientRect(),z=W.left<=j.clientX&&j.clientX<=W.right,B=null;for(let P=1;P<V.length;P++){let _=V[P-1],A=V[P];if(_.offset<=X.mouseContentHorizontalOffset&&X.mouseContentHorizontalOffset<=A.offset){B=new T($,_.column,$,A.column);let O=Math.abs(_.offset-X.mouseContentHorizontalOffset),D=Math.abs(A.offset-X.mouseContentHorizontalOffset);Z=O<D?new C($,_.column):new C($,A.column);break}}return X.fulfillContentText(Z,B,{mightBeForeignElement:!z||!!Q,injectedText:Q})}static _doHitTestWithCaretRangeFromPoint(J,X){let Y=J.getLineNumberAtVerticalOffset(X.mouseVerticalOffset),Z=J.getVerticalOffsetForLineNumber(Y),Q=Z+J.lineHeight;if(!(Y===J.viewModel.getLineCount()&&X.mouseVerticalOffset>Q)){let q=Math.floor((Z+Q)/2),G=X.pos.y+(q-X.mouseVerticalOffset);if(G<=X.editorPos.y)G=X.editorPos.y+1;if(G>=X.editorPos.y+X.editorPos.height)G=X.editorPos.y+X.editorPos.height-1;let U=new L2(X.pos.x,G),H=this._actualDoHitTestWithCaretRangeFromPoint(J,U.toClientCoordinates(Q0(J.viewDomNode)));if(H.type===1)return H}return this._actualDoHitTestWithCaretRangeFromPoint(J,X.pos.toClientCoordinates(Q0(J.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(J,X){let Y=DX(J.viewDomNode),Z;if(Y)if(typeof Y.caretRangeFromPoint>\"u\")Z=Sz0(Y,X.clientX,X.clientY);else Z=Y.caretRangeFromPoint(X.clientX,X.clientY);else Z=J.viewDomNode.ownerDocument.caretRangeFromPoint(X.clientX,X.clientY);if(!Z||!Z.startContainer)return new IQ;let Q=Z.startContainer;if(Q.nodeType===Q.TEXT_NODE){let $=Q.parentNode,q=$?$.parentNode:null,G=q?q.parentNode:null;if((G&&G.nodeType===G.ELEMENT_NODE?G.className:null)===H9.CLASS_NAME)return AG.createFromDOMInfo(J,$,Z.startOffset);else return new IQ(Q.parentNode)}else if(Q.nodeType===Q.ELEMENT_NODE){let $=Q.parentNode,q=$?$.parentNode:null;if((q&&q.nodeType===q.ELEMENT_NODE?q.className:null)===H9.CLASS_NAME)return AG.createFromDOMInfo(J,Q,Q.textContent.length);else return new IQ(Q)}return new IQ}static _doHitTestWithCaretPositionFromPoint(J,X){let Y=J.viewDomNode.ownerDocument.caretPositionFromPoint(X.clientX,X.clientY);if(Y.offsetNode.nodeType===Y.offsetNode.TEXT_NODE){let Z=Y.offsetNode.parentNode,Q=Z?Z.parentNode:null,$=Q?Q.parentNode:null;if(($&&$.nodeType===$.ELEMENT_NODE?$.className:null)===H9.CLASS_NAME)return AG.createFromDOMInfo(J,Y.offsetNode.parentNode,Y.offset);else return new IQ(Y.offsetNode.parentNode)}if(Y.offsetNode.nodeType===Y.offsetNode.ELEMENT_NODE){let Z=Y.offsetNode.parentNode,Q=Z&&Z.nodeType===Z.ELEMENT_NODE?Z.className:null,$=Z?Z.parentNode:null,q=$&&$.nodeType===$.ELEMENT_NODE?$.className:null;if(Q===H9.CLASS_NAME){let G=Y.offsetNode.childNodes[Math.min(Y.offset,Y.offsetNode.childNodes.length-1)];if(G)return AG.createFromDOMInfo(J,G,0)}else if(q===H9.CLASS_NAME)return AG.createFromDOMInfo(J,Y.offsetNode,0)}return new IQ(Y.offsetNode)}static _snapToSoftTabBoundary(J,X){let Y=X.getLineContent(J.lineNumber),{tabSize:Z}=X.model.getOptions(),Q=BG.atomicPosition(Y,J.column-1,Z,2);if(Q!==-1)return new C(J.lineNumber,Q+1);return J}static doHitTest(J,X){let Y=new IQ;if(typeof J.viewDomNode.ownerDocument.caretRangeFromPoint===\"function\")Y=this._doHitTestWithCaretRangeFromPoint(J,X);else if(J.viewDomNode.ownerDocument.caretPositionFromPoint)Y=this._doHitTestWithCaretPositionFromPoint(J,X.pos.toClientCoordinates(Q0(J.viewDomNode)));if(Y.type===1){let Z=J.viewModel.getInjectedTextAt(Y.position),Q=J.viewModel.normalizePosition(Y.position,2);if(Z||!Q.equals(Y.position))Y=new nC(Q,Y.spanNode,Z)}return Y}}function Sz0(J,X,Y){let Z=document.createRange(),Q=J.elementFromPoint(X,Y);if(Q?.hasChildNodes()){while(Q&&Q.firstChild&&Q.firstChild.nodeType!==Q.firstChild.TEXT_NODE&&Q.lastChild&&Q.lastChild.firstChild)Q=Q.lastChild;let $=Q.getBoundingClientRect(),G=Q0(Q).getComputedStyle(Q,null),U=G.getPropertyValue(\"font-style\"),H=G.getPropertyValue(\"font-variant\"),V=G.getPropertyValue(\"font-weight\"),K=G.getPropertyValue(\"font-size\"),j=G.getPropertyValue(\"line-height\"),W=G.getPropertyValue(\"font-family\"),z=`${U} ${H} ${V} ${K}/${j} ${W}`,B=Q.innerText,P=$.left,_=0,A;if(X>$.left+$.width)_=B.length;else{let O=cV.getInstance();for(let D=0;D<B.length+1;D++){if(A=O.getCharWidth(B.charAt(D),z)/2,P+=A,X<P){_=D;break}P+=A}}Z.setStart(Q.firstChild,_),Z.setEnd(Q.firstChild,_)}return Z}class cV{static{this._INSTANCE=null}static getInstance(){if(!cV._INSTANCE)cV._INSTANCE=new cV;return cV._INSTANCE}constructor(){this._cache={},this._canvas=document.createElement(\"canvas\")}getCharWidth(J,X){let Y=J+X;if(this._cache[Y])return this._cache[Y];let Z=this._canvas.getContext(\"2d\");Z.font=X;let $=Z.measureText(J).width;return this._cache[Y]=$,$}}function a1(J,X,Y){let Z=null,Q=null;if(typeof Y.value===\"function\"){if(Z=\"value\",Q=Y.value,Q.length!==0)console.warn(\"Memoize should only be used in functions with zero parameters\")}else if(typeof Y.get===\"function\")Z=\"get\",Q=Y.get;if(!Q)throw Error(\"not supported\");let $=`$memoize$${X}`;Y[Z]=function(...q){if(!this.hasOwnProperty($))Object.defineProperty(this,$,{configurable:!1,enumerable:!1,writable:!1,value:Q.apply(this,q)});return this[$]}}var fz0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},P1;(function(J){J.Tap=\"-monaco-gesturetap\",J.Change=\"-monaco-gesturechange\",J.Start=\"-monaco-gesturestart\",J.End=\"-monaco-gesturesend\",J.Contextmenu=\"-monaco-gesturecontextmenu\"})(P1||(P1={}));class O1 extends y{static{this.SCROLL_FRICTION=-0.005}static{this.HOLD_DELAY=700}static{this.CLEAR_TAP_COUNT_TIME=400}constructor(){super();this.dispatched=!1,this.targets=new x6,this.ignoreTargets=new x6,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(i.runAndSubscribe(KQ,({window:J,disposables:X})=>{X.add(f(J.document,\"touchstart\",(Y)=>this.onTouchStart(Y),{passive:!1})),X.add(f(J.document,\"touchend\",(Y)=>this.onTouchEnd(J,Y))),X.add(f(J.document,\"touchmove\",(Y)=>this.onTouchMove(Y),{passive:!1}))},{window:X1,disposables:this._store}))}static addTarget(J){if(!O1.isTouchDevice())return y.None;if(!O1.INSTANCE)O1.INSTANCE=t7(new O1);let X=O1.INSTANCE.targets.push(J);return J0(X)}static ignoreTarget(J){if(!O1.isTouchDevice())return y.None;if(!O1.INSTANCE)O1.INSTANCE=t7(new O1);let X=O1.INSTANCE.ignoreTargets.push(J);return J0(X)}static isTouchDevice(){return\"ontouchstart\"in X1||navigator.maxTouchPoints>0}dispose(){if(this.handle)this.handle.dispose(),this.handle=null;super.dispose()}onTouchStart(J){let X=Date.now();if(this.handle)this.handle.dispose(),this.handle=null;for(let Y=0,Z=J.targetTouches.length;Y<Z;Y++){let Q=J.targetTouches.item(Y);this.activeTouches[Q.identifier]={id:Q.identifier,initialTarget:Q.target,initialTimeStamp:X,initialPageX:Q.pageX,initialPageY:Q.pageY,rollingTimestamps:[X],rollingPageX:[Q.pageX],rollingPageY:[Q.pageY]};let $=this.newGestureEvent(P1.Start,Q.target);$.pageX=Q.pageX,$.pageY=Q.pageY,this.dispatchEvent($)}if(this.dispatched)J.preventDefault(),J.stopPropagation(),this.dispatched=!1}onTouchEnd(J,X){let Y=Date.now(),Z=Object.keys(this.activeTouches).length;for(let Q=0,$=X.changedTouches.length;Q<$;Q++){let q=X.changedTouches.item(Q);if(!this.activeTouches.hasOwnProperty(String(q.identifier))){console.warn(\"move of an UNKNOWN touch\",q);continue}let G=this.activeTouches[q.identifier],U=Date.now()-G.initialTimeStamp;if(U<O1.HOLD_DELAY&&Math.abs(G.initialPageX-G.rollingPageX.at(-1))<30&&Math.abs(G.initialPageY-G.rollingPageY.at(-1))<30){let H=this.newGestureEvent(P1.Tap,G.initialTarget);H.pageX=G.rollingPageX.at(-1),H.pageY=G.rollingPageY.at(-1),this.dispatchEvent(H)}else if(U>=O1.HOLD_DELAY&&Math.abs(G.initialPageX-G.rollingPageX.at(-1))<30&&Math.abs(G.initialPageY-G.rollingPageY.at(-1))<30){let H=this.newGestureEvent(P1.Contextmenu,G.initialTarget);H.pageX=G.rollingPageX.at(-1),H.pageY=G.rollingPageY.at(-1),this.dispatchEvent(H)}else if(Z===1){let H=G.rollingPageX.at(-1),V=G.rollingPageY.at(-1),K=G.rollingTimestamps.at(-1)-G.rollingTimestamps[0],j=H-G.rollingPageX[0],W=V-G.rollingPageY[0],z=[...this.targets].filter((B)=>G.initialTarget instanceof Node&&B.contains(G.initialTarget));this.inertia(J,z,Y,Math.abs(j)/K,j>0?1:-1,H,Math.abs(W)/K,W>0?1:-1,V)}this.dispatchEvent(this.newGestureEvent(P1.End,G.initialTarget)),delete this.activeTouches[q.identifier]}if(this.dispatched)X.preventDefault(),X.stopPropagation(),this.dispatched=!1}newGestureEvent(J,X){let Y=document.createEvent(\"CustomEvent\");return Y.initEvent(J,!1,!0),Y.initialTarget=X,Y.tapCount=0,Y}dispatchEvent(J){if(J.type===P1.Tap){let X=new Date().getTime(),Y=0;if(X-this._lastSetTapCountTime>O1.CLEAR_TAP_COUNT_TIME)Y=1;else Y=2;this._lastSetTapCountTime=X,J.tapCount=Y}else if(J.type===P1.Change||J.type===P1.Contextmenu)this._lastSetTapCountTime=0;if(J.initialTarget instanceof Node){for(let Y of this.ignoreTargets)if(Y.contains(J.initialTarget))return;let X=[];for(let Y of this.targets)if(Y.contains(J.initialTarget)){let Z=0,Q=J.initialTarget;while(Q&&Q!==Y)Z++,Q=Q.parentElement;X.push([Z,Y])}X.sort((Y,Z)=>Y[0]-Z[0]);for(let[Y,Z]of X)Z.dispatchEvent(J),this.dispatched=!0}}inertia(J,X,Y,Z,Q,$,q,G,U){this.handle=E8(J,()=>{let H=Date.now(),V=H-Y,K=0,j=0,W=!0;if(Z+=O1.SCROLL_FRICTION*V,q+=O1.SCROLL_FRICTION*V,Z>0)W=!1,K=Q*Z*V;if(q>0)W=!1,j=G*q*V;let z=this.newGestureEvent(P1.Change);if(z.translationX=K,z.translationY=j,X.forEach((B)=>B.dispatchEvent(z)),!W)this.inertia(J,X,H,Z,Q,$+K,q,G,U+j)})}onTouchMove(J){let X=Date.now();for(let Y=0,Z=J.changedTouches.length;Y<Z;Y++){let Q=J.changedTouches.item(Y);if(!this.activeTouches.hasOwnProperty(String(Q.identifier))){console.warn(\"end of an UNKNOWN touch\",Q);continue}let $=this.activeTouches[Q.identifier],q=this.newGestureEvent(P1.Change,$.initialTarget);if(q.translationX=Q.pageX-$.rollingPageX.at(-1),q.translationY=Q.pageY-$.rollingPageY.at(-1),q.pageX=Q.pageX,q.pageY=Q.pageY,this.dispatchEvent(q),$.rollingPageX.length>3)$.rollingPageX.shift(),$.rollingPageY.shift(),$.rollingTimestamps.shift();$.rollingPageX.push(Q.pageX),$.rollingPageY.push(Q.pageY),$.rollingTimestamps.push(X)}if(this.dispatched)J.preventDefault(),J.stopPropagation(),this.dispatched=!1}}fz0([a1],O1,\"isTouchDevice\",null);class F8 extends y{onclick(J,X){this._register(f(J,r.CLICK,(Y)=>X(new k8(Q0(J),Y))))}onmousedown(J,X){this._register(f(J,r.MOUSE_DOWN,(Y)=>X(new k8(Q0(J),Y))))}onmouseover(J,X){this._register(f(J,r.MOUSE_OVER,(Y)=>X(new k8(Q0(J),Y))))}onmouseleave(J,X){this._register(f(J,r.MOUSE_LEAVE,(Y)=>X(new k8(Q0(J),Y))))}onkeydown(J,X){this._register(f(J,r.KEY_DOWN,(Y)=>X(new Y1(Y))))}onkeyup(J,X){this._register(f(J,r.KEY_UP,(Y)=>X(new Y1(Y))))}oninput(J,X){this._register(f(J,r.INPUT,X))}onblur(J,X){this._register(f(J,r.BLUR,X))}onfocus(J,X){this._register(f(J,r.FOCUS,X))}ignoreGesture(J){return O1.ignoreTarget(J)}}var k2=11;class eC extends F8{constructor(J){super();if(this._onActivate=J.onActivate,this.bgDomNode=document.createElement(\"div\"),this.bgDomNode.className=\"arrow-background\",this.bgDomNode.style.position=\"absolute\",this.bgDomNode.style.width=J.bgWidth+\"px\",this.bgDomNode.style.height=J.bgHeight+\"px\",typeof J.top<\"u\")this.bgDomNode.style.top=\"0px\";if(typeof J.left<\"u\")this.bgDomNode.style.left=\"0px\";if(typeof J.bottom<\"u\")this.bgDomNode.style.bottom=\"0px\";if(typeof J.right<\"u\")this.bgDomNode.style.right=\"0px\";if(this.domNode=document.createElement(\"div\"),this.domNode.className=J.className,this.domNode.classList.add(...M0.asClassNameArray(J.icon)),this.domNode.style.position=\"absolute\",this.domNode.style.width=k2+\"px\",this.domNode.style.height=k2+\"px\",typeof J.top<\"u\")this.domNode.style.top=J.top+\"px\";if(typeof J.left<\"u\")this.domNode.style.left=J.left+\"px\";if(typeof J.bottom<\"u\")this.domNode.style.bottom=J.bottom+\"px\";if(typeof J.right<\"u\")this.domNode.style.right=J.right+\"px\";this._pointerMoveMonitor=this._register(new RQ),this._register(F6(this.bgDomNode,r.POINTER_DOWN,(X)=>this._arrowPointerDown(X))),this._register(F6(this.domNode,r.POINTER_DOWN,(X)=>this._arrowPointerDown(X))),this._pointerdownRepeatTimer=this._register(new Cq),this._pointerdownScheduleRepeatTimer=this._register(new i8)}_arrowPointerDown(J){if(!J.target||!(J.target instanceof Element))return;let X=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664,Q0(J))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(X,200),this._pointerMoveMonitor.startMonitoring(J.target,J.pointerId,J.buttons,(Y)=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),J.preventDefault()}}class JS extends y{constructor(J,X,Y){super();this._visibility=J,this._visibleClassName=X,this._invisibleClassName=Y,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new i8)}setVisibility(J){if(this._visibility!==J)this._visibility=J,this._updateShouldBeVisible()}setShouldBeVisible(J){this._rawShouldBeVisible=J,this._updateShouldBeVisible()}_applyVisibilitySetting(){if(this._visibility===2)return!1;if(this._visibility===3)return!0;return this._rawShouldBeVisible}_updateShouldBeVisible(){let J=this._applyVisibilitySetting();if(this._shouldBeVisible!==J)this._shouldBeVisible=J,this.ensureVisibility()}setIsNeeded(J){if(this._isNeeded!==J)this._isNeeded=J,this.ensureVisibility()}setDomNode(J){this._domNode=J,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}if(this._shouldBeVisible)this._reveal();else this._hide(!0)}_reveal(){if(this._isVisible)return;this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0)}_hide(J){if(this._revealTimer.cancel(),!this._isVisible)return;this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(J?\" fade\":\"\"))}}var hz0=140;class bF extends F8{constructor(J){super();this._lazyRender=J.lazyRender,this._host=J.host,this._scrollable=J.scrollable,this._scrollByPage=J.scrollByPage,this._scrollbarState=J.scrollbarState,this._visibilityController=this._register(new JS(J.visibility,\"visible scrollbar \"+J.extraScrollbarClassName,\"invisible scrollbar \"+J.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new RQ),this._shouldRender=!0,this.domNode=p0(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(\"absolute\"),this._register(f(this.domNode.domNode,r.POINTER_DOWN,(X)=>this._domNodePointerDown(X)))}_createArrow(J){let X=this._register(new eC(J));this.domNode.domNode.appendChild(X.bgDomNode),this.domNode.domNode.appendChild(X.domNode)}_createSlider(J,X,Y,Z){if(this.slider=p0(document.createElement(\"div\")),this.slider.setClassName(\"slider\"),this.slider.setPosition(\"absolute\"),this.slider.setTop(J),this.slider.setLeft(X),typeof Y===\"number\")this.slider.setWidth(Y);if(typeof Z===\"number\")this.slider.setHeight(Z);this.slider.setLayerHinting(!0),this.slider.setContain(\"strict\"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(f(this.slider.domNode,r.POINTER_DOWN,(Q)=>{if(Q.button===0)Q.preventDefault(),this._sliderPointerDown(Q)})),this.onclick(this.slider.domNode,(Q)=>{if(Q.leftButton)Q.stopPropagation()})}_onElementSize(J){if(this._scrollbarState.setVisibleSize(J)){if(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,!this._lazyRender)this.render()}return this._shouldRender}_onElementScrollSize(J){if(this._scrollbarState.setScrollSize(J)){if(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,!this._lazyRender)this.render()}return this._shouldRender}_onElementScrollPosition(J){if(this._scrollbarState.setScrollPosition(J)){if(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,!this._lazyRender)this.render()}return this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){if(!this._shouldRender)return;this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition())}_domNodePointerDown(J){if(J.target!==this.domNode.domNode)return;this._onPointerDown(J)}delegatePointerDown(J){let X=this.domNode.domNode.getClientRects()[0].top,Y=X+this._scrollbarState.getSliderPosition(),Z=X+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),Q=this._sliderPointerPosition(J);if(Y<=Q&&Q<=Z){if(J.button===0)J.preventDefault(),this._sliderPointerDown(J)}else this._onPointerDown(J)}_onPointerDown(J){let X,Y;if(J.target===this.domNode.domNode&&typeof J.offsetX===\"number\"&&typeof J.offsetY===\"number\")X=J.offsetX,Y=J.offsetY;else{let $=R8(this.domNode.domNode);X=J.pageX-$.left,Y=J.pageY-$.top}let Z=J.pointerType===\"mouse\",Q=J.button===0;if(Q||!Z){let $=this._pointerDownRelativePosition(X,Y);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged($):this._scrollbarState.getDesiredScrollPositionFromOffset($))}if(Q)J.preventDefault(),this._sliderPointerDown(J)}_sliderPointerDown(J){if(!J.target||!(J.target instanceof Element))return;let X=this._sliderPointerPosition(J),Y=this._sliderOrthogonalPointerPosition(J),Z=this._scrollbarState.clone();this.slider.toggleClassName(\"active\",!0),this._pointerMoveMonitor.startMonitoring(J.target,J.pointerId,J.buttons,(Q)=>{let $=this._sliderOrthogonalPointerPosition(Q),q=Math.abs($-Y);if(z6&&q>hz0){this._setDesiredScrollPositionNow(Z.getScrollPosition());return}let U=this._sliderPointerPosition(Q)-X;this._setDesiredScrollPositionNow(Z.getDesiredScrollPositionFromDelta(U))},()=>{this.slider.toggleClassName(\"active\",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(J){let X={};this.writeScrollPosition(X,J),this._scrollable.setScrollPositionNow(X)}updateScrollbarSize(J){if(this._updateScrollbarSize(J),this._scrollbarState.setScrollbarSize(J),this._shouldRender=!0,!this._lazyRender)this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class kQ{constructor(J,X,Y,Z,Q,$){this._scrollbarSize=Math.round(X),this._oppositeScrollbarSize=Math.round(Y),this._arrowSize=Math.round(J),this._visibleSize=Z,this._scrollSize=Q,this._scrollPosition=$,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new kQ(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(J){let X=Math.round(J);if(this._visibleSize!==X)return this._visibleSize=X,this._refreshComputedValues(),!0;return!1}setScrollSize(J){let X=Math.round(J);if(this._scrollSize!==X)return this._scrollSize=X,this._refreshComputedValues(),!0;return!1}setScrollPosition(J){let X=Math.round(J);if(this._scrollPosition!==X)return this._scrollPosition=X,this._refreshComputedValues(),!0;return!1}setScrollbarSize(J){this._scrollbarSize=Math.round(J)}setOppositeScrollbarSize(J){this._oppositeScrollbarSize=Math.round(J)}static _computeValues(J,X,Y,Z,Q){let $=Math.max(0,Y-J),q=Math.max(0,$-2*X),G=Z>0&&Z>Y;if(!G)return{computedAvailableSize:Math.round($),computedIsNeeded:G,computedSliderSize:Math.round(q),computedSliderRatio:0,computedSliderPosition:0};let U=Math.round(Math.max(20,Math.floor(Y*q/Z))),H=(q-U)/(Z-Y),V=Q*H;return{computedAvailableSize:Math.round($),computedIsNeeded:G,computedSliderSize:Math.round(U),computedSliderRatio:H,computedSliderPosition:Math.round(V)}}_refreshComputedValues(){let J=kQ._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=J.computedAvailableSize,this._computedIsNeeded=J.computedIsNeeded,this._computedSliderSize=J.computedSliderSize,this._computedSliderRatio=J.computedSliderRatio,this._computedSliderPosition=J.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(J){if(!this._computedIsNeeded)return 0;let X=J-this._arrowSize-this._computedSliderSize/2;return Math.round(X/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(J){if(!this._computedIsNeeded)return 0;let X=J-this._arrowSize,Y=this._scrollPosition;if(X<this._computedSliderPosition)Y-=this._visibleSize;else Y+=this._visibleSize;return Y}getDesiredScrollPositionFromDelta(J){if(!this._computedIsNeeded)return 0;let X=this._computedSliderPosition+J;return Math.round(X/this._computedSliderRatio)}}class XS extends bF{constructor(J,X,Y){let Z=J.getScrollDimensions(),Q=J.getCurrentScrollPosition();super({lazyRender:X.lazyRender,host:Y,scrollbarState:new kQ(X.horizontalHasArrows?X.arrowSize:0,X.horizontal===2?0:X.horizontalScrollbarSize,X.vertical===2?0:X.verticalScrollbarSize,Z.width,Z.scrollWidth,Q.scrollLeft),visibility:X.horizontal,extraScrollbarClassName:\"horizontal\",scrollable:J,scrollByPage:X.scrollByPage});if(X.horizontalHasArrows){let $=(X.arrowSize-k2)/2,q=(X.horizontalScrollbarSize-k2)/2;this._createArrow({className:\"scra\",icon:t.scrollbarButtonLeft,top:q,left:$,bottom:void 0,right:void 0,bgWidth:X.arrowSize,bgHeight:X.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new LJ(null,1,0))}),this._createArrow({className:\"scra\",icon:t.scrollbarButtonRight,top:q,left:void 0,bottom:void 0,right:$,bgWidth:X.arrowSize,bgHeight:X.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new LJ(null,-1,0))})}this._createSlider(Math.floor((X.horizontalScrollbarSize-X.horizontalSliderSize)/2),0,void 0,X.horizontalSliderSize)}_updateSlider(J,X){this.slider.setWidth(J),this.slider.setLeft(X)}_renderDomNode(J,X){this.domNode.setWidth(J),this.domNode.setHeight(X),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(J){return this._shouldRender=this._onElementScrollSize(J.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(J.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(J.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(J,X){return J}_sliderPointerPosition(J){return J.pageX}_sliderOrthogonalPointerPosition(J){return J.pageY}_updateScrollbarSize(J){this.slider.setHeight(J)}writeScrollPosition(J,X){J.scrollLeft=X}updateOptions(J){this.updateScrollbarSize(J.horizontal===2?0:J.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(J.vertical===2?0:J.verticalScrollbarSize),this._visibilityController.setVisibility(J.horizontal),this._scrollByPage=J.scrollByPage}}class YS extends bF{constructor(J,X,Y){let Z=J.getScrollDimensions(),Q=J.getCurrentScrollPosition();super({lazyRender:X.lazyRender,host:Y,scrollbarState:new kQ(X.verticalHasArrows?X.arrowSize:0,X.vertical===2?0:X.verticalScrollbarSize,0,Z.height,Z.scrollHeight,Q.scrollTop),visibility:X.vertical,extraScrollbarClassName:\"vertical\",scrollable:J,scrollByPage:X.scrollByPage});if(X.verticalHasArrows){let $=(X.arrowSize-k2)/2,q=(X.verticalScrollbarSize-k2)/2;this._createArrow({className:\"scra\",icon:t.scrollbarButtonUp,top:$,left:q,bottom:void 0,right:void 0,bgWidth:X.verticalScrollbarSize,bgHeight:X.arrowSize,onActivate:()=>this._host.onMouseWheel(new LJ(null,0,1))}),this._createArrow({className:\"scra\",icon:t.scrollbarButtonDown,top:void 0,left:q,bottom:$,right:void 0,bgWidth:X.verticalScrollbarSize,bgHeight:X.arrowSize,onActivate:()=>this._host.onMouseWheel(new LJ(null,0,-1))})}this._createSlider(0,Math.floor((X.verticalScrollbarSize-X.verticalSliderSize)/2),X.verticalSliderSize,void 0)}_updateSlider(J,X){this.slider.setHeight(J),this.slider.setTop(X)}_renderDomNode(J,X){this.domNode.setWidth(X),this.domNode.setHeight(J),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(J){return this._shouldRender=this._onElementScrollSize(J.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(J.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(J.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(J,X){return X}_sliderPointerPosition(J){return J.pageY}_sliderOrthogonalPointerPosition(J){return J.pageX}_updateScrollbarSize(J){this.slider.setWidth(J)}writeScrollPosition(J,X){J.scrollTop=X}updateOptions(J){this.updateScrollbarSize(J.vertical===2?0:J.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(J.vertical),this._scrollByPage=J.scrollByPage}}class wR{constructor(J,X,Y,Z,Q,$,q){if(this._forceIntegerValues=J,this._scrollStateBrand=void 0,this._forceIntegerValues)X=X|0,Y=Y|0,Z=Z|0,Q=Q|0,$=$|0,q=q|0;if(this.rawScrollLeft=Z,this.rawScrollTop=q,X<0)X=0;if(Z+X>Y)Z=Y-X;if(Z<0)Z=0;if(Q<0)Q=0;if(q+Q>$)q=$-Q;if(q<0)q=0;this.width=X,this.scrollWidth=Y,this.scrollLeft=Z,this.height=Q,this.scrollHeight=$,this.scrollTop=q}equals(J){return this.rawScrollLeft===J.rawScrollLeft&&this.rawScrollTop===J.rawScrollTop&&this.width===J.width&&this.scrollWidth===J.scrollWidth&&this.scrollLeft===J.scrollLeft&&this.height===J.height&&this.scrollHeight===J.scrollHeight&&this.scrollTop===J.scrollTop}withScrollDimensions(J,X){return new wR(this._forceIntegerValues,typeof J.width<\"u\"?J.width:this.width,typeof J.scrollWidth<\"u\"?J.scrollWidth:this.scrollWidth,X?this.rawScrollLeft:this.scrollLeft,typeof J.height<\"u\"?J.height:this.height,typeof J.scrollHeight<\"u\"?J.scrollHeight:this.scrollHeight,X?this.rawScrollTop:this.scrollTop)}withScrollPosition(J){return new wR(this._forceIntegerValues,this.width,this.scrollWidth,typeof J.scrollLeft<\"u\"?J.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof J.scrollTop<\"u\"?J.scrollTop:this.rawScrollTop)}createScrollEvent(J,X){let Y=this.width!==J.width,Z=this.scrollWidth!==J.scrollWidth,Q=this.scrollLeft!==J.scrollLeft,$=this.height!==J.height,q=this.scrollHeight!==J.scrollHeight,G=this.scrollTop!==J.scrollTop;return{inSmoothScrolling:X,oldWidth:J.width,oldScrollWidth:J.scrollWidth,oldScrollLeft:J.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:J.height,oldScrollHeight:J.scrollHeight,oldScrollTop:J.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:Y,scrollWidthChanged:Z,scrollLeftChanged:Q,heightChanged:$,scrollHeightChanged:q,scrollTopChanged:G}}}class mJ extends y{constructor(J){super();this._scrollableBrand=void 0,this._onScroll=this._register(new E),this.onScroll=this._onScroll.event,this._smoothScrollDuration=J.smoothScrollDuration,this._scheduleAtNextAnimationFrame=J.scheduleAtNextAnimationFrame,this._state=new wR(J.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){if(this._smoothScrolling)this._smoothScrolling.dispose(),this._smoothScrolling=null;super.dispose()}setSmoothScrollDuration(J){this._smoothScrollDuration=J}validateScrollPosition(J){return this._state.withScrollPosition(J)}getScrollDimensions(){return this._state}setScrollDimensions(J,X){let Y=this._state.withScrollDimensions(J,X);this._setState(Y,Boolean(this._smoothScrolling)),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){if(this._smoothScrolling)return this._smoothScrolling.to;return this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(J){let X=this._state.withScrollPosition(J);if(this._smoothScrolling)this._smoothScrolling.dispose(),this._smoothScrolling=null;this._setState(X,!1)}setScrollPositionSmooth(J,X){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(J);if(this._smoothScrolling){J={scrollLeft:typeof J.scrollLeft>\"u\"?this._smoothScrolling.to.scrollLeft:J.scrollLeft,scrollTop:typeof J.scrollTop>\"u\"?this._smoothScrolling.to.scrollTop:J.scrollTop};let Y=this._state.withScrollPosition(J);if(this._smoothScrolling.to.scrollLeft===Y.scrollLeft&&this._smoothScrolling.to.scrollTop===Y.scrollTop)return;let Z;if(X)Z=new CF(this._smoothScrolling.from,Y,this._smoothScrolling.startTime,this._smoothScrolling.duration);else Z=this._smoothScrolling.combine(this._state,Y,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=Z}else{let Y=this._state.withScrollPosition(J);this._smoothScrolling=CF.start(this._state,Y,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{if(!this._smoothScrolling)return;this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling()})}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;let J=this._smoothScrolling.tick(),X=this._state.withScrollPosition(J);if(this._setState(X,!0),!this._smoothScrolling)return;if(J.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{if(!this._smoothScrolling)return;this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling()})}_setState(J,X){let Y=this._state;if(Y.equals(J))return;this._state=J,this._onScroll.fire(this._state.createScrollEvent(Y,X))}}class QS{constructor(J,X,Y){this.scrollLeft=J,this.scrollTop=X,this.isDone=Y}}function ZS(J,X){let Y=X-J;return function(Z){return J+Y*pz0(Z)}}function vz0(J,X,Y){return function(Z){if(Z<Y)return J(Z/Y);return X((Z-Y)/(1-Y))}}class CF{constructor(J,X,Y,Z){this.from=J,this.to=X,this.duration=Z,this.startTime=Y,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(J,X,Y){if(Math.abs(J-X)>2.5*Y){let Q,$;if(J<X)Q=J+0.75*Y,$=X-0.75*Y;else Q=J-0.75*Y,$=X+0.75*Y;return vz0(ZS(J,Q),ZS($,X),0.33)}return ZS(J,X)}dispose(){if(this.animationFrameDisposable!==null)this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null}acceptScrollDimensions(J){this.to=J.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(J){let X=(J-this.startTime)/this.duration;if(X<1){let Y=this.scrollLeft(X),Z=this.scrollTop(X);return new QS(Y,Z,!1)}return new QS(this.to.scrollLeft,this.to.scrollTop,!0)}combine(J,X,Y){return CF.start(J,X,Y)}static start(J,X,Y){Y=Y+10;let Z=Date.now()-10;return new CF(J,X,Z,Y)}}function gz0(J){return Math.pow(J,3)}function pz0(J){return 1-gz0(1-J)}var mz0=500,T80=50;class L80{constructor(J,X,Y){this.timestamp=J,this.deltaX=X,this.deltaY=Y,this.score=0}}class SF{static{this.INSTANCE=new SF}constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let J=1,X=0,Y=1,Z=this._rear;do{let Q=Z===this._front?J:Math.pow(2,-Y);if(J-=Q,X+=this._memory[Z].score*Q,Z===this._front)break;Z=(this._capacity+Z-1)%this._capacity,Y++}while(!0);return X<=0.5}acceptStandardWheelEvent(J){if(o$){let X=Q0(J.browserEvent),Y=Tz(X);this.accept(Date.now(),J.deltaX*Y,J.deltaY*Y)}else this.accept(Date.now(),J.deltaX,J.deltaY)}accept(J,X,Y){let Z=null,Q=new L80(J,X,Y);if(this._front===-1&&this._rear===-1)this._memory[0]=Q,this._front=0,this._rear=0;else{if(Z=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front)this._front=(this._front+1)%this._capacity;this._memory[this._rear]=Q}Q.score=this._computeScore(Q,Z)}_computeScore(J,X){if(Math.abs(J.deltaX)>0&&Math.abs(J.deltaY)>0)return 1;let Y=0.5;if(!this._isAlmostInt(J.deltaX)||!this._isAlmostInt(J.deltaY))Y+=0.25;if(X){let Z=Math.abs(J.deltaX),Q=Math.abs(J.deltaY),$=Math.abs(X.deltaX),q=Math.abs(X.deltaY),G=Math.max(Math.min(Z,$),1),U=Math.max(Math.min(Q,q),1),H=Math.max(Z,$),V=Math.max(Q,q);if(H%G===0&&V%U===0)Y-=0.5}return Math.min(Math.max(Y,0),1)}_isAlmostInt(J){let X=Number.EPSILON*100;return Math.abs(Math.round(J)-J)<0.01+X}}class TR extends F8{get onScroll(){return this._onScroll.event}get options(){return this._options}constructor(J,X,Y){super();this._inertialTimeout=null,this._inertialSpeed={X:0,Y:0},this._onScroll=this._register(new E),this._onWillScroll=this._register(new E),J.style.overflow=\"hidden\",this._options=uz0(X),this._scrollable=Y,this._register(this._scrollable.onScroll((Q)=>{this._onWillScroll.fire(Q),this._onDidScroll(Q),this._onScroll.fire(Q)}));let Z={onMouseWheel:(Q)=>this._onMouseWheel(Q),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};if(this._verticalScrollbar=this._register(new YS(this._scrollable,this._options,Z)),this._horizontalScrollbar=this._register(new XS(this._scrollable,this._options,Z)),this._domNode=document.createElement(\"div\"),this._domNode.className=\"monaco-scrollable-element \"+this._options.className,this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.style.position=\"relative\",this._domNode.style.overflow=\"hidden\",this._domNode.appendChild(J),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows)this._leftShadowDomNode=p0(document.createElement(\"div\")),this._leftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=p0(document.createElement(\"div\")),this._topShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=p0(document.createElement(\"div\")),this._topLeftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode);else this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null;this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(Q)=>this._onMouseOver(Q)),this.onmouseleave(this._listenOnDomNode,(Q)=>this._onMouseLeave(Q)),this._hideTimeout=this._register(new i8),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){if(this._mouseWheelToDispose=D1(this._mouseWheelToDispose),this._inertialTimeout)this._inertialTimeout.dispose(),this._inertialTimeout=null;super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(J){this._verticalScrollbar.delegatePointerDown(J)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(J){this._scrollable.setScrollDimensions(J,!1)}updateClassName(J){if(this._options.className=J,I0)this._options.className+=\" mac\";this._domNode.className=\"monaco-scrollable-element \"+this._options.className}updateOptions(J){if(typeof J.handleMouseWheel<\"u\")this._options.handleMouseWheel=J.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel);if(typeof J.mouseWheelScrollSensitivity<\"u\")this._options.mouseWheelScrollSensitivity=J.mouseWheelScrollSensitivity;if(typeof J.fastScrollSensitivity<\"u\")this._options.fastScrollSensitivity=J.fastScrollSensitivity;if(typeof J.scrollPredominantAxis<\"u\")this._options.scrollPredominantAxis=J.scrollPredominantAxis;if(typeof J.horizontal<\"u\")this._options.horizontal=J.horizontal;if(typeof J.vertical<\"u\")this._options.vertical=J.vertical;if(typeof J.horizontalScrollbarSize<\"u\")this._options.horizontalScrollbarSize=J.horizontalScrollbarSize;if(typeof J.verticalScrollbarSize<\"u\")this._options.verticalScrollbarSize=J.verticalScrollbarSize;if(typeof J.scrollByPage<\"u\")this._options.scrollByPage=J.scrollByPage;if(this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),!this._options.lazyRender)this._render()}delegateScrollFromMouseWheelEvent(J){this._onMouseWheel(new LJ(J))}async _periodicSync(){let J=!1;if(this._inertialSpeed.X!==0||this._inertialSpeed.Y!==0){if(this._scrollable.setScrollPositionNow({scrollTop:this._scrollable.getCurrentScrollPosition().scrollTop-this._inertialSpeed.Y*100,scrollLeft:this._scrollable.getCurrentScrollPosition().scrollLeft-this._inertialSpeed.X*100}),this._inertialSpeed.X*=0.9,this._inertialSpeed.Y*=0.9,Math.abs(this._inertialSpeed.X)<0.01)this._inertialSpeed.X=0;if(Math.abs(this._inertialSpeed.Y)<0.01)this._inertialSpeed.Y=0;J=this._inertialSpeed.X!==0||this._inertialSpeed.Y!==0}if(J){if(!this._inertialTimeout)this._inertialTimeout=new i8;this._inertialTimeout.cancelAndSet(()=>this._periodicSync(),16.666666666666668)}else this._inertialTimeout?.dispose(),this._inertialTimeout=null}_setListeningToMouseWheel(J){if(this._mouseWheelToDispose.length>0===J)return;if(this._mouseWheelToDispose=D1(this._mouseWheelToDispose),J){let Y=(Z)=>{this._onMouseWheel(new LJ(Z))};this._mouseWheelToDispose.push(f(this._listenOnDomNode,r.MOUSE_WHEEL,Y,{passive:!1}))}}_onMouseWheel(J){if(J.browserEvent?.defaultPrevented)return;let X=SF.INSTANCE;X.acceptStandardWheelEvent(J);let Y=!1;if(J.deltaY||J.deltaX){let Q=J.deltaY*this._options.mouseWheelScrollSensitivity,$=J.deltaX*this._options.mouseWheelScrollSensitivity;if(this._options.scrollPredominantAxis)if(this._options.scrollYToX&&$+Q===0)$=Q=0;else if(Math.abs(Q)>=Math.abs($))$=0;else Q=0;if(this._options.flipAxes)[Q,$]=[$,Q];let q=!I0&&J.browserEvent&&J.browserEvent.shiftKey;if((this._options.scrollYToX||q)&&!$)$=Q,Q=0;if(J.browserEvent&&J.browserEvent.altKey)$=$*this._options.fastScrollSensitivity,Q=Q*this._options.fastScrollSensitivity;let G=this._scrollable.getFutureScrollPosition(),U={};if(Q){let H=T80*Q,V=G.scrollTop-(H<0?Math.floor(H):Math.ceil(H));this._verticalScrollbar.writeScrollPosition(U,V)}if($){let H=T80*$,V=G.scrollLeft-(H<0?Math.floor(H):Math.ceil(H));this._horizontalScrollbar.writeScrollPosition(U,V)}if(U=this._scrollable.validateScrollPosition(U),this._options.inertialScroll&&($||Q)&&!X.isPhysicalMouseWheel()){let H=!1;if(this._inertialSpeed.X===0&&this._inertialSpeed.Y===0)H=!0;if(this._inertialSpeed.Y=(Q<0?-1:1)*Math.abs(Q)**1.02,this._inertialSpeed.X=($<0?-1:1)*Math.abs($)**1.02,H)this._periodicSync()}if(G.scrollLeft!==U.scrollLeft||G.scrollTop!==U.scrollTop){if(this._options.mouseWheelSmoothScroll&&X.isPhysicalMouseWheel())this._scrollable.setScrollPositionSmooth(U);else this._scrollable.setScrollPositionNow(U);Y=!0}}let Z=Y;if(!Z&&this._options.alwaysConsumeMouseWheel)Z=!0;if(!Z&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded()))Z=!0;if(Z)J.preventDefault(),J.stopPropagation()}_onDidScroll(J){if(this._shouldRender=this._horizontalScrollbar.onDidScroll(J)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(J)||this._shouldRender,this._options.useShadows)this._shouldRender=!0;if(this._revealOnScroll)this._reveal();if(!this._options.lazyRender)this._render()}renderNow(){if(!this._options.lazyRender)throw Error(\"Please use `lazyRender` together with `renderNow`!\");this._render()}_render(){if(!this._shouldRender)return;if(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows){let J=this._scrollable.getCurrentScrollPosition(),X=J.scrollTop>0,Y=J.scrollLeft>0,Z=Y?\" left\":\"\",Q=X?\" top\":\"\",$=Y||X?\" top-left-corner\":\"\";this._leftShadowDomNode.setClassName(`shadow${Z}`),this._topShadowDomNode.setClassName(`shadow${Q}`),this._topLeftShadowDomNode.setClassName(`shadow${$}${Q}${Z}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(J){this._mouseIsOver=!1,this._hide()}_onMouseOver(J){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){if(!this._mouseIsOver&&!this._isDragging)this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide()}_scheduleHide(){if(!this._mouseIsOver&&!this._isDragging)this._hideTimeout.cancelAndSet(()=>this._hide(),mz0)}}class $S extends TR{constructor(J,X){X=X||{},X.mouseWheelSmoothScroll=!1;let Y=new mJ({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:(Z)=>E8(Q0(J),Z)});super(J,X,Y);this._register(Y)}setScrollPosition(J){this._scrollable.setScrollPositionNow(J)}}class EQ extends TR{constructor(J,X,Y){super(J,X,Y)}setScrollPosition(J){if(J.reuseAnimation)this._scrollable.setScrollPositionSmooth(J,J.reuseAnimation);else this._scrollable.setScrollPositionNow(J)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class DG extends TR{constructor(J,X){X=X||{},X.mouseWheelSmoothScroll=!1;let Y=new mJ({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:(Z)=>E8(Q0(J),Z)});super(J,X,Y);this._register(Y),this._element=J,this._register(this.onScroll((Z)=>{if(Z.scrollTopChanged)this._element.scrollTop=Z.scrollTop;if(Z.scrollLeftChanged)this._element.scrollLeft=Z.scrollLeft})),this.scanDomNode()}setScrollPosition(J){this._scrollable.setScrollPositionNow(J)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function uz0(J){let X={lazyRender:typeof J.lazyRender<\"u\"?J.lazyRender:!1,className:typeof J.className<\"u\"?J.className:\"\",useShadows:typeof J.useShadows<\"u\"?J.useShadows:!0,handleMouseWheel:typeof J.handleMouseWheel<\"u\"?J.handleMouseWheel:!0,flipAxes:typeof J.flipAxes<\"u\"?J.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof J.consumeMouseWheelIfScrollbarIsNeeded<\"u\"?J.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof J.alwaysConsumeMouseWheel<\"u\"?J.alwaysConsumeMouseWheel:!1,scrollYToX:typeof J.scrollYToX<\"u\"?J.scrollYToX:!1,mouseWheelScrollSensitivity:typeof J.mouseWheelScrollSensitivity<\"u\"?J.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof J.fastScrollSensitivity<\"u\"?J.fastScrollSensitivity:5,scrollPredominantAxis:typeof J.scrollPredominantAxis<\"u\"?J.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof J.mouseWheelSmoothScroll<\"u\"?J.mouseWheelSmoothScroll:!0,inertialScroll:typeof J.inertialScroll<\"u\"?J.inertialScroll:!1,arrowSize:typeof J.arrowSize<\"u\"?J.arrowSize:11,listenOnDomNode:typeof J.listenOnDomNode<\"u\"?J.listenOnDomNode:null,horizontal:typeof J.horizontal<\"u\"?J.horizontal:1,horizontalScrollbarSize:typeof J.horizontalScrollbarSize<\"u\"?J.horizontalScrollbarSize:10,horizontalSliderSize:typeof J.horizontalSliderSize<\"u\"?J.horizontalSliderSize:0,horizontalHasArrows:typeof J.horizontalHasArrows<\"u\"?J.horizontalHasArrows:!1,vertical:typeof J.vertical<\"u\"?J.vertical:1,verticalScrollbarSize:typeof J.verticalScrollbarSize<\"u\"?J.verticalScrollbarSize:10,verticalHasArrows:typeof J.verticalHasArrows<\"u\"?J.verticalHasArrows:!1,verticalSliderSize:typeof J.verticalSliderSize<\"u\"?J.verticalSliderSize:0,scrollByPage:typeof J.scrollByPage<\"u\"?J.scrollByPage:!1};if(X.horizontalSliderSize=typeof J.horizontalSliderSize<\"u\"?J.horizontalSliderSize:X.horizontalScrollbarSize,X.verticalSliderSize=typeof J.verticalSliderSize<\"u\"?J.verticalSliderSize:X.verticalScrollbarSize,I0)X.className+=\" mac\";return X}class qS extends y{constructor(J,X,Y,Z){super();this._context=J,this._viewHelper=X,this._mouseTargetFactory=Y,this._dispatchMouse=Z,this._operation=null}dispose(){super.dispose(),this.stop()}start(J,X){if(this._operation)this._operation.setPosition(J,X);else this._operation=this._createDragScrollingOperation(J,X)}stop(){if(this._operation)this._operation.dispose(),this._operation=null}}class GS extends y{constructor(J,X,Y,Z,Q,$){super();this._context=J,this._viewHelper=X,this._mouseTargetFactory=Y,this._dispatchMouse=Z,this._position=Q,this._mouseEvent=$,this._lastTime=Date.now(),this._animationFrameDisposable=E8(Q0($.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(J,X){this._position=J,this._mouseEvent=X}_tick(){let J=Date.now(),X=J-this._lastTime;return this._lastTime=J,X}}class US extends qS{_createDragScrollingOperation(J,X){return new I80(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,J,X)}}class I80 extends GS{_getScrollSpeed(){let J=this._context.configuration.options.get(75),X=this._context.configuration.options.get(165).height/J,Y=this._position.outsideDistance/J;if(Y<=1.5)return Math.max(30,X*(1+Y));if(Y<=3)return Math.max(60,X*(2+Y));return Math.max(200,X*(7+Y))}_execute(){let J=this._context.configuration.options.get(75),X=this._getScrollSpeed(),Y=this._tick(),Z=X*(Y/1000)*J,Q=this._position.outsidePosition===\"above\"?-Z:Z;this._context.viewModel.viewLayout.deltaScrollNow(0,Q),this._viewHelper.renderNow();let $=this._context.viewLayout.getLinesViewportData(),q=this._position.outsidePosition===\"above\"?$.startLineNumber:$.endLineNumber,G=this._position.outsidePosition===\"above\"?$.startLineNumber===1:$.endLineNumber===this._context.viewModel.getLineCount(),U;{let H=vV(this._viewHelper.viewDomNode),V=this._context.configuration.options.get(165).horizontalScrollbarHeight,K=new L2(this._mouseEvent.pos.x,H.y+H.height-V-0.1),j=gV(this._viewHelper.viewDomNode,H,K);U=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),H,K,j,null)}if(!U.position||U.position.lineNumber!==q||G)if(this._position.outsidePosition===\"above\")U=v8.createOutsideEditor(this._position.mouseColumn,new C(q,1),\"above\",this._position.outsideDistance);else U=v8.createOutsideEditor(this._position.mouseColumn,new C(q,this._context.viewModel.getLineMaxColumn(q)),\"below\",this._position.outsideDistance);this._dispatchMouse(U,!0,2),this._animationFrameDisposable=E8(Q0(U.element),()=>this._execute())}}class HS extends qS{_createDragScrollingOperation(J,X){return new k80(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,J,X)}}class k80 extends GS{_getScrollSpeed(){let J=this._context.configuration.options.get(59).typicalFullwidthCharacterWidth,X=this._context.configuration.options.get(165).contentWidth/J,Y=this._position.outsideDistance/J;if(Y<=1.5)return Math.max(30,X*(1+Y));if(Y<=3)return Math.max(60,X*(2+Y));return Math.max(200,X*(7+Y))}_execute(){let J=this._context.configuration.options.get(59).typicalFullwidthCharacterWidth,X=this._getScrollSpeed(),Y=this._tick(),Z=X*(Y/1000)*J*0.5,Q=this._position.outsidePosition===\"left\"?-Z:Z;if(this._context.viewModel.viewLayout.deltaScrollNow(Q,0),this._viewHelper.renderNow(),!this._position.position)return;let $=this._position.position.lineNumber,q;{let G=vV(this._viewHelper.viewDomNode),U=this._context.configuration.options.get(165).horizontalScrollbarHeight,H=new L2(this._mouseEvent.pos.x,G.y+G.height-U-0.1),V=gV(this._viewHelper.viewDomNode,G,H);q=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),G,H,V,null)}if(this._position.outsidePosition===\"left\")q=v8.createOutsideEditor(q.mouseColumn,new C($,q.mouseColumn),\"left\",this._position.outsideDistance);else q=v8.createOutsideEditor(q.mouseColumn,new C($,q.mouseColumn),\"right\",this._position.outsideDistance);this._dispatchMouse(q,!0,2),this._animationFrameDisposable=E8(Q0(q.element),()=>this._execute())}}class fF extends C4{constructor(J,X,Y){super();this._mouseLeaveMonitor=null,this._context=J,this.viewController=X,this.viewHelper=Y,this.mouseTargetFactory=new u5(this._context,Y),this._mouseDownOperation=this._register(new E80(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,($,q)=>this._createMouseTarget($,q),($)=>this._getMouseColumn($))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(165).height;let Z=new sC(this.viewHelper.viewDomNode);this._register(Z.onContextMenu(this.viewHelper.viewDomNode,($)=>this._onContextMenu($,!0))),this._register(Z.onMouseMove(this.viewHelper.viewDomNode,($)=>{if(this._onMouseMove($),!this._mouseLeaveMonitor)this._mouseLeaveMonitor=f(this.viewHelper.viewDomNode.ownerDocument,\"mousemove\",(q)=>{if(!this.viewHelper.viewDomNode.contains(q.target))this._onMouseLeave(new kX(q,!1,this.viewHelper.viewDomNode))})})),this._register(Z.onMouseUp(this.viewHelper.viewDomNode,($)=>this._onMouseUp($))),this._register(Z.onMouseLeave(this.viewHelper.viewDomNode,($)=>this._onMouseLeave($)));let Q=0;this._register(Z.onPointerDown(this.viewHelper.viewDomNode,($,q)=>{Q=q})),this._register(f(this.viewHelper.viewDomNode,r.POINTER_UP,($)=>{this._mouseDownOperation.onPointerUp()})),this._register(Z.onMouseDown(this.viewHelper.viewDomNode,($)=>this._onMouseDown($,Q))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){let J=SF.INSTANCE,X=0,Y=MJ.getZoomLevel(),Z=!1,Q=0,$=(G)=>{if(this.viewController.emitMouseWheel(G),!this._context.configuration.options.get(84))return;let U=new LJ(G);if(J.acceptStandardWheelEvent(U),J.isPhysicalMouseWheel()){if(q(G)){let H=MJ.getZoomLevel(),V=U.deltaY>0?1:-1;MJ.setZoomLevel(H+V),U.preventDefault(),U.stopPropagation()}}else{if(Date.now()-X>50)Y=MJ.getZoomLevel(),Z=q(G),Q=0;if(X=Date.now(),Q+=U.deltaY,Z)MJ.setZoomLevel(Y+Q/5),U.preventDefault(),U.stopPropagation()}};this._register(f(this.viewHelper.viewDomNode,r.MOUSE_WHEEL,$,{capture:!0,passive:!1}));function q(G){return I0?(G.metaKey||G.ctrlKey)&&!G.shiftKey&&!G.altKey:G.ctrlKey&&!G.metaKey&&!G.shiftKey&&!G.altKey}}dispose(){if(this._context.removeEventHandler(this),this._mouseLeaveMonitor)this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null;super.dispose()}onConfigurationChanged(J){if(J.hasChanged(165)){let X=this._context.configuration.options.get(165).height;if(this._height!==X)this._height=X,this._mouseDownOperation.onHeightChanged()}return!1}onCursorStateChanged(J){return this._mouseDownOperation.onCursorStateChanged(J),!1}onFocusChanged(J){return!1}getTargetAtClientPoint(J,X){let Z=new NR(J,X).toPageCoordinates(Q0(this.viewHelper.viewDomNode)),Q=vV(this.viewHelper.viewDomNode);if(Z.y<Q.y||Z.y>Q.y+Q.height||Z.x<Q.x||Z.x>Q.x+Q.width)return null;let $=gV(this.viewHelper.viewDomNode,Q,Z);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),Q,Z,$,null)}_createMouseTarget(J,X){let Y=J.target;if(!this.viewHelper.viewDomNode.contains(Y)){let Z=DX(this.viewHelper.viewDomNode);if(Z)Y=Z.elementsFromPoint(J.posx,J.posy).find(($)=>this.viewHelper.viewDomNode.contains($))??null}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),J.editorPos,J.pos,J.relativePos,X?Y:null)}_getMouseColumn(J){return this.mouseTargetFactory.getMouseColumn(J.relativePos)}_onContextMenu(J,X){this.viewController.emitContextMenu({event:J,target:this._createMouseTarget(J,X)})}_onMouseMove(J){if(!this.mouseTargetFactory.mouseTargetIsWidget(J))J.preventDefault();if(this._mouseDownOperation.isActive())return;if(J.timestamp<this.lastMouseLeaveTime)return;this.viewController.emitMouseMove({event:J,target:this._createMouseTarget(J,!0)})}_onMouseLeave(J){if(this._mouseLeaveMonitor)this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null;this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:J,target:null})}_onMouseUp(J){this.viewController.emitMouseUp({event:J,target:this._createMouseTarget(J,!0)})}_onMouseDown(J,X){let Y=this._createMouseTarget(J,!0),Z=Y.type===6||Y.type===7,Q=Y.type===2||Y.type===3||Y.type===4,$=Y.type===3,q=this._context.configuration.options.get(125),G=Y.type===8||Y.type===5,U=Y.type===9,H=J.leftButton||J.middleButton;if(I0&&J.leftButton&&J.ctrlKey)H=!1;let V=()=>{J.preventDefault(),this.viewHelper.focusTextArea()};if(H&&(Z||$&&q))V(),this._mouseDownOperation.start(Y.type,J,X);else if(Q)J.preventDefault();else if(G){let K=Y.detail;if(H&&this.viewHelper.shouldSuppressMouseDownOnViewZone(K.viewZoneId))V(),this._mouseDownOperation.start(Y.type,J,X),J.preventDefault()}else if(U&&this.viewHelper.shouldSuppressMouseDownOnWidget(Y.detail))V(),J.preventDefault();this.viewController.emitMouseDown({event:J,target:Y})}}class E80 extends y{constructor(J,X,Y,Z,Q,$){super();this._context=J,this._viewController=X,this._viewHelper=Y,this._mouseTargetFactory=Z,this._createMouseTarget=Q,this._getMouseColumn=$,this._mouseMoveMonitor=this._register(new iC(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new US(this._context,this._viewHelper,this._mouseTargetFactory,(q,G,U)=>this._dispatchMouse(q,G,U))),this._leftRightDragScrolling=this._register(new HS(this._context,this._viewHelper,this._mouseTargetFactory,(q,G,U)=>this._dispatchMouse(q,G,U))),this._mouseState=new VS,this._currentSelection=new Y0(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}isActive(){return this._isActive}_onMouseDownThenMove(J){this._lastMouseEvent=J,this._mouseState.setModifiers(J);let X=this._findMousePosition(J,!1);if(!X)return;if(this._mouseState.isDragAndDrop)this._viewController.emitMouseDrag({event:J,target:X});else if(X.type===13)if(X.outsidePosition===\"above\"||X.outsidePosition===\"below\")this._topBottomDragScrolling.start(X,J),this._leftRightDragScrolling.stop();else this._leftRightDragScrolling.start(X,J),this._topBottomDragScrolling.stop();else this._topBottomDragScrolling.stop(),this._leftRightDragScrolling.stop(),this._dispatchMouse(X,!0,1)}start(J,X,Y){this._lastMouseEvent=X,this._mouseState.setStartedOnLineNumbers(J===3),this._mouseState.setStartButtons(X),this._mouseState.setModifiers(X);let Z=this._findMousePosition(X,!0);if(!Z||!Z.position)return;this._mouseState.trySetCount(X.detail,Z.position),X.detail=this._mouseState.count;let Q=this._context.configuration.options;if(!Q.get(104)&&Q.get(42)&&!Q.get(28)&&!this._mouseState.altKey&&X.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&Z.type===6&&Z.position&&this._currentSelection.containsPosition(Z.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,Y,X.buttons,($)=>this._onMouseDownThenMove($),($)=>{let q=this._findMousePosition(this._lastMouseEvent,!1);if(EJ($))this._viewController.emitMouseDropCanceled();else this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:q?this._createMouseTarget(this._lastMouseEvent,!0):null});this._stop()});return}if(this._mouseState.isDragAndDrop=!1,this._dispatchMouse(Z,X.shiftKey,1),!this._isActive)this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,Y,X.buttons,($)=>this._onMouseDownThenMove($),()=>this._stop())}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop(),this._leftRightDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(J){this._currentSelection=J.selections[0]}_getPositionOutsideEditor(J){let X=J.editorPos,Y=this._context.viewModel,Z=this._context.viewLayout,Q=this._getMouseColumn(J);if(J.posy<X.y){let V=X.y-J.posy,K=Math.max(Z.getCurrentScrollTop()-V,0),j=PG.getZoneAtCoord(this._context,K);if(j){let z=this._helpPositionJumpOverViewZone(j);if(z)return v8.createOutsideEditor(Q,z,\"above\",V)}let W=Z.getLineNumberAtVerticalOffset(K);return v8.createOutsideEditor(Q,new C(W,1),\"above\",V)}if(J.posy>X.y+X.height){let V=J.posy-X.y-X.height,K=Z.getCurrentScrollTop()+J.relativePos.y,j=PG.getZoneAtCoord(this._context,K);if(j){let z=this._helpPositionJumpOverViewZone(j);if(z)return v8.createOutsideEditor(Q,z,\"below\",V)}let W=Z.getLineNumberAtVerticalOffset(K);return v8.createOutsideEditor(Q,new C(W,Y.getLineMaxColumn(W)),\"below\",V)}let $=Z.getLineNumberAtVerticalOffset(Z.getCurrentScrollTop()+J.relativePos.y),q=this._context.configuration.options.get(165),G=q.contentLeft;if(J.relativePos.x<=G){let V=G-J.relativePos.x,K=Y.getTextDirection($)===N8.RTL;return v8.createOutsideEditor(Q,new C($,K?Y.getLineMaxColumn($):1),\"left\",V)}let H=q.minimap.minimapLeft===0?q.width-q.verticalScrollbarWidth:q.minimap.minimapLeft;if(J.relativePos.x>=H){let V=J.relativePos.x-H,K=Y.getTextDirection($)===N8.RTL;return v8.createOutsideEditor(Q,new C($,K?1:Y.getLineMaxColumn($)),\"right\",V)}return null}_findMousePosition(J,X){let Y=this._getPositionOutsideEditor(J);if(Y)return Y;let Z=this._createMouseTarget(J,X);if(!Z.position)return null;if(Z.type===8||Z.type===5){let $=this._helpPositionJumpOverViewZone(Z.detail);if($)return v8.createViewZone(Z.type,Z.element,Z.mouseColumn,$,Z.detail)}return Z}_helpPositionJumpOverViewZone(J){let X=new C(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),Y=J.positionBefore,Z=J.positionAfter;if(Y&&Z)if(Y.isBefore(X))return Y;else return Z;return null}_dispatchMouse(J,X,Y){if(!J.position)return;this._viewController.dispatchMouse({position:J.position,mouseColumn:J.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:Y,inSelectionMode:X,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:J.type===6&&J.detail.injectedText!==null})}}class VS{static{this.CLEAR_MOUSE_DOWN_COUNT_TIME=400}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(J){this._altKey=J.altKey,this._ctrlKey=J.ctrlKey,this._metaKey=J.metaKey,this._shiftKey=J.shiftKey}setStartButtons(J){this._leftButton=J.leftButton,this._middleButton=J.middleButton}setStartedOnLineNumbers(J){this._startedOnLineNumbers=J}trySetCount(J,X){let Y=new Date().getTime();if(Y-this._lastSetMouseDownCountTime>VS.CLEAR_MOUSE_DOWN_COUNT_TIME)J=1;if(this._lastSetMouseDownCountTime=Y,J>this._lastMouseDownCount+1)J=this._lastMouseDownCount+1;if(this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(X))this._lastMouseDownPositionEqualCount++;else this._lastMouseDownPositionEqualCount=1;this._lastMouseDownPosition=X,this._lastMouseDownCount=Math.min(J,this._lastMouseDownPositionEqualCount)}}class G1{get event(){return this.emitter.event}constructor(J,X,Y){let Z=(Q)=>this.emitter.fire(Q);this.emitter=new E({onWillAddFirstListener:()=>J.addEventListener(X,Z,Y),onDidRemoveLastListener:()=>J.removeEventListener(X,Z,Y)})}dispose(){this.emitter.dispose()}}var OG=function(){if(typeof crypto.randomUUID===\"function\")return crypto.randomUUID.bind(crypto);let J=new Uint8Array(16),X=[];for(let Y=0;Y<256;Y++)X.push(Y.toString(16).padStart(2,\"0\"));return function(){crypto.getRandomValues(J),J[6]=J[6]&15|64,J[8]=J[8]&63|128;let Z=0,Q=\"\";return Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=\"-\",Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=\"-\",Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=\"-\",Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=\"-\",Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=X[J[Z++]],Q+=X[J[Z++]],Q}}();function y80(J){return`${J}-${OG()}`}var E2={RESOURCES:\"ResourceURLs\",TEXT:s1.text,INTERNAL_URI_LIST:\"application/vnd.code.uri-list\"};function hF(J,X){return{id:X,asString:async()=>J,asFile:()=>{return},value:typeof J===\"string\"?J:void 0}}function x80(J,X,Y,Z){let Q={id:OG(),name:J,uri:X,data:Y};return{id:Z,asString:async()=>\"\",asFile:()=>Q,value:void 0}}class vF{constructor(){this._entries=new Map}get size(){let J=0;for(let X of this._entries)J++;return J}has(J){return this._entries.has(this.toKey(J))}matches(J){let X=[...this._entries.keys()];if(s0.some(this,([Y,Z])=>Z.asFile()))X.push(\"files\");return b80(LR(J),X)}get(J){return this._entries.get(this.toKey(J))?.[0]}append(J,X){let Y=this._entries.get(J);if(Y)Y.push(X);else this._entries.set(this.toKey(J),[X])}replace(J,X){this._entries.set(this.toKey(J),[X])}delete(J){this._entries.delete(this.toKey(J))}*[Symbol.iterator](){for(let[J,X]of this._entries)for(let Y of X)yield[J,Y]}toKey(J){return LR(J)}}function LR(J){return J.toLowerCase()}function KS(J,X){return b80(LR(J),X.map(LR))}function b80(J,X){if(J===\"*/*\")return X.length>0;if(X.includes(J))return!0;let Y=J.match(/^([a-z]+)\\/([a-z]+|\\*)$/i);if(!Y)return!1;let[Z,Q,$]=Y;if($===\"*\")return X.some((q)=>q.startsWith(Q+\"/\"));return!1}var MG=Object.freeze({create:(J)=>{return o4(J.map((X)=>X.toString())).join(`\\r\n`)},split:(J)=>{return J.split(`\\r\n`)},parse:(J)=>{return MG.split(J).filter((X)=>!X.startsWith(\"#\"))}});var WS={EDITORS:\"CodeEditors\",FILES:\"CodeFiles\"};class C80{}var cz0={DragAndDropContribution:\"workbench.contributions.dragAndDrop\"};y1.add(cz0.DragAndDropContribution,new C80);class jS{static{this.INSTANCE=new jS}constructor(){}static getInstance(){return jS.INSTANCE}hasData(J){return J&&J===this.proto}getData(J){if(this.hasData(J))return this.data;return}}function zS(J){if(Q7&&typeof globalThis.vscode?.webUtils?.getPathForFile===\"function\")return globalThis.vscode?.webUtils?.getPathForFile(J);return}function dz0(J){let X=new vF;for(let Y of J.items){let Z=Y.type;if(Y.kind===\"string\"){let Q=new Promise(($)=>Y.getAsString($));X.append(Z,hF(Q))}else if(Y.kind===\"file\"){let Q=Y.getAsFile();if(Q)X.append(Z,lz0(Q))}}return X}function lz0(J){let X=zS(J),Y=X?R0.parse(X):void 0;return x80(J.name,Y,async()=>{return new Uint8Array(await J.arrayBuffer())})}var sz0=Object.freeze([WS.EDITORS,WS.FILES,E2.RESOURCES,E2.INTERNAL_URI_LIST]);function S80(J,X=!1){let Y=dz0(J),Z=Y.get(E2.INTERNAL_URI_LIST);if(Z)Y.replace(s1.uriList,Z);else if(X||!Y.has(s1.uriList)){let Q=[];for(let $ of J.items){let q=$.getAsFile();if(q){let G=zS(q);try{if(G)Q.push(R0.file(G).toString());else Q.push(R0.parse(q.name,!0).toString())}catch{}}}if(Q.length)Y.replace(s1.uriList,hF(MG.create(Q)))}for(let Q of sz0)Y.delete(Q);return Y}function f80(J,X,Y){let{dataToCopy:Z,metadata:Q}=v80(J);return h80(Z.text,Q,Y),{dataToCopy:Z,metadata:Q}}function h80(J,X,Y){y2.INSTANCE.set(Y?J.replace(/\\r\\n/g,`\n`):J,X)}function v80(J){let X=J.getEditorOption(45),Y=J.getEditorOption(31),Z=J.getCursorStates().map((q)=>q.modelState.selection),Q=az0(J,Z,X,Y),$={version:1,id:OG(),isFromEmptySelection:Q.isFromEmptySelection,multicursorText:Q.multicursorText,mode:Q.mode};return{dataToCopy:Q,metadata:$}}function az0(J,X,Y,Z){let{sourceRanges:Q,sourceText:$}=J.getPlainTextToCopy(X,Y,z6),q=J.model.getEOL(),G=Y&&X.length===1&&X[0].isEmpty(),U=Array.isArray($)?$:null,H=Array.isArray($)?$.join(q):$,V=void 0,K=null;if(fY.forceCopyWithSyntaxHighlighting||Z&&$.length<65536){let W=J.getRichTextToCopy(X,Y);if(W)V=W.html,K=W.mode}return{isFromEmptySelection:G,sourceRanges:Q,multicursorText:U,text:H,html:V,mode:K}}class y2{static{this.INSTANCE=new y2}constructor(){this._lastState=null}set(J,X){this._lastState={lastCopiedValue:J,data:X}}get(J){if(this._lastState&&this._lastState.lastCopiedValue===J)return this._lastState.data;return this._lastState=null,null}}var fY={forceCopyWithSyntaxHighlighting:!1,electronBugWorkaroundCopyEventHasFired:!1},g80={getTextData(J){let X=J.getData(s1.text),Y=null,Z=J.getData(\"vscode-editor-data\");if(typeof Z===\"string\")try{if(Y=JSON.parse(Z),Y.version!==1)Y=null}catch(Q){}if(X.length===0&&Y===null&&J.files.length>0)return[Array.prototype.slice.call(J.files,0).map(($)=>$.name).join(`\n`),null];return[X,Y]},setTextData(J,X,Y,Z){if(J.setData(s1.text,X),typeof Y===\"string\")J.setData(\"text/html\",Y);J.setData(\"vscode-editor-data\",JSON.stringify(Z))}};function dV(J,X,Y,Z,Q){let{dataToCopy:$,metadata:q}=v80(Y.viewModel),G=!1;return{isCut:X,clipboardData:{setData:(U,H)=>{J.clipboardData?.setData(U,H)}},dataToCopy:$,ensureClipboardGetsEditorData:()=>{if(J.preventDefault(),J.clipboardData)g80.setTextData(J.clipboardData,$.text,$.html,q);h80($.text,q,Q),Z.trace(\"ensureClipboardGetsEditorSelection with id : \",q.id,\" with text.length: \",$.text.length)},setHandled:()=>{G=!0,J.preventDefault(),J.stopImmediatePropagation()},get isHandled(){return G}}}function IR(J){let X=!1,[Y,Z]=J.clipboardData?g80.getTextData(J.clipboardData):[\"\",null];return Z=Z||y2.INSTANCE.get(Y),{clipboardData:iz0(J.clipboardData),metadata:Z,text:Y,toExternalVSDataTransfer:()=>J.clipboardData?S80(J.clipboardData):void 0,browserEvent:J,setHandled:()=>{X=!0,J.preventDefault(),J.stopImmediatePropagation()},get isHandled(){return X}}}function iz0(J){return{types:Array.from(J?.types??[]),files:Array.prototype.slice.call(J?.files??[],0),getData:(X)=>J?.getData(X)??\"\"}}class g8{static{this.EMPTY=new g8(\"\",0,0,null,void 0)}constructor(J,X,Y,Z,Q){this.value=J,this.selectionStart=X,this.selectionEnd=Y,this.selection=Z,this.newlineCountBeforeSelection=Q}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(J,X){let Y=J.getValue(),Z=J.getSelectionStart(),Q=J.getSelectionEnd(),$=void 0;if(X){let q=Y.substring(0,Z),G=X.value.substring(0,X.selectionStart);if(q===G)$=X.newlineCountBeforeSelection}return new g8(Y,Z,Q,null,$)}collapseSelection(){if(this.selectionStart===this.value.length)return this;return new g8(this.value,this.value.length,this.value.length,null,void 0)}isWrittenToTextArea(J,X){let Y=this.value===J.getValue();if(!X)return Y;return this.selectionStart===J.getSelectionStart()&&this.selectionEnd===J.getSelectionEnd()&&Y}writeToTextArea(J,X,Y){if(X.setValue(J,this.value),Y)X.setSelectionRange(J,this.selectionStart,this.selectionEnd)}deduceEditorPosition(J){if(J<=this.selectionStart){let Z=this.value.substring(J,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,Z,-1)}if(J>=this.selectionEnd){let Z=this.value.substring(this.selectionEnd,J);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,Z,1)}let X=this.value.substring(this.selectionStart,J);if(X.indexOf(String.fromCharCode(8230))===-1)return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,X,1);let Y=this.value.substring(J,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,Y,-1)}_finishDeduceEditorPosition(J,X,Y){let Z=0,Q=-1;while((Q=X.indexOf(`\n`,Q+1))!==-1)Z++;return[J,Y*X.length,Z]}static deduceInput(J,X,Y){if(!J)return{text:\"\",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};let Z=Math.min(BY(J.value,X.value),J.selectionStart,X.selectionStart),Q=Math.min(_Y(J.value,X.value),J.value.length-J.selectionEnd,X.value.length-X.selectionEnd);J.value.substring(Z,J.value.length-Q);let $=X.value.substring(Z,X.value.length-Q),q=J.selectionStart-Z,G=J.selectionEnd-Z,U=X.selectionStart-Z,H=X.selectionEnd-Z;if(U===H){let K=J.selectionStart-Z;return{text:$,replacePrevCharCnt:K,replaceNextCharCnt:0,positionDelta:0}}let V=G-q;return{text:$,replacePrevCharCnt:V,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(J,X){if(!J)return{text:\"\",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(J.value===X.value)return{text:\"\",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:X.selectionEnd-J.selectionEnd};let Y=Math.min(BY(J.value,X.value),J.selectionEnd),Z=Math.min(_Y(J.value,X.value),J.value.length-J.selectionEnd),Q=J.value.substring(Y,J.value.length-Z),$=X.value.substring(Y,X.value.length-Z);J.selectionStart-Y;let q=J.selectionEnd-Y;X.selectionStart-Y;let G=X.selectionEnd-Y;return{text:$,replacePrevCharCnt:q,replaceNextCharCnt:Q.length-q,positionDelta:G-$.length}}static fromScreenReaderContentState(J){let X,Y;switch(J.selection.getDirection()){case 0:X=J.selectionStart,Y=J.selectionEnd;break;case 1:X=J.selectionEnd,Y=J.selectionStart;break}return new g8(J.value,X,Y,J.selection,J.newlineCountBeforeSelection)}}var rz0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},p80=function(J,X){return function(Y,Z){X(Y,Z,J)}},gF;(function(J){J.Tap=\"-monaco-textarea-synthetic-tap\"})(gF||(gF={}));class m80{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(J){J=J||\"\";let X={text:J,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=J.length,X}}var kR=class extends y{get textAreaState(){return this._textAreaState}constructor(X,Y,Z,Q,$,q){super();if(this._host=X,this._textArea=Y,this._OS=Z,this._browser=Q,this._accessibilityService=$,this._logService=q,this._onFocus=this._register(new E),this.onFocus=this._onFocus.event,this._onBlur=this._register(new E),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new E),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new E),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new E),this.onCut=this._onCut.event,this._onPaste=this._register(new E),this.onPaste=this._onPaste.event,this._onWillCopy=this._register(new E),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new E),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new E),this.onWillPaste=this._onWillPaste.event,this._onType=this._register(new E),this.onType=this._onType.event,this._onCompositionStart=this._register(new E),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new E),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new E),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new E),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new Q1),this._asyncTriggerCut=this._register(new B1(()=>this._onCut.fire(),0)),this._textAreaState=g8.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized())this.writeNativeTextAreaContent(\"ctor\");this._register(i.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{if(this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value)this._asyncFocusGainWriteScreenReaderContent.value=new B1(()=>this.writeNativeTextAreaContent(\"asyncFocusGain\"),0);else this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let G=null;this._register(this._textArea.onKeyDown((U)=>{let H=new Y1(U);if(H.keyCode===114||this._currentComposition&&H.keyCode===1)H.stopPropagation();if(H.equals(9))H.preventDefault();G=H,this._onKeyDown.fire(H)})),this._register(this._textArea.onKeyUp((U)=>{let H=new Y1(U);this._onKeyUp.fire(H)})),this._register(this._textArea.onCompositionStart((U)=>{let H=new m80;if(this._currentComposition){this._currentComposition=H;return}if(this._currentComposition=H,this._OS===2&&G&&G.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===U.data&&(G.code===\"ArrowRight\"||G.code===\"ArrowLeft\")){H.handleCompositionUpdate(\"x\"),this._onCompositionStart.fire({data:U.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:U.data});return}this._onCompositionStart.fire({data:U.data})})),this._register(this._textArea.onCompositionUpdate((U)=>{let H=this._currentComposition;if(!H)return;if(this._browser.isAndroid){let K=g8.readFromTextArea(this._textArea,this._textAreaState),j=g8.deduceAndroidCompositionInput(this._textAreaState,K);this._textAreaState=K,this._onType.fire(j),this._onCompositionUpdate.fire(U);return}let V=H.handleCompositionUpdate(U.data);this._textAreaState=g8.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(V),this._onCompositionUpdate.fire(U)})),this._register(this._textArea.onCompositionEnd((U)=>{let H=this._currentComposition;if(!H)return;if(this._currentComposition=null,this._browser.isAndroid){let K=g8.readFromTextArea(this._textArea,this._textAreaState),j=g8.deduceAndroidCompositionInput(this._textAreaState,K);this._textAreaState=K,this._onType.fire(j),this._onCompositionEnd.fire();return}let V=H.handleCompositionUpdate(U.data);this._textAreaState=g8.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(V),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput((U)=>{if(this._textArea.setIgnoreSelectionChangeTime(\"received input event\"),this._currentComposition)return;let H=g8.readFromTextArea(this._textArea,this._textAreaState),V=g8.deduceInput(this._textAreaState,H,this._OS===2);if(V.replacePrevCharCnt===0&&V.text.length===1){if(V6(V.text.charCodeAt(0))||V.text.charCodeAt(0)===127)return}if(this._textAreaState=H,V.text!==\"\"||V.replacePrevCharCnt!==0||V.replaceNextCharCnt!==0||V.positionDelta!==0)if(U.inputType===\"insertFromPaste\")this._onPaste.fire({text:V.text,metadata:y2.INSTANCE.get(V.text)});else this._onType.fire(V)})),this._register(this._textArea.onCut((U)=>{this._logService.trace(\"TextAreaInput#onCut\",U);let H=dV(U,!0,this._host.context,this._logService,this._browser.isFirefox);if(this._onWillCut.fire(H),H.isHandled)return;this._textArea.setIgnoreSelectionChangeTime(\"received cut event\"),H.ensureClipboardGetsEditorData(),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy((U)=>{this._logService.trace(\"TextAreaInput#onCopy\",U),fY.electronBugWorkaroundCopyEventHasFired=!0;let H=dV(U,!1,this._host.context,this._logService,this._browser.isFirefox);if(this._onWillCopy.fire(H),H.isHandled)return;H.ensureClipboardGetsEditorData()})),this._register(this._textArea.onPaste((U)=>{this._logService.trace(\"TextAreaInput#onPaste\",U);let H=IR(U);if(this._onWillPaste.fire(H),H.isHandled)return;if(this._textArea.setIgnoreSelectionChangeTime(\"received paste event\"),U.preventDefault(),this._logService.trace(\"TextAreaInput#onPaste with id : \",H.metadata?.id,\" with text.length: \",H.text.length),!H.text)return;this._logService.trace(\"TextAreaInput#onPaste (before onPaste)\"),this._onPaste.fire({text:H.text,metadata:H.metadata})})),this._register(this._textArea.onFocus(()=>{let U=this._hasFocus;if(this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!U&&this._hasFocus){if(!this._asyncFocusGainWriteScreenReaderContent.value)this._asyncFocusGainWriteScreenReaderContent.value=new B1(()=>this.writeNativeTextAreaContent(\"asyncFocusGain\"),0);this._asyncFocusGainWriteScreenReaderContent.value.schedule()}})),this._register(this._textArea.onBlur(()=>{if(this._currentComposition)this._currentComposition=null,this.writeNativeTextAreaContent(\"blurWithoutCompositionEnd\"),this._onCompositionEnd.fire();this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{if(this._browser.isAndroid&&this._currentComposition)this._currentComposition=null,this.writeNativeTextAreaContent(\"tapWithoutCompositionEnd\"),this._onCompositionEnd.fire()}))}_installSelectionChangeListener(){let X=0;return f(this._textArea.ownerDocument,\"selectionchange\",(Y)=>{if(G4.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;let Z=Date.now(),Q=Z-X;if(X=Z,Q<5)return;let $=Z-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),$<100)return;if(!this._textAreaState.selection)return;let q=this._textArea.getValue();if(this._textAreaState.value!==q)return;let G=this._textArea.getSelectionStart(),U=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===G&&this._textAreaState.selectionEnd===U)return;let H=this._textAreaState.deduceEditorPosition(G),V=this._host.deduceModelPosition(H[0],H[1],H[2]),K=this._textAreaState.deduceEditorPosition(U),j=this._host.deduceModelPosition(K[0],K[1],K[2]),W=new Y0(V.lineNumber,V.column,j.lineNumber,j.column);this._onSelectionChangeRequest.fire(W)})}dispose(){if(super.dispose(),this._selectionChangeListener)this._selectionChangeListener.dispose(),this._selectionChangeListener=null}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(X){if(this._hasFocus===X)return;if(this._hasFocus=X,this._selectionChangeListener)this._selectionChangeListener.dispose(),this._selectionChangeListener=null;if(this._hasFocus)this._selectionChangeListener=this._installSelectionChangeListener();if(this._hasFocus)this.writeNativeTextAreaContent(\"focusgain\");if(this._hasFocus)this._onFocus.fire();else this._onBlur.fire()}_setAndWriteTextAreaState(X,Y){if(!this._hasFocus)Y=Y.collapseSelection();if(!Y.isWrittenToTextArea(this._textArea,this._hasFocus))this._logService.trace(`writeTextAreaState(reason: ${X})`);Y.writeToTextArea(X,this._textArea,this._hasFocus),this._textAreaState=Y}writeNativeTextAreaContent(X){if(!this._accessibilityService.isScreenReaderOptimized()&&X===\"render\"||this._currentComposition)return;this._setAndWriteTextAreaState(X,this._host.getScreenReaderContent())}};kR=rz0([p80(4,c6),p80(5,x1)],kR);class FS extends y{get ownerDocument(){return this._actual.ownerDocument}constructor(J){super();this._actual=J,this._onSyntheticTap=this._register(new E),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this.onKeyDown=this._register(new G1(this._actual,\"keydown\")).event,this.onKeyPress=this._register(new G1(this._actual,\"keypress\")).event,this.onKeyUp=this._register(new G1(this._actual,\"keyup\")).event,this.onCompositionStart=this._register(new G1(this._actual,\"compositionstart\")).event,this.onCompositionUpdate=this._register(new G1(this._actual,\"compositionupdate\")).event,this.onCompositionEnd=this._register(new G1(this._actual,\"compositionend\")).event,this.onBeforeInput=this._register(new G1(this._actual,\"beforeinput\")).event,this.onInput=this._register(new G1(this._actual,\"input\")).event,this.onCut=this._register(new G1(this._actual,\"cut\")).event,this.onCopy=this._register(new G1(this._actual,\"copy\")).event,this.onPaste=this._register(new G1(this._actual,\"paste\")).event,this.onFocus=this._register(new G1(this._actual,\"focus\")).event,this.onBlur=this._register(new G1(this._actual,\"blur\")).event,this._register(this.onKeyDown(()=>G4.onKeyDown())),this._register(this.onBeforeInput(()=>G4.onBeforeInput())),this._register(this.onInput(()=>G4.onInput())),this._register(this.onKeyUp(()=>G4.onKeyUp())),this._register(f(this._actual,gF.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){let J=DX(this._actual);if(J)return J.activeElement===this._actual;else if(this._actual.isConnected)return E1()===this._actual;else return!1}setIgnoreSelectionChangeTime(J){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(J,X){let Y=this._actual;if(Y.value===X)return;this.setIgnoreSelectionChangeTime(\"setValue\"),Y.value=X}getSelectionStart(){return this._actual.selectionDirection===\"backward\"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection===\"backward\"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(J,X,Y){let Z=this._actual,Q=null,$=DX(Z);if($)Q=$.activeElement;else Q=E1();let q=Q0(Q),G=Q===Z,U=Z.selectionStart,H=Z.selectionEnd;if(G&&U===X&&H===Y){if(C6&&q.parent!==q)Z.focus();return}if(G){if(this.setIgnoreSelectionChangeTime(\"setSelectionRange\"),Z.setSelectionRange(X,Y),C6&&q.parent!==q)Z.focus();return}try{let V=ft(Z);this.setIgnoreSelectionChangeTime(\"setSelectionRange\"),Z.focus(),Z.setSelectionRange(X,Y),ht(Z,V)}catch(V){}}}class u80 extends fF{constructor(J,X,Y){super(J,X,Y);this._register(O1.addTarget(this.viewHelper.linesContentDomNode)),this._register(f(this.viewHelper.linesContentDomNode,P1.Tap,(Q)=>this.onTap(Q))),this._register(f(this.viewHelper.linesContentDomNode,P1.Change,(Q)=>this.onChange(Q))),this._register(f(this.viewHelper.linesContentDomNode,P1.Contextmenu,(Q)=>this._onContextMenu(new kX(Q,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType=\"mouse\",this._register(f(this.viewHelper.linesContentDomNode,\"pointerdown\",(Q)=>{let $=Q.pointerType;if($===\"mouse\"){this._lastPointerType=\"mouse\";return}else if($===\"touch\")this._lastPointerType=\"touch\";else this._lastPointerType=\"pen\"}));let Z=new aC(this.viewHelper.viewDomNode);this._register(Z.onPointerMove(this.viewHelper.viewDomNode,(Q)=>this._onMouseMove(Q))),this._register(Z.onPointerUp(this.viewHelper.viewDomNode,(Q)=>this._onMouseUp(Q))),this._register(Z.onPointerLeave(this.viewHelper.viewDomNode,(Q)=>this._onMouseLeave(Q))),this._register(Z.onPointerDown(this.viewHelper.viewDomNode,(Q,$)=>this._onMouseDown(Q,$)))}onTap(J){if(!J.initialTarget||!this.viewHelper.linesContentDomNode.contains(J.initialTarget))return;J.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(J,!1)}onChange(J){if(this._lastPointerType===\"touch\")this._context.viewModel.viewLayout.deltaScrollNow(-J.translationX,-J.translationY);if(this._lastPointerType===\"pen\")this._dispatchGesture(J,!0)}_dispatchGesture(J,X){let Y=this._createMouseTarget(new kX(J,!1,this.viewHelper.viewDomNode),!1);if(Y.position)this.viewController.dispatchMouse({position:Y.position,mouseColumn:Y.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:J.tapCount,inSelectionMode:X,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:Y.type===6&&Y.detail.injectedText!==null})}_onMouseDown(J,X){if(J.browserEvent.pointerType===\"touch\")return;super._onMouseDown(J,X)}}class c80 extends fF{constructor(J,X,Y){super(J,X,Y);this._register(O1.addTarget(this.viewHelper.linesContentDomNode)),this._register(f(this.viewHelper.linesContentDomNode,P1.Tap,(Z)=>this.onTap(Z))),this._register(f(this.viewHelper.linesContentDomNode,P1.Change,(Z)=>this.onChange(Z))),this._register(f(this.viewHelper.linesContentDomNode,P1.Contextmenu,(Z)=>this._onContextMenu(new kX(Z,!1,this.viewHelper.viewDomNode),!1)))}onTap(J){J.preventDefault(),this.viewHelper.focusTextArea();let X=this._createMouseTarget(new kX(J,!1,this.viewHelper.viewDomNode),!1);if(X.position){let Y=document.createEvent(\"CustomEvent\");Y.initEvent(gF.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(Y),this.viewController.moveTo(X.position,1)}}onChange(J){this._context.viewModel.viewLayout.deltaScrollNow(-J.translationX,-J.translationY)}}class BS extends y{constructor(J,X,Y){super();if((n7||Bo&&ID)&&qQ.pointerEvents)this.handler=this._register(new u80(J,X,Y));else if(X1.TouchEvent)this.handler=this._register(new c80(J,X,Y));else this.handler=this._register(new fF(J,X,Y))}getTargetAtClientPoint(J,X){return this.handler.getTargetAtClientPoint(J,X)}}function oz0(J,X,Y){let Z=0;for(let $=0;$<J.length;$++)if(J.charAt($)===\"\\t\")Z=V1.nextIndentTabStop(Z,X);else Z++;let Q=\"\";if(!Y){let $=Math.floor(Z/X);Z=Z%X;for(let q=0;q<$;q++)Q+=\"\\t\"}for(let $=0;$<Z;$++)Q+=\" \";return Q}function ER(J,X,Y){let Z=b6(J);if(Z===-1)Z=J.length;return oz0(J.substring(0,Z),X,Y)+J.substring(Z)}var nz0=()=>!0,tz0=()=>!1,ez0=(J)=>J===\" \"||J===\"\\t\";class x2{static shouldRecreate(J){return J.hasChanged(165)||J.hasChanged(148)||J.hasChanged(45)||J.hasChanged(85)||J.hasChanged(88)||J.hasChanged(89)||J.hasChanged(10)||J.hasChanged(11)||J.hasChanged(15)||J.hasChanged(13)||J.hasChanged(14)||J.hasChanged(20)||J.hasChanged(145)||J.hasChanged(141)||J.hasChanged(59)||J.hasChanged(104)||J.hasChanged(147)||J.hasChanged(93)}constructor(J,X,Y,Z){this.languageConfigurationService=Z,this._cursorMoveConfigurationBrand=void 0,this._languageId=J;let Q=Y.options,$=Q.get(165),q=Q.get(59);this.readOnly=Q.get(104),this.tabSize=X.tabSize,this.indentSize=X.indentSize,this.insertSpaces=X.insertSpaces,this.stickyTabStops=Q.get(132),this.lineHeight=q.lineHeight,this.typicalHalfwidthCharacterWidth=q.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor($.height/this.lineHeight)-2),this.useTabStops=Q.get(145),this.trimWhitespaceOnDelete=Q.get(141),this.wordSeparators=Q.get(148),this.emptySelectionClipboard=Q.get(45),this.copyWithSyntaxHighlighting=Q.get(31),this.multiCursorMergeOverlapping=Q.get(85),this.multiCursorPaste=Q.get(88),this.multiCursorLimit=Q.get(89),this.autoClosingBrackets=Q.get(10),this.autoClosingComments=Q.get(11),this.autoClosingQuotes=Q.get(15),this.autoClosingDelete=Q.get(13),this.autoClosingOvertype=Q.get(14),this.autoSurround=Q.get(20),this.autoIndent=Q.get(16),this.wordSegmenterLocales=Q.get(147),this.overtypeOnPaste=Q.get(93),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(J,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(J,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(J,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(J).getAutoClosingPairs();let G=this.languageConfigurationService.getLanguageConfiguration(J).getSurroundingPairs();if(G)for(let H of G)this.surroundingPairs[H.open]=H.close;let U=this.languageConfigurationService.getLanguageConfiguration(J).comments;this.blockCommentStartToken=U?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};let J=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(J)for(let X of J)this._electricChars[X]=!0}return this._electricChars}get inputMode(){return RF.getInputMode()}onElectricCharacter(J,X,Y){let Z=TY(X,Y-1),Q=this.languageConfigurationService.getLanguageConfiguration(Z.languageId).electricCharacter;if(!Q)return null;return Q.onElectricCharacter(J,Z,Y-Z.firstCharOffset)}normalizeIndentation(J){return ER(J,this.indentSize,this.insertSpaces)}_getShouldAutoClose(J,X,Y){switch(X){case\"beforeWhitespace\":return ez0;case\"languageDefined\":return this._getLanguageDefinedShouldAutoClose(J,Y);case\"always\":return nz0;case\"never\":return tz0}}_getLanguageDefinedShouldAutoClose(J,X){let Y=this.languageConfigurationService.getLanguageConfiguration(J).getAutoCloseBeforeSet(X);return(Z)=>Y.indexOf(Z)!==-1}visibleColumnFromColumn(J,X){return V1.visibleColumnFromColumn(J.getLineContent(X.lineNumber),X.column,this.tabSize)}columnFromVisibleColumn(J,X,Y){let Z=V1.columnFromVisibleColumn(J.getLineContent(X),Y,this.tabSize),Q=J.getLineMinColumn(X);if(Z<Q)return Q;let $=J.getLineMaxColumn(X);if(Z>$)return $;return Z}}class l0{static fromModelState(J){return new d80(J)}static fromViewState(J){return new l80(J)}static fromModelSelection(J){let X=Y0.liftSelection(J),Y=new B8(T.fromPositions(X.getSelectionStart()),0,0,X.getPosition(),0);return l0.fromModelState(Y)}static fromModelSelections(J){let X=[];for(let Y=0,Z=J.length;Y<Z;Y++)X[Y]=this.fromModelSelection(J[Y]);return X}constructor(J,X){this._cursorStateBrand=void 0,this.modelState=J,this.viewState=X}equals(J){return this.viewState.equals(J.viewState)&&this.modelState.equals(J.modelState)}}class d80{constructor(J){this.modelState=J,this.viewState=null}}class l80{constructor(J){this.modelState=null,this.viewState=J}}class B8{constructor(J,X,Y,Z,Q){this.selectionStart=J,this.selectionStartKind=X,this.selectionStartLeftoverVisibleColumns=Y,this.position=Z,this.leftoverVisibleColumns=Q,this._singleCursorStateBrand=void 0,this.selection=B8._computeSelection(this.selectionStart,this.position)}equals(J){return this.selectionStartLeftoverVisibleColumns===J.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===J.leftoverVisibleColumns&&this.selectionStartKind===J.selectionStartKind&&this.position.equals(J.position)&&this.selectionStart.equalsRange(J.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(J,X,Y,Z){if(J)return new B8(this.selectionStart,this.selectionStartKind,this.selectionStartLeftoverVisibleColumns,new C(X,Y),Z);else return new B8(new T(X,Y,X,Y),0,Z,new C(X,Y),Z)}static _computeSelection(J,X){if(J.isEmpty()||!X.isBeforeOrEqual(J.getStartPosition()))return Y0.fromPositions(J.getStartPosition(),X);else return Y0.fromPositions(J.getEndPosition(),X)}}class n8{constructor(J,X,Y){this._editOperationResultBrand=void 0,this.type=J,this.commands=X,this.shouldPushStackElementBefore=Y.shouldPushStackElementBefore,this.shouldPushStackElementAfter=Y.shouldPushStackElementAfter}}function EX(J){return J===\"'\"||J==='\"'||J===\"`\"}class b2{static columnSelect(J,X,Y,Z,Q,$){let q=Math.abs(Q-Y)+1,G=Y>Q,U=Z>$,H=Z<$,V=[];for(let K=0;K<q;K++){let j=Y+(G?-K:K),W=J.columnFromVisibleColumn(X,j,Z),z=J.columnFromVisibleColumn(X,j,$),B=J.visibleColumnFromColumn(X,new C(j,W)),P=J.visibleColumnFromColumn(X,new C(j,z));if(H){if(B>$)continue;if(P<Z)continue}if(U){if(P>Z)continue;if(B<$)continue}V.push(new B8(new T(j,W,j,W),0,0,new C(j,z),0))}if(V.length===0)for(let K=0;K<q;K++){let j=Y+(G?-K:K),W=X.getLineMaxColumn(j);V.push(new B8(new T(j,W,j,W),0,0,new C(j,W),0))}return{viewStates:V,reversed:G,fromLineNumber:Y,fromVisualColumn:Z,toLineNumber:Q,toVisualColumn:$}}static columnSelectLeft(J,X,Y){let Z=Y.toViewVisualColumn;if(Z>0)Z--;return b2.columnSelect(J,X,Y.fromViewLineNumber,Y.fromViewVisualColumn,Y.toViewLineNumber,Z)}static columnSelectRight(J,X,Y){let Z=0,Q=Math.min(Y.fromViewLineNumber,Y.toViewLineNumber),$=Math.max(Y.fromViewLineNumber,Y.toViewLineNumber);for(let G=Q;G<=$;G++){let U=X.getLineMaxColumn(G),H=J.visibleColumnFromColumn(X,new C(G,U));Z=Math.max(Z,H)}let q=Y.toViewVisualColumn;if(q<Z)q++;return this.columnSelect(J,X,Y.fromViewLineNumber,Y.fromViewVisualColumn,Y.toViewLineNumber,q)}static columnSelectUp(J,X,Y,Z){let Q=Z?J.pageSize:1,$=Math.max(1,Y.toViewLineNumber-Q);return this.columnSelect(J,X,Y.fromViewLineNumber,Y.fromViewVisualColumn,$,Y.toViewVisualColumn)}static columnSelectDown(J,X,Y,Z){let Q=Z?J.pageSize:1,$=Math.min(X.getLineCount(),Y.toViewLineNumber+Q);return this.columnSelect(J,X,Y.fromViewLineNumber,Y.fromViewVisualColumn,$,Y.toViewVisualColumn)}}class w8{constructor(J,X,Y=!1){this._range=J,this._text=X,this.insertsAutoWhitespace=Y}getEditOperations(J,X){X.addTrackedEditOperation(this._range,this._text)}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return Y0.fromPositions(Z.getEndPosition())}}class pF{constructor(J,X,Y=!1){this._range=J,this._text=X,this.insertsAutoWhitespace=Y}getEditOperations(J,X){let Y=this._range.getStartPosition(),Z=this._range.getEndPosition(),Q=Z.lineNumber,$=this._text.length+(this._range.isEmpty()?0:-1),q=s80(J,Z,$);if(q.lineNumber>Q)q=new C(Q,J.getLineMaxColumn(Q));let G=T.fromPositions(Y,q);X.addTrackedEditOperation(G,this._text)}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return Y0.fromPositions(Z.getEndPosition())}}class _S{constructor(J,X){this._range=J,this._text=X}getEditOperations(J,X){X.addTrackedEditOperation(this._range,this._text)}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return Y0.fromRange(Z,0)}}class lV{constructor(J,X,Y=!1){this._range=J,this._text=X,this.insertsAutoWhitespace=Y}getEditOperations(J,X){X.addTrackedEditOperation(this._range,this._text)}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return Y0.fromPositions(Z.getStartPosition())}}class sV{constructor(J,X,Y,Z,Q=!1){this._range=J,this._text=X,this._columnDeltaOffset=Z,this._lineNumberDeltaOffset=Y,this.insertsAutoWhitespace=Q}getEditOperations(J,X){X.addTrackedEditOperation(this._range,this._text)}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return Y0.fromPositions(Z.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}}class AS{constructor(J){this._range=J}getEditOperations(J,X){let Y=J.getValueInRange(this._range),Z=this._range.getEndPosition(),Q=Z.lineNumber,$=s80(J,Z,Y.length);if($.lineNumber>Q)$=new C(Q,J.getLineMaxColumn(Q));let q=T.fromPositions(Z,$);X.addTrackedEditOperation(q,\"\")}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return Y0.fromPositions(Z.getEndPosition())}}class RG{constructor(J,X,Y,Z=!1){this._range=J,this._text=X,this._initialSelection=Y,this._forceMoveMarkers=Z,this._selectionId=null}getEditOperations(J,X){X.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=X.trackSelection(this._initialSelection)}computeCursorState(J,X){return X.getTrackedSelection(this._selectionId)}}function s80(J,X,Y){if(Y<0)throw Error(\"Unexpected negative delta\");let Z=J.getLineCount(),Q=new C(Z,J.getLineMaxColumn(Z));for(let $=X.lineNumber;$<=Z;$++)if($===X.lineNumber){let q=Y-J.getLineMaxColumn(X.lineNumber)+X.column;if(q<=0){Q=new C(X.lineNumber,X.column+Y);break}Y=q}else{let q=Y-J.getLineMaxColumn($);if(q<=0){Q=new C($,Y);break}Y=q}return Q}class yR{constructor(J,X,Y){this._cursorPositionBrand=void 0,this.lineNumber=J,this.column=X,this.leftoverVisibleColumns=Y}}class _1{static leftPosition(J,X){if(X.column>J.getLineMinColumn(X.lineNumber))return X.delta(void 0,-Kx(J.getLineContent(X.lineNumber),X.column-1));else if(X.lineNumber>1){let Y=X.lineNumber-1;return new C(Y,J.getLineMaxColumn(Y))}else return X}static leftPositionAtomicSoftTabs(J,X,Y){if(X.column<=J.getLineIndentColumn(X.lineNumber)){let Z=J.getLineMinColumn(X.lineNumber),Q=J.getLineContent(X.lineNumber),$=BG.atomicPosition(Q,X.column-1,Y,0);if($!==-1&&$+1>=Z)return new C(X.lineNumber,$+1)}return this.leftPosition(J,X)}static left(J,X,Y){let Z=J.stickyTabStops?_1.leftPositionAtomicSoftTabs(X,Y,J.tabSize):_1.leftPosition(X,Y);return new yR(Z.lineNumber,Z.column,0)}static moveLeft(J,X,Y,Z,Q){let $,q;if(Y.hasSelection()&&!Z)$=Y.selection.startLineNumber,q=Y.selection.startColumn;else{let G=Y.position.delta(void 0,-(Q-1)),U=X.normalizePosition(_1.clipPositionColumn(G,X),0),H=_1.left(J,X,U);$=H.lineNumber,q=H.column}return Y.move(Z,$,q,0)}static clipPositionColumn(J,X){return new C(J.lineNumber,_1.clipRange(J.column,X.getLineMinColumn(J.lineNumber),X.getLineMaxColumn(J.lineNumber)))}static clipRange(J,X,Y){if(J<X)return X;if(J>Y)return Y;return J}static rightPosition(J,X,Y){if(Y<J.getLineMaxColumn(X))Y=Y+Nz(J.getLineContent(X),Y-1);else if(X<J.getLineCount())X=X+1,Y=J.getLineMinColumn(X);return new C(X,Y)}static rightPositionAtomicSoftTabs(J,X,Y,Z,Q){if(Y<J.getLineIndentColumn(X)){let $=J.getLineContent(X),q=BG.atomicPosition($,Y-1,Z,1);if(q!==-1)return new C(X,q+1)}return this.rightPosition(J,X,Y)}static right(J,X,Y){let Z=J.stickyTabStops?_1.rightPositionAtomicSoftTabs(X,Y.lineNumber,Y.column,J.tabSize,J.indentSize):_1.rightPosition(X,Y.lineNumber,Y.column);return new yR(Z.lineNumber,Z.column,0)}static moveRight(J,X,Y,Z,Q){let $,q;if(Y.hasSelection()&&!Z)$=Y.selection.endLineNumber,q=Y.selection.endColumn;else{let G=Y.position.delta(void 0,Q-1),U=X.normalizePosition(_1.clipPositionColumn(G,X),1),H=_1.right(J,X,U);$=H.lineNumber,q=H.column}return Y.move(Z,$,q,0)}static vertical(J,X,Y,Z,Q,$,q,G){let U=V1.visibleColumnFromColumn(X.getLineContent(Y),Z,J.tabSize)+Q,H=X.getLineCount(),V=Y===1&&Z===1,K=Y===H&&Z===X.getLineMaxColumn(Y),j=$<Y?V:K;if(Y=$,Y<1)if(Y=1,q)Z=X.getLineMinColumn(Y);else Z=Math.min(X.getLineMaxColumn(Y),Z);else if(Y>H)if(Y=H,q)Z=X.getLineMaxColumn(Y);else Z=Math.min(X.getLineMaxColumn(Y),Z);else Z=J.columnFromVisibleColumn(X,Y,U);if(j)Q=0;else Q=U-V1.visibleColumnFromColumn(X.getLineContent(Y),Z,J.tabSize);if(G!==void 0){let W=new C(Y,Z),z=X.normalizePosition(W,G);Q=Q+(Z-z.column),Y=z.lineNumber,Z=z.column}return new yR(Y,Z,Q)}static down(J,X,Y,Z,Q,$,q){return this.vertical(J,X,Y,Z,Q,Y+$,q,4)}static moveDown(J,X,Y,Z,Q){let $,q;if(Y.hasSelection()&&!Z)$=Y.selection.endLineNumber,q=Y.selection.endColumn;else $=Y.position.lineNumber,q=Y.position.column;let G=0,U;do if(U=_1.down(J,X,$+G,q,Y.leftoverVisibleColumns,Q,!0),X.normalizePosition(new C(U.lineNumber,U.column),2).lineNumber>$)break;while(G++<10&&$+G<X.getLineCount());return Y.move(Z,U.lineNumber,U.column,U.leftoverVisibleColumns)}static translateDown(J,X,Y){let Z=Y.selection,Q=_1.down(J,X,Z.selectionStartLineNumber,Z.selectionStartColumn,Y.selectionStartLeftoverVisibleColumns,1,!1),$=_1.down(J,X,Z.positionLineNumber,Z.positionColumn,Y.leftoverVisibleColumns,1,!1);return new B8(new T(Q.lineNumber,Q.column,Q.lineNumber,Q.column),0,Q.leftoverVisibleColumns,new C($.lineNumber,$.column),$.leftoverVisibleColumns)}static up(J,X,Y,Z,Q,$,q){return this.vertical(J,X,Y,Z,Q,Y-$,q,3)}static moveUp(J,X,Y,Z,Q){let $,q;if(Y.hasSelection()&&!Z)$=Y.selection.startLineNumber,q=Y.selection.startColumn;else $=Y.position.lineNumber,q=Y.position.column;let G=_1.up(J,X,$,q,Y.leftoverVisibleColumns,Q,!0);return Y.move(Z,G.lineNumber,G.column,G.leftoverVisibleColumns)}static translateUp(J,X,Y){let Z=Y.selection,Q=_1.up(J,X,Z.selectionStartLineNumber,Z.selectionStartColumn,Y.selectionStartLeftoverVisibleColumns,1,!1),$=_1.up(J,X,Z.positionLineNumber,Z.positionColumn,Y.leftoverVisibleColumns,1,!1);return new B8(new T(Q.lineNumber,Q.column,Q.lineNumber,Q.column),0,Q.leftoverVisibleColumns,new C($.lineNumber,$.column),$.leftoverVisibleColumns)}static _isBlankLine(J,X){if(J.getLineFirstNonWhitespaceColumn(X)===0)return!0;return!1}static moveToPrevBlankLine(J,X,Y,Z){let Q=Y.position.lineNumber;while(Q>1&&this._isBlankLine(X,Q))Q--;while(Q>1&&!this._isBlankLine(X,Q))Q--;return Y.move(Z,Q,X.getLineMinColumn(Q),0)}static moveToNextBlankLine(J,X,Y,Z){let Q=X.getLineCount(),$=Y.position.lineNumber;while($<Q&&this._isBlankLine(X,$))$++;while($<Q&&!this._isBlankLine(X,$))$++;return Y.move(Z,$,X.getLineMinColumn($),0)}static moveToBeginningOfLine(J,X,Y,Z){let Q=Y.position.lineNumber,$=X.getLineMinColumn(Q),q=X.getLineFirstNonWhitespaceColumn(Q)||$,G;if(Y.position.column===q)G=$;else G=q;return Y.move(Z,Q,G,0)}static moveToEndOfLine(J,X,Y,Z,Q){let $=Y.position.lineNumber,q=X.getLineMaxColumn($);return Y.move(Z,$,q,Q?1073741824-q:0)}static moveToBeginningOfBuffer(J,X,Y,Z){return Y.move(Z,1,1,0)}static moveToEndOfBuffer(J,X,Y,Z){let Q=X.getLineCount(),$=X.getLineMaxColumn(Q);return Y.move(Z,Q,$,0)}}class hY{static deleteRight(J,X,Y,Z){let Q=[],$=J!==3;for(let q=0,G=Z.length;q<G;q++){let U=Z[q],H=this.getDeleteRightRange(U,Y,X);if(H.isEmpty()){Q[q]=null;continue}if(H.startLineNumber!==H.endLineNumber)$=!0;Q[q]=new w8(H,\"\")}return[$,Q]}static getDeleteRightRange(J,X,Y){if(!J.isEmpty())return J;let Z=J.getPosition(),Q=_1.right(Y,X,Z);if(Y.trimWhitespaceOnDelete&&Q.lineNumber!==Z.lineNumber){let $=X.getLineFirstNonWhitespaceColumn(Z.lineNumber)>0,q=X.getLineFirstNonWhitespaceColumn(Q.lineNumber);if($&&q>0)return new T(Q.lineNumber,q,Z.lineNumber,Z.column)}return new T(Q.lineNumber,Q.column,Z.lineNumber,Z.column)}static isAutoClosingPairDelete(J,X,Y,Z,Q,$,q){if(X===\"never\"&&Y===\"never\")return!1;if(J===\"never\")return!1;for(let G=0,U=$.length;G<U;G++){let H=$[G],V=H.getPosition();if(!H.isEmpty())return!1;let K=Q.getLineContent(V.lineNumber);if(V.column<2||V.column>=K.length+1)return!1;let j=K.charAt(V.column-2),W=Z.get(j);if(!W)return!1;if(EX(j)){if(Y===\"never\")return!1}else if(X===\"never\")return!1;let z=K.charAt(V.column-1),B=!1;for(let P of W)if(P.open===j&&P.close===z)B=!0;if(!B)return!1;if(J===\"auto\"){let P=!1;for(let _=0,A=q.length;_<A;_++){let O=q[_];if(V.lineNumber===O.startLineNumber&&V.column===O.startColumn){P=!0;break}}if(!P)return!1}}return!0}static _runAutoClosingPairDelete(J,X,Y){let Z=[];for(let Q=0,$=Y.length;Q<$;Q++){let q=Y[Q].getPosition(),G=new T(q.lineNumber,q.column-1,q.lineNumber,q.column+1);Z[Q]=new w8(G,\"\")}return[!0,Z]}static deleteLeft(J,X,Y,Z,Q){if(this.isAutoClosingPairDelete(X.autoClosingDelete,X.autoClosingBrackets,X.autoClosingQuotes,X.autoClosingPairs.autoClosingPairsOpenByEnd,Y,Z,Q))return this._runAutoClosingPairDelete(X,Y,Z);let $=[],q=J!==2;for(let G=0,U=Z.length;G<U;G++){let H=hY.getDeleteLeftRange(Z[G],Y,X);if(H.isEmpty()){$[G]=null;continue}if(H.startLineNumber!==H.endLineNumber)q=!0;$[G]=new w8(H,\"\")}return[q,$]}static getDeleteLeftRange(J,X,Y){if(!J.isEmpty())return J;let Z=J.getPosition();if(Y.useTabStops&&Z.column>1){let Q=X.getLineContent(Z.lineNumber),$=b6(Q),q=$===-1?Q.length+1:$+1;if(Z.column<=q){let G=Y.visibleColumnFromColumn(X,Z),U=V1.prevIndentTabStop(G,Y.indentSize),H=Y.columnFromVisibleColumn(X,Z.lineNumber,U);return new T(Z.lineNumber,H,Z.lineNumber,Z.column)}}return T.fromPositions(hY.getPositionAfterDeleteLeft(Z,X),Z)}static getPositionAfterDeleteLeft(J,X){if(J.column>1){let Y=nn(J.column-1,X.getLineContent(J.lineNumber));return J.with(void 0,Y+1)}else if(J.lineNumber>1){let Y=J.lineNumber-1;return new C(Y,X.getLineMaxColumn(Y))}else return J}static cut(J,X,Y){let Z=[],Q=null;Y.sort(($,q)=>C.compare($.getStartPosition(),q.getEndPosition()));for(let $=0,q=Y.length;$<q;$++){let G=Y[$];if(G.isEmpty())if(J.emptySelectionClipboard){let U=G.getPosition(),H,V,K,j;if(U.lineNumber<X.getLineCount())H=U.lineNumber,V=1,K=U.lineNumber+1,j=1;else if(U.lineNumber>1&&Q?.endLineNumber!==U.lineNumber)H=U.lineNumber-1,V=X.getLineMaxColumn(U.lineNumber-1),K=U.lineNumber,j=X.getLineMaxColumn(U.lineNumber);else H=U.lineNumber,V=1,K=U.lineNumber,j=X.getLineMaxColumn(U.lineNumber);let W=new T(H,V,K,j);if(Q=W,!W.isEmpty())Z[$]=new w8(W,\"\");else Z[$]=null}else Z[$]=null;else Z[$]=new w8(G,\"\")}return new n8(0,Z,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class J6{static _createWord(J,X,Y,Z,Q){return{start:Z,end:Q,wordType:X,nextCharClass:Y}}static _createIntlWord(J,X){return{start:J.index,end:J.index+J.segment.length,wordType:1,nextCharClass:X}}static _findPreviousWordOnLine(J,X,Y){let Z=X.getLineContent(Y.lineNumber);return this._doFindPreviousWordOnLine(Z,J,Y)}static _doFindPreviousWordOnLine(J,X,Y){let Z=0,Q=X.findPrevIntlWordBeforeOrAtOffset(J,Y.column-2);for(let $=Y.column-2;$>=0;$--){let q=J.charCodeAt($),G=X.get(q);if(Q&&$===Q.index)return this._createIntlWord(Q,G);if(G===0){if(Z===2)return this._createWord(J,Z,G,$+1,this._findEndOfWord(J,X,Z,$+1));Z=1}else if(G===2){if(Z===1)return this._createWord(J,Z,G,$+1,this._findEndOfWord(J,X,Z,$+1));Z=2}else if(G===1){if(Z!==0)return this._createWord(J,Z,G,$+1,this._findEndOfWord(J,X,Z,$+1))}}if(Z!==0)return this._createWord(J,Z,1,0,this._findEndOfWord(J,X,Z,0));return null}static _findEndOfWord(J,X,Y,Z){let Q=X.findNextIntlWordAtOrAfterOffset(J,Z),$=J.length;for(let q=Z;q<$;q++){let G=J.charCodeAt(q),U=X.get(G);if(Q&&q===Q.index+Q.segment.length)return q;if(U===1)return q;if(Y===1&&U===2)return q;if(Y===2&&U===0)return q}return $}static _findNextWordOnLine(J,X,Y){let Z=X.getLineContent(Y.lineNumber);return this._doFindNextWordOnLine(Z,J,Y)}static _doFindNextWordOnLine(J,X,Y){let Z=0,Q=J.length,$=X.findNextIntlWordAtOrAfterOffset(J,Y.column-1);for(let q=Y.column-1;q<Q;q++){let G=J.charCodeAt(q),U=X.get(G);if($&&q===$.index)return this._createIntlWord($,U);if(U===0){if(Z===2)return this._createWord(J,Z,U,this._findStartOfWord(J,X,Z,q-1),q);Z=1}else if(U===2){if(Z===1)return this._createWord(J,Z,U,this._findStartOfWord(J,X,Z,q-1),q);Z=2}else if(U===1){if(Z!==0)return this._createWord(J,Z,U,this._findStartOfWord(J,X,Z,q-1),q)}}if(Z!==0)return this._createWord(J,Z,1,this._findStartOfWord(J,X,Z,Q-1),Q);return null}static _findStartOfWord(J,X,Y,Z){let Q=X.findPrevIntlWordBeforeOrAtOffset(J,Z);for(let $=Z;$>=0;$--){let q=J.charCodeAt($),G=X.get(q);if(Q&&$===Q.index)return $;if(G===1)return $+1;if(Y===1&&G===2)return $+1;if(Y===2&&G===0)return $+1}return 0}static moveWordLeft(J,X,Y,Z,Q){let{lineNumber:$,column:q}=Y;if(q===1){if($>1)$=$-1,q=X.getLineMaxColumn($)}let G=J6._findPreviousWordOnLine(J,X,new C($,q));if(Z===0)return new C($,G?G.start+1:1);if(Z===1){if(!Q&&G&&G.wordType===2&&G.end-G.start===1&&G.nextCharClass===0)G=J6._findPreviousWordOnLine(J,X,new C($,G.start+1));return new C($,G?G.start+1:1)}if(Z===3){while(G&&G.wordType===2)G=J6._findPreviousWordOnLine(J,X,new C($,G.start+1));return new C($,G?G.start+1:1)}if(G&&q<=G.end+1)G=J6._findPreviousWordOnLine(J,X,new C($,G.start+1));return new C($,G?G.end+1:1)}static _moveWordPartLeft(J,X){let Y=X.lineNumber,Z=J.getLineMaxColumn(Y);if(X.column===1)return Y>1?new C(Y-1,J.getLineMaxColumn(Y-1)):X;let Q=J.getLineContent(Y);for(let $=X.column-1;$>1;$--){let q=Q.charCodeAt($-2),G=Q.charCodeAt($-1);if(q===95&&G!==95)return new C(Y,$);if(q===45&&G!==45)return new C(Y,$);if((Rq(q)||Rz(q))&&FY(G))return new C(Y,$);if(FY(q)&&FY(G)){if($+1<Z){let U=Q.charCodeAt($);if(Rq(U)||Rz(U))return new C(Y,$)}}}return new C(Y,1)}static moveWordRight(J,X,Y,Z){let{lineNumber:Q,column:$}=Y,q=!1;if($===X.getLineMaxColumn(Q)){if(Q<X.getLineCount())q=!0,Q=Q+1,$=1}let G=J6._findNextWordOnLine(J,X,new C(Q,$));if(Z===2){if(G&&G.wordType===2){if(G.end-G.start===1&&G.nextCharClass===0)G=J6._findNextWordOnLine(J,X,new C(Q,G.end+1))}if(G)$=G.end+1;else $=X.getLineMaxColumn(Q)}else if(Z===3){if(q)$=0;while(G&&(G.wordType===2||G.start+1<=$))G=J6._findNextWordOnLine(J,X,new C(Q,G.end+1));if(G)$=G.start+1;else $=X.getLineMaxColumn(Q)}else{if(G&&!q&&$>=G.start+1)G=J6._findNextWordOnLine(J,X,new C(Q,G.end+1));if(G)$=G.start+1;else $=X.getLineMaxColumn(Q)}return new C(Q,$)}static _moveWordPartRight(J,X){let Y=X.lineNumber,Z=J.getLineMaxColumn(Y);if(X.column===Z)return Y<J.getLineCount()?new C(Y+1,1):X;let Q=J.getLineContent(Y);for(let $=X.column+1;$<Z;$++){let q=Q.charCodeAt($-2),G=Q.charCodeAt($-1);if(q!==95&&G===95)return new C(Y,$);if(q!==45&&G===45)return new C(Y,$);if((Rq(q)||Rz(q))&&FY(G))return new C(Y,$);if(FY(q)&&FY(G)){if($+1<Z){let U=Q.charCodeAt($);if(Rq(U)||Rz(U))return new C(Y,$)}}}return new C(Y,Z)}static _deleteWordLeftWhitespace(J,X){let Y=J.getLineContent(X.lineNumber),Z=X.column-2,Q=T5(Y,Z);if(Q+1<Z)return new T(X.lineNumber,Q+2,X.lineNumber,X.column);return null}static deleteWordLeft(J,X){let{wordSeparators:Y,model:Z,selection:Q,whitespaceHeuristics:$}=J;if(!Q.isEmpty())return Q;if(hY.isAutoClosingPairDelete(J.autoClosingDelete,J.autoClosingBrackets,J.autoClosingQuotes,J.autoClosingPairs.autoClosingPairsOpenByEnd,J.model,[J.selection],J.autoClosedCharacters)){let V=J.selection.getPosition();return new T(V.lineNumber,V.column-1,V.lineNumber,V.column+1)}let q=new C(Q.positionLineNumber,Q.positionColumn),G=q.lineNumber,U=q.column;if(G===1&&U===1)return null;if($){let V=this._deleteWordLeftWhitespace(Z,q);if(V)return V}let H=J6._findPreviousWordOnLine(Y,Z,q);if(X===0)if(H)U=H.start+1;else if(U>1)U=1;else G--,U=Z.getLineMaxColumn(G);else{if(H&&U<=H.end+1)H=J6._findPreviousWordOnLine(Y,Z,new C(G,H.start+1));if(H)U=H.end+1;else if(U>1)U=1;else G--,U=Z.getLineMaxColumn(G)}return new T(G,U,q.lineNumber,q.column)}static deleteInsideWord(J,X,Y,Z=!1){if(!Y.isEmpty())return Y;let Q=new C(Y.positionLineNumber,Y.positionColumn),$=this._deleteInsideWordWhitespace(X,Q);if($)return $;return this._deleteInsideWordDetermineDeleteRange(J,X,Q,Z)}static _charAtIsWhitespace(J,X){let Y=J.charCodeAt(X);return Y===32||Y===9}static _deleteInsideWordWhitespace(J,X){let Y=J.getLineContent(X.lineNumber),Z=Y.length;if(Z===0)return null;let Q=Math.max(X.column-2,0);if(!this._charAtIsWhitespace(Y,Q))return null;let $=Math.min(X.column-1,Z-1);if(!this._charAtIsWhitespace(Y,$))return null;while(Q>0&&this._charAtIsWhitespace(Y,Q-1))Q--;while($+1<Z&&this._charAtIsWhitespace(Y,$+1))$++;return new T(X.lineNumber,Q+1,X.lineNumber,$+2)}static _deleteInsideWordDetermineDeleteRange(J,X,Y,Z){let Q=X.getLineContent(Y.lineNumber),$=Q.length;if($===0)if(Y.lineNumber>1)return new T(Y.lineNumber-1,X.getLineMaxColumn(Y.lineNumber-1),Y.lineNumber,1);else if(Y.lineNumber<X.getLineCount())return new T(Y.lineNumber,1,Y.lineNumber+1,1);else return new T(Y.lineNumber,1,Y.lineNumber,1);let q=(K)=>{return K.start+1<=Y.column&&Y.column<=K.end+1},G=(K,j)=>{return K=Math.min(K,Y.column),j=Math.max(j,Y.column),new T(Y.lineNumber,K,Y.lineNumber,j)},U=(K)=>{let j=K.start+1,W=K.end+1;if(Z)return G(j,W);let z=!1;while(W-1<$&&this._charAtIsWhitespace(Q,W-1))z=!0,W++;if(!z)while(j>1&&this._charAtIsWhitespace(Q,j-2))j--;return G(j,W)},H=J6._findPreviousWordOnLine(J,X,Y);if(H&&q(H))return U(H);let V=J6._findNextWordOnLine(J,X,Y);if(V&&q(V))return U(V);if(H&&V)return G(H.end+1,V.start+1);if(H)return G(H.start+1,H.end+1);if(V)return G(V.start+1,V.end+1);return G(1,$+1)}static _deleteWordPartLeft(J,X){if(!X.isEmpty())return X;let Y=X.getPosition(),Z=J6._moveWordPartLeft(J,Y);return new T(Y.lineNumber,Y.column,Z.lineNumber,Z.column)}static _findFirstNonWhitespaceChar(J,X){let Y=J.length;for(let Z=X;Z<Y;Z++){let Q=J.charAt(Z);if(Q!==\" \"&&Q!==\"\\t\")return Z}return Y}static _deleteWordRightWhitespace(J,X){let Y=J.getLineContent(X.lineNumber),Z=X.column-1,Q=this._findFirstNonWhitespaceChar(Y,Z);if(Z+1<Q)return new T(X.lineNumber,X.column,X.lineNumber,Q+1);return null}static deleteWordRight(J,X){let{wordSeparators:Y,model:Z,selection:Q,whitespaceHeuristics:$}=J;if(!Q.isEmpty())return Q;let q=new C(Q.positionLineNumber,Q.positionColumn),G=q.lineNumber,U=q.column,H=Z.getLineCount(),V=Z.getLineMaxColumn(G);if(G===H&&U===V)return null;if($){let j=this._deleteWordRightWhitespace(Z,q);if(j)return j}let K=J6._findNextWordOnLine(Y,Z,q);if(X===2)if(K)U=K.end+1;else if(U<V||G===H)U=V;else if(G++,K=J6._findNextWordOnLine(Y,Z,new C(G,1)),K)U=K.start+1;else U=Z.getLineMaxColumn(G);else{if(K&&U>=K.start+1)K=J6._findNextWordOnLine(Y,Z,new C(G,K.end+1));if(K)U=K.start+1;else if(U<V||G===H)U=V;else if(G++,K=J6._findNextWordOnLine(Y,Z,new C(G,1)),K)U=K.start+1;else U=Z.getLineMaxColumn(G)}return new T(G,U,q.lineNumber,q.column)}static _deleteWordPartRight(J,X){if(!X.isEmpty())return X;let Y=X.getPosition(),Z=J6._moveWordPartRight(J,Y);return new T(Y.lineNumber,Y.column,Z.lineNumber,Z.column)}static _createWordAtPosition(J,X,Y){let Z=new T(X,Y.start+1,X,Y.end+1);return{word:J.getValueInRange(Z),startColumn:Z.startColumn,endColumn:Z.endColumn}}static getWordAtPosition(J,X,Y,Z){let Q=V7(X,Y),$=J6._findPreviousWordOnLine(Q,J,Z);if($&&$.wordType===1&&$.start<=Z.column-1&&Z.column-1<=$.end)return J6._createWordAtPosition(J,Z.lineNumber,$);let q=J6._findNextWordOnLine(Q,J,Z);if(q&&q.wordType===1&&q.start<=Z.column-1&&Z.column-1<=q.end)return J6._createWordAtPosition(J,Z.lineNumber,q);return null}static word(J,X,Y,Z,Q){let $=V7(J.wordSeparators,J.wordSegmenterLocales),q=J6._findPreviousWordOnLine($,X,Q),G=J6._findNextWordOnLine($,X,Q);if(!Z){let j,W;if(q&&q.wordType===1&&q.start<=Q.column-1&&Q.column-1<=q.end)j=q.start+1,W=q.end+1;else if(q&&q.wordType===2&&q.start<=Q.column-1&&Q.column-1<q.end)j=q.start+1,W=q.end+1;else if(G&&G.wordType===1&&G.start<=Q.column-1&&Q.column-1<=G.end)j=G.start+1,W=G.end+1;else if(G&&G.wordType===2&&G.start<=Q.column-1&&Q.column-1<G.end)j=G.start+1,W=G.end+1;else{if(q)j=q.end+1;else j=1;if(G)W=G.start+1;else W=X.getLineMaxColumn(Q.lineNumber)}return new B8(new T(Q.lineNumber,j,Q.lineNumber,W),1,0,new C(Q.lineNumber,W),0)}let U,H;if(q&&q.wordType===1&&q.start<Q.column-1&&Q.column-1<q.end)U=q.start+1,H=q.end+1;else if(G&&G.wordType===1&&G.start<Q.column-1&&Q.column-1<G.end)U=G.start+1,H=G.end+1;else U=Q.column,H=Q.column;let V=Q.lineNumber,K;if(Y.selectionStart.containsPosition(Q))K=Y.selectionStart.endColumn;else if(Q.isBeforeOrEqual(Y.selectionStart.getStartPosition())){K=U;let j=new C(V,K);if(Y.selectionStart.containsPosition(j))K=Y.selectionStart.endColumn}else{K=H;let j=new C(V,K);if(Y.selectionStart.containsPosition(j))K=Y.selectionStart.startColumn}return Y.move(!0,V,K,0)}}class _8{static addCursorDown(J,X,Y){let Z=[],Q=0;for(let $=0,q=X.length;$<q;$++){let G=X[$];if(Z[Q++]=new l0(G.modelState,G.viewState),Y)Z[Q++]=l0.fromModelState(_1.translateDown(J.cursorConfig,J.model,G.modelState));else Z[Q++]=l0.fromViewState(_1.translateDown(J.cursorConfig,J,G.viewState))}return Z}static addCursorUp(J,X,Y){let Z=[],Q=0;for(let $=0,q=X.length;$<q;$++){let G=X[$];if(Z[Q++]=new l0(G.modelState,G.viewState),Y)Z[Q++]=l0.fromModelState(_1.translateUp(J.cursorConfig,J.model,G.modelState));else Z[Q++]=l0.fromViewState(_1.translateUp(J.cursorConfig,J,G.viewState))}return Z}static moveToBeginningOfLine(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q];Z[Q]=this._moveToLineStart(J,q,Y)}return Z}static _moveToLineStart(J,X,Y){let Z=X.viewState.position.column,Q=X.modelState.position.column,$=Z===Q,q=X.viewState.position.lineNumber,G=J.getLineFirstNonWhitespaceColumn(q);if(!$&&Z!==G)return this._moveToLineStartByView(J,X,Y);else return this._moveToLineStartByModel(J,X,Y)}static _moveToLineStartByView(J,X,Y){return l0.fromViewState(_1.moveToBeginningOfLine(J.cursorConfig,J,X.viewState,Y))}static _moveToLineStartByModel(J,X,Y){return l0.fromModelState(_1.moveToBeginningOfLine(J.cursorConfig,J.model,X.modelState,Y))}static moveToEndOfLine(J,X,Y,Z){let Q=[];for(let $=0,q=X.length;$<q;$++){let G=X[$];Q[$]=this._moveToLineEnd(J,G,Y,Z)}return Q}static _moveToLineEnd(J,X,Y,Z){let Q=X.viewState.position,$=J.getLineMaxColumn(Q.lineNumber),q=Q.column===$,G=X.modelState.position,U=J.model.getLineMaxColumn(G.lineNumber),H=$-Q.column===U-G.column;if(q||H)return this._moveToLineEndByModel(J,X,Y,Z);else return this._moveToLineEndByView(J,X,Y,Z)}static _moveToLineEndByView(J,X,Y,Z){return l0.fromViewState(_1.moveToEndOfLine(J.cursorConfig,J,X.viewState,Y,Z))}static _moveToLineEndByModel(J,X,Y,Z){return l0.fromModelState(_1.moveToEndOfLine(J.cursorConfig,J.model,X.modelState,Y,Z))}static expandLineSelection(J,X){let Y=[];for(let Z=0,Q=X.length;Z<Q;Z++){let $=X[Z],q=$.modelState.selection.startLineNumber,G=J.model.getLineCount(),U=$.modelState.selection.endLineNumber,H;if(U===G)H=J.model.getLineMaxColumn(G);else U++,H=1;Y[Z]=l0.fromModelState(new B8(new T(q,1,q,1),0,0,new C(U,H),0))}return Y}static moveToBeginningOfBuffer(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q];Z[Q]=l0.fromModelState(_1.moveToBeginningOfBuffer(J.cursorConfig,J.model,q.modelState,Y))}return Z}static moveToEndOfBuffer(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q];Z[Q]=l0.fromModelState(_1.moveToEndOfBuffer(J.cursorConfig,J.model,q.modelState,Y))}return Z}static selectAll(J,X){let Y=J.model.getLineCount(),Z=J.model.getLineMaxColumn(Y);return l0.fromModelState(new B8(new T(1,1,1,1),0,0,new C(Y,Z),0))}static line(J,X,Y,Z,Q){let $=J.model.validatePosition(Z),q=Q?J.coordinatesConverter.validateViewPosition(new C(Q.lineNumber,Q.column),$):J.coordinatesConverter.convertModelPositionToViewPosition($);if(!Y){let U=J.model.getLineCount(),H=$.lineNumber+1,V=1;if(H>U)H=U,V=J.model.getLineMaxColumn(H);return l0.fromModelState(new B8(new T($.lineNumber,1,H,V),2,0,new C(H,V),0))}let G=X.modelState.selectionStart.getStartPosition().lineNumber;if($.lineNumber<G)return l0.fromViewState(X.viewState.move(!0,q.lineNumber,1,0));else if($.lineNumber>G){let U=J.getLineCount(),H=q.lineNumber+1,V=1;if(H>U)H=U,V=J.getLineMaxColumn(H);return l0.fromViewState(X.viewState.move(!0,H,V,0))}else{let U=X.modelState.selectionStart.getEndPosition();return l0.fromModelState(X.modelState.move(!0,U.lineNumber,U.column,0))}}static word(J,X,Y,Z){let Q=J.model.validatePosition(Z);return l0.fromModelState(J6.word(J.cursorConfig,J.model,X.modelState,Y,Q))}static cancelSelection(J,X){if(!X.modelState.hasSelection())return new l0(X.modelState,X.viewState);let Y=X.viewState.position.lineNumber,Z=X.viewState.position.column;return l0.fromViewState(new B8(new T(Y,Z,Y,Z),0,0,new C(Y,Z),0))}static moveTo(J,X,Y,Z,Q){if(Y){if(X.modelState.selectionStartKind===1)return this.word(J,X,Y,Z);if(X.modelState.selectionStartKind===2)return this.line(J,X,Y,Z,Q)}let $=J.model.validatePosition(Z),q=Q?J.coordinatesConverter.validateViewPosition(new C(Q.lineNumber,Q.column),$):J.coordinatesConverter.convertModelPositionToViewPosition($);return l0.fromViewState(X.viewState.move(Y,q.lineNumber,q.column,0))}static simpleMove(J,X,Y,Z,Q,$){switch(Y){case 0:if($===4)return this._moveHalfLineLeft(J,X,Z);else return this._moveLeft(J,X,Z,Q);case 1:if($===4)return this._moveHalfLineRight(J,X,Z);else return this._moveRight(J,X,Z,Q);case 2:if($===2)return this._moveUpByViewLines(J,X,Z,Q);else if($===5)return this._moveUpByFoldedLines(J,X,Z,Q);else return this._moveUpByModelLines(J,X,Z,Q);case 3:if($===2)return this._moveDownByViewLines(J,X,Z,Q);else if($===5)return this._moveDownByFoldedLines(J,X,Z,Q);else return this._moveDownByModelLines(J,X,Z,Q);case 4:if($===2)return X.map((q)=>l0.fromViewState(_1.moveToPrevBlankLine(J.cursorConfig,J,q.viewState,Z)));else return X.map((q)=>l0.fromModelState(_1.moveToPrevBlankLine(J.cursorConfig,J.model,q.modelState,Z)));case 5:if($===2)return X.map((q)=>l0.fromViewState(_1.moveToNextBlankLine(J.cursorConfig,J,q.viewState,Z)));else return X.map((q)=>l0.fromModelState(_1.moveToNextBlankLine(J.cursorConfig,J.model,q.modelState,Z)));case 6:return this._moveToViewMinColumn(J,X,Z);case 7:return this._moveToViewFirstNonWhitespaceColumn(J,X,Z);case 8:return this._moveToViewCenterColumn(J,X,Z);case 9:return this._moveToViewMaxColumn(J,X,Z);case 10:return this._moveToViewLastNonWhitespaceColumn(J,X,Z);default:return null}}static viewportMove(J,X,Y,Z,Q){let $=J.getCompletelyVisibleViewRange(),q=J.coordinatesConverter.convertViewRangeToModelRange($);switch(Y){case 11:{let G=this._firstLineNumberInRange(J.model,q,Q),U=J.model.getLineFirstNonWhitespaceColumn(G);return[this._moveToModelPosition(J,X[0],Z,G,U)]}case 13:{let G=this._lastLineNumberInRange(J.model,q,Q),U=J.model.getLineFirstNonWhitespaceColumn(G);return[this._moveToModelPosition(J,X[0],Z,G,U)]}case 12:{let G=Math.round((q.startLineNumber+q.endLineNumber)/2),U=J.model.getLineFirstNonWhitespaceColumn(G);return[this._moveToModelPosition(J,X[0],Z,G,U)]}case 14:{let G=[];for(let U=0,H=X.length;U<H;U++){let V=X[U];G[U]=this.findPositionInViewportIfOutside(J,V,$,Z)}return G}default:return null}}static findPositionInViewportIfOutside(J,X,Y,Z){let Q=X.viewState.position.lineNumber;if(Y.startLineNumber<=Q&&Q<=Y.endLineNumber-1)return new l0(X.modelState,X.viewState);else{let $;if(Q>Y.endLineNumber-1)$=Y.endLineNumber-1;else if(Q<Y.startLineNumber)$=Y.startLineNumber;else $=Q;let q=_1.vertical(J.cursorConfig,J,Q,X.viewState.position.column,X.viewState.leftoverVisibleColumns,$,!1);return l0.fromViewState(X.viewState.move(Z,q.lineNumber,q.column,q.leftoverVisibleColumns))}}static _firstLineNumberInRange(J,X,Y){let Z=X.startLineNumber;if(X.startColumn!==J.getLineMinColumn(Z))Z++;return Math.min(X.endLineNumber,Z+Y-1)}static _lastLineNumberInRange(J,X,Y){let Z=X.startLineNumber;if(X.startColumn!==J.getLineMinColumn(Z))Z++;return Math.max(Z,X.endLineNumber-Y+1)}static _moveLeft(J,X,Y,Z){return X.map((Q)=>{let q=J.getTextDirection(Q.viewState.position.lineNumber)===N8.RTL;return l0.fromViewState(q?_1.moveRight(J.cursorConfig,J,Q.viewState,Y,Z):_1.moveLeft(J.cursorConfig,J,Q.viewState,Y,Z))})}static _moveHalfLineLeft(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.viewState.position.lineNumber,U=Math.round(J.getLineLength(G)/2);Z[Q]=l0.fromViewState(_1.moveLeft(J.cursorConfig,J,q.viewState,Y,U))}return Z}static _moveRight(J,X,Y,Z){return X.map((Q)=>{let q=J.getTextDirection(Q.viewState.position.lineNumber)===N8.RTL;return l0.fromViewState(q?_1.moveLeft(J.cursorConfig,J,Q.viewState,Y,Z):_1.moveRight(J.cursorConfig,J,Q.viewState,Y,Z))})}static _moveHalfLineRight(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.viewState.position.lineNumber,U=Math.round(J.getLineLength(G)/2);Z[Q]=l0.fromViewState(_1.moveRight(J.cursorConfig,J,q.viewState,Y,U))}return Z}static _moveDownByViewLines(J,X,Y,Z){let Q=[];for(let $=0,q=X.length;$<q;$++){let G=X[$];Q[$]=l0.fromViewState(_1.moveDown(J.cursorConfig,J,G.viewState,Y,Z))}return Q}static _moveDownByModelLines(J,X,Y,Z){let Q=[];for(let $=0,q=X.length;$<q;$++){let G=X[$];Q[$]=l0.fromModelState(_1.moveDown(J.cursorConfig,J.model,G.modelState,Y,Z))}return Q}static _moveUpByViewLines(J,X,Y,Z){let Q=[];for(let $=0,q=X.length;$<q;$++){let G=X[$];Q[$]=l0.fromViewState(_1.moveUp(J.cursorConfig,J,G.viewState,Y,Z))}return Q}static _moveUpByModelLines(J,X,Y,Z){let Q=[];for(let $=0,q=X.length;$<q;$++){let G=X[$];Q[$]=l0.fromModelState(_1.moveUp(J.cursorConfig,J.model,G.modelState,Y,Z))}return Q}static _moveDownByFoldedLines(J,X,Y,Z){let Q=J.model,$=Q.getLineCount(),q=J.getHiddenAreas();return X.map((G)=>{let U=G.modelState.hasSelection()&&!Y?G.modelState.selection.endLineNumber:G.modelState.position.lineNumber,V=_8._targetFoldedDown(U,Z,q,$)-U;if(V===0)return l0.fromModelState(G.modelState);return l0.fromModelState(_1.moveDown(J.cursorConfig,Q,G.modelState,Y,V))})}static _moveUpByFoldedLines(J,X,Y,Z){let Q=J.model,$=J.getHiddenAreas();return X.map((q)=>{let G=q.modelState.hasSelection()&&!Y?q.modelState.selection.startLineNumber:q.modelState.position.lineNumber,U=_8._targetFoldedUp(G,Z,$),H=G-U;if(H===0)return l0.fromModelState(q.modelState);return l0.fromModelState(_1.moveUp(J.cursorConfig,Q,q.modelState,Y,H))})}static _targetFoldedDown(J,X,Y,Z){let Q=J,$=0;while($<Y.length&&Y[$].endLineNumber<Q+1)$++;for(let q=0;q<X;q++){if(Q>=Z)return Z;let G=Q+1;while($<Y.length&&Y[$].endLineNumber<G)$++;if($<Y.length&&Y[$].startLineNumber<=G)G=Y[$].endLineNumber+1;if(G>Z)return Q;Q=G}return Q}static _targetFoldedUp(J,X,Y){let Z=J,Q=Y.length-1;while(Q>=0&&Y[Q].startLineNumber>Z-1)Q--;for(let $=0;$<X;$++){if(Z<=1)return 1;let q=Z-1;while(Q>=0&&Y[Q].startLineNumber>q)Q--;if(Q>=0&&Y[Q].endLineNumber>=q)q=Y[Q].startLineNumber-1;if(q<1)return Z;Z=q}return Z}static _moveToViewPosition(J,X,Y,Z,Q){return l0.fromViewState(X.viewState.move(Y,Z,Q,0))}static _moveToModelPosition(J,X,Y,Z,Q){return l0.fromModelState(X.modelState.move(Y,Z,Q,0))}static _moveToViewMinColumn(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.viewState.position.lineNumber,U=J.getLineMinColumn(G);Z[Q]=this._moveToViewPosition(J,q,Y,G,U)}return Z}static _moveToViewFirstNonWhitespaceColumn(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.viewState.position.lineNumber,U=J.getLineFirstNonWhitespaceColumn(G);Z[Q]=this._moveToViewPosition(J,q,Y,G,U)}return Z}static _moveToViewCenterColumn(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.viewState.position.lineNumber,U=Math.round((J.getLineMaxColumn(G)+J.getLineMinColumn(G))/2);Z[Q]=this._moveToViewPosition(J,q,Y,G,U)}return Z}static _moveToViewMaxColumn(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.viewState.position.lineNumber,U=J.getLineMaxColumn(G);Z[Q]=this._moveToViewPosition(J,q,Y,G,U)}return Z}static _moveToViewLastNonWhitespaceColumn(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.viewState.position.lineNumber,U=J.getLineLastNonWhitespaceColumn(G);Z[Q]=this._moveToViewPosition(J,q,Y,G,U)}return Z}}var mF;(function(J){let X=function(Z){if(!E6(Z))return!1;let Q=Z;if(!t1(Q.to))return!1;if(!C8(Q.select)&&!Gz(Q.select))return!1;if(!C8(Q.by)&&!t1(Q.by))return!1;if(!C8(Q.value)&&!r7(Q.value))return!1;if(!C8(Q.noHistory)&&!Gz(Q.noHistory))return!1;return!0};J.metadata={description:\"Move cursor to a logical position in the view\",args:[{name:\"Cursor move argument object\",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine', 'foldedLine'\n\t\t\t\t\t\t\\`\\`\\`\n\t\t\t\t\t\tUse 'foldedLine' with 'up'/'down' to move by logical lines while treating each\n\t\t\t\t\t\tfolded region as a single step.\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t\t* 'noHistory': If 'true' does not add the movement to navigation history. Default is 'false'.\n\t\t\t\t`,constraint:X,schema:{type:\"object\",required:[\"to\"],properties:{to:{type:\"string\",enum:[\"left\",\"right\",\"up\",\"down\",\"prevBlankLine\",\"nextBlankLine\",\"wrappedLineStart\",\"wrappedLineEnd\",\"wrappedLineColumnCenter\",\"wrappedLineFirstNonWhitespaceCharacter\",\"wrappedLineLastNonWhitespaceCharacter\",\"viewPortTop\",\"viewPortCenter\",\"viewPortBottom\",\"viewPortIfOutside\"]},by:{type:\"string\",enum:[\"line\",\"wrappedLine\",\"character\",\"halfLine\",\"foldedLine\"]},value:{type:\"number\",default:1},select:{type:\"boolean\",default:!1},noHistory:{type:\"boolean\",default:!1}}}}]},J.RawDirection={Left:\"left\",Right:\"right\",Up:\"up\",Down:\"down\",PrevBlankLine:\"prevBlankLine\",NextBlankLine:\"nextBlankLine\",WrappedLineStart:\"wrappedLineStart\",WrappedLineFirstNonWhitespaceCharacter:\"wrappedLineFirstNonWhitespaceCharacter\",WrappedLineColumnCenter:\"wrappedLineColumnCenter\",WrappedLineEnd:\"wrappedLineEnd\",WrappedLineLastNonWhitespaceCharacter:\"wrappedLineLastNonWhitespaceCharacter\",ViewPortTop:\"viewPortTop\",ViewPortCenter:\"viewPortCenter\",ViewPortBottom:\"viewPortBottom\",ViewPortIfOutside:\"viewPortIfOutside\"},J.RawUnit={Line:\"line\",WrappedLine:\"wrappedLine\",Character:\"character\",HalfLine:\"halfLine\",FoldedLine:\"foldedLine\"};function Y(Z){if(!Z.to)return null;let Q;switch(Z.to){case J.RawDirection.Left:Q=0;break;case J.RawDirection.Right:Q=1;break;case J.RawDirection.Up:Q=2;break;case J.RawDirection.Down:Q=3;break;case J.RawDirection.PrevBlankLine:Q=4;break;case J.RawDirection.NextBlankLine:Q=5;break;case J.RawDirection.WrappedLineStart:Q=6;break;case J.RawDirection.WrappedLineFirstNonWhitespaceCharacter:Q=7;break;case J.RawDirection.WrappedLineColumnCenter:Q=8;break;case J.RawDirection.WrappedLineEnd:Q=9;break;case J.RawDirection.WrappedLineLastNonWhitespaceCharacter:Q=10;break;case J.RawDirection.ViewPortTop:Q=11;break;case J.RawDirection.ViewPortBottom:Q=13;break;case J.RawDirection.ViewPortCenter:Q=12;break;case J.RawDirection.ViewPortIfOutside:Q=14;break;default:return null}let $=0;switch(Z.by){case J.RawUnit.Line:$=1;break;case J.RawUnit.WrappedLine:$=2;break;case J.RawUnit.Character:$=3;break;case J.RawUnit.HalfLine:$=4;break;case J.RawUnit.FoldedLine:$=5;break}return{direction:Q,unit:$,select:!!Z.select,value:Z.value||1,noHistory:!!Z.noHistory}}J.parse=Y})(mF||(mF={}));class xR{constructor(J,X,Y){this._indentRulesSupport=X,this._indentationLineProcessor=new PS(J,Y)}shouldIncrease(J,X){let Y=this._indentationLineProcessor.getProcessedLine(J,X);return this._indentRulesSupport.shouldIncrease(Y)}shouldDecrease(J,X){let Y=this._indentationLineProcessor.getProcessedLine(J,X);return this._indentRulesSupport.shouldDecrease(Y)}shouldIgnore(J,X){let Y=this._indentationLineProcessor.getProcessedLine(J,X);return this._indentRulesSupport.shouldIgnore(Y)}shouldIndentNextLine(J,X){let Y=this._indentationLineProcessor.getProcessedLine(J,X);return this._indentRulesSupport.shouldIndentNextLine(Y)}}class aV{constructor(J,X){this.model=J,this.indentationLineProcessor=new PS(J,X)}getProcessedTokenContextAroundRange(J){let X=this._getProcessedTokensBeforeRange(J),Y=this._getProcessedTokensAfterRange(J),Z=this._getProcessedPreviousLineTokens(J);return{beforeRangeProcessedTokens:X,afterRangeProcessedTokens:Y,previousLineProcessedTokens:Z}}_getProcessedTokensBeforeRange(J){this.model.tokenization.forceTokenization(J.startLineNumber);let X=this.model.tokenization.getLineTokens(J.startLineNumber),Y=TY(X,J.startColumn-1),Z;if(bR(this.model,J.getStartPosition())){let $=J.startColumn-1-Y.firstCharOffset,q=Y.firstCharOffset,G=q+$;Z=X.sliceAndInflate(q,G,0)}else{let $=J.startColumn-1;Z=X.sliceAndInflate(0,$,0)}return this.indentationLineProcessor.getProcessedTokens(Z)}_getProcessedTokensAfterRange(J){let X=J.isEmpty()?J.getStartPosition():J.getEndPosition();this.model.tokenization.forceTokenization(X.lineNumber);let Y=this.model.tokenization.getLineTokens(X.lineNumber),Z=TY(Y,X.column-1),Q=X.column-1-Z.firstCharOffset,$=Z.firstCharOffset+Q,q=Z.firstCharOffset+Z.getLineLength(),G=Y.sliceAndInflate($,q,0);return this.indentationLineProcessor.getProcessedTokens(G)}_getProcessedPreviousLineTokens(J){let X=(j)=>{this.model.tokenization.forceTokenization(j);let W=this.model.tokenization.getLineTokens(j),z=this.model.getLineMaxColumn(j)-1;return TY(W,z)};this.model.tokenization.forceTokenization(J.startLineNumber);let Y=this.model.tokenization.getLineTokens(J.startLineNumber),Z=TY(Y,J.startColumn-1),Q=b1.createEmpty(\"\",Z.languageIdCodec),$=J.startLineNumber-1;if($===0)return Q;if(Z.firstCharOffset!==0)return Q;let U=X($);if(Z.languageId!==U.languageId)return Q;let V=U.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(V)}}class PS{constructor(J,X){this.model=J,this.languageConfigurationService=X}getProcessedLine(J,X){let Y=($,q)=>{let G=w6($);return q+$.substring(G.length)};this.model.tokenization.forceTokenization?.(J);let Z=this.model.tokenization.getLineTokens(J),Q=this.getProcessedTokens(Z).getLineContent();if(X!==void 0)Q=Y(Q,X);return Q}getProcessedTokens(J){let X=(G)=>{return G===2||G===3||G===1},Y=J.getLanguageId(0),Q=this.languageConfigurationService.getLanguageConfiguration(Y).bracketsNew.getBracketRegExp({global:!0}),$=[];return J.forEach((G)=>{let U=J.getStandardTokenType(G),H=J.getTokenText(G);if(X(U))H=H.replace(Q,\"\");let V=J.getMetadata(G);$.push({text:H,metadata:V})}),b1.createFromTextAndMetadata($,J.languageIdCodec)}}function bR(J,X){J.tokenization.forceTokenization(X.lineNumber);let Y=J.tokenization.getLineTokens(X.lineNumber),Z=TY(Y,X.column-1),Q=Z.firstCharOffset===0,$=Y.getLanguageId(0)===Z.languageId;return!Q&&!$}function yQ(J,X,Y,Z){X.tokenization.forceTokenization(Y.startLineNumber);let Q=X.getLanguageIdAtPosition(Y.startLineNumber,Y.startColumn),$=Z.getLanguageConfiguration(Q);if(!$)return null;let G=new aV(X,Z).getProcessedTokenContextAroundRange(Y),U=G.previousLineProcessedTokens.getLineContent(),H=G.beforeRangeProcessedTokens.getLineContent(),V=G.afterRangeProcessedTokens.getLineContent(),K=$.onEnter(J,U,H,V);if(!K)return null;let{indentAction:j,appendText:W}=K,z=K.removeText||0;if(!W)if(j===T6.Indent||j===T6.IndentOutdent)W=\"\\t\";else W=\"\";else if(j===T6.Indent)W=\"\\t\"+W;let B=hM(X,Y.startLineNumber,Y.startColumn);if(z)B=B.substring(0,B.length-z);return{indentAction:j,appendText:W,removeText:z,indentation:B}}var JF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},XF0=function(J,X){return function(Y,Z){X(Y,Z,J)}},CR,DS=Object.create(null);function NG(J,X){if(X<=0)return\"\";if(!DS[J])DS[J]=[\"\",J];let Y=DS[J];for(let Z=Y.length;Z<=X;Z++)Y[Z]=Y[Z-1]+J;return Y[X]}var uJ=CR=class{static unshiftIndent(X,Y,Z,Q,$){let q=V1.visibleColumnFromColumn(X,Y,Z);if($){let G=NG(\" \",Q),H=V1.prevIndentTabStop(q,Q)/Q;return NG(G,H)}else{let H=V1.prevRenderTabStop(q,Z)/Z;return NG(\"\\t\",H)}}static shiftIndent(X,Y,Z,Q,$){let q=V1.visibleColumnFromColumn(X,Y,Z);if($){let G=NG(\" \",Q),H=V1.nextIndentTabStop(q,Q)/Q;return NG(G,H)}else{let H=V1.nextRenderTabStop(q,Z)/Z;return NG(\"\\t\",H)}}constructor(X,Y,Z){this._languageConfigurationService=Z,this._opts=Y,this._selection=X,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(X,Y,Z){if(this._useLastEditRangeForCursorEndPosition)X.addTrackedEditOperation(Y,Z);else X.addEditOperation(Y,Z)}getEditOperations(X,Y){let Z=this._selection.startLineNumber,Q=this._selection.endLineNumber;if(this._selection.endColumn===1&&Z!==Q)Q=Q-1;let{tabSize:$,indentSize:q,insertSpaces:G}=this._opts,U=Z===Q;if(this._opts.useTabStops){if(this._selection.isEmpty()){if(/^\\s*$/.test(X.getLineContent(Z)))this._useLastEditRangeForCursorEndPosition=!0}let H=0,V=0;for(let K=Z;K<=Q;K++,H=V){V=0;let j=X.getLineContent(K),W=b6(j);if(this._opts.isUnshift&&(j.length===0||W===0))continue;if(!U&&!this._opts.isUnshift&&j.length===0)continue;if(W===-1)W=j.length;if(K>1){if(V1.visibleColumnFromColumn(j,W+1,$)%q!==0){if(X.tokenization.isCheapToTokenize(K-1)){let P=yQ(this._opts.autoIndent,X,new T(K-1,X.getLineMaxColumn(K-1),K-1,X.getLineMaxColumn(K-1)),this._languageConfigurationService);if(P){if(V=H,P.appendText)for(let _=0,A=P.appendText.length;_<A&&V<q;_++)if(P.appendText.charCodeAt(_)===32)V++;else break;if(P.removeText)V=Math.max(0,V-P.removeText);for(let _=0;_<V;_++){if(W===0||j.charCodeAt(W-1)!==32)break;W--}}}}}if(this._opts.isUnshift&&W===0)continue;let z;if(this._opts.isUnshift)z=CR.unshiftIndent(j,W+1,$,q,G);else z=CR.shiftIndent(j,W+1,$,q,G);if(this._addEditOperation(Y,new T(K,1,K,W+1),z),K===Z&&!this._selection.isEmpty())this._selectionStartColumnStaysPut=this._selection.startColumn<=W+1}}else{if(!this._opts.isUnshift&&this._selection.isEmpty()&&X.getLineLength(Z)===0)this._useLastEditRangeForCursorEndPosition=!0;let H=G?NG(\" \",q):\"\\t\";for(let V=Z;V<=Q;V++){let K=X.getLineContent(V),j=b6(K);if(this._opts.isUnshift&&(K.length===0||j===0))continue;if(!U&&!this._opts.isUnshift&&K.length===0)continue;if(j===-1)j=K.length;if(this._opts.isUnshift&&j===0)continue;if(this._opts.isUnshift){j=Math.min(j,q);for(let W=0;W<j;W++)if(K.charCodeAt(W)===9){j=W+1;break}this._addEditOperation(Y,new T(V,1,V,j+1),\"\")}else if(this._addEditOperation(Y,new T(V,1,V,1),H),V===Z&&!this._selection.isEmpty())this._selectionStartColumnStaysPut=this._selection.startColumn===1}}this._selectionId=Y.trackSelection(this._selection)}computeCursorState(X,Y){if(this._useLastEditRangeForCursorEndPosition){let Q=Y.getInverseEditOperations()[0];return new Y0(Q.range.endLineNumber,Q.range.endColumn,Q.range.endLineNumber,Q.range.endColumn)}let Z=Y.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){let Q=this._selection.startColumn;if(Z.startColumn<=Q)return Z;if(Z.getDirection()===0)return new Y0(Z.startLineNumber,Q,Z.endLineNumber,Z.endColumn);return new Y0(Z.endLineNumber,Z.endColumn,Z.startLineNumber,Q)}return Z}};uJ=CR=JF0([XF0(2,u6)],uJ);class OS{constructor(J,X,Y){this._range=J,this._charBeforeSelection=X,this._charAfterSelection=Y}getEditOperations(J,X){X.addTrackedEditOperation(new T(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),X.addTrackedEditOperation(new T(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection||null)}computeCursorState(J,X){let Y=X.getInverseEditOperations(),Z=Y[0].range,Q=Y[1].range;return new Y0(Z.endLineNumber,Z.endColumn,Q.endLineNumber,Q.endColumn-this._charAfterSelection.length)}}class MS{constructor(J,X,Y){this._position=J,this._text=X,this._charAfter=Y}getEditOperations(J,X){X.addTrackedEditOperation(new T(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return new Y0(Z.endLineNumber,Z.startColumn,Z.endLineNumber,Z.endColumn-this._charAfter.length)}}function YF0(J,X,Y){let Z=J.tokenization.getLanguageIdAtPosition(X,0);if(X>1){let Q,$=-1;for(Q=X-1;Q>=1;Q--){if(J.tokenization.getLanguageIdAtPosition(Q,0)!==Z)return $;let q=J.getLineContent(Q);if(Y.shouldIgnore(Q)||/^\\s+$/.test(q)||q===\"\"){$=Q;continue}return Q}}return-1}function iV(J,X,Y,Z=!0,Q){if(J<4)return null;let $=Q.getLanguageConfiguration(X.tokenization.getLanguageId()).indentRulesSupport;if(!$)return null;let q=new xR(X,$,Q);if(Y<=1)return{indentation:\"\",action:null};for(let U=Y-1;U>0;U--){if(X.getLineContent(U)!==\"\")break;if(U===1)return{indentation:\"\",action:null}}let G=YF0(X,Y,q);if(G<0)return null;else if(G<1)return{indentation:\"\",action:null};if(q.shouldIncrease(G)||q.shouldIndentNextLine(G)){let U=X.getLineContent(G);return{indentation:w6(U),action:T6.Indent,line:G}}else if(q.shouldDecrease(G)){let U=X.getLineContent(G);return{indentation:w6(U),action:null,line:G}}else{if(G===1)return{indentation:w6(X.getLineContent(G)),action:null,line:G};let U=G-1,H=$.getIndentMetadata(X.getLineContent(U));if(!(H&3)&&H&4){let V=0;for(let K=U-1;K>0;K--){if(q.shouldIndentNextLine(K))continue;V=K;break}return{indentation:w6(X.getLineContent(V+1)),action:null,line:V+1}}if(Z)return{indentation:w6(X.getLineContent(G)),action:null,line:G};else{for(let V=G;V>0;V--)if(q.shouldIncrease(V))return{indentation:w6(X.getLineContent(V)),action:T6.Indent,line:V};else if(q.shouldIndentNextLine(V)){let K=0;for(let j=V-1;j>0;j--){if(q.shouldIndentNextLine(V))continue;K=j;break}return{indentation:w6(X.getLineContent(K+1)),action:null,line:K+1}}else if(q.shouldDecrease(V))return{indentation:w6(X.getLineContent(V)),action:null,line:V};return{indentation:w6(X.getLineContent(1)),action:null,line:1}}}}function SR(J,X,Y,Z,Q,$){if(J<4)return null;let q=$.getLanguageConfiguration(Y);if(!q)return null;let G=$.getLanguageConfiguration(Y).indentRulesSupport;if(!G)return null;let U=new xR(X,G,$),H=iV(J,X,Z,void 0,$);if(H){let V=H.line;if(V!==void 0){let K=!0;for(let j=V;j<Z-1;j++)if(!/^\\s*$/.test(X.getLineContent(j))){K=!1;break}if(K){let j=q.onEnter(J,\"\",X.getLineContent(V),\"\");if(j){let W=w6(X.getLineContent(V));if(j.removeText)W=W.substring(0,W.length-j.removeText);if(j.indentAction===T6.Indent||j.indentAction===T6.IndentOutdent)W=Q.shiftIndent(W);else if(j.indentAction===T6.Outdent)W=Q.unshiftIndent(W);if(U.shouldDecrease(Z))W=Q.unshiftIndent(W);if(j.appendText)W+=j.appendText;return w6(W)}}}if(U.shouldDecrease(Z))if(H.action===T6.Indent)return H.indentation;else return Q.unshiftIndent(H.indentation);else if(H.action===T6.Indent)return Q.shiftIndent(H.indentation);else return H.indentation}return null}function a80(J,X,Y,Z,Q){if(J<4)return null;let $=X.getLanguageIdAtPosition(Y.startLineNumber,Y.startColumn),q=Q.getLanguageConfiguration($).indentRulesSupport;if(!q)return null;X.tokenization.forceTokenization(Y.startLineNumber);let U=new aV(X,Q).getProcessedTokenContextAroundRange(Y),H=U.afterRangeProcessedTokens,V=U.beforeRangeProcessedTokens,K=w6(V.getLineContent()),j=ZF0(X,Y.startLineNumber,V),W=bR(X,Y.getStartPosition()),z=X.getLineContent(Y.startLineNumber),B=w6(z),P=iV(J,j,Y.startLineNumber+1,void 0,Q);if(!P){let A=W?B:K;return{beforeEnter:A,afterEnter:A}}let _=W?B:P.indentation;if(P.action===T6.Indent)_=Z.shiftIndent(_);if(q.shouldDecrease(H.getLineContent()))_=Z.unshiftIndent(_);return{beforeEnter:W?B:K,afterEnter:_}}function i80(J,X,Y,Z,Q,$){let q=J.autoIndent;if(q<4)return null;if(bR(X,Y.getStartPosition()))return null;let U=X.getLanguageIdAtPosition(Y.startLineNumber,Y.startColumn),H=$.getLanguageConfiguration(U).indentRulesSupport;if(!H)return null;let K=new aV(X,$).getProcessedTokenContextAroundRange(Y),j=K.beforeRangeProcessedTokens.getLineContent(),W=K.afterRangeProcessedTokens.getLineContent(),z=j+W,B=j+Z+W;if(!H.shouldDecrease(z)&&H.shouldDecrease(B)){let _=iV(q,X,Y.startLineNumber,!1,$);if(!_)return null;let A=_.indentation;if(_.action!==T6.Indent)A=Q.unshiftIndent(A);return A}let P=Y.startLineNumber-1;if(P>0){let _=X.getLineContent(P);if(H.shouldIndentNextLine(_)&&H.shouldIncrease(B)){let O=iV(q,X,Y.startLineNumber,!1,$)?.indentation;if(O!==void 0){let D=X.getLineContent(Y.startLineNumber),R=w6(D),w=Q.shiftIndent(O)===R,k=/^\\s*$/.test(z),I=J.autoClosingPairs.autoClosingPairsOpenByEnd.get(Z),h=I&&I.length>0&&k;if(w&&h)return O}}}return null}function r80(J,X,Y){let Z=Y.getLanguageConfiguration(J.getLanguageId()).indentRulesSupport;if(!Z)return null;if(X<1||X>J.getLineCount())return null;return Z.getIndentMetadata(J.getLineContent(X))}function ZF0(J,X,Y){return{tokenization:{getLineTokens:(Q)=>{if(Q===X)return Y;else return J.tokenization.getLineTokens(Q)},getLanguageId:()=>{return J.getLanguageId()},getLanguageIdAtPosition:(Q,$)=>{return J.getLanguageIdAtPosition(Q,$)}},getLineContent:(Q)=>{if(Q===X)return Y.getLineContent();else return J.getLineContent(Q)}}}class RS{static getEdits(J,X,Y,Z,Q){if(!Q&&this._isAutoIndentType(J,X,Y)){let $=[];for(let G of Y){let U=this._findActualIndentationForSelection(J,X,G,Z);if(U===null)return;$.push({selection:G,indentation:U})}let q=uF.getAutoClosingPairClose(J,X,Y,Z,!1);return this._getIndentationAndAutoClosingPairEdits(J,X,$,Z,q)}return}static _isAutoIndentType(J,X,Y){if(J.autoIndent<4)return!1;for(let Z=0,Q=Y.length;Z<Q;Z++)if(!X.tokenization.isCheapToTokenize(Y[Z].getEndPosition().lineNumber))return!1;return!0}static _findActualIndentationForSelection(J,X,Y,Z){let Q=i80(J,X,Y,Z,{shiftIndent:(q)=>{return CS(J,q)},unshiftIndent:(q)=>{return fR(J,q)}},J.languageConfigurationService);if(Q===null)return null;let $=hM(X,Y.startLineNumber,Y.startColumn);if(Q===J.normalizeIndentation($))return null;return Q}static _getIndentationAndAutoClosingPairEdits(J,X,Y,Z,Q){let $=Y.map(({selection:G,indentation:U})=>{if(Q!==null){let H=this._getEditFromIndentationAndSelection(J,X,U,G,Z,!1);return new e80(H,G,Z,Q)}else{let H=this._getEditFromIndentationAndSelection(J,X,U,G,Z,!0);return wG(H.range,H.text,!1)}});return new n8(4,$,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _getEditFromIndentationAndSelection(J,X,Y,Z,Q,$=!0){let q=Z.startLineNumber,G=X.getLineFirstNonWhitespaceColumn(q),U=J.normalizeIndentation(Y);if(G!==0){let V=X.getLineContent(q);U+=V.substring(G-1,Z.startColumn-1)}return U+=$?Q:\"\",{range:new T(q,1,Z.endLineNumber,Z.endColumn),text:U}}}class NS{static getEdits(J,X,Y,Z,Q,$){if(J50(X,Y,Z,Q,$))return this._runAutoClosingOvertype(J,Z,$);return}static _runAutoClosingOvertype(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let G=X[Q].getPosition(),U=new T(G.lineNumber,G.column,G.lineNumber,G.column+1);Z[Q]=new w8(U,Y)}return new n8(4,Z,{shouldPushStackElementBefore:vR(J,4),shouldPushStackElementAfter:!1})}}class wS{static getEdits(J,X,Y,Z,Q){if(J50(J,X,Y,Z,Q)){let $=Y.map((q)=>new w8(new T(q.positionLineNumber,q.positionColumn,q.positionLineNumber,q.positionColumn+1),\"\",!1));return new n8(4,$,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}return}}class uF{static getEdits(J,X,Y,Z,Q,$){if(!$){let q=this.getAutoClosingPairClose(J,X,Y,Z,Q);if(q!==null)return this._runAutoClosingOpenCharType(Y,Z,Q,q)}return}static _runAutoClosingOpenCharType(J,X,Y,Z){let Q=[];for(let $=0,q=J.length;$<q;$++){let G=J[$];Q[$]=new t80(G,X,!Y,Z)}return new n8(4,Q,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static getAutoClosingPairClose(J,X,Y,Z,Q){for(let W of Y)if(!W.isEmpty())return null;let $=Y.map((W)=>{let z=W.getPosition();if(Q)return{lineNumber:z.lineNumber,beforeColumn:z.column-Z.length,afterColumn:z.column};else return{lineNumber:z.lineNumber,beforeColumn:z.column,afterColumn:z.column}}),q=this._findAutoClosingPairOpen(J,X,$.map((W)=>new C(W.lineNumber,W.beforeColumn)),Z);if(!q)return null;let G,U;if(EX(Z))G=J.autoClosingQuotes,U=J.shouldAutoCloseBefore.quote;else if(J.blockCommentStartToken?q.open.includes(J.blockCommentStartToken):!1)G=J.autoClosingComments,U=J.shouldAutoCloseBefore.comment;else G=J.autoClosingBrackets,U=J.shouldAutoCloseBefore.bracket;if(G===\"never\")return null;let V=this._findContainedAutoClosingPair(J,q),K=V?V.close:\"\",j=!0;for(let W of $){let{lineNumber:z,beforeColumn:B,afterColumn:P}=W,_=X.getLineContent(z),A=_.substring(0,B-1),O=_.substring(P-1);if(!O.startsWith(K))j=!1;if(O.length>0){let w=O.charAt(0);if(!this._isBeforeClosingBrace(J,O)&&!U(w))return null}if(q.open.length===1&&(Z===\"'\"||Z==='\"')&&G!==\"always\"){let w=V7(J.wordSeparators,[]);if(A.length>0){let k=A.charCodeAt(A.length-1);if(w.get(k)===0)return null}}if(!X.tokenization.isCheapToTokenize(z))return null;X.tokenization.forceTokenization(z);let D=X.tokenization.getLineTokens(z),R=TY(D,B-1);if(!q.shouldAutoClose(R,B-R.firstCharOffset))return null;let N=q.findNeutralCharacter();if(N){let w=X.tokenization.getTokenTypeIfInsertingCharacter(z,B,N);if(!q.isOK(w))return null}}if(j)return q.close.substring(0,q.close.length-K.length);else return q.close}static _findContainedAutoClosingPair(J,X){if(X.open.length<=1)return null;let Y=X.close.charAt(X.close.length-1),Z=J.autoClosingPairs.autoClosingPairsCloseByEnd.get(Y)||[],Q=null;for(let $ of Z)if($.open!==X.open&&X.open.includes($.open)&&X.close.endsWith($.close)){if(!Q||$.open.length>Q.open.length)Q=$}return Q}static _findAutoClosingPairOpen(J,X,Y,Z){let Q=J.autoClosingPairs.autoClosingPairsOpenByEnd.get(Z);if(!Q)return null;let $=null;for(let q of Q)if($===null||q.open.length>$.open.length){let G=!0;for(let U of Y)if(X.getValueInRange(new T(U.lineNumber,U.column-q.open.length+1,U.lineNumber,U.column))+Z!==q.open){G=!1;break}if(G)$=q}return $}static _isBeforeClosingBrace(J,X){let Y=X.charAt(0),Z=J.autoClosingPairs.autoClosingPairsOpenByStart.get(Y)||[],Q=J.autoClosingPairs.autoClosingPairsCloseByStart.get(Y)||[],$=Z.some((G)=>X.startsWith(G.open)),q=Q.some((G)=>X.startsWith(G.close));return!$&&q}}class hR{static getEdits(J,X){if(J.inputMode!==\"overtype\")return null;let Z=X.map((Q)=>new AS(Q.insertedTextRange));return new n8(4,Z,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}class TS{static getEdits(J,X,Y,Z,Q){if(!Q&&this._isSurroundSelectionType(J,X,Y,Z))return this._runSurroundSelectionType(J,Y,Z);return}static _runSurroundSelectionType(J,X,Y){let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=J.surroundingPairs[Y];Z[Q]=new OS(q,Y,G)}return new n8(0,Z,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _isSurroundSelectionType(J,X,Y,Z){if(!SS(J,Z)||!J.surroundingPairs.hasOwnProperty(Z))return!1;let Q=EX(Z);for(let $ of Y){if($.isEmpty())return!1;let q=!0;for(let G=$.startLineNumber;G<=$.endLineNumber;G++){let U=X.getLineContent(G),H=G===$.startLineNumber?$.startColumn-1:0,V=G===$.endLineNumber?$.endColumn-1:U.length,K=U.substring(H,V);if(/[^ \\t]/.test(K)){q=!1;break}}if(q)return!1;if(Q&&$.startLineNumber===$.endLineNumber&&$.startColumn+1===$.endColumn){let G=X.getValueInRange($);if(EX(G))return!1}}return!0}}class LS{static getEdits(J,X,Y,Z,Q,$){if(!$&&this._isTypeInterceptorElectricChar(X,Y,Z)){let q=this._typeInterceptorElectricChar(J,X,Y,Z[0],Q);if(q)return q}return}static _isTypeInterceptorElectricChar(J,X,Y){if(Y.length===1&&X.tokenization.isCheapToTokenize(Y[0].getEndPosition().lineNumber))return!0;return!1}static _typeInterceptorElectricChar(J,X,Y,Z,Q){if(!X.electricChars.hasOwnProperty(Q)||!Z.isEmpty())return null;let $=Z.getPosition();Y.tokenization.forceTokenization($.lineNumber);let q=Y.tokenization.getLineTokens($.lineNumber),G;try{G=X.onElectricCharacter(Q,q,$.column)}catch(U){return b0(U),null}if(!G)return null;if(G.matchOpenBracket){let U=(q.getLineContent()+Q).lastIndexOf(G.matchOpenBracket)+1,H=Y.bracketPairs.findMatchingBracketUp(G.matchOpenBracket,{lineNumber:$.lineNumber,column:U},500);if(H){if(H.startLineNumber===$.lineNumber)return null;let V=Y.getLineContent(H.startLineNumber),K=w6(V),j=X.normalizeIndentation(K),W=Y.getLineContent($.lineNumber),z=Y.getLineFirstNonWhitespaceColumn($.lineNumber)||$.column,B=W.substring(z-1,$.column-1),P=j+B+Q,_=new T($.lineNumber,1,$.lineNumber,$.column),A=new w8(_,P);return new n8(bS(P,J),[A],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null}}class IS{static getEdits(J,X,Y,Z,Q){let $=[];for(let G=0,U=Y.length;G<U;G++){let H=J.inputMode===\"overtype\"&&!Q?pF:w8;$[G]=new H(Y[G],Z)}let q=bS(Z,X);return new n8(q,$,{shouldPushStackElementBefore:vR(X,q),shouldPushStackElementAfter:!1})}}class C2{static getEdits(J,X,Y,Z,Q){if(!Q&&Z===`\n`){let $=[];for(let q=0,G=Y.length;q<G;q++)$[q]=this._enter(J,X,!1,Y[q]);return new n8(4,$,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}return}static _enter(J,X,Y,Z){if(J.autoIndent===0)return wG(Z,`\n`,Y);if(!X.tokenization.isCheapToTokenize(Z.getStartPosition().lineNumber)||J.autoIndent===1){let G=X.getLineContent(Z.startLineNumber),U=w6(G).substring(0,Z.startColumn-1);return wG(Z,`\n`+J.normalizeIndentation(U),Y)}let Q=yQ(J.autoIndent,X,Z,J.languageConfigurationService);if(Q){if(Q.indentAction===T6.None)return wG(Z,`\n`+J.normalizeIndentation(Q.indentation+Q.appendText),Y);else if(Q.indentAction===T6.Indent)return wG(Z,`\n`+J.normalizeIndentation(Q.indentation+Q.appendText),Y);else if(Q.indentAction===T6.IndentOutdent){let G=J.normalizeIndentation(Q.indentation),U=J.normalizeIndentation(Q.indentation+Q.appendText),H=`\n`+U+`\n`+G;if(Y)return new lV(Z,H,!0);else return new sV(Z,H,-1,U.length-G.length,!0)}else if(Q.indentAction===T6.Outdent){let G=fR(J,Q.indentation);return wG(Z,`\n`+J.normalizeIndentation(G+Q.appendText),Y)}}let $=X.getLineContent(Z.startLineNumber),q=w6($).substring(0,Z.startColumn-1);if(J.autoIndent>=4){let G=a80(J.autoIndent,X,Z,{unshiftIndent:(U)=>{return fR(J,U)},shiftIndent:(U)=>{return CS(J,U)},normalizeIndentation:(U)=>{return J.normalizeIndentation(U)}},J.languageConfigurationService);if(G){let U=J.visibleColumnFromColumn(X,Z.getEndPosition()),H=Z.endColumn,V=X.getLineContent(Z.endLineNumber),K=b6(V);if(K>=0)Z=Z.setEndPosition(Z.endLineNumber,Math.max(Z.endColumn,K+1));else Z=Z.setEndPosition(Z.endLineNumber,X.getLineMaxColumn(Z.endLineNumber));if(Y)return new lV(Z,`\n`+J.normalizeIndentation(G.afterEnter),!0);else{let j=0;if(H<=K+1){if(!J.insertSpaces)U=Math.ceil(U/J.indentSize);j=Math.min(U+1-J.normalizeIndentation(G.afterEnter).length-1,0)}return new sV(Z,`\n`+J.normalizeIndentation(G.afterEnter),0,j,!0)}}}return wG(Z,`\n`+J.normalizeIndentation(q),Y)}static lineInsertBefore(J,X,Y){if(X===null||Y===null)return[];let Z=[];for(let Q=0,$=Y.length;Q<$;Q++){let q=Y[Q].positionLineNumber;if(q===1)Z[Q]=new lV(new T(1,1,1,1),`\n`);else{q--;let G=X.getLineMaxColumn(q);Z[Q]=this._enter(J,X,!1,new T(q,G,q,G))}}return Z}static lineInsertAfter(J,X,Y){if(X===null||Y===null)return[];let Z=[];for(let Q=0,$=Y.length;Q<$;Q++){let q=Y[Q].positionLineNumber,G=X.getLineMaxColumn(q);Z[Q]=this._enter(J,X,!1,new T(q,G,q,G))}return Z}static lineBreakInsert(J,X,Y){let Z=[];for(let Q=0,$=Y.length;Q<$;Q++)Z[Q]=this._enter(J,X,!0,Y[Q]);return Z}}class kS{static getEdits(J,X,Y,Z,Q,$){let q=this._distributePasteToCursors(J,Y,Z,Q,$);if(q)return Y=Y.sort(T.compareRangesUsingStarts),this._distributedPaste(J,X,Y,q);else return this._simplePaste(J,X,Y,Z,Q)}static _distributePasteToCursors(J,X,Y,Z,Q){if(X.length===1)return null;if(Q&&Q.length===X.length)return Q;if(Z)return null;if(J.multiCursorPaste===\"spread\"){if(Y.charCodeAt(Y.length-1)===10)Y=Y.substring(0,Y.length-1);if(Y.charCodeAt(Y.length-1)===13)Y=Y.substring(0,Y.length-1);let $=NJ(Y);if($.length===X.length)return $}return null}static _distributedPaste(J,X,Y,Z){let Q=[];for(let $=0,q=Y.length;$<q;$++){let U=J.overtypeOnPaste&&J.inputMode===\"overtype\"?pF:w8;Q[$]=new U(Y[$],Z[$])}return new n8(0,Q,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(J,X,Y,Z,Q){let $=[];for(let q=0,G=Y.length;q<G;q++){let U=Y[q],H=U.getPosition();if(Q&&!U.isEmpty())Q=!1;if(Q&&Z.indexOf(`\n`)!==Z.length-1)Q=!1;if(Q){let V=new T(H.lineNumber,1,H.lineNumber,1);$[q]=new RG(V,Z,U,!0)}else{let K=J.overtypeOnPaste&&J.inputMode===\"overtype\"?pF:w8;$[q]=new K(U,Z)}}return new n8(0,$,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class ES{static getEdits(J,X,Y,Z,Q,$,q,G){let U=Z.map((H)=>this._compositionType(Y,H,Q,$,q,G));return new n8(4,U,{shouldPushStackElementBefore:vR(J,4),shouldPushStackElementAfter:!1})}static _compositionType(J,X,Y,Z,Q,$){if(!X.isEmpty())return null;let q=X.getPosition(),G=Math.max(1,q.column-Z),U=Math.min(J.getLineMaxColumn(q.lineNumber),q.column+Q),H=new T(q.lineNumber,G,q.lineNumber,U);return new sV(H,Y,0,$)}}class yS{static getEdits(J,X,Y){let Z=[];for(let $=0,q=X.length;$<q;$++)Z[$]=new w8(X[$],Y);let Q=bS(Y,J);return new n8(Q,Z,{shouldPushStackElementBefore:vR(J,Q),shouldPushStackElementAfter:!1})}}class xS{static getCommands(J,X,Y){let Z=[];for(let Q=0,$=Y.length;Q<$;Q++){let q=Y[Q];if(q.isEmpty()){let G=X.getLineContent(q.startLineNumber);if(/^\\s*$/.test(G)&&X.tokenization.isCheapToTokenize(q.startLineNumber)){let U=this._goodIndentForLine(J,X,q.startLineNumber);U=U||\"\\t\";let H=J.normalizeIndentation(U);if(!G.startsWith(H)){Z[Q]=new w8(new T(q.startLineNumber,1,q.startLineNumber,G.length+1),H,!0);continue}}Z[Q]=this._replaceJumpToNextIndent(J,X,q,!0)}else{if(q.startLineNumber===q.endLineNumber){let G=X.getLineMaxColumn(q.startLineNumber);if(q.startColumn!==1||q.endColumn!==G){Z[Q]=this._replaceJumpToNextIndent(J,X,q,!1);continue}}Z[Q]=new uJ(q,{isUnshift:!1,tabSize:J.tabSize,indentSize:J.indentSize,insertSpaces:J.insertSpaces,useTabStops:J.useTabStops,autoIndent:J.autoIndent},J.languageConfigurationService)}}return Z}static _goodIndentForLine(J,X,Y){let Z=null,Q=\"\",$=iV(J.autoIndent,X,Y,!1,J.languageConfigurationService);if($)Z=$.action,Q=$.indentation;else if(Y>1){let q;for(q=Y-1;q>=1;q--){let H=X.getLineContent(q);if(T5(H)>=0)break}if(q<1)return null;let G=X.getLineMaxColumn(q),U=yQ(J.autoIndent,X,new T(q,G,q,G),J.languageConfigurationService);if(U)Q=U.indentation+U.appendText}if(Z){if(Z===T6.Indent)Q=CS(J,Q);if(Z===T6.Outdent)Q=fR(J,Q);Q=J.normalizeIndentation(Q)}if(!Q)return null;return Q}static _replaceJumpToNextIndent(J,X,Y,Z){let Q=\"\",$=Y.getStartPosition();if(J.insertSpaces){let q=J.visibleColumnFromColumn(X,$),G=J.indentSize,U=G-q%G;for(let H=0;H<U;H++)Q+=\" \"}else Q=\"\\t\";return new w8(Y,Q,Z)}}class cF extends sV{constructor(J,X,Y,Z,Q,$){super(J,X,Y,Z);this._openCharacter=Q,this._closeCharacter=$,this.closeCharacterRange=null,this.enclosingRange=null}_computeCursorStateWithRange(J,X,Y){return this.closeCharacterRange=new T(X.startLineNumber,X.endColumn-this._closeCharacter.length,X.endLineNumber,X.endColumn),this.enclosingRange=new T(X.startLineNumber,X.endColumn-this._openCharacter.length-this._closeCharacter.length,X.endLineNumber,X.endColumn),super.computeCursorState(J,Y)}}class t80 extends cF{constructor(J,X,Y,Z){let Q=(Y?X:\"\")+Z,$=0,q=-Z.length;super(J,Q,0,q,X,Z)}computeCursorState(J,X){let Z=X.getInverseEditOperations()[0].range;return this._computeCursorStateWithRange(J,Z,X)}}class e80 extends cF{constructor(J,X,Y,Z){let Q=Y+Z,$=0,q=Y.length;super(X,Q,0,q,Y,Z);this._autoIndentationEdit=J,this._autoClosingEdit={range:X,text:Q}}getEditOperations(J,X){X.addTrackedEditOperation(this._autoIndentationEdit.range,this._autoIndentationEdit.text),X.addTrackedEditOperation(this._autoClosingEdit.range,this._autoClosingEdit.text)}computeCursorState(J,X){let Y=X.getInverseEditOperations();if(Y.length!==2)throw Error(\"There should be two inverse edit operations!\");let Z=Y[0].range,Q=Y[1].range,$=Z.plusRange(Q);return this._computeCursorStateWithRange(J,$,X)}}function bS(J,X){if(J===\" \")return X===5||X===6?6:5;return 4}function vR(J,X){if(n80(J)&&!n80(X))return!0;if(J===5)return!1;return o80(J)!==o80(X)}function o80(J){return J===6||J===5?\"space\":J}function n80(J){return J===4||J===5||J===6}function J50(J,X,Y,Z,Q){if(J.autoClosingOvertype===\"never\")return!1;if(!J.autoClosingPairs.autoClosingPairsCloseSingleChar.has(Q))return!1;for(let $=0,q=Y.length;$<q;$++){let G=Y[$];if(!G.isEmpty())return!1;let U=G.getPosition(),H=X.getLineContent(U.lineNumber);if(H.charAt(U.column-1)!==Q)return!1;let K=EX(Q);if((U.column>2?H.charCodeAt(U.column-2):0)===92&&K)return!1;if(J.autoClosingOvertype===\"auto\"){let W=!1;for(let z=0,B=Z.length;z<B;z++){let P=Z[z];if(U.lineNumber===P.startLineNumber&&U.column===P.startColumn){W=!0;break}}if(!W)return!1}}return!0}function wG(J,X,Y){if(Y)return new lV(J,X,!0);else return new w8(J,X,!0)}function CS(J,X,Y){return Y=Y||1,uJ.shiftIndent(X,X.length+Y,J.tabSize,J.indentSize,J.insertSpaces)}function fR(J,X,Y){return Y=Y||1,uJ.unshiftIndent(X,X.length+Y,J.tabSize,J.indentSize,J.insertSpaces)}function SS(J,X){if(EX(X))return J.autoSurround===\"quotes\"||J.autoSurround===\"languageDefined\";else return J.autoSurround===\"brackets\"||J.autoSurround===\"languageDefined\"}class cJ{static indent(J,X,Y){if(X===null||Y===null)return[];let Z=[];for(let Q=0,$=Y.length;Q<$;Q++)Z[Q]=new uJ(Y[Q],{isUnshift:!1,tabSize:J.tabSize,indentSize:J.indentSize,insertSpaces:J.insertSpaces,useTabStops:J.useTabStops,autoIndent:J.autoIndent},J.languageConfigurationService);return Z}static outdent(J,X,Y){let Z=[];for(let Q=0,$=Y.length;Q<$;Q++)Z[Q]=new uJ(Y[Q],{isUnshift:!0,tabSize:J.tabSize,indentSize:J.indentSize,insertSpaces:J.insertSpaces,useTabStops:J.useTabStops,autoIndent:J.autoIndent},J.languageConfigurationService);return Z}static paste(J,X,Y,Z,Q,$){return kS.getEdits(J,X,Y,Z,Q,$)}static tab(J,X,Y){return xS.getCommands(J,X,Y)}static compositionType(J,X,Y,Z,Q,$,q,G){return ES.getEdits(J,X,Y,Z,Q,$,q,G)}static compositionEndWithInterceptors(J,X,Y,Z,Q,$){if(!Z)return null;let q=null;for(let K of Z)if(q===null)q=K.insertedText;else if(q!==K.insertedText)return null;if(!q||q.length!==1)return hR.getEdits(X,Z);let G=q,U=!1;for(let K of Z)if(K.deletedText.length!==0){U=!0;break}if(U){if(!SS(X,G)||!X.surroundingPairs.hasOwnProperty(G))return null;let K=EX(G);for(let z of Z){if(z.deletedSelectionStart!==0||z.deletedSelectionEnd!==z.deletedText.length)return null;if(/^[ \\t]+$/.test(z.deletedText))return null;if(K&&EX(z.deletedText))return null}let j=[];for(let z of Q){if(!z.isEmpty())return null;j.push(z.getPosition())}if(j.length!==Z.length)return null;let W=[];for(let z=0,B=j.length;z<B;z++)W.push(new MS(j[z],Z[z].deletedText,X.surroundingPairs[G]));return new n8(4,W,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}let H=wS.getEdits(X,Y,Q,$,G);if(H!==void 0)return H;let V=uF.getEdits(X,Y,Q,G,!0,!1);if(V!==void 0)return V;return hR.getEdits(X,Z)}static typeWithInterceptors(J,X,Y,Z,Q,$,q){let G=C2.getEdits(Y,Z,Q,q,J);if(G!==void 0)return G;let U=RS.getEdits(Y,Z,Q,q,J);if(U!==void 0)return U;let H=NS.getEdits(X,Y,Z,Q,$,q);if(H!==void 0)return H;let V=uF.getEdits(Y,Z,Q,q,!1,J);if(V!==void 0)return V;let K=TS.getEdits(Y,Z,Q,q,J);if(K!==void 0)return K;let j=LS.getEdits(X,Y,Z,Q,q,J);if(j!==void 0)return j;return IS.getEdits(Y,X,Q,q,J)}static typeWithoutInterceptors(J,X,Y,Z,Q){return yS.getEdits(J,Z,Q)}}class fS{constructor(J,X,Y,Z,Q,$,q){this.deletedText=J,this.deletedSelectionStart=X,this.deletedSelectionEnd=Y,this.insertedText=Z,this.insertedSelectionStart=Q,this.insertedSelectionEnd=$,this.insertedTextRange=q}}var g;(function(J){J.editorSimpleInput=new G0(\"editorSimpleInput\",!1,!0),J.editorTextFocus=new G0(\"editorTextFocus\",!1,F(714,\"Whether the editor text has focus (cursor is blinking)\")),J.focus=new G0(\"editorFocus\",!1,F(715,\"Whether the editor or an editor widget has focus (e.g. focus is in the find widget)\")),J.textInputFocus=new G0(\"textInputFocus\",!1,F(716,\"Whether an editor or a rich text input has focus (cursor is blinking)\")),J.readOnly=new G0(\"editorReadonly\",!1,F(717,\"Whether the editor is read-only\")),J.inDiffEditor=new G0(\"inDiffEditor\",!1,F(718,\"Whether the context is a diff editor\")),J.isEmbeddedDiffEditor=new G0(\"isEmbeddedDiffEditor\",!1,F(719,\"Whether the context is an embedded diff editor\")),J.inMultiDiffEditor=new G0(\"inMultiDiffEditor\",!1,F(720,\"Whether the context is a multi diff editor\")),J.multiDiffEditorAllCollapsed=new G0(\"multiDiffEditorAllCollapsed\",void 0,F(721,\"Whether all files in multi diff editor are collapsed\")),J.hasChanges=new G0(\"diffEditorHasChanges\",!1,F(722,\"Whether the diff editor has changes\")),J.comparingMovedCode=new G0(\"comparingMovedCode\",!1,F(723,\"Whether a moved code block is selected for comparison\")),J.accessibleDiffViewerVisible=new G0(\"accessibleDiffViewerVisible\",!1,F(724,\"Whether the accessible diff viewer is visible\")),J.diffEditorRenderSideBySideInlineBreakpointReached=new G0(\"diffEditorRenderSideBySideInlineBreakpointReached\",!1,F(725,\"Whether the diff editor render side by side inline breakpoint is reached\")),J.diffEditorInlineMode=new G0(\"diffEditorInlineMode\",!1,F(726,\"Whether inline mode is active\")),J.diffEditorOriginalWritable=new G0(\"diffEditorOriginalWritable\",!1,F(727,\"Whether modified is writable in the diff editor\")),J.diffEditorModifiedWritable=new G0(\"diffEditorModifiedWritable\",!1,F(728,\"Whether modified is writable in the diff editor\")),J.diffEditorOriginalUri=new G0(\"diffEditorOriginalUri\",\"\",F(729,\"The uri of the original document\")),J.diffEditorModifiedUri=new G0(\"diffEditorModifiedUri\",\"\",F(730,\"The uri of the modified document\")),J.columnSelection=new G0(\"editorColumnSelection\",!1,F(731,\"Whether `editor.columnSelection` is enabled\")),J.writable=J.readOnly.toNegated(),J.hasNonEmptySelection=new G0(\"editorHasSelection\",!1,F(732,\"Whether the editor has text selected\")),J.hasOnlyEmptySelection=J.hasNonEmptySelection.toNegated(),J.hasMultipleSelections=new G0(\"editorHasMultipleSelections\",!1,F(733,\"Whether the editor has multiple selections\")),J.hasSingleSelection=J.hasMultipleSelections.toNegated(),J.tabMovesFocus=new G0(\"editorTabMovesFocus\",!1,F(734,\"Whether `Tab` will move focus out of the editor\")),J.tabDoesNotMoveFocus=J.tabMovesFocus.toNegated(),J.isInEmbeddedEditor=new G0(\"isInEmbeddedEditor\",!1,!0),J.canUndo=new G0(\"canUndo\",!1,!0),J.canRedo=new G0(\"canRedo\",!1,!0),J.hoverVisible=new G0(\"editorHoverVisible\",!1,F(735,\"Whether the editor hover is visible\")),J.hoverFocused=new G0(\"editorHoverFocused\",!1,F(736,\"Whether the editor hover is focused\")),J.stickyScrollFocused=new G0(\"stickyScrollFocused\",!1,F(737,\"Whether the sticky scroll is focused\")),J.stickyScrollVisible=new G0(\"stickyScrollVisible\",!1,F(738,\"Whether the sticky scroll is visible\")),J.standaloneColorPickerVisible=new G0(\"standaloneColorPickerVisible\",!1,F(739,\"Whether the standalone color picker is visible\")),J.standaloneColorPickerFocused=new G0(\"standaloneColorPickerFocused\",!1,F(740,\"Whether the standalone color picker is focused\")),J.isComposing=new G0(\"isComposing\",!1,F(741,\"Whether the editor is in the composition mode\")),J.inCompositeEditor=new G0(\"inCompositeEditor\",void 0,F(742,\"Whether the editor is part of a larger editor (e.g. notebooks)\")),J.notInCompositeEditor=J.inCompositeEditor.toNegated(),J.languageId=new G0(\"editorLangId\",\"\",F(743,\"The language identifier of the editor\")),J.hasCompletionItemProvider=new G0(\"editorHasCompletionItemProvider\",!1,F(744,\"Whether the editor has a completion item provider\")),J.hasCodeActionsProvider=new G0(\"editorHasCodeActionsProvider\",!1,F(745,\"Whether the editor has a code actions provider\")),J.hasCodeLensProvider=new G0(\"editorHasCodeLensProvider\",!1,F(746,\"Whether the editor has a code lens provider\")),J.hasDefinitionProvider=new G0(\"editorHasDefinitionProvider\",!1,F(747,\"Whether the editor has a definition provider\")),J.hasDeclarationProvider=new G0(\"editorHasDeclarationProvider\",!1,F(748,\"Whether the editor has a declaration provider\")),J.hasImplementationProvider=new G0(\"editorHasImplementationProvider\",!1,F(749,\"Whether the editor has an implementation provider\")),J.hasTypeDefinitionProvider=new G0(\"editorHasTypeDefinitionProvider\",!1,F(750,\"Whether the editor has a type definition provider\")),J.hasHoverProvider=new G0(\"editorHasHoverProvider\",!1,F(751,\"Whether the editor has a hover provider\")),J.hasDocumentHighlightProvider=new G0(\"editorHasDocumentHighlightProvider\",!1,F(752,\"Whether the editor has a document highlight provider\")),J.hasDocumentSymbolProvider=new G0(\"editorHasDocumentSymbolProvider\",!1,F(753,\"Whether the editor has a document symbol provider\")),J.hasReferenceProvider=new G0(\"editorHasReferenceProvider\",!1,F(754,\"Whether the editor has a reference provider\")),J.hasRenameProvider=new G0(\"editorHasRenameProvider\",!1,F(755,\"Whether the editor has a rename provider\")),J.hasSignatureHelpProvider=new G0(\"editorHasSignatureHelpProvider\",!1,F(756,\"Whether the editor has a signature help provider\")),J.hasInlayHintsProvider=new G0(\"editorHasInlayHintsProvider\",!1,F(757,\"Whether the editor has an inline hints provider\")),J.hasDocumentFormattingProvider=new G0(\"editorHasDocumentFormattingProvider\",!1,F(758,\"Whether the editor has a document formatting provider\")),J.hasDocumentSelectionFormattingProvider=new G0(\"editorHasDocumentSelectionFormattingProvider\",!1,F(759,\"Whether the editor has a document selection formatting provider\")),J.hasMultipleDocumentFormattingProvider=new G0(\"editorHasMultipleDocumentFormattingProvider\",!1,F(760,\"Whether the editor has multiple document formatting providers\")),J.hasMultipleDocumentSelectionFormattingProvider=new G0(\"editorHasMultipleDocumentSelectionFormattingProvider\",!1,F(761,\"Whether the editor has multiple document selection formatting providers\")),J.selectionHasDiagnostics=new G0(\"editorSelectionHasDiagnostics\",!1,F(762,\"Whether any diagnostic is present in the current editor selection\"))})(g||(g={}));var A1=0;class h6 extends H7{runEditorCommand(J,X,Y){let Z=X._getViewModel();if(!Z)return;this.runCoreEditorCommand(Z,Y||{})}}var E5;(function(J){let X=function(Z){if(!E6(Z))return!1;let Q=Z;if(!t1(Q.to))return!1;if(!C8(Q.by)&&!t1(Q.by))return!1;if(!C8(Q.value)&&!r7(Q.value))return!1;if(!C8(Q.revealCursor)&&!Gz(Q.revealCursor))return!1;return!0};J.metadata={description:\"Scroll editor in the given direction\",args:[{name:\"Editor scroll argument object\",description:\"Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* 'to': A mandatory direction value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'up', 'down'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* 'by': Unit to move. Default is computed based on 'to' value.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'line', 'wrappedLine', 'page', 'halfPage', 'editor'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t* 'value': Number of units to move. Default is '1'.\\n\\t\\t\\t\\t\\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\\n\\t\\t\\t\\t\",constraint:X,schema:{type:\"object\",required:[\"to\"],properties:{to:{type:\"string\",enum:[\"up\",\"down\"]},by:{type:\"string\",enum:[\"line\",\"wrappedLine\",\"page\",\"halfPage\",\"editor\"]},value:{type:\"number\",default:1},revealCursor:{type:\"boolean\"}}}}]},J.RawDirection={Up:\"up\",Right:\"right\",Down:\"down\",Left:\"left\"},J.RawUnit={Line:\"line\",WrappedLine:\"wrappedLine\",Page:\"page\",HalfPage:\"halfPage\",Editor:\"editor\",Column:\"column\"};function Y(Z){let Q;switch(Z.to){case J.RawDirection.Up:Q=1;break;case J.RawDirection.Right:Q=2;break;case J.RawDirection.Down:Q=3;break;case J.RawDirection.Left:Q=4;break;default:return null}let $;switch(Z.by){case J.RawUnit.Line:$=1;break;case J.RawUnit.WrappedLine:$=2;break;case J.RawUnit.Page:$=3;break;case J.RawUnit.HalfPage:$=4;break;case J.RawUnit.Editor:$=5;break;case J.RawUnit.Column:$=6;break;default:$=2}let q=Math.floor(Z.value||1),G=!!Z.revealCursor;return{direction:Q,unit:$,value:q,revealCursor:G,select:!!Z.select}}J.parse=Y})(E5||(E5={}));var rV;(function(J){let X=function(Y){if(!E6(Y))return!1;let Z=Y;if(!r7(Z.lineNumber)&&!t1(Z.lineNumber))return!1;if(!C8(Z.at)&&!t1(Z.at))return!1;return!0};J.metadata={description:\"Reveal the given line at the given logical position\",args:[{name:\"Reveal line argument object\",description:\"Property-value pairs that can be passed through this argument:\\n\\t\\t\\t\\t\\t* 'lineNumber': A mandatory line number value.\\n\\t\\t\\t\\t\\t* 'at': Logical position at which line has to be revealed.\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\\t\\t'top', 'center', 'bottom'\\n\\t\\t\\t\\t\\t\\t```\\n\\t\\t\\t\\t\",constraint:X,schema:{type:\"object\",required:[\"lineNumber\"],properties:{lineNumber:{type:[\"number\",\"string\"]},at:{type:\"string\",enum:[\"top\",\"center\",\"bottom\"]}}}}]},J.RawAtArgument={Top:\"top\",Center:\"center\",Bottom:\"bottom\"}})(rV||(rV={}));class gR{constructor(J){J.addImplementation(1e4,\"code-editor\",(X,Y)=>{let Z=X.get(l1).getFocusedCodeEditor();if(Z&&Z.hasTextFocus())return this._runEditorCommand(X,Z,Y);return!1}),J.addImplementation(1000,\"generic-dom-input-textarea\",(X,Y)=>{let Z=E1();if(Z&&Q4(Z))return this.runDOMCommand(Z),!0;return!1}),J.addImplementation(0,\"generic-dom\",(X,Y)=>{let Z=X.get(l1).getActiveCodeEditor();if(Z)return Z.focus(),this._runEditorCommand(X,Z,Y);return!1})}_runEditorCommand(J,X,Y){let Z=this.runEditorCommand(J,X,Y);if(Z)return Z;return!0}}var y8;(function(J){class X extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){if(!A.position)return;if(_.model.pushStackElement(),_.setCursorStates(A.source,3,[_8.moveTo(_,_.getPrimaryCursorState(),this._inSelectionMode,A.position,A.viewPosition)])&&A.revealType!==2)_.revealAllCursors(A.source,!0,!0)}}J.MoveTo=O0(new X({id:\"_moveTo\",inSelectionMode:!1,precondition:void 0})),J.MoveToSelect=O0(new X({id:\"_moveToSelect\",inSelectionMode:!0,precondition:void 0}));class Y extends h6{runCoreEditorCommand(_,A){_.model.pushStackElement();let O=this._getColumnSelectResult(_,_.getPrimaryCursorState(),_.getCursorColumnSelectData(),A);if(O===null)return;if(_.setCursorStates(A.source,3,O.viewStates.map((D)=>l0.fromViewState(D))),_.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:O.fromLineNumber,fromViewVisualColumn:O.fromVisualColumn,toViewLineNumber:O.toLineNumber,toViewVisualColumn:O.toVisualColumn}),O.reversed)_.revealTopMostCursor(A.source);else _.revealBottomMostCursor(A.source)}}J.ColumnSelect=O0(new class extends Y{constructor(){super({id:\"columnSelect\",precondition:void 0})}_getColumnSelectResult(_,A,O,D){if(typeof D.position>\"u\"||typeof D.viewPosition>\"u\"||typeof D.mouseColumn>\"u\")return null;let R=_.model.validatePosition(D.position),N=_.coordinatesConverter.validateViewPosition(new C(D.viewPosition.lineNumber,D.viewPosition.column),R),w=D.doColumnSelect?O.fromViewLineNumber:N.lineNumber,k=D.doColumnSelect?O.fromViewVisualColumn:D.mouseColumn-1;return b2.columnSelect(_.cursorConfig,_,w,k,N.lineNumber,D.mouseColumn-1)}}),J.CursorColumnSelectLeft=O0(new class extends Y{constructor(){super({id:\"cursorColumnSelectLeft\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(_,A,O,D){return b2.columnSelectLeft(_.cursorConfig,_,O)}}),J.CursorColumnSelectRight=O0(new class extends Y{constructor(){super({id:\"cursorColumnSelectRight\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(_,A,O,D){return b2.columnSelectRight(_.cursorConfig,_,O)}});class Z extends Y{constructor(_){super(_);this._isPaged=_.isPaged}_getColumnSelectResult(_,A,O,D){return b2.columnSelectUp(_.cursorConfig,_,O,this._isPaged)}}J.CursorColumnSelectUp=O0(new Z({isPaged:!1,id:\"cursorColumnSelectUp\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3600,linux:{primary:0}}})),J.CursorColumnSelectPageUp=O0(new Z({isPaged:!0,id:\"cursorColumnSelectPageUp\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3595,linux:{primary:0}}}));class Q extends Y{constructor(_){super(_);this._isPaged=_.isPaged}_getColumnSelectResult(_,A,O,D){return b2.columnSelectDown(_.cursorConfig,_,O,this._isPaged)}}J.CursorColumnSelectDown=O0(new Q({isPaged:!1,id:\"cursorColumnSelectDown\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3602,linux:{primary:0}}})),J.CursorColumnSelectPageDown=O0(new Q({isPaged:!0,id:\"cursorColumnSelectPageDown\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3596,linux:{primary:0}}}));class $ extends h6{constructor(){super({id:\"cursorMove\",precondition:void 0,metadata:mF.metadata})}runCoreEditorCommand(_,A){let O=mF.parse(A);if(!O)return;this._runCursorMove(_,A.source,O)}_runCursorMove(_,A,O){let D=O.noHistory?\"api\":A;_.model.pushStackElement(),_.setCursorStates(D,3,$._move(_,_.getCursorStates(),O)),_.revealAllCursors(D,!0)}static _move(_,A,O){let{select:D,value:R}=O;switch(O.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return _8.simpleMove(_,A,O.direction,D,R,O.unit);case 11:case 13:case 12:case 14:return _8.viewportMove(_,A,O.direction,D,R);default:return null}}}J.CursorMoveImpl=$,J.CursorMove=O0(new $);class q extends h6{constructor(_){super(_);this._staticArgs=_.args}runCoreEditorCommand(_,A){let O=this._staticArgs;if(this._staticArgs.value===-1)O={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:A.pageSize||_.cursorConfig.pageSize};_.model.pushStackElement(),_.setCursorStates(A.source,3,_8.simpleMove(_,_.getCursorStates(),O.direction,O.select,O.value,O.unit)),_.revealAllCursors(A.source,!0)}}J.CursorLeft=O0(new q({args:{direction:0,unit:0,select:!1,value:1},id:\"cursorLeft\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),J.CursorLeftSelect=O0(new q({args:{direction:0,unit:0,select:!0,value:1},id:\"cursorLeftSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1039}})),J.CursorRight=O0(new q({args:{direction:1,unit:0,select:!1,value:1},id:\"cursorRight\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),J.CursorRightSelect=O0(new q({args:{direction:1,unit:0,select:!0,value:1},id:\"cursorRightSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1041}})),J.CursorUp=O0(new q({args:{direction:2,unit:2,select:!1,value:1},id:\"cursorUp\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),J.CursorUpSelect=O0(new q({args:{direction:2,unit:2,select:!0,value:1},id:\"cursorUpSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),J.CursorPageUp=O0(new q({args:{direction:2,unit:2,select:!1,value:-1},id:\"cursorPageUp\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:11}})),J.CursorPageUpSelect=O0(new q({args:{direction:2,unit:2,select:!0,value:-1},id:\"cursorPageUpSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1035}})),J.CursorDown=O0(new q({args:{direction:3,unit:2,select:!1,value:1},id:\"cursorDown\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),J.CursorDownSelect=O0(new q({args:{direction:3,unit:2,select:!0,value:1},id:\"cursorDownSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),J.CursorPageDown=O0(new q({args:{direction:3,unit:2,select:!1,value:-1},id:\"cursorPageDown\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:12}})),J.CursorPageDownSelect=O0(new q({args:{direction:3,unit:2,select:!0,value:-1},id:\"cursorPageDownSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1036}})),J.CreateCursor=O0(new class extends h6{constructor(){super({id:\"createCursor\",precondition:void 0})}runCoreEditorCommand(_,A){if(!A.position)return;let O;if(A.wholeLine)O=_8.line(_,_.getPrimaryCursorState(),!1,A.position,A.viewPosition);else O=_8.moveTo(_,_.getPrimaryCursorState(),!1,A.position,A.viewPosition);let D=_.getCursorStates();if(D.length>1){let R=O.modelState?O.modelState.position:null,N=O.viewState?O.viewState.position:null;for(let w=0,k=D.length;w<k;w++){let I=D[w];if(R&&!I.modelState.selection.containsPosition(R))continue;if(N&&!I.viewState.selection.containsPosition(N))continue;D.splice(w,1),_.model.pushStackElement(),_.setCursorStates(A.source,3,D);return}}D.push(O),_.model.pushStackElement(),_.setCursorStates(A.source,3,D)}}),J.LastCursorMoveToSelect=O0(new class extends h6{constructor(){super({id:\"_lastCursorMoveToSelect\",precondition:void 0})}runCoreEditorCommand(_,A){if(!A.position)return;let O=_.getLastAddedCursorIndex(),D=_.getCursorStates(),R=D.slice(0);R[O]=_8.moveTo(_,D[O],!0,A.position,A.viewPosition),_.model.pushStackElement(),_.setCursorStates(A.source,3,R)}});class G extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,_8.moveToBeginningOfLine(_,_.getCursorStates(),this._inSelectionMode)),_.revealAllCursors(A.source,!0)}}J.CursorHome=O0(new G({inSelectionMode:!1,id:\"cursorHome\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),J.CursorHomeSelect=O0(new G({inSelectionMode:!0,id:\"cursorHomeSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));class U extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,this._exec(_.getCursorStates())),_.revealAllCursors(A.source,!0)}_exec(_){let A=[];for(let O=0,D=_.length;O<D;O++){let R=_[O],N=R.modelState.position.lineNumber;A[O]=l0.fromModelState(R.modelState.move(this._inSelectionMode,N,1,0))}return A}}J.CursorLineStart=O0(new U({inSelectionMode:!1,id:\"cursorLineStart\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:0,mac:{primary:287}}})),J.CursorLineStartSelect=O0(new U({inSelectionMode:!0,id:\"cursorLineStartSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:0,mac:{primary:1311}}}));class H extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,_8.moveToEndOfLine(_,_.getCursorStates(),this._inSelectionMode,A.sticky||!1)),_.revealAllCursors(A.source,!0)}}J.CursorEnd=O0(new H({inSelectionMode:!1,id:\"cursorEnd\",precondition:void 0,kbOpts:{args:{sticky:!1},weight:A1,kbExpr:g.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},metadata:{description:\"Go to End\",args:[{name:\"args\",schema:{type:\"object\",properties:{sticky:{description:F(70,\"Stick to the end even when going to longer lines\"),type:\"boolean\",default:!1}}}}]}})),J.CursorEndSelect=O0(new H({inSelectionMode:!0,id:\"cursorEndSelect\",precondition:void 0,kbOpts:{args:{sticky:!1},weight:A1,kbExpr:g.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},metadata:{description:\"Select to End\",args:[{name:\"args\",schema:{type:\"object\",properties:{sticky:{description:F(71,\"Stick to the end even when going to longer lines\"),type:\"boolean\",default:!1}}}}]}}));class V extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,this._exec(_,_.getCursorStates())),_.revealAllCursors(A.source,!0)}_exec(_,A){let O=[];for(let D=0,R=A.length;D<R;D++){let N=A[D],w=N.modelState.position.lineNumber,k=_.model.getLineMaxColumn(w);O[D]=l0.fromModelState(N.modelState.move(this._inSelectionMode,w,k,0))}return O}}J.CursorLineEnd=O0(new V({inSelectionMode:!1,id:\"cursorLineEnd\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:0,mac:{primary:291}}})),J.CursorLineEndSelect=O0(new V({inSelectionMode:!0,id:\"cursorLineEndSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:0,mac:{primary:1315}}}));class K extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,_8.moveToBeginningOfBuffer(_,_.getCursorStates(),this._inSelectionMode)),_.revealAllCursors(A.source,!0)}}J.CursorTop=O0(new K({inSelectionMode:!1,id:\"cursorTop\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:2062,mac:{primary:2064}}})),J.CursorTopSelect=O0(new K({inSelectionMode:!0,id:\"cursorTopSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3086,mac:{primary:3088}}}));class j extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,_8.moveToEndOfBuffer(_,_.getCursorStates(),this._inSelectionMode)),_.revealAllCursors(A.source,!0)}}J.CursorBottom=O0(new j({inSelectionMode:!1,id:\"cursorBottom\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:2061,mac:{primary:2066}}})),J.CursorBottomSelect=O0(new j({inSelectionMode:!0,id:\"cursorBottomSelect\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:3085,mac:{primary:3090}}}));class W extends h6{constructor(){super({id:\"editorScroll\",precondition:void 0,metadata:E5.metadata})}determineScrollMethod(_){let A=[6],O=[1,2,3,4,5],D=[4,2],R=[1,3];if(A.includes(_.unit)&&D.includes(_.direction))return this._runHorizontalEditorScroll.bind(this);if(O.includes(_.unit)&&R.includes(_.direction))return this._runVerticalEditorScroll.bind(this);return null}runCoreEditorCommand(_,A){let O=E5.parse(A);if(!O)return;let D=this.determineScrollMethod(O);if(!D)return;D(_,A.source,O)}_runVerticalEditorScroll(_,A,O){let D=this._computeDesiredScrollTop(_,O);if(O.revealCursor){let R=_.getCompletelyVisibleViewRangeAtScrollTop(D),N=_.getViewRangeWithCursorPadding(R);_.setCursorStates(A,3,[_8.findPositionInViewportIfOutside(_,_.getPrimaryCursorState(),N,O.select)])}_.viewLayout.setScrollPosition({scrollTop:D},0)}_computeDesiredScrollTop(_,A){if(A.unit===1){let R=_.viewLayout.getFutureViewport(),N=_.getCompletelyVisibleViewRangeAtScrollTop(R.top),w=_.coordinatesConverter.convertViewRangeToModelRange(N),k;if(A.direction===1)k=Math.max(1,w.startLineNumber-A.value);else k=Math.min(_.model.getLineCount(),w.startLineNumber+A.value);let I=_.coordinatesConverter.convertModelPositionToViewPosition(new C(k,1));return _.viewLayout.getVerticalOffsetForLineNumber(I.lineNumber)}if(A.unit===5){let R=0;if(A.direction===3)R=_.model.getLineCount()-_.cursorConfig.pageSize;return _.viewLayout.getVerticalOffsetForLineNumber(R)}let O;if(A.unit===3)O=_.cursorConfig.pageSize*A.value;else if(A.unit===4)O=Math.round(_.cursorConfig.pageSize/2)*A.value;else O=A.value;let D=(A.direction===1?-1:1)*O;return _.viewLayout.getCurrentScrollTop()+D*_.cursorConfig.lineHeight}_runHorizontalEditorScroll(_,A,O){let D=this._computeDesiredScrollLeft(_,O);_.viewLayout.setScrollPosition({scrollLeft:D},0)}_computeDesiredScrollLeft(_,A){let O=(A.direction===4?-1:1)*A.value;return _.viewLayout.getCurrentScrollLeft()+O*_.cursorConfig.typicalHalfwidthCharacterWidth}}J.EditorScrollImpl=W,J.EditorScroll=O0(new W),J.ScrollLineUp=O0(new class extends h6{constructor(){super({id:\"scrollLineUp\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Up,by:E5.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:A.source})}}),J.ScrollPageUp=O0(new class extends h6{constructor(){super({id:\"scrollPageUp\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Up,by:E5.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:A.source})}}),J.ScrollEditorTop=O0(new class extends h6{constructor(){super({id:\"scrollEditorTop\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Up,by:E5.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:A.source})}}),J.ScrollLineDown=O0(new class extends h6{constructor(){super({id:\"scrollLineDown\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Down,by:E5.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:A.source})}}),J.ScrollPageDown=O0(new class extends h6{constructor(){super({id:\"scrollPageDown\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Down,by:E5.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:A.source})}}),J.ScrollEditorBottom=O0(new class extends h6{constructor(){super({id:\"scrollEditorBottom\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Down,by:E5.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:A.source})}}),J.ScrollLeft=O0(new class extends h6{constructor(){super({id:\"scrollLeft\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Left,by:E5.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:A.source})}}),J.ScrollRight=O0(new class extends h6{constructor(){super({id:\"scrollRight\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus}})}runCoreEditorCommand(_,A){J.EditorScroll.runCoreEditorCommand(_,{to:E5.RawDirection.Right,by:E5.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:A.source})}});class z extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){if(!A.position)return;if(_.model.pushStackElement(),_.setCursorStates(A.source,3,[_8.word(_,_.getPrimaryCursorState(),this._inSelectionMode,A.position)]),A.revealType!==2)_.revealAllCursors(A.source,!0,!0)}}J.WordSelect=O0(new z({inSelectionMode:!1,id:\"_wordSelect\",precondition:void 0})),J.WordSelectDrag=O0(new z({inSelectionMode:!0,id:\"_wordSelectDrag\",precondition:void 0})),J.LastCursorWordSelect=O0(new class extends h6{constructor(){super({id:\"lastCursorWordSelect\",precondition:void 0})}runCoreEditorCommand(_,A){if(!A.position)return;let O=_.getLastAddedCursorIndex(),D=_.getCursorStates(),R=D.slice(0),N=D[O];R[O]=_8.word(_,N,N.modelState.hasSelection(),A.position),_.model.pushStackElement(),_.setCursorStates(A.source,3,R)}});class B extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){if(!A.position)return;if(_.model.pushStackElement(),_.setCursorStates(A.source,3,[_8.line(_,_.getPrimaryCursorState(),this._inSelectionMode,A.position,A.viewPosition)]),A.revealType!==2)_.revealAllCursors(A.source,!1,!0)}}J.LineSelect=O0(new B({inSelectionMode:!1,id:\"_lineSelect\",precondition:void 0})),J.LineSelectDrag=O0(new B({inSelectionMode:!0,id:\"_lineSelectDrag\",precondition:void 0}));class P extends h6{constructor(_){super(_);this._inSelectionMode=_.inSelectionMode}runCoreEditorCommand(_,A){if(!A.position)return;let O=_.getLastAddedCursorIndex(),D=_.getCursorStates(),R=D.slice(0);R[O]=_8.line(_,D[O],this._inSelectionMode,A.position,A.viewPosition),_.model.pushStackElement(),_.setCursorStates(A.source,3,R)}}J.LastCursorLineSelect=O0(new P({inSelectionMode:!1,id:\"lastCursorLineSelect\",precondition:void 0})),J.LastCursorLineSelectDrag=O0(new P({inSelectionMode:!0,id:\"lastCursorLineSelectDrag\",precondition:void 0})),J.CancelSelection=O0(new class extends h6{constructor(){super({id:\"cancelSelection\",precondition:g.hasNonEmptySelection,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,[_8.cancelSelection(_,_.getPrimaryCursorState())]),_.revealAllCursors(A.source,!0)}}),J.RemoveSecondaryCursors=O0(new class extends h6{constructor(){super({id:\"removeSecondaryCursors\",precondition:g.hasMultipleSelections,kbOpts:{weight:A1+1,kbExpr:g.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(A.source,3,[_.getPrimaryCursorState()]),_.revealAllCursors(A.source,!0),MQ(F(72,\"Removed secondary cursors\"))}}),J.RevealLine=O0(new class extends h6{constructor(){super({id:\"revealLine\",precondition:void 0,metadata:rV.metadata})}runCoreEditorCommand(_,A){let O=A,D=O.lineNumber||0,R=typeof D===\"number\"?D+1:parseInt(D)+1;if(R<1)R=1;let N=_.model.getLineCount();if(R>N)R=N;let w=new T(R,1,R,_.model.getLineMaxColumn(R)),k=0;if(O.at)switch(O.at){case rV.RawAtArgument.Top:k=3;break;case rV.RawAtArgument.Center:k=1;break;case rV.RawAtArgument.Bottom:k=4;break}let I=_.coordinatesConverter.convertModelRangeToViewRange(w);_.revealRange(A.source,!1,I,k,0)}}),J.SelectAll=new class extends gR{constructor(){super(Le)}runDOMCommand(_){if(C6)_.focus(),_.select();_.ownerDocument.execCommand(\"selectAll\")}runEditorCommand(_,A,O){let D=A._getViewModel();if(!D)return;this.runCoreEditorCommand(D,O)}runCoreEditorCommand(_,A){_.model.pushStackElement(),_.setCursorStates(\"keyboard\",3,[_8.selectAll(_,_.getPrimaryCursorState())])}},J.SetSelection=O0(new class extends h6{constructor(){super({id:\"setSelection\",precondition:void 0})}runCoreEditorCommand(_,A){if(!A.selection)return;_.model.pushStackElement(),_.setCursorStates(A.source,3,[l0.fromModelSelection(A.selection)])}})})(y8||(y8={}));var QF0=P0.and(g.textInputFocus,g.columnSelection);function oV(J,X){p5.registerKeybindingRule({id:J,primary:X,when:QF0,weight:A1+1})}oV(y8.CursorColumnSelectLeft.id,1039);oV(y8.CursorColumnSelectRight.id,1041);oV(y8.CursorColumnSelectUp.id,1040);oV(y8.CursorColumnSelectPageUp.id,1035);oV(y8.CursorColumnSelectDown.id,1042);oV(y8.CursorColumnSelectPageDown.id,1036);function X50(J){return J.register(),J}var pR;(function(J){class X extends H7{runEditorCommand(Y,Z,Q){let $=Z._getViewModel();if(!$)return;this.runCoreEditingCommand(Z,$,Q||{})}}J.CoreEditingCommand=X,J.LineBreakInsert=O0(new class extends X{constructor(){super({id:\"lineBreakInsert\",precondition:g.writable,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(Y,Z,Q){Y.pushUndoStop(),Y.executeCommands(this.id,C2.lineBreakInsert(Z.cursorConfig,Z.model,Z.getCursorStates().map(($)=>$.modelState.selection)))}}),J.Outdent=O0(new class extends X{constructor(){super({id:\"outdent\",precondition:g.writable,kbOpts:{weight:A1,kbExpr:P0.and(g.editorTextFocus,g.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(Y,Z,Q){Y.pushUndoStop(),Y.executeCommands(this.id,cJ.outdent(Z.cursorConfig,Z.model,Z.getCursorStates().map(($)=>$.modelState.selection))),Y.pushUndoStop()}}),J.Tab=O0(new class extends X{constructor(){super({id:\"tab\",precondition:g.writable,kbOpts:{weight:A1,kbExpr:P0.and(g.editorTextFocus,g.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(Y,Z,Q){Y.pushUndoStop(),Y.executeCommands(this.id,cJ.tab(Z.cursorConfig,Z.model,Z.getCursorStates().map(($)=>$.modelState.selection))),Y.pushUndoStop()}}),J.DeleteLeft=O0(new class extends X{constructor(){super({id:\"deleteLeft\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(Y,Z,Q){let[$,q]=hY.deleteLeft(Z.getPrevEditOperationType(),Z.cursorConfig,Z.model,Z.getCursorStates().map((G)=>G.modelState.selection),Z.getCursorAutoClosedCharacters());if($)Y.pushUndoStop();Y.executeCommands(this.id,q),Z.setPrevEditOperationType(2)}}),J.DeleteRight=O0(new class extends X{constructor(){super({id:\"deleteRight\",precondition:void 0,kbOpts:{weight:A1,kbExpr:g.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(Y,Z,Q){let[$,q]=hY.deleteRight(Z.getPrevEditOperationType(),Z.cursorConfig,Z.model,Z.getCursorStates().map((G)=>G.modelState.selection));if($)Y.pushUndoStop();Y.executeCommands(this.id,q),Z.setPrevEditOperationType(3)}}),J.Undo=new class extends gR{constructor(){super(zb)}runDOMCommand(Y){Y.ownerDocument.execCommand(\"undo\")}runEditorCommand(Y,Z,Q){if(!Z.hasModel()||Z.getOption(104)===!0)return;return Z.getModel().undo()}},J.Redo=new class extends gR{constructor(){super(Fb)}runDOMCommand(Y){Y.ownerDocument.execCommand(\"redo\")}runEditorCommand(Y,Z,Q){if(!Z.hasModel()||Z.getOption(104)===!0)return;return Z.getModel().redo()}}})(pR||(pR={}));class hS extends GV{constructor(J,X,Y){super({id:J,precondition:void 0,metadata:Y});this._handlerId=X}runCommand(J,X){let Y=J.get(l1).getFocusedCodeEditor();if(!Y)return;Y.trigger(\"keyboard\",this._handlerId,X)}}function TG(J,X){X50(new hS(\"default:\"+J,J)),X50(new hS(J,J,X))}TG(\"type\",{description:\"Type\",args:[{name:\"args\",schema:{type:\"object\",required:[\"text\"],properties:{text:{type:\"string\"}}}}]});TG(\"replacePreviousChar\");TG(\"compositionType\");TG(\"compositionStart\");TG(\"compositionEnd\");TG(\"paste\");TG(\"cut\");class dF{constructor(J,X,Y,Z){this.configuration=J,this.viewModel=X,this.userInputEvents=Y,this.commandDelegate=Z}paste(J,X,Y,Z){this.commandDelegate.paste(J,X,Y,Z)}type(J){this.commandDelegate.type(J)}compositionType(J,X,Y,Z){this.commandDelegate.compositionType(J,X,Y,Z)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(J){y8.SetSelection.runCoreEditorCommand(this.viewModel,{source:\"keyboard\",selection:J})}_validateViewColumn(J){let X=this.viewModel.getLineMinColumn(J.lineNumber);if(J.column<X)return new C(J.lineNumber,X);return J}_hasMulticursorModifier(J){switch(this.configuration.options.get(86)){case\"altKey\":return J.altKey;case\"ctrlKey\":return J.ctrlKey;case\"metaKey\":return J.metaKey;default:return!1}}_hasNonMulticursorModifier(J){switch(this.configuration.options.get(86)){case\"altKey\":return J.ctrlKey||J.metaKey;case\"ctrlKey\":return J.altKey||J.metaKey;case\"metaKey\":return J.ctrlKey||J.altKey;default:return!1}}static _trySelectBracketContent(J,X){if(X.column>1){let Y=J.bracketPairs.matchBracket(X.with(void 0,X.column-1));if(Y&&Y[0].getEndPosition().equals(X))return Y0.fromPositions(Y[0].getEndPosition(),Y[1].getStartPosition())}if(X.column<=J.getLineMaxColumn(X.lineNumber)){let Y=J.bracketPairs.matchBracket(X);if(Y&&Y[1].getStartPosition().equals(X))return Y0.fromPositions(Y[0].getEndPosition(),Y[1].getStartPosition())}return}static _trySelectStringContent(J,X){let{lineNumber:Y,column:Z}=X,{tokenization:Q}=J;if(!Q.hasAccurateTokensForLine(Y))if(Q.isCheapToTokenize(Y))Q.forceTokenization(Y);else return;let $=Q.getLineTokens(Y),q=$.findTokenIndexAtOffset(Z-1),G=q;while(q>0&&$.getStandardTokenType(q-1)===2)q--;while(G+1<$.getCount()&&$.getStandardTokenType(G+1)===2)G++;let U=$.getStartOffset(q),H=$.getEndOffset(G);if(Z!==U+2&&Z!==H)return;let V=J.getLineContent(Y),K=V.charAt(U);if(K!=='\"'&&K!==\"'\"&&K!==\"`\")return;if(V.charAt(H-1)!==K)return;let j=V.substring(U+1,H-1);if(_X(j))return;return new Y0(Y,U+2,Y,H)}dispatchMouse(J){let X=this.configuration.options,Y=y6&&X.get(121),Z=X.get(28),Q=X.get(171);if(J.middleButton&&!Y)if(Q);else this._columnSelect(J.position,J.mouseColumn,J.inSelectionMode);else if(J.startedOnLineNumbers)if(this._hasMulticursorModifier(J))if(J.inSelectionMode)this._lastCursorLineSelect(J.position,J.revealType);else this._createCursor(J.position,!0);else if(J.inSelectionMode)this._lineSelectDrag(J.position,J.revealType);else this._lineSelect(J.position,J.revealType);else if(J.mouseDownCount>=4)this._selectAll();else if(J.mouseDownCount===3)if(this._hasMulticursorModifier(J))if(J.inSelectionMode)this._lastCursorLineSelectDrag(J.position,J.revealType);else this._lastCursorLineSelect(J.position,J.revealType);else if(J.inSelectionMode)this._lineSelectDrag(J.position,J.revealType);else this._lineSelect(J.position,J.revealType);else if(J.mouseDownCount===2){if(!J.onInjectedText)if(this._hasMulticursorModifier(J))this._lastCursorWordSelect(J.position,J.revealType);else if(J.inSelectionMode)this._wordSelectDrag(J.position,J.revealType);else{let $;if(X.get(173)){let q=this.viewModel.model,G=this._convertViewToModelPosition(J.position);$=dF._trySelectBracketContent(q,G)||dF._trySelectStringContent(q,G)}if($)this._select($);else this._wordSelect(J.position,J.revealType)}}else if(this._hasMulticursorModifier(J)){if(!this._hasNonMulticursorModifier(J))if(J.shiftKey)this._columnSelect(J.position,J.mouseColumn,!0);else if(J.inSelectionMode)this._lastCursorMoveToSelect(J.position,J.revealType);else this._createCursor(J.position,!1)}else if(J.inSelectionMode)if(J.altKey)this._columnSelect(J.position,J.mouseColumn,!0);else if(Z)this._columnSelect(J.position,J.mouseColumn,!0);else this._moveToSelect(J.position,J.revealType);else this.moveTo(J.position,J.revealType)}_usualArgs(J,X){return J=this._validateViewColumn(J),{source:\"mouse\",position:this._convertViewToModelPosition(J),viewPosition:J,revealType:X}}moveTo(J,X){y8.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_moveToSelect(J,X){y8.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_columnSelect(J,X,Y){J=this._validateViewColumn(J),y8.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:\"mouse\",position:this._convertViewToModelPosition(J),viewPosition:J,mouseColumn:X,doColumnSelect:Y})}_createCursor(J,X){J=this._validateViewColumn(J),y8.CreateCursor.runCoreEditorCommand(this.viewModel,{source:\"mouse\",position:this._convertViewToModelPosition(J),viewPosition:J,wholeLine:X})}_lastCursorMoveToSelect(J,X){y8.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_wordSelect(J,X){y8.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_wordSelectDrag(J,X){y8.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_lastCursorWordSelect(J,X){y8.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_lineSelect(J,X){y8.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_lineSelectDrag(J,X){y8.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_lastCursorLineSelect(J,X){y8.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_lastCursorLineSelectDrag(J,X){y8.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(J,X))}_select(J){y8.SetSelection.runCoreEditorCommand(this.viewModel,{source:\"mouse\",selection:J})}_selectAll(){y8.SelectAll.runCoreEditorCommand(this.viewModel,{source:\"mouse\"})}_convertViewToModelPosition(J){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(J)}emitKeyDown(J){this.userInputEvents.emitKeyDown(J)}emitKeyUp(J){this.userInputEvents.emitKeyUp(J)}emitContextMenu(J){this.userInputEvents.emitContextMenu(J)}emitMouseMove(J){this.userInputEvents.emitMouseMove(J)}emitMouseLeave(J){this.userInputEvents.emitMouseLeave(J)}emitMouseUp(J){this.userInputEvents.emitMouseUp(J)}emitMouseDown(J){this.userInputEvents.emitMouseDown(J)}emitMouseDrag(J){this.userInputEvents.emitMouseDrag(J)}emitMouseDrop(J){this.userInputEvents.emitMouseDrop(J)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(J){this.userInputEvents.emitMouseWheel(J)}}class mR{constructor(J){this._lineFactory=J,this._set(1,[])}flush(){this._set(1,[])}_set(J,X){this._lines=X,this._rendLineNumberStart=J}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(J){let X=J-this._rendLineNumberStart;if(X<0||X>=this._lines.length)throw new j0(\"Illegal value for lineNumber\");return this._lines[X]}onLinesDeleted(J,X){if(this.getCount()===0)return null;let Y=this.getStartLineNumber(),Z=this.getEndLineNumber();if(X<Y){let G=X-J+1;return this._rendLineNumberStart-=G,null}if(J>Z)return null;let Q=0,$=0;for(let G=Y;G<=Z;G++){let U=G-this._rendLineNumberStart;if(J<=G&&G<=X)if($===0)Q=U,$=1;else $++}if(J<Y){let G=0;if(X<Y)G=X-J+1;else G=Y-J;this._rendLineNumberStart-=G}return this._lines.splice(Q,$)}onLinesChanged(J,X){let Y=J+X-1;if(this.getCount()===0)return!1;let Z=this.getStartLineNumber(),Q=this.getEndLineNumber(),$=!1;for(let q=J;q<=Y;q++)if(q>=Z&&q<=Q)this._lines[q-this._rendLineNumberStart].onContentChanged(),$=!0;return $}onLinesInserted(J,X){if(this.getCount()===0)return null;let Y=X-J+1,Z=this.getStartLineNumber(),Q=this.getEndLineNumber();if(J<=Z)return this._rendLineNumberStart+=Y,null;if(J>Q)return null;if(Y+J>Q)return this._lines.splice(J-this._rendLineNumberStart,Q-J+1);let $=[];for(let V=0;V<Y;V++)$[V]=this._lineFactory.createLine();let q=J-this._rendLineNumberStart,G=this._lines.slice(0,q),U=this._lines.slice(q,this._lines.length-Y),H=this._lines.slice(this._lines.length-Y,this._lines.length);return this._lines=G.concat($).concat(U),H}onTokensChanged(J){if(this.getCount()===0)return!1;let X=this.getStartLineNumber(),Y=this.getEndLineNumber(),Z=!1;for(let Q=0,$=J.length;Q<$;Q++){let q=J[Q];if(q.toLineNumber<X||q.fromLineNumber>Y)continue;let G=Math.max(X,q.fromLineNumber),U=Math.min(Y,q.toLineNumber);for(let H=G;H<=U;H++){let V=H-this._rendLineNumberStart;this._lines[V].onTokensChanged(),Z=!0}}return Z}}class lF{constructor(J,X){this._viewContext=J,this._lineFactory=X,this.domNode=this._createDomNode(),this._linesCollection=new mR(this._lineFactory)}_createDomNode(){let J=p0(document.createElement(\"div\"));return J.setClassName(\"view-layer\"),J.setPosition(\"absolute\"),J.domNode.setAttribute(\"role\",\"presentation\"),J.domNode.setAttribute(\"aria-hidden\",\"true\"),J}onConfigurationChanged(J){if(J.hasChanged(165))return!0;return!1}onFlushed(J,X){if(X){let Y=this._linesCollection.getStartLineNumber(),Z=this._linesCollection.getEndLineNumber();for(let Q=Y;Q<=Z;Q++)this._linesCollection.getLine(Q).getDomNode()?.remove()}return this._linesCollection.flush(),!0}onLinesChanged(J){return this._linesCollection.onLinesChanged(J.fromLineNumber,J.count)}onLinesDeleted(J){let X=this._linesCollection.onLinesDeleted(J.fromLineNumber,J.toLineNumber);if(X)for(let Y=0,Z=X.length;Y<Z;Y++)X[Y].getDomNode()?.remove();return!0}onLinesInserted(J){let X=this._linesCollection.onLinesInserted(J.fromLineNumber,J.toLineNumber);if(X)for(let Y=0,Z=X.length;Y<Z;Y++)X[Y].getDomNode()?.remove();return!0}onScrollChanged(J){return J.scrollTopChanged}onTokensChanged(J){return this._linesCollection.onTokensChanged(J.ranges)}onZonesChanged(J){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(J){return this._linesCollection.getLine(J)}renderLines(J){let X=this._linesCollection._get(),Y=new LG(this.domNode.domNode,this._lineFactory,J,this._viewContext),Z={rendLineNumberStart:X.rendLineNumberStart,lines:X.lines,linesLength:X.lines.length},Q=Y.render(Z,J.startLineNumber,J.endLineNumber,J.relativeVerticalOffset);this._linesCollection._set(Q.rendLineNumberStart,Q.lines)}}class LG{static{this._ttPolicy=q4(\"editorViewLayer\",{createHTML:(J)=>J})}constructor(J,X,Y,Z){this._domNode=J,this._lineFactory=X,this._viewportData=Y,this._viewContext=Z}render(J,X,Y,Z){let Q={rendLineNumberStart:J.rendLineNumberStart,lines:J.lines.slice(0),linesLength:J.linesLength};if(Q.rendLineNumberStart+Q.linesLength-1<X||Y<Q.rendLineNumberStart){Q.rendLineNumberStart=X,Q.linesLength=Y-X+1,Q.lines=[];for(let $=X;$<=Y;$++)Q.lines[$-X]=this._lineFactory.createLine();return this._finishRendering(Q,!0,Z),Q}if(this._renderUntouchedLines(Q,Math.max(X-Q.rendLineNumberStart,0),Math.min(Y-Q.rendLineNumberStart,Q.linesLength-1),Z,X),Q.rendLineNumberStart>X){let $=X,q=Math.min(Y,Q.rendLineNumberStart-1);if($<=q)this._insertLinesBefore(Q,$,q,Z,X),Q.linesLength+=q-$+1}else if(Q.rendLineNumberStart<X){let $=Math.min(Q.linesLength,X-Q.rendLineNumberStart);if($>0)this._removeLinesBefore(Q,$),Q.linesLength-=$}if(Q.rendLineNumberStart=X,Q.rendLineNumberStart+Q.linesLength-1<Y){let $=Q.rendLineNumberStart+Q.linesLength,q=Y;if($<=q)this._insertLinesAfter(Q,$,q,Z,X),Q.linesLength+=q-$+1}else if(Q.rendLineNumberStart+Q.linesLength-1>Y){let $=Math.max(0,Y-Q.rendLineNumberStart+1),G=Q.linesLength-1-$+1;if(G>0)this._removeLinesAfter(Q,G),Q.linesLength-=G}return this._finishRendering(Q,!1,Z),Q}_renderUntouchedLines(J,X,Y,Z,Q){let{rendLineNumberStart:$,lines:q}=J;for(let G=X;G<=Y;G++){let U=$+G;q[G].layoutLine(U,Z[U-Q],this._lineHeightForLineNumber(U))}}_insertLinesBefore(J,X,Y,Z,Q){let $=[],q=0;for(let G=X;G<=Y;G++)$[q++]=this._lineFactory.createLine();J.lines=$.concat(J.lines)}_removeLinesBefore(J,X){for(let Y=0;Y<X;Y++)J.lines[Y].getDomNode()?.remove();J.lines.splice(0,X)}_insertLinesAfter(J,X,Y,Z,Q){let $=[],q=0;for(let G=X;G<=Y;G++)$[q++]=this._lineFactory.createLine();J.lines=J.lines.concat($)}_removeLinesAfter(J,X){let Y=J.linesLength-X;for(let Z=0;Z<X;Z++)J.lines[Y+Z].getDomNode()?.remove();J.lines.splice(Y,X)}_finishRenderingNewLines(J,X,Y,Z){if(LG._ttPolicy)Y=LG._ttPolicy.createHTML(Y);let Q=this._domNode.lastChild;if(X||!Q)this._domNode.innerHTML=Y;else Q.insertAdjacentHTML(\"afterend\",Y);let $=this._domNode.lastChild;for(let q=J.linesLength-1;q>=0;q--){let G=J.lines[q];if(Z[q])G.setDomNode($),$=$.previousSibling}}_finishRenderingInvalidLines(J,X,Y){let Z=document.createElement(\"div\");if(LG._ttPolicy)X=LG._ttPolicy.createHTML(X);Z.innerHTML=X;for(let Q=0;Q<J.linesLength;Q++){let $=J.lines[Q];if(Y[Q]){let q=Z.firstChild;$.getDomNode().replaceWith(q),$.setDomNode(q)}}}static{this._sb=new h9(1e5)}_finishRendering(J,X,Y){let Z=LG._sb,Q=J.linesLength,$=J.lines,q=J.rendLineNumberStart,G=[];{Z.reset();let U=!1;for(let H=0;H<Q;H++){let V=$[H];if(G[H]=!1,V.getDomNode())continue;let j=H+q;if(!V.renderLine(j,Y[H],this._lineHeightForLineNumber(j),this._viewportData,Z))continue;G[H]=!0,U=!0}if(U)this._finishRenderingNewLines(J,X,Z.build(),G)}{Z.reset();let U=!1,H=[];for(let V=0;V<Q;V++){let K=$[V];if(H[V]=!1,G[V])continue;let j=V+q;if(!K.renderLine(j,Y[V],this._lineHeightForLineNumber(j),this._viewportData,Z))continue;H[V]=!0,U=!0}if(U)this._finishRenderingInvalidLines(J,Z.build(),H)}}_lineHeightForLineNumber(J){return this._viewContext.viewLayout.getLineHeightForLineNumber(J)}}class vS extends e1{constructor(J){super(J);this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new lF(this._context,{createLine:()=>new Y50(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;let Y=this._context.configuration.options.get(59);B6(this.domNode,Y),this.domNode.setClassName(\"view-overlays\")}shouldRender(){if(super.shouldRender())return!0;for(let J=0,X=this._dynamicOverlays.length;J<X;J++)if(this._dynamicOverlays[J].shouldRender())return!0;return!1}dispose(){super.dispose();for(let J=0,X=this._dynamicOverlays.length;J<X;J++)this._dynamicOverlays[J].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}addDynamicOverlay(J){this._dynamicOverlays.push(J)}onConfigurationChanged(J){this._visibleLines.onConfigurationChanged(J);let Y=this._context.configuration.options.get(59);return B6(this.domNode,Y),!0}onFlushed(J){return this._visibleLines.onFlushed(J)}onFocusChanged(J){return this._isFocused=J.isFocused,!0}onLinesChanged(J){return this._visibleLines.onLinesChanged(J)}onLinesDeleted(J){return this._visibleLines.onLinesDeleted(J)}onLinesInserted(J){return this._visibleLines.onLinesInserted(J)}onScrollChanged(J){return this._visibleLines.onScrollChanged(J)||!0}onTokensChanged(J){return this._visibleLines.onTokensChanged(J)}onZonesChanged(J){return this._visibleLines.onZonesChanged(J)}prepareRender(J){let X=this._dynamicOverlays.filter((Y)=>Y.shouldRender());for(let Y=0,Z=X.length;Y<Z;Y++){let Q=X[Y];Q.prepareRender(J),Q.onDidRender()}}render(J){this._viewOverlaysRender(J),this.domNode.toggleClassName(\"focused\",this._isFocused)}_viewOverlaysRender(J){this._visibleLines.renderLines(J.viewportData)}}class Y50{constructor(J){this._dynamicOverlays=J,this._domNode=null,this._renderedContent=null}getDomNode(){if(!this._domNode)return null;return this._domNode.domNode}setDomNode(J){this._domNode=p0(J)}onContentChanged(){}onTokensChanged(){}renderLine(J,X,Y,Z,Q){let $=\"\";for(let q=0,G=this._dynamicOverlays.length;q<G;q++){let U=this._dynamicOverlays[q];$+=U.render(Z.startLineNumber,J)}if(this._renderedContent===$)return!1;return this._renderedContent=$,Q.appendString('<div style=\"top:'),Q.appendString(String(X)),Q.appendString(\"px;height:\"),Q.appendString(String(Y)),Q.appendString(\"px;line-height:\"),Q.appendString(String(Y)),Q.appendString('px;\">'),Q.appendString($),Q.appendString(\"</div>\"),!0}layoutLine(J,X,Y){if(this._domNode)this._domNode.setTop(X),this._domNode.setHeight(Y),this._domNode.setLineHeight(Y)}}class gS extends vS{constructor(J){super(J);let Y=this._context.configuration.options.get(165);this._contentWidth=Y.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(J){let Y=this._context.configuration.options.get(165);return this._contentWidth=Y.contentWidth,super.onConfigurationChanged(J)||!0}onScrollChanged(J){return super.onScrollChanged(J)||J.scrollWidthChanged}_viewOverlaysRender(J){super._viewOverlaysRender(J),this.domNode.setWidth(Math.max(J.scrollWidth,this._contentWidth))}}class pS extends vS{constructor(J){super(J);let X=this._context.configuration.options,Y=X.get(165);this._contentLeft=Y.contentLeft,this.domNode.setClassName(\"margin-view-overlays\"),this.domNode.setWidth(1),B6(this.domNode,X.get(59))}onConfigurationChanged(J){let X=this._context.configuration.options;B6(this.domNode,X.get(59));let Y=X.get(165);return this._contentLeft=Y.contentLeft,super.onConfigurationChanged(J)||!0}onScrollChanged(J){return super.onScrollChanged(J)||J.scrollHeightChanged}_viewOverlaysRender(J){super._viewOverlaysRender(J);let X=Math.min(J.scrollHeight,1e6);this.domNode.setHeight(X),this.domNode.setWidth(this._contentLeft)}}class nV{constructor(J){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=J}emitKeyDown(J){this.onKeyDown?.(J)}emitKeyUp(J){this.onKeyUp?.(J)}emitContextMenu(J){this.onContextMenu?.(this._convertViewToModelMouseEvent(J))}emitMouseMove(J){this.onMouseMove?.(this._convertViewToModelMouseEvent(J))}emitMouseLeave(J){this.onMouseLeave?.(this._convertViewToModelMouseEvent(J))}emitMouseDown(J){this.onMouseDown?.(this._convertViewToModelMouseEvent(J))}emitMouseUp(J){this.onMouseUp?.(this._convertViewToModelMouseEvent(J))}emitMouseDrag(J){this.onMouseDrag?.(this._convertViewToModelMouseEvent(J))}emitMouseDrop(J){this.onMouseDrop?.(this._convertViewToModelMouseEvent(J))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(J){this.onMouseWheel?.(J)}_convertViewToModelMouseEvent(J){if(J.target)return{event:J.event,target:this._convertViewToModelMouseTarget(J.target)};return J}_convertViewToModelMouseTarget(J){return nV.convertViewToModelMouseTarget(J,this._coordinatesConverter)}static convertViewToModelMouseTarget(J,X){let Y={...J};if(Y.position)Y.position=X.convertViewPositionToModelPosition(Y.position);if(Y.range)Y.range=X.convertViewRangeToModelRange(Y.range);if(Y.type===5||Y.type===8)Y.detail=this.convertViewToModelViewZoneData(Y.detail,X);return Y}static convertViewToModelViewZoneData(J,X){return{viewZoneId:J.viewZoneId,positionBefore:J.positionBefore?X.convertViewPositionToModelPosition(J.positionBefore):J.positionBefore,positionAfter:J.positionAfter?X.convertViewPositionToModelPosition(J.positionAfter):J.positionAfter,position:X.convertViewPositionToModelPosition(J.position),afterLineNumber:X.convertViewPositionToModelPosition(new C(J.afterLineNumber,1)).lineNumber}}}class mS extends e1{constructor(J){super(J);this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=p0(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.domNode.setClassName(\"blockDecorations-container\"),this.update()}update(){let J=!1,Y=this._context.configuration.options.get(165),Z=Y.contentWidth-Y.verticalScrollbarWidth;if(this.contentWidth!==Z)this.contentWidth=Z,J=!0;let Q=Y.contentLeft;if(this.contentLeft!==Q)this.contentLeft=Q,J=!0;return J}onConfigurationChanged(J){return this.update()}onScrollChanged(J){return J.scrollTopChanged||J.scrollLeftChanged}onDecorationsChanged(J){return!0}onZonesChanged(J){return!0}prepareRender(J){}render(J){let X=0,Y=J.getDecorationsInViewport();for(let Z of Y){if(!Z.options.blockClassName)continue;let Q=this.blocks[X];if(!Q)Q=this.blocks[X]=p0(document.createElement(\"div\")),this.domNode.appendChild(Q);let $,q;if(Z.options.blockIsAfterEnd)$=J.getVerticalOffsetAfterLineNumber(Z.range.endLineNumber,!1),q=J.getVerticalOffsetAfterLineNumber(Z.range.endLineNumber,!0);else $=J.getVerticalOffsetForLineNumber(Z.range.startLineNumber,!0),q=Z.range.isEmpty()&&!Z.options.blockDoesNotCollapse?J.getVerticalOffsetForLineNumber(Z.range.startLineNumber,!1):J.getVerticalOffsetAfterLineNumber(Z.range.endLineNumber,!0);let[G,U,H,V]=Z.options.blockPadding??[0,0,0,0];Q.setClassName(\"blockDecorations-block \"+Z.options.blockClassName),Q.setLeft(this.contentLeft-V),Q.setWidth(this.contentWidth+V+U),Q.setTop($-J.scrollTop-G),Q.setHeight(q-$+G+H),X++}for(let Z=X;Z<this.blocks.length;Z++)this.blocks[Z].domNode.remove();this.blocks.length=X}}class dS extends e1{constructor(J,X){super(J);this._viewDomNode=X,this._widgets={},this.domNode=p0(document.createElement(\"div\")),k5.write(this.domNode,1),this.domNode.setClassName(\"contentWidgets\"),this.domNode.setPosition(\"absolute\"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=p0(document.createElement(\"div\")),k5.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName(\"overflowingContentWidgets\")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(J){let X=Object.keys(this._widgets);for(let Y of X)this._widgets[Y].onConfigurationChanged(J);return!0}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLineMappingChanged(J){return this._updateAnchorsViewPositions(),!0}onLinesChanged(J){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(J){return this._updateAnchorsViewPositions(),!0}onLinesInserted(J){return this._updateAnchorsViewPositions(),!0}onScrollChanged(J){return!0}onZonesChanged(J){return!0}_updateAnchorsViewPositions(){let J=Object.keys(this._widgets);for(let X of J)this._widgets[X].updateAnchorViewPosition()}addWidget(J){let X=new Z50(this._context,this._viewDomNode,J);if(this._widgets[X.id]=X,X.allowEditorOverflow)this.overflowingContentWidgetsDomNode.appendChild(X.domNode);else this.domNode.appendChild(X.domNode);this.setShouldRender()}setWidgetPosition(J,X,Y,Z,Q){let $=this._widgets[J.getId()];if($.setPosition(X,Y,Z,Q),!$.useDisplayNone)this.setShouldRender()}removeWidget(J){let X=J.getId();if(this._widgets.hasOwnProperty(X)){let Y=this._widgets[X];delete this._widgets[X];let Z=Y.domNode.domNode;Z.remove(),Z.removeAttribute(\"monaco-visible-content-widget\"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(J){if(this._widgets.hasOwnProperty(J))return this._widgets[J].suppressMouseDown;return!1}onBeforeRender(J){let X=Object.keys(this._widgets);for(let Y of X)this._widgets[Y].onBeforeRender(J)}prepareRender(J){let X=Object.keys(this._widgets);for(let Y of X)this._widgets[Y].prepareRender(J)}render(J){let X=Object.keys(this._widgets);for(let Y of X)this._widgets[Y].render(J)}}class Z50{constructor(J,X,Y){this._primaryAnchor=new tV(null,null),this._secondaryAnchor=new tV(null,null),this._context=J,this._viewDomNode=X,this._actual=Y;let Z=this._context.configuration.options,Q=Z.get(165),$=Z.get(4);this.domNode=p0(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=(this._actual.allowEditorOverflow||!1)&&$,this.suppressMouseDown=this._actual.suppressMouseDown||!1,this.useDisplayNone=this._actual.useDisplayNone||!1,this._fixedOverflowWidgets=Z.get(51),this._contentWidth=Q.contentWidth,this._contentLeft=Q.contentLeft,this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?\"fixed\":\"absolute\"),this.domNode.setDisplay(\"none\"),this.domNode.setVisibility(\"hidden\"),this.domNode.setAttribute(\"widgetId\",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(J){let X=this._context.configuration.options;if(J.hasChanged(165)){let Y=X.get(165);this._contentLeft=Y.contentLeft,this._contentWidth=Y.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(J,X,Y){this._affinity=J,this._primaryAnchor=Z(X,this._context.viewModel,this._affinity),this._secondaryAnchor=Z(Y,this._context.viewModel,this._affinity);function Z(Q,$,q){if(!Q)return new tV(null,null);let G=$.model.validatePosition(Q);if($.coordinatesConverter.modelPositionIsVisible(G)){let U=$.coordinatesConverter.convertModelPositionToViewPosition(G,q??void 0);return new tV(Q,U)}return new tV(Q,null)}}_getMaxWidth(){let J=this.domNode.domNode.ownerDocument,X=J.defaultView;return this.allowEditorOverflow?X?.innerWidth||J.documentElement.offsetWidth||J.body.offsetWidth:this._contentWidth}setPosition(J,X,Y,Z){if(this._setPosition(Z,J,X),this._preference=Y,!this.useDisplayNone&&this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0)this.domNode.setDisplay(\"block\");else this.domNode.setDisplay(\"none\");this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(J,X,Y,Z){let Q=J.top,$=Q,q=J.top+J.height,G=Z.viewportHeight-q,U=Q-Y,H=$>=Y,V=q,K=G>=Y,j=J.left;if(j+X>Z.scrollLeft+Z.viewportWidth)j=Z.scrollLeft+Z.viewportWidth-X;if(j<Z.scrollLeft)j=Z.scrollLeft;return{fitsAbove:H,aboveTop:U,fitsBelow:K,belowTop:V,left:j}}_layoutHorizontalSegmentInPage(J,X,Y,Z){let q=Math.max(15,X.left-Z),G=Math.min(X.left+X.width+Z,J.width-15),H=this._viewDomNode.domNode.ownerDocument.defaultView,V=X.left+Y-(H?.scrollX??0);if(V+Z>G){let K=V-(G-Z);V-=K,Y-=K}if(V<q){let K=V-q;V-=K,Y-=K}return[Y,V]}_layoutBoxInPage(J,X,Y,Z){let Q=J.top-Y,$=J.top+J.height,q=R8(this._viewDomNode.domNode),G=this._viewDomNode.domNode.ownerDocument,U=G.defaultView,H=q.top+Q-(U?.scrollY??0),V=q.top+$-(U?.scrollY??0),K=gz(G.body),[j,W]=this._layoutHorizontalSegmentInPage(K,q,J.left-Z.scrollLeft+this._contentLeft,X),z=22,B=22,P=H>=22,_=V+Y<=K.height-22;if(this._fixedOverflowWidgets)return{fitsAbove:P,aboveTop:Math.max(H,22),fitsBelow:_,belowTop:V,left:W};return{fitsAbove:P,aboveTop:Q,fitsBelow:_,belowTop:$,left:j}}_prepareRenderWidgetAtExactPositionOverflowing(J){return new eV(J.top,J.left+this._contentLeft)}_getAnchorsCoordinates(J){let X=Q(this._primaryAnchor.viewPosition,this._affinity),Y=this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,Z=Q(Y,this._affinity);return{primary:X,secondary:Z};function Q($,q){if(!$)return null;let G=J.visibleRangeForPosition($);if(!G)return null;let U=$.column===1&&q===3?0:G.left,H=J.getVerticalOffsetForLineNumber($.lineNumber)-J.scrollTop,V=J.getLineHeightForLineNumber($.lineNumber);return new cS(H,U,V)}}_reduceAnchorCoordinates(J,X,Y){if(!X)return J;let Z=this._context.configuration.options.get(59),Q=X.left;if(Q<J.left)Q=Math.max(Q,J.left-Y+Z.typicalFullwidthCharacterWidth);else Q=Math.min(Q,J.left+Y-Z.typicalFullwidthCharacterWidth);return new cS(J.top,Q,J.height)}_prepareRenderWidget(J){if(!this._preference||this._preference.length===0)return null;let{primary:X,secondary:Y}=this._getAnchorsCoordinates(J);if(!X)return{kind:\"offViewport\",preserveFocus:this.domNode.domNode.contains(this.domNode.domNode.ownerDocument.activeElement)};if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let $=null;if(typeof this._actual.beforeRender===\"function\")$=uS(this._actual.beforeRender,this._actual);if($)this._cachedDomNodeOffsetWidth=$.width,this._cachedDomNodeOffsetHeight=$.height;else{let G=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(G.width),this._cachedDomNodeOffsetHeight=Math.round(G.height)}}let Z=this._reduceAnchorCoordinates(X,Y,this._cachedDomNodeOffsetWidth),Q;if(this.allowEditorOverflow)Q=this._layoutBoxInPage(Z,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,J);else Q=this._layoutBoxInViewport(Z,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,J);for(let $=1;$<=2;$++)for(let q of this._preference)if(q===1){if(!Q)return null;if($===2||Q.fitsAbove)return{kind:\"inViewport\",coordinate:new eV(Q.aboveTop,Q.left),position:1}}else if(q===2){if(!Q)return null;if($===2||Q.fitsBelow)return{kind:\"inViewport\",coordinate:new eV(Q.belowTop,Q.left),position:2}}else if(this.allowEditorOverflow)return{kind:\"inViewport\",coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new eV(Z.top,Z.left)),position:0};else return{kind:\"inViewport\",coordinate:new eV(Z.top,Z.left),position:0};return null}onBeforeRender(J){if(!this._primaryAnchor.viewPosition||!this._preference)return;if(this._primaryAnchor.viewPosition.lineNumber<J.startLineNumber||this._primaryAnchor.viewPosition.lineNumber>J.endLineNumber)return;this.domNode.setMaxWidth(this._maxWidth)}prepareRender(J){this._renderData=this._prepareRenderWidget(J)}render(J){if(!this._renderData||this._renderData.kind===\"offViewport\"){if(this._isVisible)if(this.domNode.removeAttribute(\"monaco-visible-content-widget\"),this._isVisible=!1,this._renderData?.kind===\"offViewport\"&&this._renderData.preserveFocus)this.domNode.setTop(-1000);else this.domNode.setVisibility(\"hidden\");if(typeof this._actual.afterRender===\"function\")uS(this._actual.afterRender,this._actual,null,null);return}if(this.allowEditorOverflow)this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left);else this.domNode.setTop(this._renderData.coordinate.top+J.scrollTop-J.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left);if(!this._isVisible)this.domNode.setVisibility(\"inherit\"),this.domNode.setAttribute(\"monaco-visible-content-widget\",\"true\"),this._isVisible=!0;if(typeof this._actual.afterRender===\"function\")uS(this._actual.afterRender,this._actual,this._renderData.position,this._renderData.coordinate)}}class tV{constructor(J,X){this.modelPosition=J,this.viewPosition=X}}class eV{constructor(J,X){this.top=J,this.left=X,this._coordinateBrand=void 0}}class cS{constructor(J,X,Y){this.top=J,this.left=X,this.height=Y,this._anchorCoordinateBrand=void 0}}function uS(J,X,...Y){try{return J.call(X,...Y)}catch{return null}}class C7 extends C4{}var L6=W0(\"themeService\");function n6(J){return{id:J}}function sF(J){switch(J){case S4.DARK:return zG.VS_DARK;case S4.HIGH_CONTRAST_DARK:return zG.HC_BLACK;case S4.HIGH_CONTRAST_LIGHT:return zG.HC_LIGHT;default:return zG.VS}}var lS={ThemingContribution:\"base.contributions.theming\"};class Q50 extends y{constructor(){super();this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=this._register(new E)}onColorThemeChange(J){return this.themingParticipants.push(J),this.onThemingParticipantAddedEmitter.fire(J),J0(()=>{let X=this.themingParticipants.indexOf(J);this.themingParticipants.splice(X,1)})}getThemingParticipants(){return this.themingParticipants}}var $50=new Q50;y1.add(lS.ThemingContribution,$50);function x8(J){return $50.onColorThemeChange(J)}class sS extends y{constructor(J){super();this.themeService=J,this.theme=J.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((X)=>this.onThemeChange(X)))}onThemeChange(J){this.theme=J,this.updateStyles()}updateStyles(){}}var uR=x(\"editor.lineHighlightBackground\",null,F(641,\"Background color for the highlight of line at the cursor position.\")),q50=x(\"editor.inactiveLineHighlightBackground\",uR,F(642,\"Background color for the highlight of line at the cursor position when the editor is not focused.\")),aS=x(\"editor.lineHighlightBorder\",{dark:\"#282828\",light:\"#eeeeee\",hcDark:\"#f38518\",hcLight:t0},F(643,\"Background color for the border around the line at the cursor position.\"));x(\"editor.rangeHighlightBackground\",{dark:\"#ffffff0b\",light:\"#fdff0033\",hcDark:null,hcLight:null},F(644,\"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.rangeHighlightBorder\",{dark:null,light:null,hcDark:v1,hcLight:v1},F(645,\"Background color of the border around highlighted ranges.\"));x(\"editor.symbolHighlightBackground\",{dark:d9,light:d9,hcDark:null,hcLight:null},F(646,\"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.symbolHighlightBorder\",{dark:null,light:null,hcDark:v1,hcLight:v1},F(647,\"Background color of the border around highlighted symbols.\"));var JK=x(\"editorCursor.foreground\",{dark:\"#AEAFAD\",light:c.black,hcDark:c.white,hcLight:\"#0F4A85\"},F(648,\"Color of the editor cursor.\")),cR=x(\"editorCursor.background\",null,F(649,\"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.\")),dR=x(\"editorMultiCursor.primary.foreground\",JK,F(650,\"Color of the primary editor cursor when multiple cursors are present.\")),G50=x(\"editorMultiCursor.primary.background\",cR,F(651,\"The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.\")),lR=x(\"editorMultiCursor.secondary.foreground\",JK,F(652,\"Color of secondary editor cursors when multiple cursors are present.\")),U50=x(\"editorMultiCursor.secondary.background\",cR,F(653,\"The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.\")),sR=x(\"editorWhitespace.foreground\",{dark:\"#e3e4e229\",light:\"#33333333\",hcDark:\"#e3e4e229\",hcLight:\"#CCCCCC\"},F(654,\"Color of whitespace characters in the editor.\")),H50=x(\"editorLineNumber.foreground\",{dark:\"#858585\",light:\"#237893\",hcDark:c.white,hcLight:\"#292929\"},F(655,\"Color of editor line numbers.\")),$F0=x(\"editorIndentGuide.background\",sR,F(656,\"Color of the editor indentation guides.\"),!1,F(657,\"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.\")),qF0=x(\"editorIndentGuide.activeBackground\",sR,F(658,\"Color of the active editor indentation guides.\"),!1,F(659,\"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.\")),IG=x(\"editorIndentGuide.background1\",$F0,F(660,\"Color of the editor indentation guides (1).\")),V50=x(\"editorIndentGuide.background2\",\"#00000000\",F(661,\"Color of the editor indentation guides (2).\")),K50=x(\"editorIndentGuide.background3\",\"#00000000\",F(662,\"Color of the editor indentation guides (3).\")),j50=x(\"editorIndentGuide.background4\",\"#00000000\",F(663,\"Color of the editor indentation guides (4).\")),W50=x(\"editorIndentGuide.background5\",\"#00000000\",F(664,\"Color of the editor indentation guides (5).\")),z50=x(\"editorIndentGuide.background6\",\"#00000000\",F(665,\"Color of the editor indentation guides (6).\")),kG=x(\"editorIndentGuide.activeBackground1\",qF0,F(666,\"Color of the active editor indentation guides (1).\")),F50=x(\"editorIndentGuide.activeBackground2\",\"#00000000\",F(667,\"Color of the active editor indentation guides (2).\")),B50=x(\"editorIndentGuide.activeBackground3\",\"#00000000\",F(668,\"Color of the active editor indentation guides (3).\")),_50=x(\"editorIndentGuide.activeBackground4\",\"#00000000\",F(669,\"Color of the active editor indentation guides (4).\")),A50=x(\"editorIndentGuide.activeBackground5\",\"#00000000\",F(670,\"Color of the active editor indentation guides (5).\")),P50=x(\"editorIndentGuide.activeBackground6\",\"#00000000\",F(671,\"Color of the active editor indentation guides (6).\")),GF0=x(\"editorActiveLineNumber.foreground\",{dark:\"#c6c6c6\",light:\"#0B216F\",hcDark:v1,hcLight:v1},F(672,\"Color of editor active line number\"),!1,F(673,\"Id is deprecated. Use 'editorLineNumber.activeForeground' instead.\"));x(\"editorLineNumber.activeForeground\",GF0,F(674,\"Color of editor active line number\"));var D50=x(\"editorLineNumber.dimmedForeground\",null,F(675,\"Color of the final editor line when editor.renderFinalNewline is set to dimmed.\")),O50=x(\"editorRuler.foreground\",{dark:\"#5A5A5A\",light:c.lightgrey,hcDark:c.white,hcLight:\"#292929\"},F(676,\"Color of the editor rulers.\"));x(\"editorCodeLens.foreground\",{dark:\"#999999\",light:\"#919191\",hcDark:\"#999999\",hcLight:\"#292929\"},F(677,\"Foreground color of editor CodeLens\"));x(\"editorBracketMatch.background\",{dark:\"#0064001a\",light:\"#0064001a\",hcDark:\"#0064001a\",hcLight:\"#0000\"},F(678,\"Background color behind matching brackets\"));x(\"editorBracketMatch.border\",{dark:\"#888\",light:\"#B9B9B9\",hcDark:t0,hcLight:t0},F(679,\"Color for matching brackets boxes\"));var M50=x(\"editorBracketMatch.foreground\",null,F(680,\"Foreground color for matching brackets\")),R50=x(\"editorOverviewRuler.border\",{dark:\"#7f7f7f4d\",light:\"#7f7f7f4d\",hcDark:\"#7f7f7f4d\",hcLight:\"#666666\"},F(681,\"Color of the overview ruler border.\")),N50=x(\"editorOverviewRuler.background\",null,F(682,\"Background color of the editor overview ruler.\"));x(\"editorGutter.background\",b4,F(683,\"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.\"));x(\"editorUnnecessaryCode.border\",{dark:null,light:null,hcDark:c.fromHex(\"#fff\").transparent(0.8),hcLight:t0},F(684,\"Border color of unnecessary (unused) source code in the editor.\"));var w50=x(\"editorUnnecessaryCode.opacity\",{dark:c.fromHex(\"#000a\"),light:c.fromHex(\"#0007\"),hcDark:null,hcLight:null},F(685,`Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the  'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));x(\"editorGhostText.border\",{dark:null,light:null,hcDark:c.fromHex(\"#fff\").transparent(0.8),hcLight:c.fromHex(\"#292929\").transparent(0.8)},F(686,\"Border color of ghost text in the editor.\"));var Cn0=x(\"editorGhostText.foreground\",{dark:c.fromHex(\"#ffffff56\"),light:c.fromHex(\"#0007\"),hcDark:null,hcLight:null},F(687,\"Foreground color of the ghost text in the editor.\"));x(\"editorGhostText.background\",null,F(688,\"Background color of the ghost text in the editor.\"));var UF0=new c(new d(0,122,204,0.6)),T50=x(\"editorOverviewRuler.rangeHighlightForeground\",UF0,F(689,\"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),L50=x(\"editorOverviewRuler.errorForeground\",{dark:new c(new d(255,18,18,0.7)),light:new c(new d(255,18,18,0.7)),hcDark:new c(new d(255,50,50,1)),hcLight:\"#B5200D\"},F(690,\"Overview ruler marker color for errors.\")),I50=x(\"editorOverviewRuler.warningForeground\",{dark:vJ,light:vJ,hcDark:yV,hcLight:yV},F(691,\"Overview ruler marker color for warnings.\")),k50=x(\"editorOverviewRuler.infoForeground\",{dark:IX,light:IX,hcDark:xV,hcLight:xV},F(692,\"Overview ruler marker color for infos.\")),aR=x(\"editorBracketHighlight.foreground1\",{dark:\"#FFD700\",light:\"#0431FAFF\",hcDark:\"#FFD700\",hcLight:\"#0431FAFF\"},F(693,\"Foreground color of brackets (1). Requires enabling bracket pair colorization.\")),iR=x(\"editorBracketHighlight.foreground2\",{dark:\"#DA70D6\",light:\"#319331FF\",hcDark:\"#DA70D6\",hcLight:\"#319331FF\"},F(694,\"Foreground color of brackets (2). Requires enabling bracket pair colorization.\")),rR=x(\"editorBracketHighlight.foreground3\",{dark:\"#179FFF\",light:\"#7B3814FF\",hcDark:\"#87CEFA\",hcLight:\"#7B3814FF\"},F(695,\"Foreground color of brackets (3). Requires enabling bracket pair colorization.\")),oR=x(\"editorBracketHighlight.foreground4\",\"#00000000\",F(696,\"Foreground color of brackets (4). Requires enabling bracket pair colorization.\")),nR=x(\"editorBracketHighlight.foreground5\",\"#00000000\",F(697,\"Foreground color of brackets (5). Requires enabling bracket pair colorization.\")),tR=x(\"editorBracketHighlight.foreground6\",\"#00000000\",F(698,\"Foreground color of brackets (6). Requires enabling bracket pair colorization.\")),E50=x(\"editorBracketHighlight.unexpectedBracket.foreground\",{dark:new c(new d(255,18,18,0.8)),light:new c(new d(255,18,18,0.8)),hcDark:new c(new d(255,50,50,1)),hcLight:\"#B5200D\"},F(699,\"Foreground color of unexpected brackets.\")),y50=x(\"editorBracketPairGuide.background1\",\"#00000000\",F(700,\"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.\")),x50=x(\"editorBracketPairGuide.background2\",\"#00000000\",F(701,\"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.\")),b50=x(\"editorBracketPairGuide.background3\",\"#00000000\",F(702,\"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.\")),C50=x(\"editorBracketPairGuide.background4\",\"#00000000\",F(703,\"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.\")),S50=x(\"editorBracketPairGuide.background5\",\"#00000000\",F(704,\"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.\")),f50=x(\"editorBracketPairGuide.background6\",\"#00000000\",F(705,\"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.\")),h50=x(\"editorBracketPairGuide.activeBackground1\",\"#00000000\",F(706,\"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.\")),v50=x(\"editorBracketPairGuide.activeBackground2\",\"#00000000\",F(707,\"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.\")),g50=x(\"editorBracketPairGuide.activeBackground3\",\"#00000000\",F(708,\"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.\")),p50=x(\"editorBracketPairGuide.activeBackground4\",\"#00000000\",F(709,\"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.\")),m50=x(\"editorBracketPairGuide.activeBackground5\",\"#00000000\",F(710,\"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.\")),u50=x(\"editorBracketPairGuide.activeBackground6\",\"#00000000\",F(711,\"Background color of active bracket pair guides (6). Requires enabling bracket pair guides.\"));x(\"editorUnicodeHighlight.border\",vJ,F(712,\"Border color used to highlight unicode characters.\"));x(\"editorUnicodeHighlight.background\",v10,F(713,\"Background color used to highlight unicode characters.\"));x8((J,X)=>{let Y=J.getColor(b4),Z=J.getColor(uR),Q=Z&&!Z.isTransparent()?Z:Y;if(Q)X.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${Q}; }`)});class iS extends C7{constructor(J){super();this._context=J;let X=this._context.configuration.options,Y=X.get(165);this._renderLineHighlight=X.get(110),this._renderLineHighlightOnlyWhenFocus=X.get(111),this._wordWrap=Y.isViewportWrapping,this._contentLeft=Y.contentLeft,this._contentWidth=Y.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Y0(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let J=!1,X=new Set;for(let Q of this._selections)X.add(Q.positionLineNumber);let Y=Array.from(X);if(Y.sort((Q,$)=>Q-$),!w1(this._cursorLineNumbers,Y))this._cursorLineNumbers=Y,J=!0;let Z=this._selections.every((Q)=>Q.isEmpty());if(this._selectionIsEmpty!==Z)this._selectionIsEmpty=Z,J=!0;return J}onThemeChanged(J){return this._readFromSelections()}onConfigurationChanged(J){let X=this._context.configuration.options,Y=X.get(165);return this._renderLineHighlight=X.get(110),this._renderLineHighlightOnlyWhenFocus=X.get(111),this._wordWrap=Y.isViewportWrapping,this._contentLeft=Y.contentLeft,this._contentWidth=Y.contentWidth,!0}onCursorStateChanged(J){return this._selections=J.selections,this._readFromSelections()}onFlushed(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollWidthChanged||J.scrollTopChanged}onZonesChanged(J){return!0}onFocusChanged(J){if(!this._renderLineHighlightOnlyWhenFocus)return!1;return this._focused=J.isFocused,!0}prepareRender(J){if(!this._shouldRenderThis()){this._renderData=null;return}let X=J.visibleRange.startLineNumber,Y=J.visibleRange.endLineNumber,Z=[];for(let $=X;$<=Y;$++){let q=$-X;Z[q]=\"\"}if(this._wordWrap){let $=this._renderOne(J,!1);for(let q of this._cursorLineNumbers){let G=this._context.viewModel.coordinatesConverter,U=G.convertViewPositionToModelPosition(new C(q,1)).lineNumber,H=G.convertModelPositionToViewPosition(new C(U,1)).lineNumber,V=G.convertModelPositionToViewPosition(new C(U,this._context.viewModel.model.getLineMaxColumn(U))).lineNumber,K=Math.max(H,X),j=Math.min(V,Y);for(let W=K;W<=j;W++){let z=W-X;Z[z]=$}}}let Q=this._renderOne(J,!0);for(let $ of this._cursorLineNumbers){if($<X||$>Y)continue;let q=$-X;Z[q]=Q}this._renderData=Z}render(J,X){if(!this._renderData)return\"\";let Y=X-J;if(Y>=this._renderData.length)return\"\";return this._renderData[Y]}_shouldRenderInMargin(){return(this._renderLineHighlight===\"gutter\"||this._renderLineHighlight===\"all\")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight===\"line\"||this._renderLineHighlight===\"all\")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class rS extends iS{_renderOne(J,X){return`<div class=\"${\"current-line\"+(this._shouldRenderInMargin()?\" current-line-both\":\"\")+(X?\" current-line-exact\":\"\")}\" style=\"width:${Math.max(J.scrollWidth,this._contentWidth)}px;\"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class oS extends iS{_renderOne(J,X){return`<div class=\"${\"current-line\"+(this._shouldRenderInMargin()?\" current-line-margin\":\"\")+(this._shouldRenderOther()?\" current-line-margin-both\":\"\")+(this._shouldRenderInMargin()&&X?\" current-line-exact-margin\":\"\")}\" style=\"width:${this._contentLeft}px\"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}x8((J,X)=>{let Y=J.getColor(uR),Z=J.getColor(q50);if(Y)X.addRule(`.monaco-editor.focused .view-overlays .current-line { background-color: ${Y}; }`),X.addRule(`.monaco-editor.focused .margin-view-overlays .current-line-margin { background-color: ${Y}; border: none; }`);if(Z)X.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${Z}; }`),X.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${Z}; border: none; }`);if(!Y||Y.isTransparent()||J.defines(aS)){let Q=J.getColor(aS);if(Q){if(X.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${Q}; }`),X.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${Q}; }`),l9(J.type))X.addRule(\".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }\"),X.addRule(\".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }\")}}});class nS extends C7{constructor(J){super();this._context=J;let X=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=X.get(59).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){let X=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=X.get(59).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged||J.scrollWidthChanged}onZonesChanged(J){return!0}prepareRender(J){let X=J.getDecorationsInViewport(),Y=[],Z=0;for(let G=0,U=X.length;G<U;G++){let H=X[G];if(H.options.className)Y[Z++]=H}Y=Y.sort((G,U)=>{if(G.options.zIndex<U.options.zIndex)return-1;if(G.options.zIndex>U.options.zIndex)return 1;let H=G.options.className,V=U.options.className;if(H<V)return-1;if(H>V)return 1;return T.compareRangesUsingStarts(G.range,U.range)});let Q=J.visibleRange.startLineNumber,$=J.visibleRange.endLineNumber,q=[];for(let G=Q;G<=$;G++){let U=G-Q;q[U]=\"\"}this._renderWholeLineDecorations(J,Y,q),this._renderNormalDecorations(J,Y,q),this._renderResult=q}_renderWholeLineDecorations(J,X,Y){let Z=J.visibleRange.startLineNumber,Q=J.visibleRange.endLineNumber;for(let $=0,q=X.length;$<q;$++){let G=X[$];if(!G.options.isWholeLine)continue;let U='<div class=\"cdr '+G.options.className+'\" style=\"left:0;width:100%;\"></div>',H=Math.max(G.range.startLineNumber,Z),V=Math.min(G.range.endLineNumber,Q);for(let K=H;K<=V;K++){let j=K-Z;Y[j]+=U}}}_renderNormalDecorations(J,X,Y){let Z=J.visibleRange.startLineNumber,Q=null,$=!1,q=null,G=!1;for(let U=0,H=X.length;U<H;U++){let V=X[U];if(V.options.isWholeLine)continue;let K=V.options.className,j=Boolean(V.options.showIfCollapsed),W=V.range;if(j&&W.endColumn===1&&W.endLineNumber!==W.startLineNumber)W=new T(W.startLineNumber,W.startColumn,W.endLineNumber-1,this._context.viewModel.getLineMaxColumn(W.endLineNumber-1));if(Q===K&&$===j&&T.areIntersectingOrTouching(q,W)){q=T.plusRange(q,W);continue}if(Q!==null)this._renderNormalDecoration(J,q,Q,G,$,Z,Y);Q=K,$=j,q=W,G=V.options.shouldFillLineOnLineBreak??!1}if(Q!==null)this._renderNormalDecoration(J,q,Q,G,$,Z,Y)}_renderNormalDecoration(J,X,Y,Z,Q,$,q){let G=J.linesVisibleRangesForRange(X,Y===\"findMatch\");if(!G)return;for(let U=0,H=G.length;U<H;U++){let V=G[U];if(V.outsideRenderedLine)continue;let K=V.lineNumber-$;if(Q&&V.ranges.length===1){let j=V.ranges[0];if(j.width<this._typicalHalfwidthCharacterWidth){let W=Math.round(j.left+j.width/2),z=Math.max(0,Math.round(W-this._typicalHalfwidthCharacterWidth/2));V.ranges[0]=new I2(z,this._typicalHalfwidthCharacterWidth)}}for(let j=0,W=V.ranges.length;j<W;j++){let z=Z&&V.continuesOnNextLine&&W===1,B=V.ranges[j],P='<div class=\"cdr '+Y+'\" style=\"left:'+String(B.left)+\"px;width:\"+(z?\"100%;\":String(B.width)+\"px;\")+'\"></div>';q[K]+=P}}}render(J,X){if(!this._renderResult)return\"\";let Y=X-J;if(Y<0||Y>=this._renderResult.length)return\"\";return this._renderResult[Y]}}class tS extends e1{constructor(J,X,Y,Z){super(J);let Q=this._context.configuration.options,$=Q.get(117),q=Q.get(83),G=Q.get(49),U=Q.get(120),H=Q.get(158),V={listenOnDomNode:Y.domNode,className:\"editor-scrollable \"+sF(J.theme.type),useShadows:!1,lazyRender:!0,vertical:$.vertical,horizontal:$.horizontal,verticalHasArrows:$.verticalHasArrows,horizontalHasArrows:$.horizontalHasArrows,verticalScrollbarSize:$.verticalScrollbarSize,verticalSliderSize:$.verticalSliderSize,horizontalScrollbarSize:$.horizontalScrollbarSize,horizontalSliderSize:$.horizontalSliderSize,handleMouseWheel:$.handleMouseWheel,alwaysConsumeMouseWheel:$.alwaysConsumeMouseWheel,arrowSize:$.arrowSize,mouseWheelScrollSensitivity:q,fastScrollSensitivity:G,scrollPredominantAxis:U,scrollByPage:$.scrollByPage,inertialScroll:H};this.scrollbar=this._register(new EQ(X.domNode,V,this._context.viewLayout.getScrollable())),k5.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=p0(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition(\"absolute\"),this._setLayout();let K=(j,W,z)=>{let B={};{let P=j.scrollTop;if(P)B.scrollTop=this._context.viewLayout.getCurrentScrollTop()+P,j.scrollTop=0}if(z){let P=j.scrollLeft;if(P)B.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+P,j.scrollLeft=0}this._context.viewModel.viewLayout.setScrollPosition(B,1)};this._register(f(Y.domNode,\"scroll\",(j)=>K(Y.domNode,!0,!0))),this._register(f(X.domNode,\"scroll\",(j)=>K(X.domNode,!0,!1))),this._register(f(Z.domNode,\"scroll\",(j)=>K(Z.domNode,!0,!1))),this._register(f(this.scrollbarDomNode.domNode,\"scroll\",(j)=>K(this.scrollbarDomNode.domNode,!0,!1)))}_setLayout(){let J=this._context.configuration.options,X=J.get(165);if(this.scrollbarDomNode.setLeft(X.contentLeft),J.get(81).side===\"right\")this.scrollbarDomNode.setWidth(X.contentWidth+X.minimap.minimapWidth);else this.scrollbarDomNode.setWidth(X.contentWidth);this.scrollbarDomNode.setHeight(X.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(J){this.scrollbar.delegateVerticalScrollbarPointerDown(J)}delegateScrollFromMouseWheelEvent(J){this.scrollbar.delegateScrollFromMouseWheelEvent(J)}onConfigurationChanged(J){if(J.hasChanged(117)||J.hasChanged(83)||J.hasChanged(49)){let X=this._context.configuration.options,Y=X.get(117),Z=X.get(83),Q=X.get(49),$=X.get(120),q={vertical:Y.vertical,horizontal:Y.horizontal,verticalScrollbarSize:Y.verticalScrollbarSize,horizontalScrollbarSize:Y.horizontalScrollbarSize,scrollByPage:Y.scrollByPage,handleMouseWheel:Y.handleMouseWheel,mouseWheelScrollSensitivity:Z,fastScrollSensitivity:Q,scrollPredominantAxis:$};this.scrollbar.updateOptions(q)}if(J.hasChanged(165))this._setLayout();return!0}onScrollChanged(J){return!0}onThemeChanged(J){return this.scrollbar.updateClassName(\"editor-scrollable \"+sF(this._context.theme.type)),!0}prepareRender(J){}render(J){this.scrollbar.renderNow()}}class XK{constructor(J,X,Y,Z,Q){this.startLineNumber=J,this.endLineNumber=X,this.className=Y,this.tooltip=Z,this._decorationToRenderBrand=void 0,this.zIndex=Q??0}}class c50{constructor(J,X,Y){this.className=J,this.zIndex=X,this.tooltip=Y}}class d50{constructor(){this.decorations=[]}add(J){this.decorations.push(J)}getDecorations(){return this.decorations}}class aF extends C7{_render(J,X,Y){let Z=[];for(let q=J;q<=X;q++){let G=q-J;Z[G]=new d50}if(Y.length===0)return Z;Y.sort((q,G)=>{if(q.className===G.className){if(q.startLineNumber===G.startLineNumber)return q.endLineNumber-G.endLineNumber;return q.startLineNumber-G.startLineNumber}return q.className<G.className?-1:1});let Q=null,$=0;for(let q of Y){let{className:G,zIndex:U}=q,H=Math.max(q.startLineNumber,J)-J,V=Math.min(q.endLineNumber,X)-J;if(Q===G)H=Math.max($+1,H),$=Math.max($,V);else Q=G,$=V;for(let K=H;K<=$;K++)Z[K].add(new c50(G,U,q.tooltip))}return Z}}class eS extends e1{constructor(J){super(J);this._widgets={},this._context=J;let X=this._context.configuration.options,Y=X.get(165);this.domNode=p0(document.createElement(\"div\")),this.domNode.setClassName(\"glyph-margin-widgets\"),this.domNode.setPosition(\"absolute\"),this.domNode.setTop(0),this._lineHeight=X.get(75),this._glyphMargin=X.get(66),this._glyphMarginLeft=Y.glyphMarginLeft,this._glyphMarginWidth=Y.glyphMarginWidth,this._glyphMarginDecorationLaneCount=Y.glyphMarginDecorationLaneCount,this._managedDomNodes=[],this._decorationGlyphsToRender=[]}dispose(){this._managedDomNodes=[],this._decorationGlyphsToRender=[],this._widgets={},super.dispose()}getWidgets(){return Object.values(this._widgets)}onConfigurationChanged(J){let X=this._context.configuration.options,Y=X.get(165);return this._lineHeight=X.get(75),this._glyphMargin=X.get(66),this._glyphMarginLeft=Y.glyphMarginLeft,this._glyphMarginWidth=Y.glyphMarginWidth,this._glyphMarginDecorationLaneCount=Y.glyphMarginDecorationLaneCount,!0}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}addWidget(J){let X=p0(J.getDomNode());this._widgets[J.getId()]={widget:J,preference:J.getPosition(),domNode:X,renderInfo:null},X.setPosition(\"absolute\"),X.setDisplay(\"none\"),X.setAttribute(\"widgetId\",J.getId()),this.domNode.appendChild(X),this.setShouldRender()}setWidgetPosition(J,X){let Y=this._widgets[J.getId()];if(Y.preference.lane===X.lane&&Y.preference.zIndex===X.zIndex&&T.equalsRange(Y.preference.range,X.range))return!1;return Y.preference=X,this.setShouldRender(),!0}removeWidget(J){let X=J.getId();if(this._widgets[X]){let Z=this._widgets[X].domNode.domNode;delete this._widgets[X],Z.remove(),this.setShouldRender()}}_collectDecorationBasedGlyphRenderRequest(J,X){let Y=J.visibleRange.startLineNumber,Z=J.visibleRange.endLineNumber,Q=J.getDecorationsInViewport();for(let $ of Q){let q=$.options.glyphMarginClassName;if(!q)continue;let G=Math.max($.range.startLineNumber,Y),U=Math.min($.range.endLineNumber,Z),H=$.options.glyphMargin?.position??g9.Center,V=$.options.zIndex??0;for(let K=G;K<=U;K++){let j=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(K,0)),W=this._context.viewModel.glyphLanes.getLanesAtLine(j.lineNumber).indexOf(H);X.push(new l50(K,W,V,q))}}}_collectWidgetBasedGlyphRenderRequest(J,X){let Y=J.visibleRange.startLineNumber,Z=J.visibleRange.endLineNumber;for(let Q of Object.values(this._widgets)){let $=Q.preference.range,{startLineNumber:q,endLineNumber:G}=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(T.lift($));if(!q||!G||G<Y||q>Z)continue;let U=Math.max(q,Y),H=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(U,0)),V=this._context.viewModel.glyphLanes.getLanesAtLine(H.lineNumber).indexOf(Q.preference.lane);X.push(new s50(U,V,Q.preference.zIndex,Q))}}_collectSortedGlyphRenderRequests(J){let X=[];return this._collectDecorationBasedGlyphRenderRequest(J,X),this._collectWidgetBasedGlyphRenderRequest(J,X),X.sort((Y,Z)=>{if(Y.lineNumber===Z.lineNumber){if(Y.laneIndex===Z.laneIndex){if(Y.zIndex===Z.zIndex){if(Z.type===Y.type){if(Y.type===0&&Z.type===0)return Y.className<Z.className?-1:1;return 0}return Z.type-Y.type}return Z.zIndex-Y.zIndex}return Y.laneIndex-Z.laneIndex}return Y.lineNumber-Z.lineNumber}),X}prepareRender(J){if(!this._glyphMargin){this._decorationGlyphsToRender=[];return}for(let Z of Object.values(this._widgets))Z.renderInfo=null;let X=new AJ(this._collectSortedGlyphRenderRequests(J)),Y=[];while(X.length>0){let Z=X.peek();if(!Z)break;let Q=X.takeWhile((q)=>q.lineNumber===Z.lineNumber&&q.laneIndex===Z.laneIndex);if(!Q||Q.length===0)break;let $=Q[0];if($.type===0){let q=[];for(let G of Q){if(G.zIndex!==$.zIndex||G.type!==$.type)break;if(q.length===0||q[q.length-1]!==G.className)q.push(G.className)}Y.push($.accept(q.join(\" \")))}else $.widget.renderInfo={lineNumber:$.lineNumber,laneIndex:$.laneIndex}}this._decorationGlyphsToRender=Y}render(J){if(!this._glyphMargin){for(let Y of Object.values(this._widgets))Y.domNode.setDisplay(\"none\");while(this._managedDomNodes.length>0)this._managedDomNodes.pop()?.domNode.remove();return}let X=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(let Y of Object.values(this._widgets))if(!Y.renderInfo)Y.domNode.setDisplay(\"none\");else{let Z=J.viewportData.relativeVerticalOffset[Y.renderInfo.lineNumber-J.viewportData.startLineNumber],Q=this._glyphMarginLeft+Y.renderInfo.laneIndex*this._lineHeight;Y.domNode.setDisplay(\"block\"),Y.domNode.setTop(Z),Y.domNode.setLeft(Q),Y.domNode.setWidth(X),Y.domNode.setHeight(this._lineHeight)}for(let Y=0;Y<this._decorationGlyphsToRender.length;Y++){let Z=this._decorationGlyphsToRender[Y],Q=Z.lineNumber,$=J.viewportData.relativeVerticalOffset[Q-J.viewportData.startLineNumber],q=this._glyphMarginLeft+Z.laneIndex*this._lineHeight,G;if(Y<this._managedDomNodes.length)G=this._managedDomNodes[Y];else G=p0(document.createElement(\"div\")),this._managedDomNodes.push(G),this.domNode.appendChild(G);let U=this._context.viewLayout.getLineHeightForLineNumber(Q);G.setClassName(\"cgmr codicon \"+Z.combinedClassName),G.setPosition(\"absolute\"),G.setTop($),G.setLeft(q),G.setWidth(X),G.setHeight(U)}while(this._managedDomNodes.length>this._decorationGlyphsToRender.length)this._managedDomNodes.pop()?.domNode.remove()}}class l50{constructor(J,X,Y,Z){this.lineNumber=J,this.laneIndex=X,this.zIndex=Y,this.className=Z,this.type=0}accept(J){return new a50(this.lineNumber,this.laneIndex,J)}}class s50{constructor(J,X,Y,Z){this.lineNumber=J,this.laneIndex=X,this.zIndex=Y,this.widget=Z,this.type=1}}class a50{constructor(J,X,Y){this.lineNumber=J,this.laneIndex=X,this.combinedClassName=Y}}class iF extends y{constructor(){super(...arguments);this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw Error(\"TextModelPart is disposed!\")}}function rF(J,X){let Y=0,Z=0,Q=J.length;while(Z<Q){let $=J.charCodeAt(Z);if($===32)Y++;else if($===9)Y=Y-Y%X+X;else break;Z++}if(Z===Q)return-1;return Y}var xQ;(function(J){J[J.Disabled=0]=\"Disabled\",J[J.EnabledForActive=1]=\"EnabledForActive\",J[J.Enabled=2]=\"Enabled\"})(xQ||(xQ={}));class yX{constructor(J,X,Y,Z,Q,$){if(this.visibleColumn=J,this.column=X,this.className=Y,this.horizontalLine=Z,this.forWrappedLinesAfterColumn=Q,this.forWrappedLinesBeforeOrAtColumn=$,J!==-1===(X!==-1))throw Error()}}class S2{constructor(J,X){this.top=J,this.endColumn=X}}class Jf extends iF{constructor(J,X){super();this.textModel=J,this.languageConfigurationService=X}getLanguageConfiguration(J){return this.languageConfigurationService.getLanguageConfiguration(J)}_computeIndentLevel(J){return rF(this.textModel.getLineContent(J+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(J,X,Y){this.assertNotDisposed();let Z=this.textModel.getLineCount();if(J<1||J>Z)throw new j0(\"Illegal value for lineNumber\");let Q=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,$=Boolean(Q&&Q.offSide),q=-2,G=-1,U=-2,H=-1,V=(N)=>{if(q!==-1&&(q===-2||q>N-1)){q=-1,G=-1;for(let w=N-2;w>=0;w--){let k=this._computeIndentLevel(w);if(k>=0){q=w,G=k;break}}}if(U===-2){U=-1,H=-1;for(let w=N;w<Z;w++){let k=this._computeIndentLevel(w);if(k>=0){U=w,H=k;break}}}},K=-2,j=-1,W=-2,z=-1,B=(N)=>{if(K===-2){K=-1,j=-1;for(let w=N-2;w>=0;w--){let k=this._computeIndentLevel(w);if(k>=0){K=w,j=k;break}}}if(W!==-1&&(W===-2||W<N-1)){W=-1,z=-1;for(let w=N;w<Z;w++){let k=this._computeIndentLevel(w);if(k>=0){W=w,z=k;break}}}},P=0,_=!0,A=0,O=!0,D=0,R=0;for(let N=0;_||O;N++){let w=J-N,k=J+N;if(N>1&&(w<1||w<X))_=!1;if(N>1&&(k>Z||k>Y))O=!1;if(N>50000)_=!1,O=!1;let I=-1;if(_&&w>=1){let h=this._computeIndentLevel(w-1);if(h>=0)U=w-1,H=h,I=Math.ceil(h/this.textModel.getOptions().indentSize);else V(w),I=this._getIndentLevelForWhitespaceLine($,G,H)}let S=-1;if(O&&k<=Z){let h=this._computeIndentLevel(k-1);if(h>=0)K=k-1,j=h,S=Math.ceil(h/this.textModel.getOptions().indentSize);else B(k),S=this._getIndentLevelForWhitespaceLine($,j,z)}if(N===0){R=I;continue}if(N===1){if(k<=Z&&S>=0&&R+1===S){_=!1,P=k,A=k,D=S;continue}if(w>=1&&I>=0&&I-1===R){O=!1,P=w,A=w,D=I;continue}if(P=J,A=J,D=R,D===0)return{startLineNumber:P,endLineNumber:A,indent:D}}if(_)if(I>=D)P=w;else _=!1;if(O)if(S>=D)A=k;else O=!1}return{startLineNumber:P,endLineNumber:A,indent:D}}getLinesBracketGuides(J,X,Y,Z){let Q=[];for(let V=J;V<=X;V++)Q.push([]);let $=!0,q=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new T(J,1,X,this.textModel.getLineMaxColumn(X))).toArray(),G=void 0;if(Y&&q.length>0){let V=(J<=Y.lineNumber&&Y.lineNumber<=X?q:this.textModel.bracketPairs.getBracketPairsInRange(T.fromPositions(Y)).toArray()).filter((K)=>T.strictContainsPosition(K.range,Y));G=tq(V,(K)=>$)?.range}let U=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,H=new eR;for(let V of q){if(!V.closingBracketRange)continue;let K=G&&V.range.equalsRange(G);if(!K&&!Z.includeInactive)continue;let j=H.getInlineClassName(V.nestingLevel,V.nestingLevelOfEqualBracketType,U)+(Z.highlightActive&&K?\" \"+H.activeClassName:\"\"),W=V.openingBracketRange.getStartPosition(),z=V.closingBracketRange.getStartPosition(),B=Z.horizontalGuides===xQ.Enabled||Z.horizontalGuides===xQ.EnabledForActive&&K;if(V.range.startLineNumber===V.range.endLineNumber){if(B)Q[V.range.startLineNumber-J].push(new yX(-1,V.openingBracketRange.getEndPosition().column,j,new S2(!1,z.column),-1,-1));continue}let P=this.getVisibleColumnFromPosition(z),_=this.getVisibleColumnFromPosition(V.openingBracketRange.getStartPosition()),A=Math.min(_,P,V.minVisibleColumnIndentation+1),O=!1;if(b6(this.textModel.getLineContent(V.closingBracketRange.startLineNumber))<V.closingBracketRange.startColumn-1)O=!0;let N=Math.max(W.lineNumber,J),w=Math.min(z.lineNumber,X),k=O?1:0;for(let I=N;I<w+k;I++)Q[I-J].push(new yX(A,-1,j,null,I===W.lineNumber?W.column:-1,I===z.lineNumber?z.column:-1));if(B){if(W.lineNumber>=J&&_>A)Q[W.lineNumber-J].push(new yX(A,-1,j,new S2(!1,W.column),-1,-1));if(z.lineNumber<=X&&P>A)Q[z.lineNumber-J].push(new yX(A,-1,j,new S2(!O,z.column),-1,-1))}}for(let V of Q)V.sort((K,j)=>K.visibleColumn-j.visibleColumn);return Q}getVisibleColumnFromPosition(J){return V1.visibleColumnFromColumn(this.textModel.getLineContent(J.lineNumber),J.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(J,X){this.assertNotDisposed();let Y=this.textModel.getLineCount();if(J<1||J>Y)throw Error(\"Illegal value for startLineNumber\");if(X<1||X>Y)throw Error(\"Illegal value for endLineNumber\");let Z=this.textModel.getOptions(),Q=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,$=Boolean(Q&&Q.offSide),q=Array(X-J+1),G=-2,U=-1,H=-2,V=-1;for(let K=J;K<=X;K++){let j=K-J,W=this._computeIndentLevel(K-1);if(W>=0){G=K-1,U=W,q[j]=Math.ceil(W/Z.indentSize);continue}if(G===-2){G=-1,U=-1;for(let z=K-2;z>=0;z--){let B=this._computeIndentLevel(z);if(B>=0){G=z,U=B;break}}}if(H!==-1&&(H===-2||H<K-1)){H=-1,V=-1;for(let z=K;z<Y;z++){let B=this._computeIndentLevel(z);if(B>=0){H=z,V=B;break}}}q[j]=this._getIndentLevelForWhitespaceLine($,U,V)}return q}_getIndentLevelForWhitespaceLine(J,X,Y){let Z=this.textModel.getOptions();if(X===-1||Y===-1)return 0;else if(X<Y)return 1+Math.floor(X/Z.indentSize);else if(X===Y)return Math.ceil(Y/Z.indentSize);else if(J)return Math.ceil(Y/Z.indentSize);else return 1+Math.floor(Y/Z.indentSize)}}class eR{constructor(){this.activeClassName=\"indent-active\"}getInlineClassName(J,X,Y){return this.getInlineClassNameOfLevel(Y?X:J)}getInlineClassNameOfLevel(J){return`bracket-indent-guide lvl-${J%30}`}}class Xf extends C7{constructor(J){super();this._context=J,this._primaryPosition=null;let X=this._context.configuration.options,Y=X.get(166),Z=X.get(59);this._spaceWidth=Z.spaceWidth,this._maxIndentLeft=Y.wrappingColumn===-1?-1:Y.wrappingColumn*Z.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=X.get(22),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){let X=this._context.configuration.options,Y=X.get(166),Z=X.get(59);return this._spaceWidth=Z.spaceWidth,this._maxIndentLeft=Y.wrappingColumn===-1?-1:Y.wrappingColumn*Z.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=X.get(22),!0}onCursorStateChanged(J){let Y=J.selections[0].getPosition();if(!this._primaryPosition?.equals(Y))return this._primaryPosition=Y,!0;return!1}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}onLanguageConfigurationChanged(J){return!0}prepareRender(J){if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}let X=J.visibleRange.startLineNumber,Y=J.visibleRange.endLineNumber,Z=J.scrollWidth,Q=this._primaryPosition,$=this.getGuidesByLine(X,Math.min(Y+1,this._context.viewModel.getLineCount()),Q),q=[];for(let G=X;G<=Y;G++){let U=G-X,H=$[U],V=\"\",K=J.visibleRangeForPosition(new C(G,1))?.left??0;for(let j of H){let W=j.column===-1?K+(j.visibleColumn-1)*this._spaceWidth:J.visibleRangeForPosition(new C(G,j.column)).left;if(W>Z||this._maxIndentLeft>0&&W>this._maxIndentLeft)break;let z=j.horizontalLine?j.horizontalLine.top?\"horizontal-top\":\"horizontal-bottom\":\"vertical\",B=j.horizontalLine?(J.visibleRangeForPosition(new C(G,j.horizontalLine.endColumn))?.left??W+this._spaceWidth)-W:this._spaceWidth;V+=`<div class=\"core-guide ${j.className} ${z}\" style=\"left:${W}px;width:${B}px\"></div>`}q[U]=V}this._renderResult=q}getGuidesByLine(J,X,Y){let Z=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(J,X,Y,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?xQ.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal===\"active\"?xQ.EnabledForActive:xQ.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,Q=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(J,X):null,$=0,q=0,G=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&Y){let V=this._context.viewModel.getActiveIndentGuide(Y.lineNumber,J,X);$=V.startLineNumber,q=V.endLineNumber,G=V.indent}let{indentSize:U}=this._context.viewModel.model.getOptions(),H=[];for(let V=J;V<=X;V++){let K=[];H.push(K);let j=Z?Z[V-J]:[],W=new AJ(j),z=Q?Q[V-J]:0;for(let B=1;B<=z;B++){let P=(B-1)*U+1,_=(this._bracketPairGuideOptions.highlightActiveIndentation===\"always\"||j.length===0)&&$<=V&&V<=q&&B===G;K.push(...W.takeWhile((O)=>O.visibleColumn<P)||[]);let A=W.peek();if(!A||A.visibleColumn!==P||A.horizontalLine)K.push(new yX(P,-1,`core-guide-indent lvl-${(B-1)%30}`+(_?\" indent-active\":\"\"),null,-1,-1))}K.push(...W.takeWhile((B)=>!0)||[])}return H}render(J,X){if(!this._renderResult)return\"\";let Y=X-J;if(Y<0||Y>=this._renderResult.length)return\"\";return this._renderResult[Y]}}function YK(J){if(J&&J.isTransparent())return;return J}x8((J,X)=>{let Y=[{bracketColor:aR,guideColor:y50,guideColorActive:h50},{bracketColor:iR,guideColor:x50,guideColorActive:v50},{bracketColor:rR,guideColor:b50,guideColorActive:g50},{bracketColor:oR,guideColor:C50,guideColorActive:p50},{bracketColor:nR,guideColor:S50,guideColorActive:m50},{bracketColor:tR,guideColor:f50,guideColorActive:u50}],Z=new eR,Q=[{indentColor:IG,indentColorActive:kG},{indentColor:V50,indentColorActive:F50},{indentColor:K50,indentColorActive:B50},{indentColor:j50,indentColorActive:_50},{indentColor:W50,indentColorActive:A50},{indentColor:z50,indentColorActive:P50}],$=Y.map((G)=>{let U=J.getColor(G.bracketColor),H=J.getColor(G.guideColor),V=J.getColor(G.guideColorActive),K=YK(YK(H)??U?.transparent(0.3)),j=YK(YK(V)??U);if(!K||!j)return;return{guideColor:K,guideColorActive:j}}).filter(Y7),q=Q.map((G)=>{let U=J.getColor(G.indentColor),H=J.getColor(G.indentColorActive),V=YK(U),K=YK(H);if(!V||!K)return;return{indentColor:V,indentColorActive:K}}).filter(Y7);if($.length>0){for(let G=0;G<30;G++){let U=$[G%$.length];X.addRule(`.monaco-editor .${Z.getInlineClassNameOfLevel(G).replace(/ /g,\".\")} { --guide-color: ${U.guideColor}; --guide-color-active: ${U.guideColorActive}; }`)}X.addRule(\".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }\"),X.addRule(\".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }\"),X.addRule(\".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }\"),X.addRule(`.monaco-editor .vertical.${Z.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),X.addRule(`.monaco-editor .horizontal-top.${Z.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),X.addRule(`.monaco-editor .horizontal-bottom.${Z.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(q.length>0){for(let G=0;G<30;G++){let U=q[G%q.length];X.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${G} { --indent-color: ${U.indentColor}; --indent-color-active: ${U.indentColorActive}; }`)}X.addRule(\".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }\"),X.addRule(\".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }\")}});class ZK extends C7{static{this.CLASS_NAME=\"line-numbers\"}constructor(J){super();this._context=J,this._readConfig(),this._lastCursorModelPosition=new C(1,1),this._renderResult=null,this._activeModelLineNumber=1,this._context.addEventHandler(this)}_readConfig(){let J=this._context.configuration.options;this._lineHeight=J.get(75);let X=J.get(76);this._renderLineNumbers=X.renderType,this._renderCustomLineNumbers=X.renderFn,this._renderFinalNewline=J.get(109);let Y=J.get(165);this._lineNumbersLeft=Y.lineNumbersLeft,this._lineNumbersWidth=Y.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){return this._readConfig(),!0}onCursorStateChanged(J){let X=J.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(X);let Y=!1;if(this._activeModelLineNumber!==this._lastCursorModelPosition.lineNumber)this._activeModelLineNumber=this._lastCursorModelPosition.lineNumber,Y=!0;if(this._renderLineNumbers===2||this._renderLineNumbers===3)Y=!0;return Y}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}onDecorationsChanged(J){return J.affectsLineNumber}_getLineRenderLineNumber(J){let X=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(J,1));if(X.column!==1)return\"\";let Y=X.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(Y);if(this._renderLineNumbers===2){let Z=Math.abs(this._lastCursorModelPosition.lineNumber-Y);if(Z===0)return'<span class=\"relative-current-line-number\">'+Y+\"</span>\";return String(Z)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===Y)return String(Y);if(Y%10===0)return String(Y);let Z=this._context.viewModel.getLineCount();if(Y===Z)return String(Y);return\"\"}return String(Y)}prepareRender(J){if(this._renderLineNumbers===0){this._renderResult=null;return}let X=y6?this._lineHeight%2===0?\" lh-even\":\" lh-odd\":\"\",Y=J.visibleRange.startLineNumber,Z=J.visibleRange.endLineNumber,Q=this._context.viewModel.getDecorationsInViewport(J.visibleRange).filter((U)=>!!U.options.lineNumberClassName);Q.sort((U,H)=>T.compareRangesUsingEnds(U.range,H.range));let $=0,q=this._context.viewModel.getLineCount(),G=[];for(let U=Y;U<=Z;U++){let H=U-Y,V=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(U,1)).lineNumber,K=this._getLineRenderLineNumber(U),j=\"\";while($<Q.length&&Q[$].range.endLineNumber<U)$++;for(let W=$;W<Q.length;W++){let{range:z,options:B}=Q[W];if(z.startLineNumber<=U)j+=\" \"+B.lineNumberClassName}if(!K&&!j){G[H]=\"\";continue}if(U===q&&this._context.viewModel.getLineLength(U)===0){if(this._renderFinalNewline===\"off\")K=\"\";if(this._renderFinalNewline===\"dimmed\")j+=\" dimmed-line-number\"}if(V===this._activeModelLineNumber)j+=\" active-line-number\";G[H]=`<div class=\"${ZK.CLASS_NAME}${X}${j}\" style=\"left:${this._lineNumbersLeft}px;width:${this._lineNumbersWidth}px;\">${K}</div>`}this._renderResult=G}render(J,X){if(!this._renderResult)return\"\";let Y=X-J;if(Y<0||Y>=this._renderResult.length)return\"\";return this._renderResult[Y]}}x8((J,X)=>{let Y=J.getColor(H50),Z=J.getColor(D50);if(Z)X.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${Z}; }`);else if(Y)X.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${Y.transparent(0.4)}; }`)});var bQ=\"monaco-mouse-cursor-text\";class oF{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;let J=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=J.left;let X=this._domNode.offsetWidth;this._clientRectScale=X>0?J.width/X:1}}get clientRectDeltaLeft(){if(!this._clientRectRead)this.readClientRect();return this._clientRectDeltaLeft}get clientRectScale(){if(!this._clientRectRead)this.readClientRect();return this._clientRectScale}constructor(J,X){this._domNode=J,this.endNode=X,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class f2{constructor(J,X){this.themeType=X;let Y=J.options,Z=Y.get(59);this.renderWhitespace=Y.get(113),this.experimentalWhitespaceRendering=Y.get(47),this.renderControlCharacters=Y.get(108),this.spaceWidth=Z.spaceWidth,this.middotWidth=Z.middotWidth,this.wsmiddotWidth=Z.wsmiddotWidth,this.useMonospaceOptimizations=Z.isMonospace&&!Y.get(40),this.canUseHalfwidthRightwardsArrow=Z.canUseHalfwidthRightwardsArrow,this.lineHeight=Y.get(75),this.stopRenderingLineAfter=Y.get(133),this.fontLigatures=Y.get(60),this.verticalScrollbarSize=Y.get(117).verticalScrollbarSize,this.useGpu=Y.get(46)===\"on\"}equals(J){return this.themeType===J.themeType&&this.renderWhitespace===J.renderWhitespace&&this.experimentalWhitespaceRendering===J.experimentalWhitespaceRendering&&this.renderControlCharacters===J.renderControlCharacters&&this.spaceWidth===J.spaceWidth&&this.middotWidth===J.middotWidth&&this.wsmiddotWidth===J.wsmiddotWidth&&this.useMonospaceOptimizations===J.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===J.canUseHalfwidthRightwardsArrow&&this.lineHeight===J.lineHeight&&this.stopRenderingLineAfter===J.stopRenderingLineAfter&&this.fontLigatures===J.fontLigatures&&this.verticalScrollbarSize===J.verticalScrollbarSize&&this.useGpu===J.useGpu}}class i50{constructor(){this._currentVisibleRange=new T(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(J){this._currentVisibleRange=J}}class r50{constructor(J,X,Y,Z,Q,$,q){this.minimalReveal=J,this.lineNumber=X,this.startColumn=Y,this.endColumn=Z,this.startScrollTop=Q,this.stopScrollTop=$,this.scrollType=q,this.type=\"range\",this.minLineNumber=X,this.maxLineNumber=X}}class o50{constructor(J,X,Y,Z,Q){this.minimalReveal=J,this.selections=X,this.startScrollTop=Y,this.stopScrollTop=Z,this.scrollType=Q,this.type=\"selections\";let $=X[0].startLineNumber,q=X[0].endLineNumber;for(let G=1,U=X.length;G<U;G++){let H=X[G];$=Math.min($,H.startLineNumber),q=Math.max(q,H.endLineNumber)}this.minLineNumber=$,this.maxLineNumber=q}}class JN extends e1{static{this.HORIZONTAL_EXTRA_PX=30}constructor(J,X,Y){super(J);let Z=this._context.configuration,Q=this._context.configuration.options,$=Q.get(59),q=Q.get(166);this._lineHeight=Q.get(75),this._typicalHalfwidthCharacterWidth=$.typicalHalfwidthCharacterWidth,this._isViewportWrapping=q.isViewportWrapping,this._revealHorizontalRightPadding=Q.get(114),this._cursorSurroundingLines=Q.get(35),this._cursorSurroundingLinesStyle=Q.get(36),this._canUseLayerHinting=!Q.get(39),this._viewLineOptions=new f2(Z,this._context.theme.type),this._linesContent=Y,this._textRangeRestingSpot=document.createElement(\"div\"),this._visibleLines=new lF(this._context,{createLine:()=>new H9(X,this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,k5.write(this.domNode,8),this.domNode.setClassName(`view-lines ${bQ}`),B6(this.domNode,$),this._maxLineWidth=0,this._asyncUpdateLineWidths=new B1(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new B1(()=>{this._checkMonospaceFontAssumptions()},2000),this._lastRenderedData=new i50,this._horizontalRevealRequest=null,this._stickyScrollEnabled=Q.get(131).enabled,this._maxNumberStickyLines=Q.get(131).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(J){if(this._visibleLines.onConfigurationChanged(J),J.hasChanged(166))this._maxLineWidth=0;let X=this._context.configuration.options,Y=X.get(59),Z=X.get(166);if(this._lineHeight=X.get(75),this._typicalHalfwidthCharacterWidth=Y.typicalHalfwidthCharacterWidth,this._isViewportWrapping=Z.isViewportWrapping,this._revealHorizontalRightPadding=X.get(114),this._cursorSurroundingLines=X.get(35),this._cursorSurroundingLinesStyle=X.get(36),this._canUseLayerHinting=!X.get(39),this._stickyScrollEnabled=X.get(131).enabled,this._maxNumberStickyLines=X.get(131).maxLineCount,B6(this.domNode,Y),this._onOptionsMaybeChanged(),J.hasChanged(165))this._maxLineWidth=0;return!0}_onOptionsMaybeChanged(){let J=this._context.configuration,X=new f2(J,this._context.theme.type);if(!this._viewLineOptions.equals(X)){this._viewLineOptions=X;let Y=this._visibleLines.getStartLineNumber(),Z=this._visibleLines.getEndLineNumber();for(let Q=Y;Q<=Z;Q++)this._visibleLines.getVisibleLine(Q).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(J){let X=this._visibleLines.getStartLineNumber(),Y=this._visibleLines.getEndLineNumber(),Z=!1;for(let Q=X;Q<=Y;Q++)Z=this._visibleLines.getVisibleLine(Q).onSelectionChanged()||Z;return Z}onDecorationsChanged(J){let X=this._visibleLines.getStartLineNumber(),Y=this._visibleLines.getEndLineNumber();for(let Z=X;Z<=Y;Z++)this._visibleLines.getVisibleLine(Z).onDecorationsChanged();return!0}onFlushed(J){let X=this._visibleLines.onFlushed(J,this._viewLineOptions.useGpu);return this._maxLineWidth=0,X}onLinesChanged(J){return this._visibleLines.onLinesChanged(J)}onLinesDeleted(J){return this._visibleLines.onLinesDeleted(J)}onLinesInserted(J){return this._visibleLines.onLinesInserted(J)}onRevealRangeRequest(J){let X=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),J.source,J.minimalReveal,J.range,J.selections,J.verticalType);if(X===-1)return!1;let Y=this._context.viewLayout.validateScrollPosition({scrollTop:X});if(J.revealHorizontal){if(J.range&&J.range.startLineNumber!==J.range.endLineNumber)Y={scrollTop:Y.scrollTop,scrollLeft:0};else if(J.range)this._horizontalRevealRequest=new r50(J.minimalReveal,J.range.startLineNumber,J.range.startColumn,J.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),Y.scrollTop,J.scrollType);else if(J.selections&&J.selections.length>0)this._horizontalRevealRequest=new o50(J.minimalReveal,J.selections,this._context.viewLayout.getCurrentScrollTop(),Y.scrollTop,J.scrollType)}else this._horizontalRevealRequest=null;let Q=Math.abs(this._context.viewLayout.getCurrentScrollTop()-Y.scrollTop)<=this._lineHeight?1:J.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(Y,Q),!0}onScrollChanged(J){if(this._horizontalRevealRequest&&J.scrollLeftChanged)this._horizontalRevealRequest=null;if(this._horizontalRevealRequest&&J.scrollTopChanged){let X=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),Y=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);if(J.scrollTop<X||J.scrollTop>Y)this._horizontalRevealRequest=null}return this.domNode.setWidth(J.scrollWidth),this._visibleLines.onScrollChanged(J)||J.scrollTopChanged||J.scrollLeftChanged}onTokensChanged(J){return this._visibleLines.onTokensChanged(J)}onZonesChanged(J){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(J)}onThemeChanged(J){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(J,X){let Y=this._getViewLineDomNode(J);if(Y===null)return null;let Z=this._getLineNumberFor(Y);if(Z===-1)return null;if(Z<1||Z>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(Z)===1)return new C(Z,1);let Q=this._visibleLines.getStartLineNumber(),$=this._visibleLines.getEndLineNumber();if(Z<Q||Z>$)return null;let q=this._visibleLines.getVisibleLine(Z).getColumnOfNodeOffset(J,X),G=this._context.viewModel.getLineMinColumn(Z);if(q<G)q=G;return new C(Z,q)}_getViewLineDomNode(J){while(J&&J.nodeType===1){if(J.className===H9.CLASS_NAME)return J;J=J.parentElement}return null}_getLineNumberFor(J){let X=this._visibleLines.getStartLineNumber(),Y=this._visibleLines.getEndLineNumber();for(let Z=X;Z<=Y;Z++){let Q=this._visibleLines.getVisibleLine(Z);if(J===Q.getDomNode())return Z}return-1}getLineWidth(J){let X=this._visibleLines.getStartLineNumber(),Y=this._visibleLines.getEndLineNumber();if(J<X||J>Y)return-1;let Z=new oF(this.domNode.domNode,this._textRangeRestingSpot),Q=this._visibleLines.getVisibleLine(J).getWidth(Z);return this._updateLineWidthsSlowIfDomDidLayout(Z),Q}resetLineWidthCaches(){let J=this._visibleLines.getStartLineNumber(),X=this._visibleLines.getEndLineNumber();for(let Y=J;Y<=X;Y++)this._visibleLines.getVisibleLine(Y).resetCachedWidth()}linesVisibleRangesForRange(J,X){let Y=J.endLineNumber,Z=T.intersectRanges(J,this._lastRenderedData.getCurrentVisibleRange());if(!Z)return null;let Q=[],$=0,q=new oF(this.domNode.domNode,this._textRangeRestingSpot),G=0;if(X)G=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(Z.startLineNumber,1)).lineNumber;let U=this._visibleLines.getStartLineNumber(),H=this._visibleLines.getEndLineNumber();for(let V=Z.startLineNumber;V<=Z.endLineNumber;V++){if(V<U||V>H)continue;let K=V===Z.startLineNumber?Z.startColumn:1,j=V!==Y,W=j?this._context.viewModel.getLineMaxColumn(V):Z.endColumn,B=this._visibleLines.getVisibleLine(V).getVisibleRangesForRange(V,K,W,q);if(!B)continue;if(X&&V<Y){let P=G;if(G=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(V+1,1)).lineNumber,P!==G){let _=B.ranges[B.ranges.length-1];if(_.width+=this._typicalHalfwidthCharacterWidth,this._context.viewModel.getTextDirection(P)===N8.RTL)_.left-=this._typicalHalfwidthCharacterWidth}}Q[$++]=new EF(B.outsideRenderedLine,V,I2.from(B.ranges),j)}if(this._updateLineWidthsSlowIfDomDidLayout(q),$===0)return null;return Q}_visibleRangesForLineRange(J,X,Y){if(J<this._visibleLines.getStartLineNumber()||J>this._visibleLines.getEndLineNumber())return null;let Z=new oF(this.domNode.domNode,this._textRangeRestingSpot),Q=this._visibleLines.getVisibleLine(J).getVisibleRangesForRange(J,X,Y,Z);return this._updateLineWidthsSlowIfDomDidLayout(Z),Q}_lineIsRenderedRTL(J){if(J<this._visibleLines.getStartLineNumber()||J>this._visibleLines.getEndLineNumber())return!1;return this._visibleLines.getVisibleLine(J).isRenderedRTL()}visibleRangeForPosition(J){let X=this._visibleRangesForLineRange(J.lineNumber,J.column,J.column);if(!X)return null;return new yF(X.outsideRenderedLine,X.ranges[0].left)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(J){if(!J.didDomLayout)return;if(!this._asyncUpdateLineWidths.isScheduled())return;this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()}_updateLineWidths(J){let X=this._visibleLines.getStartLineNumber(),Y=this._visibleLines.getEndLineNumber(),Z=1,Q=!0;for(let $=X;$<=Y;$++){let q=this._visibleLines.getVisibleLine($);if(J&&!q.getWidthIsFast()){Q=!1;continue}Z=Math.max(Z,q.getWidth(null))}if(Q&&X===1&&Y===this._context.viewModel.getLineCount())this._maxLineWidth=0;return this._ensureMaxLineWidth(Z),Q}_checkMonospaceFontAssumptions(){let J=-1,X=-1,Y=this._visibleLines.getStartLineNumber(),Z=this._visibleLines.getEndLineNumber();for(let Q=Y;Q<=Z;Q++){let $=this._visibleLines.getVisibleLine(Q);if($.needsMonospaceFontCheck()){let q=$.getWidth(null);if(q>X)X=q,J=Q}}if(J===-1)return;if(!this._visibleLines.getVisibleLine(J).monospaceAssumptionsAreValid())for(let Q=Y;Q<=Z;Q++)this._visibleLines.getVisibleLine(Q).onMonospaceAssumptionsInvalidated()}prepareRender(){throw Error(\"Not supported\")}render(){throw Error(\"Not supported\")}renderText(J){if(this._visibleLines.renderLines(J),this._lastRenderedData.setCurrentVisibleRange(J.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){let Y=this._horizontalRevealRequest;if(J.startLineNumber<=Y.minLineNumber&&Y.maxLineNumber<=J.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();let Z=this._computeScrollLeftToReveal(Y);if(Z){if(!this._isViewportWrapping&&!Z.hasRTL)this._ensureMaxLineWidth(Z.maxHorizontalOffset);this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:Z.scrollLeft},Y.scrollType)}}}if(!this._updateLineWidthsFast())this._asyncUpdateLineWidths.schedule();else this._asyncUpdateLineWidths.cancel();if(y6&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){let Y=this._visibleLines.getStartLineNumber(),Z=this._visibleLines.getEndLineNumber();for(let Q=Y;Q<=Z;Q++)if(this._visibleLines.getVisibleLine(Q).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain(\"strict\");let X=this._context.viewLayout.getCurrentScrollTop()-J.bigNumbersDelta;this._linesContent.setTop(-X),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(J){if(this._viewLineOptions.useGpu)return;let X=Math.ceil(J);if(this._maxLineWidth<X)this._maxLineWidth=X,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth)}_computeScrollTopToRevealRange(J,X,Y,Z,Q,$){let{top:q,height:G}=J,U=q+G,H,V,K;if(Q&&Q.length>0){let P=Q[0].startLineNumber,_=Q[0].endLineNumber;for(let A=1,O=Q.length;A<O;A++){let D=Q[A];P=Math.min(P,D.startLineNumber),_=Math.max(_,D.endLineNumber)}H=!1,V=this._context.viewLayout.getVerticalOffsetForLineNumber(P),K=this._context.viewLayout.getVerticalOffsetForLineNumber(_)+this._lineHeight}else if(Z)H=!0,V=this._context.viewLayout.getVerticalOffsetForLineNumber(Z.startLineNumber),K=this._context.viewLayout.getVerticalOffsetForLineNumber(Z.endLineNumber)+this._lineHeight;else return-1;let j=(X===\"mouse\"||Y)&&this._cursorSurroundingLinesStyle===\"default\",W=0,z=0;if(!j){let P=G/this._lineHeight,_=Math.max(this._cursorSurroundingLines,this._stickyScrollEnabled?this._maxNumberStickyLines:0),A=Math.min(P/2,_);W=A*this._lineHeight,z=Math.max(0,A-1)*this._lineHeight}else if(!Y)W=this._lineHeight;if(!Y){if($===0||$===4)z+=this._lineHeight}V-=W,K+=z;let B;if(K-V>G){if(!H)return-1;B=V}else if($===5||$===6)if($===6&&q<=V&&K<=U)B=q;else{let P=Math.max(5*this._lineHeight,G*0.2),_=V-P,A=K-G;B=Math.max(A,_)}else if($===1||$===2)if($===2&&q<=V&&K<=U)B=q;else{let P=(V+K)/2;B=Math.max(0,P-G/2)}else B=this._computeMinimumScrolling(q,U,V,K,$===3,$===4);return B}_computeScrollLeftToReveal(J){let X=this._context.viewLayout.getCurrentViewport(),Y=this._context.configuration.options.get(165),Z=X.left,Q=Z+X.width-Y.verticalScrollbarWidth,$=1073741824,q=0,G=!1;if(J.type===\"range\"){G=this._lineIsRenderedRTL(J.lineNumber);let H=this._visibleRangesForLineRange(J.lineNumber,J.startColumn,J.endColumn);if(!H)return null;for(let V of H.ranges)$=Math.min($,Math.round(V.left)),q=Math.max(q,Math.round(V.left+V.width))}else for(let H of J.selections){if(H.startLineNumber!==H.endLineNumber)return null;let V=this._visibleRangesForLineRange(H.startLineNumber,H.startColumn,H.endColumn);if(G||=this._lineIsRenderedRTL(H.startLineNumber),!V)return null;for(let K of V.ranges)$=Math.min($,Math.round(K.left)),q=Math.max(q,Math.round(K.left+K.width))}if(!J.minimalReveal)$=Math.max(0,$-JN.HORIZONTAL_EXTRA_PX),q+=this._revealHorizontalRightPadding;if(J.type===\"selections\"&&q-$>X.width)return null;return{scrollLeft:this._computeMinimumScrolling(Z,Q,$,q),maxHorizontalOffset:q,hasRTL:G}}_computeMinimumScrolling(J,X,Y,Z,Q,$){J=J|0,X=X|0,Y=Y|0,Z=Z|0,Q=!!Q,$=!!$;let q=X-J;if(Z-Y<q){if(Q)return Y;if($)return Math.max(0,Z-q);if(Y<J)return Y;else if(Z>X)return Math.max(0,Z-q)}else return Y;return J}}class Yf extends aF{constructor(J){super();this._context=J;let Y=this._context.configuration.options.get(165);this._decorationsLeft=Y.decorationsLeft,this._decorationsWidth=Y.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){let Y=this._context.configuration.options.get(165);return this._decorationsLeft=Y.decorationsLeft,this._decorationsWidth=Y.decorationsWidth,!0}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}_getDecorations(J){let X=J.getDecorationsInViewport(),Y=[],Z=0;for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.options.linesDecorationsClassName,U=q.options.zIndex;if(G)Y[Z++]=new XK(q.range.startLineNumber,q.range.endLineNumber,G,q.options.linesDecorationsTooltip??null,U);let H=q.options.firstLineDecorationClassName;if(H)Y[Z++]=new XK(q.range.startLineNumber,q.range.startLineNumber,H,q.options.linesDecorationsTooltip??null,U)}return Y}prepareRender(J){let X=J.visibleRange.startLineNumber,Y=J.visibleRange.endLineNumber,Z=this._render(X,Y,this._getDecorations(J)),Q=this._decorationsLeft.toString(),$=this._decorationsWidth.toString(),q='\" style=\"left:'+Q+\"px;width:\"+$+'px;\"></div>',G=[];for(let U=X;U<=Y;U++){let H=U-X,V=Z[H].getDecorations(),K=\"\";for(let j of V){let W='<div class=\"cldr '+j.className;if(j.tooltip!==null)W+='\" title=\"'+j.tooltip;W+=q,K+=W}G[H]=K}this._renderResult=G}render(J,X){if(!this._renderResult)return\"\";return this._renderResult[X-J]}}class EG extends e1{static{this.CLASS_NAME=\"glyph-margin\"}static{this.OUTER_CLASS_NAME=\"margin\"}constructor(J){super(J);let X=this._context.configuration.options,Y=X.get(165);this._canUseLayerHinting=!X.get(39),this._contentLeft=Y.contentLeft,this._glyphMarginLeft=Y.glyphMarginLeft,this._glyphMarginWidth=Y.glyphMarginWidth,this._domNode=p0(document.createElement(\"div\")),this._domNode.setClassName(EG.OUTER_CLASS_NAME),this._domNode.setPosition(\"absolute\"),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._glyphMarginBackgroundDomNode=p0(document.createElement(\"div\")),this._glyphMarginBackgroundDomNode.setClassName(EG.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}getDomNode(){return this._domNode}onConfigurationChanged(J){let X=this._context.configuration.options,Y=X.get(165);return this._canUseLayerHinting=!X.get(39),this._contentLeft=Y.contentLeft,this._glyphMarginLeft=Y.glyphMarginLeft,this._glyphMarginWidth=Y.glyphMarginWidth,!0}onScrollChanged(J){return super.onScrollChanged(J)||J.scrollTopChanged}prepareRender(J){}render(J){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain(\"strict\");let X=J.scrollTop-J.bigNumbersDelta;this._domNode.setTop(-X);let Y=Math.min(J.scrollHeight,1e6);this._domNode.setHeight(Y),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(Y)}}class Zf extends aF{constructor(J){super();this._context=J,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){return!0}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}_getDecorations(J){let X=J.getDecorationsInViewport(),Y=[],Z=0;for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=q.options.marginClassName,U=q.options.zIndex;if(G)Y[Z++]=new XK(q.range.startLineNumber,q.range.endLineNumber,G,null,U)}return Y}prepareRender(J){let X=J.visibleRange.startLineNumber,Y=J.visibleRange.endLineNumber,Z=this._render(X,Y,this._getDecorations(J)),Q=[];for(let $=X;$<=Y;$++){let q=$-X,G=Z[q].getDecorations(),U=\"\";for(let H of G)U+='<div class=\"cmdr '+H.className+'\" style=\"\"></div>';Q[q]=U}this._renderResult=Q}render(J,X){if(!this._renderResult)return\"\";return this._renderResult[X-J]}}class H4{static{this.Empty=new H4(0,0,0,0)}constructor(J,X,Y,Z){this._rgba8Brand=void 0,this.r=H4._clamp(J),this.g=H4._clamp(X),this.b=H4._clamp(Y),this.a=H4._clamp(Z)}equals(J){return this.r===J.r&&this.g===J.g&&this.b===J.b&&this.a===J.a}static _clamp(J){if(J<0)return 0;if(J>255)return 255;return J|0}}class QK extends y{static{this._INSTANCE=null}static getInstance(){if(!this._INSTANCE)this._INSTANCE=t7(new QK);return this._INSTANCE}constructor(){super();this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(f1.onDidChange((J)=>{if(J.changedColorMap)this._updateColorMap()}))}_updateColorMap(){let J=f1.getColorMap();if(!J){this._colors=[];for(let Y=0;Y<=2;Y++)this._colors[Y]=H4.Empty;this._backgroundIsLight=!0;return}this._colors=[H4.Empty];for(let Y=1;Y<J.length;Y++){let Z=J[Y].rgba;this._colors[Y]=new H4(Z.r,Z.g,Z.b,Math.round(Z.a*255))}let X=J[2].getRelativeLuminance();this._backgroundIsLight=X>=0.5,this._onDidChange.fire(void 0)}getColor(J){if(J<1||J>=this._colors.length)J=2;let X=this._colors[J];if(!X)b0(new j0(`Missing color for colorId ${J}`)),X=H4.Empty;return X}backgroundIsLight(){return this._backgroundIsLight}}var n50=(()=>{let J=[];for(let X=32;X<=126;X++)J.push(X);return J.push(65533),J})(),t50=(J,X)=>{if(J-=32,J<0||J>96){if(X<=2)return(J+96)%96;return 95}return J};class $K{constructor(J,X){this.scale=X,this._minimapCharRendererBrand=void 0,this.charDataNormal=$K.soften(J,0.8),this.charDataLight=$K.soften(J,0.8333333333333334)}static soften(J,X){let Y=new Uint8ClampedArray(J.length);for(let Z=0,Q=J.length;Z<Q;Z++)Y[Z]=aq(J[Z]*X);return Y}renderChar(J,X,Y,Z,Q,$,q,G,U,H,V){let K=1*this.scale,j=2*this.scale,W=V?1:j;if(X+K>J.width||Y+W>J.height){console.warn(\"bad render request outside image data\");return}let z=H?this.charDataLight:this.charDataNormal,B=t50(Z,U),P=J.width*4,_=q.r,A=q.g,O=q.b,D=Q.r-_,R=Q.g-A,N=Q.b-O,w=Math.max($,G),k=J.data,I=B*K*j,S=Y*P+X*4;for(let h=0;h<W;h++){let u=S;for(let p=0;p<K;p++){let s=z[I++]/255*($/255);k[u++]=_+D*s,k[u++]=A+R*s,k[u++]=O+N*s,k[u++]=w}S+=P}}blockRenderChar(J,X,Y,Z,Q,$,q,G){let U=1*this.scale,H=2*this.scale,V=G?1:H;if(X+U>J.width||Y+V>J.height){console.warn(\"bad render request outside image data\");return}let K=J.width*4,j=0.5*(Q/255),W=$.r,z=$.g,B=$.b,P=Z.r-W,_=Z.g-z,A=Z.b-B,O=W+P*j,D=z+_*j,R=B+A*j,N=Math.max(Q,q),w=J.data,k=Y*K+X*4;for(let I=0;I<V;I++){let S=k;for(let h=0;h<U;h++)w[S++]=O,w[S++]=D,w[S++]=R,w[S++]=N;k+=K}}}var e50={\"0\":0,\"1\":1,\"2\":2,\"3\":3,\"4\":4,\"5\":5,\"6\":6,\"7\":7,\"8\":8,\"9\":9,A:10,B:11,C:12,D:13,E:14,F:15},J70=(J)=>{let X=new Uint8ClampedArray(J.length/2);for(let Y=0;Y<J.length;Y+=2)X[Y>>1]=e50[J[Y]]<<4|e50[J[Y+1]]&15;return X},Qf={1:oZ(()=>J70(\"0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792\")),2:oZ(()=>J70(\"000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126\"))};class qK{static create(J,X){if(this.lastCreated&&J===this.lastCreated.scale&&X===this.lastFontFamily)return this.lastCreated;let Y;if(Qf[J])Y=new $K(Qf[J](),J);else Y=qK.createFromSampleData(qK.createSampleData(X).data,J);return this.lastFontFamily=X,this.lastCreated=Y,Y}static createSampleData(J){let X=document.createElement(\"canvas\"),Y=X.getContext(\"2d\");X.style.height=\"16px\",X.height=16,X.width=960,X.style.width=\"960px\",Y.fillStyle=\"#ffffff\",Y.font=`bold 16px ${J}`,Y.textBaseline=\"middle\";let Z=0;for(let Q of n50)Y.fillText(String.fromCharCode(Q),Z,8),Z+=10;return Y.getImageData(0,0,960,16)}static createFromSampleData(J,X){if(J.length!==61440)throw Error(\"Unexpected source in MinimapCharRenderer\");let Z=qK._downsample(J,X);return new $K(Z,X)}static _downsampleChar(J,X,Y,Z,Q){let $=1*Q,q=2*Q,G=Z,U=0;for(let H=0;H<q;H++){let V=H/q*16,K=(H+1)/q*16;for(let j=0;j<$;j++){let W=j/$*10,z=(j+1)/$*10,B=0,P=0;for(let A=V;A<K;A++){let O=X+Math.floor(A)*3840,D=1-(A-Math.floor(A));for(let R=W;R<z;R++){let N=1-(R-Math.floor(R)),w=O+Math.floor(R)*4,k=N*D;P+=k,B+=J[w]*J[w+3]/255*k}}let _=B/P;U=Math.max(U,_),Y[G++]=aq(_)}}return U}static _downsample(J,X){let Y=2*X*1*X,Z=Y*96,Q=new Uint8ClampedArray(Z),$=0,q=0,G=0;for(let U=0;U<96;U++)G=Math.max(G,this._downsampleChar(J,q,Q,$,X)),$+=Y,q+=40;if(G>0){let U=255/G;for(let H=0;H<Z;H++)Q[H]*=U}return Q}}var X70=z6?'\"Segoe WPC\", \"Segoe UI\", sans-serif':I0?\"-apple-system, BlinkMacSystemFont, sans-serif\":'system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif';class nF{constructor(J,X){this._viewModelDecorationBrand=void 0,this.range=J,this.options=X}}function Y70(J,X){if(X.options.hideInCommentTokens&&HF0(J,X))return!1;if(X.options.hideInStringTokens&&VF0(J,X))return!1;return!0}function HF0(J,X){return Z70(J,X.range,(Y)=>Y===1)}function VF0(J,X){return Z70(J,X.range,(Y)=>Y===2)}function Z70(J,X,Y){for(let Z=X.startLineNumber;Z<=X.endLineNumber;Z++){let Q=J.tokenization.getLineTokens(Z),$=Z===X.startLineNumber,q=Z===X.endLineNumber,G=$?Q.findTokenIndexAtOffset(X.startColumn-1):0;while(G<Q.getCount()){if(q){if(Q.getStartOffset(G)>X.endColumn-1)break}if(!Y(Q.getStandardTokenType(G)))return!1;G++}}return!0}var KF0=140,jF0=2;class UK{constructor(J,X,Y){let Z=J.options,Q=Z.get(163),$=Z.get(165),q=$.minimap,G=Z.get(59),U=Z.get(81);this.renderMinimap=q.renderMinimap,this.size=U.size,this.minimapHeightIsEditorHeight=q.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=Z.get(119),this.paddingTop=Z.get(96).top,this.paddingBottom=Z.get(96).bottom,this.showSlider=U.showSlider,this.autohide=U.autohide,this.pixelRatio=Q,this.typicalHalfwidthCharacterWidth=G.typicalHalfwidthCharacterWidth,this.lineHeight=Z.get(75),this.minimapLeft=q.minimapLeft,this.minimapWidth=q.minimapWidth,this.minimapHeight=$.height,this.canvasInnerWidth=q.minimapCanvasInnerWidth,this.canvasInnerHeight=q.minimapCanvasInnerHeight,this.canvasOuterWidth=q.minimapCanvasOuterWidth,this.canvasOuterHeight=q.minimapCanvasOuterHeight,this.isSampling=q.minimapIsSampling,this.editorHeight=$.height,this.fontScale=q.minimapScale,this.minimapLineHeight=q.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.sectionHeaderFontFamily=X70,this.sectionHeaderFontSize=U.sectionHeaderFontSize*Q,this.sectionHeaderLetterSpacing=U.sectionHeaderLetterSpacing,this.sectionHeaderFontColor=UK._getSectionHeaderColor(X,Y.getColor(1)),this.charRenderer=oZ(()=>qK.create(this.fontScale,G.fontFamily)),this.defaultBackgroundColor=Y.getColor(2),this.backgroundColor=UK._getMinimapBackground(X,this.defaultBackgroundColor),this.foregroundAlpha=UK._getMinimapForegroundOpacity(X)}static _getMinimapBackground(J,X){let Y=J.getColor(G60);if(Y)return new H4(Y.rgba.r,Y.rgba.g,Y.rgba.b,Math.round(255*Y.rgba.a));return X}static _getMinimapForegroundOpacity(J){let X=J.getColor(U60);if(X)return H4._clamp(Math.round(255*X.rgba.a));return 255}static _getSectionHeaderColor(J,X){let Y=J.getColor(VG);if(Y)return new H4(Y.rgba.r,Y.rgba.g,Y.rgba.b,Math.round(255*Y.rgba.a));return X}equals(J){return this.renderMinimap===J.renderMinimap&&this.size===J.size&&this.minimapHeightIsEditorHeight===J.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===J.scrollBeyondLastLine&&this.paddingTop===J.paddingTop&&this.paddingBottom===J.paddingBottom&&this.showSlider===J.showSlider&&this.autohide===J.autohide&&this.pixelRatio===J.pixelRatio&&this.typicalHalfwidthCharacterWidth===J.typicalHalfwidthCharacterWidth&&this.lineHeight===J.lineHeight&&this.minimapLeft===J.minimapLeft&&this.minimapWidth===J.minimapWidth&&this.minimapHeight===J.minimapHeight&&this.canvasInnerWidth===J.canvasInnerWidth&&this.canvasInnerHeight===J.canvasInnerHeight&&this.canvasOuterWidth===J.canvasOuterWidth&&this.canvasOuterHeight===J.canvasOuterHeight&&this.isSampling===J.isSampling&&this.editorHeight===J.editorHeight&&this.fontScale===J.fontScale&&this.minimapLineHeight===J.minimapLineHeight&&this.minimapCharWidth===J.minimapCharWidth&&this.sectionHeaderFontSize===J.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===J.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(J.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(J.backgroundColor)&&this.foregroundAlpha===J.foregroundAlpha}}class tF{constructor(J,X,Y,Z,Q,$,q,G,U){this.scrollTop=J,this.scrollHeight=X,this.sliderNeeded=Y,this._computedSliderRatio=Z,this.sliderTop=Q,this.sliderHeight=$,this.topPaddingLineCount=q,this.startLineNumber=G,this.endLineNumber=U}getDesiredScrollTopFromDelta(J){return Math.round(this.scrollTop+J/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(J){return Math.round((J-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(J){let X=Math.max(this.startLineNumber,J.startLineNumber),Y=Math.min(this.endLineNumber,J.endLineNumber);if(X>Y)return null;return[X,Y]}getYForLineNumber(J,X){return+(J-this.startLineNumber+this.topPaddingLineCount)*X}static create(J,X,Y,Z,Q,$,q,G,U,H,V){let{pixelRatio:K,minimapLineHeight:j}=J,W=Math.floor(J.canvasInnerHeight/j),z=J.lineHeight;if(J.minimapHeightIsEditorHeight){let R=G*J.lineHeight+J.paddingTop+J.paddingBottom;if(J.scrollBeyondLastLine)R+=Math.max(0,Q-J.lineHeight-J.paddingBottom);let N=Math.max(1,Math.floor(Q*Q/R)),w=Math.max(0,J.minimapHeight-N),k=w/(H-Q),I=U*k,S=w>0,h=Math.floor(J.canvasInnerHeight/J.minimapLineHeight),u=Math.floor(J.paddingTop/J.lineHeight);return new tF(U,H,S,k,I,N,u,1,Math.min(q,h))}let B;if($&&Y!==q){let R=Y-X+1;B=Math.floor(R*j/K)}else{let R=Q/z;B=Math.floor(R*j/K)}let P=Math.floor(J.paddingTop/z),_=Math.floor(J.paddingBottom/z);if(J.scrollBeyondLastLine){let R=Q/z;_=Math.max(_,R-1)}let A;if(_>0){let R=Q/z;A=(P+q+_-R-1)*j/K}else A=Math.max(0,(P+q)*j/K-B);A=Math.min(J.minimapHeight-B,A);let O=A/(H-Q),D=U*O;if(W>=P+q+_){let R=A>0;return new tF(U,H,R,O,D,B,P,1,q)}else{let R;if(X>1)R=X+P;else R=Math.max(1,U/z);let N,w=Math.max(1,Math.floor(R-D*K/j));if(w<P)N=P-w+1,w=1;else N=0,w=Math.max(1,w-P);if(V&&V.scrollHeight===H){if(V.scrollTop>U)w=Math.min(w,V.startLineNumber),N=Math.max(N,V.topPaddingLineCount);if(V.scrollTop<U)w=Math.max(w,V.startLineNumber),N=Math.min(N,V.topPaddingLineCount)}let k=Math.min(q,w-N+W-1),I=(U-Z)/z,S;if(U>=J.paddingTop)S=(X-w+N+I)*j/K;else S=U/J.paddingTop*(N+I)*j/K;return new tF(U,H,!0,O,S,B,N,w,k)}}}class XN{static{this.INVALID=new XN(-1)}constructor(J){this.dy=J}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}class $f{constructor(J,X,Y){this.renderedLayout=J,this._imageData=X,this._renderedLines=new mR({createLine:()=>XN.INVALID}),this._renderedLines._set(J.startLineNumber,Y)}linesEquals(J){if(!this.scrollEquals(J))return!1;let Y=this._renderedLines._get().lines;for(let Z=0,Q=Y.length;Z<Q;Z++)if(Y[Z].dy===-1)return!1;return!0}scrollEquals(J){return this.renderedLayout.startLineNumber===J.startLineNumber&&this.renderedLayout.endLineNumber===J.endLineNumber}_get(){let J=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:J.rendLineNumberStart,lines:J.lines}}onLinesChanged(J,X){return this._renderedLines.onLinesChanged(J,X)}onLinesDeleted(J,X){this._renderedLines.onLinesDeleted(J,X)}onLinesInserted(J,X){this._renderedLines.onLinesInserted(J,X)}onTokensChanged(J){return this._renderedLines.onTokensChanged(J)}}class Gf{constructor(J,X,Y,Z){this._backgroundFillData=Gf._createBackgroundFillData(X,Y,Z),this._buffers=[J.createImageData(X,Y),J.createImageData(X,Y)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;let J=this._buffers[this._lastUsedBuffer];return J.data.set(this._backgroundFillData),J}static _createBackgroundFillData(J,X,Y){let{r:Z,g:Q,b:$,a:q}=Y,G=new Uint8ClampedArray(J*X*4),U=0;for(let H=0;H<X;H++)for(let V=0;V<J;V++)G[U]=Z,G[U+1]=Q,G[U+2]=$,G[U+3]=q,U+=4;return G}}class eF{static compute(J,X,Y){if(J.renderMinimap===0||!J.isSampling)return[null,[]];let{minimapLineCount:Z}=jq.computeContainedMinimapLineCount({viewLineCount:X,scrollBeyondLastLine:J.scrollBeyondLastLine,paddingTop:J.paddingTop,paddingBottom:J.paddingBottom,height:J.editorHeight,lineHeight:J.lineHeight,pixelRatio:J.pixelRatio}),Q=X/Z,$=Q/2;if(!Y||Y.minimapLines.length===0){let B=[];if(B[0]=1,Z>1){for(let P=0,_=Z-1;P<_;P++)B[P]=Math.round(P*Q+$);B[Z-1]=X}return[new eF(Q,B),[]]}let q=Y.minimapLines,G=q.length,U=[],H=0,V=0,K=1,j=10,W=[],z=null;for(let B=0;B<Z;B++){let P=Math.max(K,Math.round(B*Q)),_=Math.max(P,Math.round((B+1)*Q));while(H<G&&q[H]<P){if(W.length<j){let O=H+1+V;if(z&&z.type===\"deleted\"&&z._oldIndex===H-1)z.deleteToLineNumber++;else z={type:\"deleted\",_oldIndex:H,deleteFromLineNumber:O,deleteToLineNumber:O},W.push(z);V--}H++}let A;if(H<G&&q[H]<=_)A=q[H],H++;else{if(B===0)A=1;else if(B+1===Z)A=X;else A=Math.round(B*Q+$);if(W.length<j){let O=H+1+V;if(z&&z.type===\"inserted\"&&z._i===B-1)z.insertToLineNumber++;else z={type:\"inserted\",_i:B,insertFromLineNumber:O,insertToLineNumber:O},W.push(z);V++}}U[B]=A,K=A}if(W.length<j)while(H<G){let B=H+1+V;if(z&&z.type===\"deleted\"&&z._oldIndex===H-1)z.deleteToLineNumber++;else z={type:\"deleted\",_oldIndex:H,deleteFromLineNumber:B,deleteToLineNumber:B},W.push(z);V--,H++}else W=[{type:\"flush\"}];return[new eF(Q,U),W]}constructor(J,X){this.samplingRatio=J,this.minimapLines=X}modelLineToMinimapLine(J){return Math.min(this.minimapLines.length,Math.max(1,Math.round(J/this.samplingRatio)))}modelLineRangeToMinimapLineRange(J,X){let Y=this.modelLineToMinimapLine(J)-1;while(Y>0&&this.minimapLines[Y-1]>=J)Y--;let Z=this.modelLineToMinimapLine(X)-1;while(Z+1<this.minimapLines.length&&this.minimapLines[Z+1]<=X)Z++;if(Y===Z){let Q=this.minimapLines[Y];if(Q<J||Q>X)return null}return[Y+1,Z+1]}decorationLineRangeToMinimapLineRange(J,X){let Y=this.modelLineToMinimapLine(J),Z=this.modelLineToMinimapLine(X);if(J!==X&&Z===Y)if(Z===this.minimapLines.length){if(Y>1)Y--}else Z++;return[Y,Z]}onLinesDeleted(J){let X=J.toLineNumber-J.fromLineNumber+1,Y=this.minimapLines.length,Z=0;for(let Q=this.minimapLines.length-1;Q>=0;Q--){if(this.minimapLines[Q]<J.fromLineNumber)break;if(this.minimapLines[Q]<=J.toLineNumber)this.minimapLines[Q]=Math.max(1,J.fromLineNumber-1),Y=Math.min(Y,Q),Z=Math.max(Z,Q);else this.minimapLines[Q]-=X}return[Y,Z]}onLinesInserted(J){let X=J.toLineNumber-J.fromLineNumber+1;for(let Y=this.minimapLines.length-1;Y>=0;Y--){if(this.minimapLines[Y]<J.fromLineNumber)break;this.minimapLines[Y]+=X}}}class Uf extends e1{constructor(J){super(J);this._sectionHeaderCache=new k4(10,1.5),this.tokensColorTracker=QK.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new UK(this._context.configuration,this._context.theme,this.tokensColorTracker);let[X]=eF.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=X,this._shouldCheckSampling=!1,this._actual=new GK(J.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){let J=new UK(this._context.configuration,this._context.theme,this.tokensColorTracker);if(this.options.equals(J))return!1;return this.options=J,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0}onConfigurationChanged(J){return this._onOptionsMaybeChanged()}onCursorStateChanged(J){return this._selections=J.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(J){if(J.affectsMinimap)return this._actual.onDecorationsChanged();return!1}onFlushed(J){if(this._samplingState)this._shouldCheckSampling=!0;return this._actual.onFlushed()}onLinesChanged(J){if(this._samplingState){let X=this._samplingState.modelLineRangeToMinimapLineRange(J.fromLineNumber,J.fromLineNumber+J.count-1);if(X)return this._actual.onLinesChanged(X[0],X[1]-X[0]+1);else return!1}else return this._actual.onLinesChanged(J.fromLineNumber,J.count)}onLinesDeleted(J){if(this._samplingState){let[X,Y]=this._samplingState.onLinesDeleted(J);if(X<=Y)this._actual.onLinesChanged(X+1,Y-X+1);return this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(J.fromLineNumber,J.toLineNumber)}onLinesInserted(J){if(this._samplingState)return this._samplingState.onLinesInserted(J),this._shouldCheckSampling=!0,!0;else return this._actual.onLinesInserted(J.fromLineNumber,J.toLineNumber)}onScrollChanged(J){return this._actual.onScrollChanged(J)}onThemeChanged(J){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(J){if(this._samplingState){let X=[];for(let Y of J.ranges){let Z=this._samplingState.modelLineRangeToMinimapLineRange(Y.fromLineNumber,Y.toLineNumber);if(Z)X.push({fromLineNumber:Z[0],toLineNumber:Z[1]})}if(X.length)return this._actual.onTokensChanged(X);else return!1}else return this._actual.onTokensChanged(J.ranges)}onTokensColorsChanged(J){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(J){return this._actual.onZonesChanged()}prepareRender(J){if(this._shouldCheckSampling)this._shouldCheckSampling=!1,this._recreateLineSampling()}render(J){let X=J.visibleRange.startLineNumber,Y=J.visibleRange.endLineNumber;if(this._samplingState)X=this._samplingState.modelLineToMinimapLine(X),Y=this._samplingState.modelLineToMinimapLine(Y);let Z={viewportContainsWhitespaceGaps:J.viewportData.whitespaceViewportData.length>0,scrollWidth:J.scrollWidth,scrollHeight:J.scrollHeight,viewportStartLineNumber:X,viewportEndLineNumber:Y,viewportStartLineNumberVerticalOffset:J.getVerticalOffsetForLineNumber(X),scrollTop:J.scrollTop,scrollLeft:J.scrollLeft,viewportWidth:J.viewportWidth,viewportHeight:J.viewportHeight};this._actual.render(Z)}_recreateLineSampling(){this._minimapSelections=null;let J=Boolean(this._samplingState),[X,Y]=eF.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=X,J&&this._samplingState)for(let Z of Y)switch(Z.type){case\"deleted\":this._actual.onLinesDeleted(Z.deleteFromLineNumber,Z.deleteToLineNumber);break;case\"inserted\":this._actual.onLinesInserted(Z.insertFromLineNumber,Z.insertToLineNumber);break;case\"flush\":this._actual.onFlushed();break}}getLineCount(){if(this._samplingState)return this._samplingState.minimapLines.length;return this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(J){if(this._samplingState)return this._context.viewModel.getLineContent(this._samplingState.minimapLines[J-1]);return this._context.viewModel.getLineContent(J)}getLineMaxColumn(J){if(this._samplingState)return this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[J-1]);return this._context.viewModel.getLineMaxColumn(J)}getMinimapLinesRenderingData(J,X,Y){if(this._samplingState){let Z=[];for(let Q=0,$=X-J+1;Q<$;Q++)if(Y[Q])Z[Q]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[J+Q-1]);else Z[Q]=null;return Z}return this._context.viewModel.getMinimapLinesRenderingData(J,X,Y).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(let J of this._selections){let[X,Y]=this._samplingState.decorationLineRangeToMinimapLineRange(J.startLineNumber,J.endLineNumber);this._minimapSelections.push(new Y0(X,J.startColumn,Y,J.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(J,X){return this._getMinimapDecorationsInViewport(J,X).filter((Y)=>!Y.options.minimap?.sectionHeaderStyle)}getSectionHeaderDecorationsInViewport(J,X){let Y=this.options.sectionHeaderFontSize/this.options.minimapLineHeight;return J=Math.floor(Math.max(1,J-Y)),this._getMinimapDecorationsInViewport(J,X).filter((Z)=>!!Z.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(J,X){let Y;if(this._samplingState){let Q=this._samplingState.minimapLines[J-1],$=this._samplingState.minimapLines[X-1];Y=new T(Q,1,$,this._context.viewModel.getLineMaxColumn($))}else Y=new T(J,1,X,this._context.viewModel.getLineMaxColumn(X));let Z=this._context.viewModel.getMinimapDecorationsInRange(Y);if(this._samplingState){let Q=[];for(let $ of Z){if(!$.options.minimap)continue;let q=$.range,G=this._samplingState.modelLineToMinimapLine(q.startLineNumber),U=this._samplingState.modelLineToMinimapLine(q.endLineNumber);Q.push(new nF(new T(G,q.startColumn,U,q.endColumn),$.options))}return Q}return Z}getSectionHeaderText(J,X){let Y=J.options.minimap?.sectionHeaderText;if(!Y)return null;let Z=this._sectionHeaderCache.get(Y);if(Z)return Z;let Q=X(Y);return this._sectionHeaderCache.set(Y,Q),Q}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(J){if(this._samplingState)J=this._samplingState.minimapLines[J-1];this._context.viewModel.revealRange(\"mouse\",!1,new T(J,1,J,1),1,0)}setScrollTop(J){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:J},1)}}class GK extends y{constructor(J,X){super();this._renderDecorations=!1,this._gestureInProgress=!1,this._isMouseOverMinimap=!1,this._theme=J,this._model=X,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(cC),this._domNode=p0(document.createElement(\"div\")),k5.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition(\"absolute\"),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._shadow=p0(document.createElement(\"div\")),this._shadow.setClassName(\"minimap-shadow-hidden\"),this._domNode.appendChild(this._shadow),this._canvas=p0(document.createElement(\"canvas\")),this._canvas.setPosition(\"absolute\"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=p0(document.createElement(\"canvas\")),this._decorationsCanvas.setPosition(\"absolute\"),this._decorationsCanvas.setClassName(\"minimap-decorations-layer\"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=p0(document.createElement(\"div\")),this._slider.setPosition(\"absolute\"),this._slider.setClassName(\"minimap-slider\"),this._slider.setLayerHinting(!0),this._slider.setContain(\"strict\"),this._domNode.appendChild(this._slider),this._sliderHorizontal=p0(document.createElement(\"div\")),this._sliderHorizontal.setPosition(\"absolute\"),this._sliderHorizontal.setClassName(\"minimap-slider-horizontal\"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._hideDelayedScheduler=this._register(new B1(()=>this._hideImmediatelyIfMouseIsOutside(),500)),this._register(F6(this._domNode.domNode,r.MOUSE_OVER,()=>{this._isMouseOverMinimap=!0})),this._register(F6(this._domNode.domNode,r.MOUSE_LEAVE,()=>{this._isMouseOverMinimap=!1})),this._pointerDownListener=F6(this._domNode.domNode,r.POINTER_DOWN,(Y)=>{Y.preventDefault();let Z=Y.pointerType===\"mouse\",Q=Y.button===0;if(this._model.options.renderMinimap===0)return;if(!this._lastRenderData)return;if(this._model.options.size!==\"proportional\"){if(Q&&this._lastRenderData){let q=R8(this._slider.domNode),G=q.top+q.height/2;this._startSliderDragging(Y,G,this._lastRenderData.renderedLayout)}return}if(Q||!Z){let q=this._model.options.minimapLineHeight,G=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*Y.offsetY,H=Math.floor(G/q)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;H=Math.min(H,this._model.getLineCount()),this._model.revealLineNumber(H)}}),this._sliderPointerMoveMonitor=new RQ,this._sliderPointerDownListener=F6(this._slider.domNode,r.POINTER_DOWN,(Y)=>{if(Y.preventDefault(),Y.stopPropagation(),Y.button===0&&this._lastRenderData)this._startSliderDragging(Y,Y.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=O1.addTarget(this._domNode.domNode),this._sliderTouchStartListener=f(this._domNode.domNode,P1.Start,(Y)=>{if(Y.preventDefault(),Y.stopPropagation(),this._lastRenderData)this._slider.toggleClassName(\"active\",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(Y)},{passive:!1}),this._sliderTouchMoveListener=f(this._domNode.domNode,P1.Change,(Y)=>{if(Y.preventDefault(),Y.stopPropagation(),this._lastRenderData&&this._gestureInProgress)this.scrollDueToTouchEvent(Y)},{passive:!1}),this._sliderTouchEndListener=F6(this._domNode.domNode,P1.End,(Y)=>{Y.preventDefault(),Y.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName(\"active\",!1)})}_hideSoon(){this._hideDelayedScheduler.cancel(),this._hideDelayedScheduler.schedule()}_hideImmediatelyIfMouseIsOutside(){if(this._isMouseOverMinimap){this._hideSoon();return}this._domNode.toggleClassName(\"active\",!1)}_startSliderDragging(J,X,Y){if(!J.target||!(J.target instanceof Element))return;let Z=J.pageX;this._slider.toggleClassName(\"active\",!0);let Q=($,q)=>{let G=R8(this._domNode.domNode),U=Math.min(Math.abs(q-Z),Math.abs(q-G.left),Math.abs(q-G.left-G.width));if(z6&&U>KF0){this._model.setScrollTop(Y.scrollTop);return}let H=$-X;this._model.setScrollTop(Y.getDesiredScrollTopFromDelta(H))};if(J.pageY!==X)Q(J.pageY,Z);this._sliderPointerMoveMonitor.startMonitoring(J.target,J.pointerId,J.buttons,($)=>Q($.pageY,$.pageX),()=>{this._slider.toggleClassName(\"active\",!1)})}scrollDueToTouchEvent(J){let X=this._domNode.domNode.getBoundingClientRect().top,Y=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(J.pageY-X);this._model.setScrollTop(Y)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){let J=[\"minimap\"];if(this._model.options.showSlider===\"always\")J.push(\"slider-always\");else J.push(\"slider-mouseover\");if(this._model.options.autohide===\"mouseover\")J.push(\"minimap-autohide-mouseover\");else if(this._model.options.autohide===\"scroll\")J.push(\"minimap-autohide-scroll\");return J.join(\" \")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){if(!this._buffers){if(this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0)this._buffers=new Gf(this._canvas.domNode.getContext(\"2d\"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)}return this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(J,X){if(this._lastRenderData)return this._lastRenderData.onLinesChanged(J,X);return!1}onLinesDeleted(J,X){return this._lastRenderData?.onLinesDeleted(J,X),!0}onLinesInserted(J,X){return this._lastRenderData?.onLinesInserted(J,X),!0}onScrollChanged(J){if(this._model.options.autohide===\"scroll\"&&(J.scrollTopChanged||J.scrollHeightChanged))this._domNode.toggleClassName(\"active\",!0),this._hideSoon();return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(cC),this._renderDecorations=!0,!0}onTokensChanged(J){if(this._lastRenderData)return this._lastRenderData.onTokensChanged(J);return!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(J){if(this._model.options.renderMinimap===0){this._shadow.setClassName(\"minimap-shadow-hidden\"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}if(J.scrollLeft+J.viewportWidth>=J.scrollWidth)this._shadow.setClassName(\"minimap-shadow-hidden\");else this._shadow.setClassName(\"minimap-shadow-visible\");let Y=tF.create(this._model.options,J.viewportStartLineNumber,J.viewportEndLineNumber,J.viewportStartLineNumberVerticalOffset,J.viewportHeight,J.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),J.scrollTop,J.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(Y.sliderNeeded?\"block\":\"none\"),this._slider.setTop(Y.sliderTop),this._slider.setHeight(Y.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(Y.sliderHeight),this.renderDecorations(Y),this._lastRenderData=this.renderLines(Y)}renderDecorations(J){if(this._renderDecorations){this._renderDecorations=!1;let X=this._model.getSelections();X.sort(T.compareRangesUsingStarts);let Y=this._model.getMinimapDecorationsInViewport(J.startLineNumber,J.endLineNumber);Y.sort((K,j)=>(K.options.zIndex||0)-(j.options.zIndex||0));let{canvasInnerWidth:Z,canvasInnerHeight:Q}=this._model.options,$=this._model.options.minimapLineHeight,q=this._model.options.minimapCharWidth,G=this._model.getOptions().tabSize,U=this._decorationsCanvas.domNode.getContext(\"2d\");U.clearRect(0,0,Z,Q);let H=new qf(J.startLineNumber,J.endLineNumber,!1);this._renderSelectionLineHighlights(U,X,H,J,$),this._renderDecorationsLineHighlights(U,Y,H,J,$);let V=new qf(J.startLineNumber,J.endLineNumber,null);this._renderSelectionsHighlights(U,X,V,J,$,G,q,Z),this._renderDecorationsHighlights(U,Y,V,J,$,G,q,Z),this._renderSectionHeaders(J)}}_renderSelectionLineHighlights(J,X,Y,Z,Q){if(!this._selectionColor||this._selectionColor.isTransparent())return;J.fillStyle=this._selectionColor.transparent(0.5).toString();let $=0,q=0;for(let G of X){let U=Z.intersectWithViewport(G);if(!U)continue;let[H,V]=U;for(let W=H;W<=V;W++)Y.set(W,!0);let K=Z.getYForLineNumber(H,Q),j=Z.getYForLineNumber(V,Q);if(q>=K)q=j;else{if(q>$)J.fillRect(WX,$,J.canvas.width,q-$);$=K,q=j}}if(q>$)J.fillRect(WX,$,J.canvas.width,q-$)}_renderDecorationsLineHighlights(J,X,Y,Z,Q){let $=new Map;for(let q=X.length-1;q>=0;q--){let G=X[q],U=G.options.minimap;if(!U||U.position!==1)continue;let H=Z.intersectWithViewport(G.range);if(!H)continue;let[V,K]=H,j=U.getColor(this._theme.value);if(!j||j.isTransparent())continue;let W=$.get(j.toString());if(!W)W=j.transparent(0.5).toString(),$.set(j.toString(),W);J.fillStyle=W;for(let z=V;z<=K;z++){if(Y.has(z))continue;Y.set(z,!0);let B=Z.getYForLineNumber(z,Q);J.fillRect(WX,B,J.canvas.width,Q)}}}_renderSelectionsHighlights(J,X,Y,Z,Q,$,q,G){if(!this._selectionColor||this._selectionColor.isTransparent())return;for(let U of X){let H=Z.intersectWithViewport(U);if(!H)continue;let[V,K]=H;for(let j=V;j<=K;j++)this.renderDecorationOnLine(J,Y,U,this._selectionColor,Z,j,Q,Q,$,q,G)}}_renderDecorationsHighlights(J,X,Y,Z,Q,$,q,G){for(let U of X){let H=U.options.minimap;if(!H)continue;let V=Z.intersectWithViewport(U.range);if(!V)continue;let[K,j]=V,W=H.getColor(this._theme.value);if(!W||W.isTransparent())continue;for(let z=K;z<=j;z++)switch(H.position){case 1:this.renderDecorationOnLine(J,Y,U.range,W,Z,z,Q,Q,$,q,G);continue;case 2:{let B=Z.getYForLineNumber(z,Q),P=2;this.renderDecoration(J,W,2,B,jF0,Q);continue}}}}renderDecorationOnLine(J,X,Y,Z,Q,$,q,G,U,H,V){let K=Q.getYForLineNumber($,G);if(K+q<0||K>this._model.options.canvasInnerHeight)return;let{startLineNumber:j,endLineNumber:W}=Y,z=j===$?Y.startColumn:1,B=W===$?Y.endColumn:this._model.getLineMaxColumn($),P=this.getXOffsetForPosition(X,$,z,U,H,V),_=this.getXOffsetForPosition(X,$,B,U,H,V);this.renderDecoration(J,Z,P,K,_-P,q)}getXOffsetForPosition(J,X,Y,Z,Q,$){if(Y===1)return WX;if((Y-1)*Q>=$)return $;let G=J.get(X);if(!G){let U=this._model.getLineContent(X);G=[WX];let H=WX;for(let V=1;V<U.length+1;V++){let K=U.charCodeAt(V-1),j=K===9?Z*Q:T4(K)?2*Q:Q,W=H+j;if(W>=$){G[V]=$;break}G[V]=W,H=W}J.set(X,G)}if(Y-1<G.length)return G[Y-1];return $}renderDecoration(J,X,Y,Z,Q,$){J.fillStyle=X&&X.toString()||\"\",J.fillRect(Y,Z,Q,$)}_renderSectionHeaders(J){let X=this._model.options.minimapLineHeight,Y=this._model.options.sectionHeaderFontSize,Z=this._model.options.sectionHeaderLetterSpacing,Q=Y*1.5,{canvasInnerWidth:$}=this._model.options,q=this._model.options.backgroundColor,G=`rgb(${q.r} ${q.g} ${q.b} / .7)`,U=this._model.options.sectionHeaderFontColor,H=`rgb(${U.r} ${U.g} ${U.b})`,V=H,K=this._decorationsCanvas.domNode.getContext(\"2d\");K.letterSpacing=Z+\"px\",K.font=\"500 \"+Y+\"px \"+this._model.options.sectionHeaderFontFamily,K.strokeStyle=V,K.lineWidth=0.4;let j=this._model.getSectionHeaderDecorationsInViewport(J.startLineNumber,J.endLineNumber);j.sort((z,B)=>z.range.startLineNumber-B.range.startLineNumber);let W=GK._fitSectionHeader.bind(null,K,$-WX);for(let z of j){let B=J.getYForLineNumber(z.range.startLineNumber,X)+Y,P=B-Y,_=P+2,A=this._model.getSectionHeaderText(z,W);GK._renderSectionLabel(K,A,z.options.minimap?.sectionHeaderStyle===2,G,H,$,P,Q,B,_)}}static _fitSectionHeader(J,X,Y){if(!Y)return Y;let Z=\"…\",Q=J.measureText(Y).width,$=J.measureText(Z).width;if(Q<=X||Q<=$)return Y;let q=Y.length,G=Q/Y.length,U=Math.floor((X-$)/G)-1,H=Math.ceil(U/2);while(H>0&&/\\s/.test(Y[H-1]))--H;return Y.substring(0,H)+Z+Y.substring(q-(U-H))}static _renderSectionLabel(J,X,Y,Z,Q,$,q,G,U,H){if(X)J.fillStyle=Z,J.fillRect(0,q,$,G),J.fillStyle=Q,J.fillText(X,WX,U);if(Y)J.beginPath(),J.moveTo(0,H),J.lineTo($,H),J.closePath(),J.stroke()}renderLines(J){let{startLineNumber:X,endLineNumber:Y}=J,Z=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(J)){let s=this._lastRenderData._get();return new $f(J,s.imageData,s.lines)}let Q=this._getBuffer();if(!Q)return null;let[$,q,G]=GK._renderUntouchedLines(Q,J.topPaddingLineCount,X,Y,Z,this._lastRenderData),U=this._model.getMinimapLinesRenderingData(X,Y,G),H=this._model.getOptions().tabSize,V=this._model.options.defaultBackgroundColor,K=this._model.options.backgroundColor,j=this._model.options.foregroundAlpha,W=this._model.tokensColorTracker,z=W.backgroundIsLight(),B=this._model.options.renderMinimap,P=this._model.options.charRenderer(),_=this._model.options.fontScale,A=this._model.options.minimapCharWidth,D=(B===1?2:3)*_,R=Z>D?Math.floor((Z-D)/2):0,N=K.a/255,w=new H4(Math.round((K.r-V.r)*N+V.r),Math.round((K.g-V.g)*N+V.g),Math.round((K.b-V.b)*N+V.b),255),k=J.topPaddingLineCount*Z,I=[];for(let s=0,l=Y-X+1;s<l;s++){if(G[s])GK._renderLine(Q,w,K.a,z,B,A,W,j,P,k,R,H,U[s],_,Z);I[s]=new XN(k),k+=Z}let S=$===-1?0:$,u=(q===-1?Q.height:q)-S;return this._canvas.domNode.getContext(\"2d\").putImageData(Q,0,0,0,S,Q.width,u),new $f(J,Q,I)}static _renderUntouchedLines(J,X,Y,Z,Q,$){let q=[];if(!$){for(let k=0,I=Z-Y+1;k<I;k++)q[k]=!0;return[-1,-1,q]}let G=$._get(),U=G.imageData.data,H=G.rendLineNumberStart,V=G.lines,K=V.length,j=J.width,W=J.data,z=(Z-Y+1)*Q*j*4,B=-1,P=-1,_=-1,A=-1,O=-1,D=-1,R=X*Q;for(let k=Y;k<=Z;k++){let I=k-Y,S=k-H,h=S>=0&&S<K?V[S].dy:-1;if(h===-1){q[I]=!0,R+=Q;continue}let u=h*j*4,p=(h+Q)*j*4,s=R*j*4,l=(R+Q)*j*4;if(A===u&&D===s)A=p,D=l;else{if(_!==-1){if(W.set(U.subarray(_,A),O),B===-1&&_===0&&_===O)B=A;if(P===-1&&A===z&&_===O)P=_}_=u,A=p,O=s,D=l}q[I]=!1,R+=Q}if(_!==-1){if(W.set(U.subarray(_,A),O),B===-1&&_===0&&_===O)B=A;if(P===-1&&A===z&&_===O)P=_}let N=B===-1?-1:B/(j*4),w=P===-1?-1:P/(j*4);return[N,w,q]}static _renderLine(J,X,Y,Z,Q,$,q,G,U,H,V,K,j,W,z){let{content:B,tokens:P}=j,_=J.width-$,A=z===1,O=WX,D=0,R=0;for(let N=0,w=P.getCount();N<w;N++){let k=P.getEndOffset(N),I=P.getForeground(N),S=q.getColor(I);for(;D<k;D++){if(O>_)return;let h=B.charCodeAt(D);if(h===9){let u=K-(D+R)%K;R+=u-1,O+=u*$}else if(h===32)O+=$;else{let u=T4(h)?2:1;for(let p=0;p<u;p++){if(Q===2)U.blockRenderChar(J,O,H+V,S,G,X,Y,A);else U.renderChar(J,O,H+V,h,S,G,X,Y,W,Z,A);if(O+=$,O>_)return}}}}}}class qf{constructor(J,X,Y){this._startLineNumber=J,this._endLineNumber=X,this._defaultValue=Y,this._values=[];for(let Z=0,Q=this._endLineNumber-this._startLineNumber+1;Z<Q;Z++)this._values[Z]=Y}has(J){return this.get(J)!==this._defaultValue}set(J,X){if(J<this._startLineNumber||J>this._endLineNumber)return;this._values[J-this._startLineNumber]=X}get(J){if(J<this._startLineNumber||J>this._endLineNumber)return this._defaultValue;return this._values[J-this._startLineNumber]}}class Hf extends e1{constructor(J,X){super(J);this._viewDomNode=X;let Z=this._context.configuration.options.get(165);this._widgets={},this._verticalScrollbarWidth=Z.verticalScrollbarWidth,this._minimapWidth=Z.minimap.minimapWidth,this._horizontalScrollbarHeight=Z.horizontalScrollbarHeight,this._editorHeight=Z.height,this._editorWidth=Z.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=p0(document.createElement(\"div\")),k5.write(this._domNode,4),this._domNode.setClassName(\"overlayWidgets\"),this.overflowingOverlayWidgetsDomNode=p0(document.createElement(\"div\")),k5.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName(\"overflowingOverlayWidgets\")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(J){let Y=this._context.configuration.options.get(165);return this._verticalScrollbarWidth=Y.verticalScrollbarWidth,this._minimapWidth=Y.minimap.minimapWidth,this._horizontalScrollbarHeight=Y.horizontalScrollbarHeight,this._editorHeight=Y.height,this._editorWidth=Y.width,!0}_widgetCanOverflow(J){let Y=this._context.configuration.options.get(4);return(J.allowEditorOverflow||!1)&&Y}addWidget(J){let X=p0(J.getDomNode());if(this._widgets[J.getId()]={widget:J,preference:null,domNode:X},X.setPosition(\"absolute\"),X.setAttribute(\"widgetId\",J.getId()),this._widgetCanOverflow(J))this.overflowingOverlayWidgetsDomNode.appendChild(X);else this._domNode.appendChild(X);this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(J,X){let Y=this._widgets[J.getId()],Z=X?X.preference:null,Q=X?.stackOrdinal;if(Y.preference===Z&&Y.stack===Q)return this._updateMaxMinWidth(),!1;return Y.preference=Z,Y.stack=Q,this.setShouldRender(),this._updateMaxMinWidth(),!0}removeWidget(J){let X=J.getId();if(this._widgets.hasOwnProperty(X)){let Z=this._widgets[X].domNode.domNode;delete this._widgets[X],Z.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let J=0,X=Object.keys(this._widgets);for(let Y=0,Z=X.length;Y<Z;Y++){let Q=X[Y],q=this._widgets[Q].widget.getMinContentWidthInPx?.();if(typeof q<\"u\")J=Math.max(J,q)}this._context.viewLayout.setOverlayWidgetsMinWidth(J)}_renderWidget(J,X){let Y=J.domNode;if(J.preference===null){Y.setTop(\"\");return}let Z=2*this._verticalScrollbarWidth+this._minimapWidth;if(J.preference===0||J.preference===1){if(J.preference===1){let Q=Y.domNode.clientHeight;Y.setTop(this._editorHeight-Q-2*this._horizontalScrollbarHeight)}else Y.setTop(0);if(J.stack!==void 0)Y.setTop(X[J.preference]),X[J.preference]+=Y.domNode.clientWidth;else Y.setRight(Z)}else if(J.preference===2)if(Y.domNode.style.right=\"50%\",J.stack!==void 0)Y.setTop(X[2]),X[2]+=Y.domNode.clientHeight;else Y.setTop(0);else{let{top:Q,left:$}=J.preference;if(this._context.configuration.options.get(51)&&this._widgetCanOverflow(J.widget)){let G=this._viewDomNodeRect;Y.setTop(Q+G.top),Y.setLeft($+G.left),Y.setPosition(\"fixed\")}else Y.setTop(Q),Y.setLeft($),Y.setPosition(\"absolute\")}}prepareRender(J){this._viewDomNodeRect=R8(this._viewDomNode.domNode)}render(J){this._domNode.setWidth(this._editorWidth);let X=Object.keys(this._widgets),Y=Array.from({length:3},()=>0);X.sort((Z,Q)=>(this._widgets[Z].stack||0)-(this._widgets[Q].stack||0));for(let Z=0,Q=X.length;Z<Q;Z++){let $=X[Z];this._renderWidget(this._widgets[$],Y)}}}class Q70{constructor(J,X){let Y=J.options;this.lineHeight=Y.get(75),this.pixelRatio=Y.get(163),this.overviewRulerLanes=Y.get(95),this.renderBorder=Y.get(94);let Z=X.getColor(R50);this.borderColor=Z?Z.toString():null,this.hideCursor=Y.get(68);let Q=X.getColor(JK);this.cursorColorSingle=Q?Q.transparent(0.7).toString():null;let $=X.getColor(dR);this.cursorColorPrimary=$?$.transparent(0.7).toString():null;let q=X.getColor(lR);this.cursorColorSecondary=q?q.transparent(0.7).toString():null,this.themeType=X.type;let G=Y.get(81),U=G.enabled,H=G.side,V=X.getColor(N50),K=f1.getDefaultBackground();if(V)this.backgroundColor=V;else if(U&&H===\"right\")this.backgroundColor=K;else this.backgroundColor=null;let W=Y.get(165).overviewRuler;if(this.top=W.top,this.right=W.right,this.domWidth=W.width,this.domHeight=W.height,this.overviewRulerLanes===0)this.canvasWidth=0,this.canvasHeight=0;else this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0;let[z,B]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=z,this.w=B}_initLanes(J,X,Y){let Z=X-J;if(Y>=3){let Q=Math.floor(Z/3),$=Math.floor(Z/3),q=Z-Q-$,G=J,U=G+Q,H=G+Q+q;return[[0,G,U,G,H,G,U,G],[0,Q,q,Q+q,$,Q+q+$,q+$,Q+q+$]]}else if(Y===2){let Q=Math.floor(Z/2),$=Z-Q,q=J,G=q+Q;return[[0,q,q,q,G,q,q,q],[0,Q,Q,Q,$,Q+$,Q+$,Q+$]]}else{let Q=J,$=Z;return[[0,Q,Q,Q,Q,Q,Q,Q],[0,$,$,$,$,$,$,$]]}}equals(J){return this.lineHeight===J.lineHeight&&this.pixelRatio===J.pixelRatio&&this.overviewRulerLanes===J.overviewRulerLanes&&this.renderBorder===J.renderBorder&&this.borderColor===J.borderColor&&this.hideCursor===J.hideCursor&&this.cursorColorSingle===J.cursorColorSingle&&this.cursorColorPrimary===J.cursorColorPrimary&&this.cursorColorSecondary===J.cursorColorSecondary&&this.themeType===J.themeType&&c.equals(this.backgroundColor,J.backgroundColor)&&this.top===J.top&&this.right===J.right&&this.domWidth===J.domWidth&&this.domHeight===J.domHeight&&this.canvasWidth===J.canvasWidth&&this.canvasHeight===J.canvasHeight}}class Vf extends e1{constructor(J){super(J);this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=p0(document.createElement(\"canvas\")),this._domNode.setClassName(\"decorationsOverviewRuler\"),this._domNode.setPosition(\"absolute\"),this._domNode.setLayerHinting(!0),this._domNode.setContain(\"strict\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._updateSettings(!1),this._tokensColorTrackerListener=f1.onDidChange((X)=>{if(X.changedColorMap)this._updateSettings(!0)}),this._cursorPositions=[{position:new C(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(J){let X=new Q70(this._context.configuration,this._context.theme);if(this._settings&&this._settings.equals(X))return!1;if(this._settings=X,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,J)this._render();return!0}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(J){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(J){this._cursorPositions=[];for(let X=0,Y=J.selections.length;X<Y;X++){let Z=this._settings.cursorColorSingle;if(Y>1)Z=X===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary;this._cursorPositions.push({position:J.selections[X].getPosition(),color:Z})}return this._cursorPositions.sort((X,Y)=>C.compare(X.position,Y.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(J){if(J.affectsOverviewRuler)return this._markRenderingIsMaybeNeeded();return!1}onFlushed(J){return this._markRenderingIsNeeded()}onScrollChanged(J){return J.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(J){return this._markRenderingIsNeeded()}onThemeChanged(J){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(J){}render(J){this._render(),this._actualShouldRender=0}_render(){let J=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(J?c.Format.CSS.formatHexA(J):\"\"),this._domNode.setDisplay(\"none\");return}let X=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(X.sort(QG.compareByRenderingProps),this._actualShouldRender===1&&!QG.equalsArr(this._renderedDecorations,X))this._actualShouldRender=2;if(this._actualShouldRender===1&&!w1(this._renderedCursorPositions,this._cursorPositions,(W,z)=>W.position.lineNumber===z.position.lineNumber&&W.color===z.color))this._actualShouldRender=2;if(this._actualShouldRender===1)return;this._renderedDecorations=X,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay(\"block\");let Y=this._settings.canvasWidth,Z=this._settings.canvasHeight,Q=this._settings.lineHeight,$=this._context.viewLayout,q=this._context.viewLayout.getScrollHeight(),G=Z/q,U=6*this._settings.pixelRatio|0,H=U/2|0,V=this._domNode.domNode.getContext(\"2d\");if(J)if(J.isOpaque())V.fillStyle=c.Format.CSS.formatHexA(J),V.fillRect(0,0,Y,Z);else V.clearRect(0,0,Y,Z),V.fillStyle=c.Format.CSS.formatHexA(J),V.fillRect(0,0,Y,Z);else V.clearRect(0,0,Y,Z);let K=this._settings.x,j=this._settings.w;for(let W of X){let{color:z,data:B}=W;V.fillStyle=z;let P=0,_=0,A=0;for(let O=0,D=B.length/3;O<D;O++){let R=B[3*O],N=B[3*O+1],w=B[3*O+2],k=$.getVerticalOffsetForLineNumber(N)*G|0,I=($.getVerticalOffsetForLineNumber(w)+Q)*G|0;if(I-k<U){let h=(k+I)/2|0;if(h<H)h=H;else if(h+H>Z)h=Z-H;k=h-H,I=h+H}if(k>A+1||R!==P){if(O!==0)V.fillRect(K[P],_,j[P],A-_);P=R,_=k,A=I}else if(I>A)A=I}V.fillRect(K[P],_,j[P],A-_)}if(!this._settings.hideCursor){let W=2*this._settings.pixelRatio|0,z=W/2|0,B=this._settings.x[7],P=this._settings.w[7],_=-100,A=-100,O=null;for(let D=0,R=this._cursorPositions.length;D<R;D++){let N=this._cursorPositions[D].color;if(!N)continue;let w=this._cursorPositions[D].position,k=$.getVerticalOffsetForLineNumber(w.lineNumber)*G|0;if(k<z)k=z;else if(k+z>Z)k=Z-z;let I=k-z,S=I+W;if(I>A+1||N!==O){if(D!==0&&O)V.fillRect(B,_,P,A-_);_=I,A=S}else if(S>A)A=S;O=N,V.fillStyle=N}if(O)V.fillRect(B,_,P,A-_)}if(this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0)V.beginPath(),V.lineWidth=1,V.strokeStyle=this._settings.borderColor,V.moveTo(0,0),V.lineTo(0,Z),V.moveTo(1,0),V.lineTo(Y,0),V.stroke()}}class Kf{constructor(J,X,Y){this._colorZoneBrand=void 0,this.from=J|0,this.to=X|0,this.colorId=Y|0}static compare(J,X){if(J.colorId===X.colorId){if(J.from===X.from)return J.to-X.to;return J.from-X.from}return J.colorId-X.colorId}}class YN{constructor(J,X,Y,Z){this._overviewRulerZoneBrand=void 0,this.startLineNumber=J,this.endLineNumber=X,this.heightInLines=Y,this.color=Z,this._colorZone=null}static compare(J,X){if(J.color===X.color){if(J.startLineNumber===X.startLineNumber){if(J.heightInLines===X.heightInLines)return J.endLineNumber-X.endLineNumber;return J.heightInLines-X.heightInLines}return J.startLineNumber-X.startLineNumber}return J.color<X.color?-1:1}setColorZone(J){this._colorZone=J}getColorZones(){return this._colorZone}}class jf{constructor(J){this._getVerticalOffsetForLine=J,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(J){this._zones=J,this._zones.sort(YN.compare)}setLineHeight(J){if(this._lineHeight===J)return!1;return this._lineHeight=J,this._colorZonesInvalid=!0,!0}setPixelRatio(J){this._pixelRatio=J,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(J){if(this._domWidth===J)return!1;return this._domWidth=J,this._colorZonesInvalid=!0,!0}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(J){if(this._domHeight===J)return!1;return this._domHeight=J,this._colorZonesInvalid=!0,!0}getOuterHeight(){return this._outerHeight}setOuterHeight(J){if(this._outerHeight===J)return!1;return this._outerHeight=J,this._colorZonesInvalid=!0,!0}resolveColorZones(){let J=this._colorZonesInvalid,X=Math.floor(this._lineHeight),Y=Math.floor(this.getCanvasHeight()),Z=Math.floor(this._outerHeight),Q=Y/Z,$=Math.floor(4*this._pixelRatio/2),q=[];for(let G=0,U=this._zones.length;G<U;G++){let H=this._zones[G];if(!J){let O=H.getColorZones();if(O){q.push(O);continue}}let V=this._getVerticalOffsetForLine(H.startLineNumber),K=H.heightInLines===0?this._getVerticalOffsetForLine(H.endLineNumber)+X:V+H.heightInLines*X,j=Math.floor(Q*V),W=Math.floor(Q*K),z=Math.floor((j+W)/2),B=W-z;if(B<$)B=$;if(z-B<0)z=B;if(z+B>Y)z=Y-B;let P=H.color,_=this._color2Id[P];if(!_)_=++this._lastAssignedId,this._color2Id[P]=_,this._id2Color[_]=P;let A=new Kf(z-B,z+B,_);H.setColorZone(A),q.push(A)}return this._colorZonesInvalid=!1,q.sort(Kf.compare),q}}class Wf extends C4{constructor(J,X){super();this._context=J;let Y=this._context.configuration.options;this._domNode=p0(document.createElement(\"canvas\")),this._domNode.setClassName(X),this._domNode.setPosition(\"absolute\"),this._domNode.setLayerHinting(!0),this._domNode.setContain(\"strict\"),this._zoneManager=new jf((Z)=>this._context.viewLayout.getVerticalOffsetForLineNumber(Z)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(Y.get(75)),this._zoneManager.setPixelRatio(Y.get(163)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(J){let X=this._context.configuration.options;if(J.hasChanged(75))this._zoneManager.setLineHeight(X.get(75)),this._render();if(J.hasChanged(163))this._zoneManager.setPixelRatio(X.get(163)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render();return!0}onFlushed(J){return this._render(),!0}onScrollChanged(J){if(J.scrollHeightChanged)this._zoneManager.setOuterHeight(J.scrollHeight),this._render();return!0}onZonesChanged(J){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(J){this._domNode.setTop(J.top),this._domNode.setRight(J.right);let X=!1;if(X=this._zoneManager.setDOMWidth(J.width)||X,X=this._zoneManager.setDOMHeight(J.height)||X,X)this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()}setZones(J){this._zoneManager.setZones(J),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;let J=this._zoneManager.getCanvasWidth(),X=this._zoneManager.getCanvasHeight(),Y=this._zoneManager.resolveColorZones(),Z=this._zoneManager.getId2Color(),Q=this._domNode.domNode.getContext(\"2d\");if(Q.clearRect(0,0,J,X),Y.length>0)this._renderOneLane(Q,Y,Z,J);return!0}_renderOneLane(J,X,Y,Z){let Q=0,$=0,q=0;for(let G of X){let{colorId:U,from:H,to:V}=G;if(U!==Q){if(Q!==0)J.fillRect(0,$,Z,q-$);Q=U,J.fillStyle=Y[Q],$=H,q=V}else if(q>=H)q=Math.max(q,V);else J.fillRect(0,$,Z,q-$),$=H,q=V}J.fillRect(0,$,Z,q-$)}}class zf extends e1{constructor(J){super(J);this.domNode=p0(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.domNode.setClassName(\"view-rulers\"),this._renderedRulers=[];let X=this._context.configuration.options;this._rulers=X.get(116),this._typicalHalfwidthCharacterWidth=X.get(59).typicalHalfwidthCharacterWidth}onConfigurationChanged(J){let X=this._context.configuration.options;return this._rulers=X.get(116),this._typicalHalfwidthCharacterWidth=X.get(59).typicalHalfwidthCharacterWidth,!0}onScrollChanged(J){return J.scrollHeightChanged}prepareRender(J){}_ensureRulersCount(){let J=this._renderedRulers.length,X=this._rulers.length;if(J===X)return;if(J<X){let Z=X-J;while(Z>0){let Q=p0(document.createElement(\"div\"));Q.setClassName(\"view-ruler\"),Q.setWidth(\"1ch\"),this.domNode.appendChild(Q),this._renderedRulers.push(Q),Z--}return}let Y=J-X;while(Y>0){let Z=this._renderedRulers.pop();this.domNode.removeChild(Z),Y--}}render(J){this._ensureRulersCount();for(let X=0,Y=this._rulers.length;X<Y;X++){let Z=this._renderedRulers[X],Q=this._rulers[X];Z.setBoxShadow(Q.color?`1px 0 0 0 ${Q.color} inset`:\"\"),Z.setHeight(Math.min(J.scrollHeight,1e6)),Z.setLeft(Q.column*this._typicalHalfwidthCharacterWidth)}}}class Ff extends e1{constructor(J){super(J);this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;let Y=this._context.configuration.options.get(117);this._useShadows=Y.useShadows,this._domNode=p0(document.createElement(\"div\")),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\")}_updateShouldShow(){let J=this._useShadows&&this._scrollTop>0;if(this._shouldShow!==J)return this._shouldShow=J,!0;return!1}getDomNode(){return this._domNode}_updateWidth(){let X=this._context.configuration.options.get(165);if(X.minimap.renderMinimap===0||X.minimap.minimapWidth>0&&X.minimap.minimapLeft===0)this._width=X.width;else this._width=X.width-X.verticalScrollbarWidth}onConfigurationChanged(J){let Y=this._context.configuration.options.get(117);return this._useShadows=Y.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(J){return this._scrollTop=J.scrollTop,this._updateShouldShow()}prepareRender(J){}render(J){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?\"scroll-decoration\":\"\")}}class $70{constructor(J){this.left=J.left,this.width=J.width,this.startStyle=null,this.endStyle=null}}class q70{constructor(J,X){this.lineNumber=J,this.ranges=X}}function WF0(J){return new $70(J)}function zF0(J){return new q70(J.lineNumber,J.ranges.map(WF0))}class t8 extends C7{static{this.SELECTION_CLASS_NAME=\"selected-text\"}static{this.SELECTION_TOP_LEFT=\"top-left-radius\"}static{this.SELECTION_BOTTOM_LEFT=\"bottom-left-radius\"}static{this.SELECTION_TOP_RIGHT=\"top-right-radius\"}static{this.SELECTION_BOTTOM_RIGHT=\"bottom-right-radius\"}static{this.EDITOR_BACKGROUND_CLASS_NAME=\"monaco-editor-background\"}static{this.ROUNDED_PIECE_WIDTH=10}constructor(J){super();this._previousFrameVisibleRangesWithStyle=[],this._context=J;let X=this._context.configuration.options;this._roundedSelection=X.get(115),this._typicalHalfwidthCharacterWidth=X.get(59).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){let X=this._context.configuration.options;return this._roundedSelection=X.get(115),this._typicalHalfwidthCharacterWidth=X.get(59).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(J){return this._selections=J.selections.slice(0),!0}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}_visibleRangesHaveGaps(J){for(let X=0,Y=J.length;X<Y;X++)if(J[X].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(J,X,Y){let Z=this._typicalHalfwidthCharacterWidth/4,Q=null,$=null;if(Y&&Y.length>0&&X.length>0){let q=X[0].lineNumber;if(q===J.startLineNumber){for(let U=0;!Q&&U<Y.length;U++)if(Y[U].lineNumber===q)Q=Y[U].ranges[0]}let G=X[X.length-1].lineNumber;if(G===J.endLineNumber){for(let U=Y.length-1;!$&&U>=0;U--)if(Y[U].lineNumber===G)$=Y[U].ranges[0]}if(Q&&!Q.startStyle)Q=null;if($&&!$.startStyle)$=null}for(let q=0,G=X.length;q<G;q++){let U=X[q].ranges[0],H=U.left,V=U.left+U.width,K={top:0,bottom:0},j={top:0,bottom:0};if(q>0){let W=X[q-1].ranges[0].left,z=X[q-1].ranges[0].left+X[q-1].ranges[0].width;if(ZN(H-W)<Z)K.top=2;else if(H>W)K.top=1;if(ZN(V-z)<Z)j.top=2;else if(W<V&&V<z)j.top=1}else if(Q)K.top=Q.startStyle.top,j.top=Q.endStyle.top;if(q+1<G){let W=X[q+1].ranges[0].left,z=X[q+1].ranges[0].left+X[q+1].ranges[0].width;if(ZN(H-W)<Z)K.bottom=2;else if(W<H&&H<z)K.bottom=1;if(ZN(V-z)<Z)j.bottom=2;else if(V<z)j.bottom=1}else if($)K.bottom=$.startStyle.bottom,j.bottom=$.endStyle.bottom;U.startStyle=K,U.endStyle=j}}_getVisibleRangesWithStyle(J,X,Y){let Q=(X.linesVisibleRangesForRange(J,!0)||[]).map(zF0);if(!this._visibleRangesHaveGaps(Q)&&this._roundedSelection)this._enrichVisibleRangesWithStyle(X.visibleRange,Q,Y);return Q}_createSelectionPiece(J,X,Y,Z,Q){return'<div class=\"cslr '+Y+'\" style=\"top:'+J.toString()+\"px;bottom:\"+X.toString()+\"px;left:\"+Z.toString()+\"px;width:\"+Q.toString()+'px;\"></div>'}_actualRenderOneSelection(J,X,Y,Z){if(Z.length===0)return;let Q=!!Z[0].ranges[0].startStyle,$=Z[0].lineNumber,q=Z[Z.length-1].lineNumber;for(let G=0,U=Z.length;G<U;G++){let H=Z[G],V=H.lineNumber,K=V-X,j=Y?V===$?1:0:0,W=Y?V!==$&&V===q?1:0:0,z=\"\",B=\"\";for(let P=0,_=H.ranges.length;P<_;P++){let A=H.ranges[P];if(Q){let{startStyle:D,endStyle:R}=A;if(D.top===1||D.bottom===1){z+=this._createSelectionPiece(j,W,t8.SELECTION_CLASS_NAME,A.left-t8.ROUNDED_PIECE_WIDTH,t8.ROUNDED_PIECE_WIDTH);let N=t8.EDITOR_BACKGROUND_CLASS_NAME;if(D.top===1)N+=\" \"+t8.SELECTION_TOP_RIGHT;if(D.bottom===1)N+=\" \"+t8.SELECTION_BOTTOM_RIGHT;z+=this._createSelectionPiece(j,W,N,A.left-t8.ROUNDED_PIECE_WIDTH,t8.ROUNDED_PIECE_WIDTH)}if(R.top===1||R.bottom===1){z+=this._createSelectionPiece(j,W,t8.SELECTION_CLASS_NAME,A.left+A.width,t8.ROUNDED_PIECE_WIDTH);let N=t8.EDITOR_BACKGROUND_CLASS_NAME;if(R.top===1)N+=\" \"+t8.SELECTION_TOP_LEFT;if(R.bottom===1)N+=\" \"+t8.SELECTION_BOTTOM_LEFT;z+=this._createSelectionPiece(j,W,N,A.left+A.width,t8.ROUNDED_PIECE_WIDTH)}}let O=t8.SELECTION_CLASS_NAME;if(Q){let{startStyle:D,endStyle:R}=A;if(D.top===0)O+=\" \"+t8.SELECTION_TOP_LEFT;if(D.bottom===0)O+=\" \"+t8.SELECTION_BOTTOM_LEFT;if(R.top===0)O+=\" \"+t8.SELECTION_TOP_RIGHT;if(R.bottom===0)O+=\" \"+t8.SELECTION_BOTTOM_RIGHT}B+=this._createSelectionPiece(j,W,O,A.left,A.width)}J[K][0]+=z,J[K][1]+=B}}prepareRender(J){let X=[],Y=J.visibleRange.startLineNumber,Z=J.visibleRange.endLineNumber;for(let $=Y;$<=Z;$++){let q=$-Y;X[q]=[\"\",\"\"]}let Q=[];for(let $=0,q=this._selections.length;$<q;$++){let G=this._selections[$];if(G.isEmpty()){Q[$]=null;continue}let U=this._getVisibleRangesWithStyle(G,J,this._previousFrameVisibleRangesWithStyle[$]);Q[$]=U,this._actualRenderOneSelection(X,Y,this._selections.length>1,U)}this._previousFrameVisibleRangesWithStyle=Q,this._renderResult=X.map(([$,q])=>$+q)}render(J,X){if(!this._renderResult)return\"\";let Y=X-J;if(Y<0||Y>=this._renderResult.length)return\"\";return this._renderResult[Y]}}x8((J,X)=>{let Y=J.getColor(p10);if(Y&&!Y.isTransparent())X.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${Y}; }`)});function ZN(J){return J<0?-J:J}class Bf{constructor(J,X,Y,Z,Q,$,q){this.top=J,this.left=X,this.paddingLeft=Y,this.width=Z,this.height=Q,this.textContent=$,this.textContentClassName=q}}var vY;(function(J){J[J.Single=0]=\"Single\",J[J.MultiPrimary=1]=\"MultiPrimary\",J[J.MultiSecondary=2]=\"MultiSecondary\"})(vY||(vY={}));class QN{constructor(J,X){this._context=J;let Y=this._context.configuration.options,Z=Y.get(59);this._cursorStyle=Y.get(161),this._typicalHalfwidthCharacterWidth=Z.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(Y.get(37),this._typicalHalfwidthCharacterWidth),this._lineCursorHeight=Y.get(38),this._isVisible=!0,this._domNode=p0(document.createElement(\"div\")),this._domNode.setClassName(`cursor ${bQ}`),this._domNode.setHeight(this._context.viewLayout.getLineHeightForLineNumber(1)),this._domNode.setTop(0),this._domNode.setLeft(0),B6(this._domNode,Z),this._domNode.setDisplay(\"none\"),this._position=new C(1,1),this._pluralityClass=\"\",this.setPlurality(X),this._lastRenderedContent=\"\",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(J){switch(J){default:case vY.Single:this._pluralityClass=\"\";break;case vY.MultiPrimary:this._pluralityClass=\"cursor-primary\";break;case vY.MultiSecondary:this._pluralityClass=\"cursor-secondary\";break}}show(){if(!this._isVisible)this._domNode.setVisibility(\"inherit\"),this._isVisible=!0}hide(){if(this._isVisible)this._domNode.setVisibility(\"hidden\"),this._isVisible=!1}onConfigurationChanged(J){let X=this._context.configuration.options,Y=X.get(59);return this._cursorStyle=X.get(161),this._typicalHalfwidthCharacterWidth=Y.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(X.get(37),this._typicalHalfwidthCharacterWidth),this._lineCursorHeight=X.get(38),B6(this._domNode,Y),!0}onCursorPositionChanged(J,X){if(X)this._domNode.domNode.style.transitionProperty=\"none\";else this._domNode.domNode.style.transitionProperty=\"\";return this._position=J,!0}_getGraphemeAwarePosition(){let{lineNumber:J,column:X}=this._position,Y=this._context.viewModel.getLineContent(J),[Z,Q]=an(Y,X-1);return[new C(J,Z+1),Y.substring(Z,Q)]}_prepareRender(J){let X=\"\",Y=\"\",[Z,Q]=this._getGraphemeAwarePosition(),$=this._context.viewLayout.getLineHeightForLineNumber(Z.lineNumber),q=this._lineCursorHeight===0?$:Math.min($,this._lineCursorHeight),G=($-q)/2;if(this._cursorStyle===M8.Line||this._cursorStyle===M8.LineThin){let z=J.visibleRangeForPosition(Z);if(!z||z.outsideRenderedLine)return null;let B=Q0(this._domNode.domNode),P;if(this._cursorStyle===M8.Line){if(P=ox(B,this._lineCursorWidth>0?this._lineCursorWidth:2),P>2)X=Q,Y=this._getTokenClassName(Z)}else P=ox(B,1);let _=z.left,A=0;if(P>=2&&_>=1)A=1,_-=A;let O=J.getVerticalOffsetForLineNumber(Z.lineNumber)-J.bigNumbersDelta+G;return new Bf(O,_,A,P,q,X,Y)}let U=J.linesVisibleRangesForRange(new T(Z.lineNumber,Z.column,Z.lineNumber,Z.column+Q.length),!1);if(!U||U.length===0)return null;let H=U[0];if(H.outsideRenderedLine||H.ranges.length===0)return null;let V=H.ranges[0],K=Q===\"\\t\"?this._typicalHalfwidthCharacterWidth:V.width<1?this._typicalHalfwidthCharacterWidth:V.width;if(this._cursorStyle===M8.Block)X=Q,Y=this._getTokenClassName(Z);let j=J.getVerticalOffsetForLineNumber(Z.lineNumber)-J.bigNumbersDelta,W=$;if(this._cursorStyle===M8.Underline||this._cursorStyle===M8.UnderlineThin)j+=$-2,W=2;return new Bf(j,V.left,0,K,W,X,Y)}_getTokenClassName(J){let X=this._context.viewModel.getViewLineData(J.lineNumber),Y=X.tokens.findTokenIndexAtOffset(J.column-1);return X.tokens.getClassName(Y)}prepareRender(J){this._renderData=this._prepareRender(J)}render(J){if(!this._renderData)return this._domNode.setDisplay(\"none\"),null;if(this._lastRenderedContent!==this._renderData.textContent)this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent;return this._domNode.setClassName(`cursor ${this._pluralityClass} ${bQ} ${this._renderData.textContentClassName}`),this._domNode.setDisplay(\"block\"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}}}class JB extends e1{static{this.BLINK_INTERVAL=500}constructor(J){super(J);let X=this._context.configuration.options;this._readOnly=X.get(104),this._cursorBlinking=X.get(32),this._cursorStyle=X.get(161),this._cursorSmoothCaretAnimation=X.get(33),this._editContextEnabled=X.get(170),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new QN(this._context,vY.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=p0(document.createElement(\"div\")),this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new i8,this._cursorFlatBlinkInterval=new Cq,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(J){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(J){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(J){let X=this._context.configuration.options;this._readOnly=X.get(104),this._cursorBlinking=X.get(32),this._cursorStyle=X.get(161),this._cursorSmoothCaretAnimation=X.get(33),this._editContextEnabled=X.get(170),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(J);for(let Y=0,Z=this._secondaryCursors.length;Y<Z;Y++)this._secondaryCursors[Y].onConfigurationChanged(J);return!0}_onCursorPositionChanged(J,X,Y){let Z=this._secondaryCursors.length!==X.length||this._cursorSmoothCaretAnimation===\"explicit\"&&Y!==3;if(this._primaryCursor.setPlurality(X.length?vY.MultiPrimary:vY.Single),this._primaryCursor.onCursorPositionChanged(J,Z),this._updateBlinking(),this._secondaryCursors.length<X.length){let Q=X.length-this._secondaryCursors.length;for(let $=0;$<Q;$++){let q=new QN(this._context,vY.MultiSecondary);this._domNode.domNode.insertBefore(q.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(q)}}else if(this._secondaryCursors.length>X.length){let Q=this._secondaryCursors.length-X.length;for(let $=0;$<Q;$++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let Q=0;Q<X.length;Q++)this._secondaryCursors[Q].onCursorPositionChanged(X[Q],Z)}onCursorStateChanged(J){let X=[];for(let Z=0,Q=J.selections.length;Z<Q;Z++)X[Z]=J.selections[Z].getPosition();this._onCursorPositionChanged(X[0],X.slice(1),J.reason);let Y=J.selections[0].isEmpty();if(this._selectionIsEmpty!==Y)this._selectionIsEmpty=Y,this._updateDomClassName();return!0}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onFocusChanged(J){return this._editorHasFocus=J.isFocused,this._updateBlinking(),!1}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return!0}onTokensChanged(J){let X=(Y)=>{for(let Z=0,Q=J.ranges.length;Z<Q;Z++)if(J.ranges[Z].fromLineNumber<=Y.lineNumber&&Y.lineNumber<=J.ranges[Z].toLineNumber)return!0;return!1};if(X(this._primaryCursor.getPosition()))return!0;for(let Y of this._secondaryCursors)if(X(Y.getPosition()))return!0;return!1}onZonesChanged(J){return!0}_getCursorBlinking(){if(this._isComposingInput&&!this._editContextEnabled)return 0;if(!this._editorHasFocus)return 0;if(this._readOnly)return 5;return this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();let J=this._getCursorBlinking(),X=J===0,Y=J===5;if(X)this._hide();else this._show();if(this._blinkingEnabled=!1,this._updateDomClassName(),!X&&!Y)if(J===1)this._cursorFlatBlinkInterval.cancelAndSet(()=>{if(this._isVisible)this._hide();else this._show()},JB.BLINK_INTERVAL,Q0(this._domNode.domNode));else this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},JB.BLINK_INTERVAL)}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let J=\"cursors-layer\";if(!this._selectionIsEmpty)J+=\" has-selection\";switch(this._cursorStyle){case M8.Line:J+=\" cursor-line-style\";break;case M8.Block:J+=\" cursor-block-style\";break;case M8.Underline:J+=\" cursor-underline-style\";break;case M8.LineThin:J+=\" cursor-line-thin-style\";break;case M8.BlockOutline:J+=\" cursor-block-outline-style\";break;case M8.UnderlineThin:J+=\" cursor-underline-thin-style\";break;default:J+=\" cursor-line-style\"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:J+=\" cursor-blink\";break;case 2:J+=\" cursor-smooth\";break;case 3:J+=\" cursor-phase\";break;case 4:J+=\" cursor-expand\";break;case 5:J+=\" cursor-solid\";break;default:J+=\" cursor-solid\"}else J+=\" cursor-solid\";if(this._cursorSmoothCaretAnimation===\"on\"||this._cursorSmoothCaretAnimation===\"explicit\")J+=\" cursor-smooth-caret-animation\";return J}_show(){this._primaryCursor.show();for(let J=0,X=this._secondaryCursors.length;J<X;J++)this._secondaryCursors[J].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let J=0,X=this._secondaryCursors.length;J<X;J++)this._secondaryCursors[J].hide();this._isVisible=!1}prepareRender(J){this._primaryCursor.prepareRender(J);for(let X=0,Y=this._secondaryCursors.length;X<Y;X++)this._secondaryCursors[X].prepareRender(J)}render(J){let X=[],Y=0,Z=this._primaryCursor.render(J);if(Z)X[Y++]=Z;for(let Q=0,$=this._secondaryCursors.length;Q<$;Q++){let q=this._secondaryCursors[Q].render(J);if(q)X[Y++]=q}this._renderData=X}getLastRenderData(){return this._renderData}}x8((J,X)=>{let Y=[{class:\".cursor\",foreground:JK,background:cR},{class:\".cursor-primary\",foreground:dR,background:G50},{class:\".cursor-secondary\",foreground:lR,background:U50}];for(let Z of Y){let Q=J.getColor(Z.foreground);if(Q){let $=J.getColor(Z.background);if(!$)$=Q.opposite();if(X.addRule(`.monaco-editor .cursors-layer ${Z.class} { background-color: ${Q}; border-color: ${Q}; color: ${$}; }`),l9(J.type))X.addRule(`.monaco-editor .cursors-layer.has-selection ${Z.class} { border-left: 1px solid ${$}; border-right: 1px solid ${$}; }`)}}});var _f=()=>{throw Error(\"Invalid change accessor\")};class Af extends e1{constructor(J){super(J);let X=this._context.configuration.options,Y=X.get(165);this._lineHeight=X.get(75),this._contentWidth=Y.contentWidth,this._contentLeft=Y.contentLeft,this.domNode=p0(document.createElement(\"div\")),this.domNode.setClassName(\"view-zones\"),this.domNode.setPosition(\"absolute\"),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this.marginDomNode=p0(document.createElement(\"div\")),this.marginDomNode.setClassName(\"margin-view-zones\"),this.marginDomNode.setPosition(\"absolute\"),this.marginDomNode.setAttribute(\"role\",\"presentation\"),this.marginDomNode.setAttribute(\"aria-hidden\",\"true\"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){let J=this._context.viewLayout.getWhitespaces(),X=new Map;for(let Z of J)X.set(Z.id,Z);let Y=!1;return this._context.viewModel.changeWhitespace((Z)=>{let Q=Object.keys(this._zones);for(let $=0,q=Q.length;$<q;$++){let G=Q[$],U=this._zones[G],H=this._computeWhitespaceProps(U.delegate);U.isInHiddenArea=H.isInHiddenArea;let V=X.get(G);if(V&&(V.afterLineNumber!==H.afterViewLineNumber||V.height!==H.heightInPx))Z.changeOneWhitespace(G,H.afterViewLineNumber,H.heightInPx),this._safeCallOnComputedHeight(U.delegate,H.heightInPx),Y=!0}}),Y}onConfigurationChanged(J){let X=this._context.configuration.options,Y=X.get(165);if(this._lineHeight=X.get(75),this._contentWidth=Y.contentWidth,this._contentLeft=Y.contentLeft,J.hasChanged(75))this._recomputeWhitespacesProps();return!0}onLineMappingChanged(J){return this._recomputeWhitespacesProps()}onLinesDeleted(J){return!0}onScrollChanged(J){return J.scrollTopChanged||J.scrollWidthChanged}onZonesChanged(J){return!0}onLinesInserted(J){return!0}_getZoneOrdinal(J){return J.ordinal??J.afterColumn??1e4}_computeWhitespaceProps(J){if(J.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(J),minWidthInPx:this._minWidthInPixels(J)};let X;if(typeof J.afterColumn<\"u\")X=this._context.viewModel.model.validatePosition({lineNumber:J.afterLineNumber,column:J.afterColumn});else{let $=this._context.viewModel.model.validatePosition({lineNumber:J.afterLineNumber,column:1}).lineNumber;X=new C($,this._context.viewModel.model.getLineMaxColumn($))}let Y;if(X.column===this._context.viewModel.model.getLineMaxColumn(X.lineNumber))Y=this._context.viewModel.model.validatePosition({lineNumber:X.lineNumber+1,column:1});else Y=this._context.viewModel.model.validatePosition({lineNumber:X.lineNumber,column:X.column+1});let Z=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(X,J.afterColumnAffinity,!0),Q=J.showInHiddenAreas||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(Y);return{isInHiddenArea:!Q,afterViewLineNumber:Z.lineNumber,heightInPx:Q?this._heightInPixels(J):0,minWidthInPx:this._minWidthInPixels(J)}}changeViewZones(J){let X=!1;return this._context.viewModel.changeWhitespace((Y)=>{let Z={addZone:(Q)=>{return X=!0,this._addZone(Y,Q)},removeZone:(Q)=>{if(!Q)return;X=this._removeZone(Y,Q)||X},layoutZone:(Q)=>{if(!Q)return;X=this._layoutZone(Y,Q)||X}};FF0(J,Z),Z.addZone=_f,Z.removeZone=_f,Z.layoutZone=_f}),X}_addZone(J,X){let Y=this._computeWhitespaceProps(X),Q={whitespaceId:J.insertWhitespace(Y.afterViewLineNumber,this._getZoneOrdinal(X),Y.heightInPx,Y.minWidthInPx),delegate:X,isInHiddenArea:Y.isInHiddenArea,isVisible:!1,domNode:p0(X.domNode),marginDomNode:X.marginDomNode?p0(X.marginDomNode):null};if(this._safeCallOnComputedHeight(Q.delegate,Y.heightInPx),Q.domNode.setPosition(\"absolute\"),Q.domNode.domNode.style.width=\"100%\",Q.domNode.setDisplay(\"none\"),Q.domNode.setAttribute(\"monaco-view-zone\",Q.whitespaceId),this.domNode.appendChild(Q.domNode),Q.marginDomNode)Q.marginDomNode.setPosition(\"absolute\"),Q.marginDomNode.domNode.style.width=\"100%\",Q.marginDomNode.setDisplay(\"none\"),Q.marginDomNode.setAttribute(\"monaco-view-zone\",Q.whitespaceId),this.marginDomNode.appendChild(Q.marginDomNode);return this._zones[Q.whitespaceId]=Q,this.setShouldRender(),Q.whitespaceId}_removeZone(J,X){if(this._zones.hasOwnProperty(X)){let Y=this._zones[X];if(delete this._zones[X],J.removeWhitespace(Y.whitespaceId),Y.domNode.removeAttribute(\"monaco-visible-view-zone\"),Y.domNode.removeAttribute(\"monaco-view-zone\"),Y.domNode.domNode.remove(),Y.marginDomNode)Y.marginDomNode.removeAttribute(\"monaco-visible-view-zone\"),Y.marginDomNode.removeAttribute(\"monaco-view-zone\"),Y.marginDomNode.domNode.remove();return this.setShouldRender(),!0}return!1}_layoutZone(J,X){if(this._zones.hasOwnProperty(X)){let Y=this._zones[X],Z=this._computeWhitespaceProps(Y.delegate);return Y.isInHiddenArea=Z.isInHiddenArea,J.changeOneWhitespace(Y.whitespaceId,Z.afterViewLineNumber,Z.heightInPx),this._safeCallOnComputedHeight(Y.delegate,Z.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(J){if(this._zones.hasOwnProperty(J)){let X=this._zones[J];return Boolean(X.delegate.suppressMouseDown)}return!1}_heightInPixels(J){if(typeof J.heightInPx===\"number\")return J.heightInPx;if(typeof J.heightInLines===\"number\")return this._lineHeight*J.heightInLines;return this._lineHeight}_minWidthInPixels(J){if(typeof J.minWidthInPx===\"number\")return J.minWidthInPx;return 0}_safeCallOnComputedHeight(J,X){if(typeof J.onComputedHeight===\"function\")try{J.onComputedHeight(X)}catch(Y){b0(Y)}}_safeCallOnDomNodeTop(J,X){if(typeof J.onDomNodeTop===\"function\")try{J.onDomNodeTop(X)}catch(Y){b0(Y)}}prepareRender(J){}render(J){let X=J.viewportData.whitespaceViewportData,Y={},Z=!1;for(let $ of X){if(this._zones[$.id].isInHiddenArea)continue;Y[$.id]=$,Z=!0}let Q=Object.keys(this._zones);for(let $=0,q=Q.length;$<q;$++){let G=Q[$],U=this._zones[G],H=0,V=0,K=\"none\";if(Y.hasOwnProperty(G)){if(H=Y[G].verticalOffset-J.bigNumbersDelta,V=Y[G].height,K=\"block\",!U.isVisible)U.domNode.setAttribute(\"monaco-visible-view-zone\",\"true\"),U.isVisible=!0;this._safeCallOnDomNodeTop(U.delegate,J.getScrolledTopFromAbsoluteTop(Y[G].verticalOffset))}else{if(U.isVisible)U.domNode.removeAttribute(\"monaco-visible-view-zone\"),U.isVisible=!1;this._safeCallOnDomNodeTop(U.delegate,J.getScrolledTopFromAbsoluteTop(-1e6))}if(U.domNode.setTop(H),U.domNode.setHeight(V),U.domNode.setDisplay(K),U.marginDomNode)U.marginDomNode.setTop(H),U.marginDomNode.setHeight(V),U.marginDomNode.setDisplay(K)}if(Z)this.domNode.setWidth(Math.max(J.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft)}}function FF0(J,X){try{return J(X)}catch(Y){b0(Y);return}}class Df extends C7{constructor(J){super();this._context=J,this._options=new Pf(this._context.configuration),this._selection=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){let X=new Pf(this._context.configuration);if(this._options.equals(X))return J.hasChanged(165);return this._options=X,!0}onCursorStateChanged(J){if(this._selection=J.selections,this._options.renderWhitespace===\"selection\")return!0;return!1}onDecorationsChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}prepareRender(J){if(this._options.renderWhitespace===\"none\"){this._renderResult=null;return}this._renderResult=[];for(let X=J.viewportData.startLineNumber;X<=J.viewportData.endLineNumber;X++){let Y=X-J.viewportData.startLineNumber,Z=this._context.viewModel.getViewLineRenderingData(X),Q=null;if(this._options.renderWhitespace===\"selection\"){let $=this._selection;for(let q of $){if(q.endLineNumber<X||q.startLineNumber>X)continue;let G=q.startLineNumber===X?q.startColumn:Z.minColumn,U=q.endLineNumber===X?q.endColumn:Z.maxColumn;if(G<U){if(!Q)Q=[];Q.push(new H0(G-1,U-1))}}}this._renderResult[Y]=this._applyRenderWhitespace(J,X,Q,Z)}}_applyRenderWhitespace(J,X,Y,Z){if(this._options.renderWhitespace===\"selection\"&&!Y)return\"\";if(this._options.renderWhitespace===\"trailing\"&&Z.continuesWithWrappedLine)return\"\";let Q=this._context.theme.getColor(sR),$=this._options.renderWithSVG,q=Z.content,G=this._options.stopRenderingLineAfter===-1?q.length:Math.min(this._options.stopRenderingLineAfter,q.length),U=Z.continuesWithWrappedLine,H=Z.minColumn-1,V=this._options.renderWhitespace===\"boundary\",K=this._options.renderWhitespace===\"trailing\",j=J.getLineHeightForLineNumber(X),W=this._options.middotWidth,z=this._options.wsmiddotWidth,B=this._options.spaceWidth,P=Math.abs(z-B),_=Math.abs(W-B),A=P<_?11825:183,O=this._options.canUseHalfwidthRightwardsArrow,D=\"\",R=!1,N=b6(q),w;if(N===-1)R=!0,N=G,w=G;else w=T5(q);let k=0,I=Y&&Y[k],S=0;for(let h=H;h<G;h++){let u=q.charCodeAt(h);if(I&&I.endExclusive<=h)k++,I=Y&&Y[k];if(u!==9&&u!==32)continue;if(K&&!R&&h<=w)continue;if(V&&h>=N&&h<=w&&u===32){let s=h-1>=0?q.charCodeAt(h-1):0,l=h+1<G?q.charCodeAt(h+1):0;if(s!==32&&l!==32)continue}if(V&&U&&h===G-1){let s=h-1>=0?q.charCodeAt(h-1):0;if(u===32&&(s!==32&&s!==9))continue}if(Y&&!(I&&I.start<=h&&h<I.endExclusive))continue;let p=J.visibleRangeForPosition(new C(X,h+1));if(!p)continue;if($)if(S=Math.max(S,p.left),u===9)D+=this._renderArrow(j,B,p.left);else D+=`<circle cx=\"${(p.left+B/2).toFixed(2)}\" cy=\"${(j/2).toFixed(2)}\" r=\"${(B/7).toFixed(2)}\" />`;else if(u===9)D+=`<div class=\"mwh\" style=\"left:${p.left}px;height:${j}px;\">${O?String.fromCharCode(65515):String.fromCharCode(8594)}</div>`;else D+=`<div class=\"mwh\" style=\"left:${p.left}px;height:${j}px;\">${String.fromCharCode(A)}</div>`}if($)return S=Math.round(S+B),`<svg style=\"bottom:0;position:absolute;width:${S}px;height:${j}px\" viewBox=\"0 0 ${S} ${j}\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"${Q}\">`+D+\"</svg>\";return D}_renderArrow(J,X,Y){let Z=X/7,Q=X,$=J/2,q=Y,G={x:0,y:Z/2},U={x:0.8*Q,y:G.y},H={x:U.x-0.2*U.x,y:U.y+0.2*U.x},V={x:H.x+0.1*U.x,y:H.y+0.1*U.x},K={x:V.x+0.35*U.x,y:V.y-0.35*U.x},j={x:K.x,y:-K.y},W={x:V.x,y:-V.y},z={x:H.x,y:-H.y},B={x:U.x,y:-U.y},P={x:G.x,y:-G.y};return`<path d=\"M ${[G,U,H,V,K,j,W,z,B,P].map((O)=>`${(q+O.x).toFixed(2)} ${($+O.y).toFixed(2)}`).join(\" L \")}\" />`}render(J,X){if(!this._renderResult)return\"\";let Y=X-J;if(Y<0||Y>=this._renderResult.length)return\"\";return this._renderResult[Y]}}class Pf{constructor(J){let X=J.options,Y=X.get(59),Z=X.get(47);if(Z===\"off\")this.renderWhitespace=\"none\",this.renderWithSVG=!1;else if(Z===\"svg\")this.renderWhitespace=X.get(113),this.renderWithSVG=!0;else this.renderWhitespace=X.get(113),this.renderWithSVG=!1;this.spaceWidth=Y.spaceWidth,this.middotWidth=Y.middotWidth,this.wsmiddotWidth=Y.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=Y.canUseHalfwidthRightwardsArrow,this.lineHeight=X.get(75),this.stopRenderingLineAfter=X.get(133)}equals(J){return this.renderWhitespace===J.renderWhitespace&&this.renderWithSVG===J.renderWithSVG&&this.spaceWidth===J.spaceWidth&&this.middotWidth===J.middotWidth&&this.wsmiddotWidth===J.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===J.canUseHalfwidthRightwardsArrow&&this.lineHeight===J.lineHeight&&this.stopRenderingLineAfter===J.stopRenderingLineAfter}}class Of{constructor(J,X,Y,Z){this.selections=J,this.startLineNumber=X.startLineNumber|0,this.endLineNumber=X.endLineNumber|0,this.relativeVerticalOffset=X.relativeVerticalOffset,this.bigNumbersDelta=X.bigNumbersDelta|0,this.lineHeight=X.lineHeight|0,this.whitespaceViewportData=Y,this._model=Z,this.visibleRange=new T(X.startLineNumber,this._model.getLineMinColumn(X.startLineNumber),X.endLineNumber,this._model.getLineMaxColumn(X.endLineNumber))}getViewLineRenderingData(J){return this._model.getViewportViewLineRenderingData(this.visibleRange,J)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class Mf{get type(){return this._theme.type}get value(){return this._theme}constructor(J){this._theme=J}update(J){this._theme=J}getColor(J){return this._theme.getColor(J)}}class Rf{constructor(J,X,Y){this.configuration=J,this.theme=new Mf(X),this.viewModel=Y,this.viewLayout=Y.viewLayout}addEventHandler(J){this.viewModel.addViewEventHandler(J)}removeEventHandler(J){this.viewModel.removeViewEventHandler(J)}}var xX=new Float32Array([1,0,1,1,0,1,0,0,0,1,1,0]);function gY(J){if(!J)throw Error(`Value \"${J}\" cannot be null`);return J}function $N(J,X,Y){let Z=new X.ResizeObserver((Q)=>{let $=Q.find((U)=>U.target===J);if(!$)return;if(!(\"devicePixelContentBoxSize\"in $)){Z?.disconnect(),Z=void 0;return}let q=$.devicePixelContentBoxSize[0].inlineSize,G=$.devicePixelContentBoxSize[0].blockSize;if(q>0&&G>0)Y(q,G)});try{Z.observe(J,{box:[\"device-pixel-content-box\"]})}catch{throw Z.disconnect(),Z=void 0,new j0(\"Could not observe device pixel dimensions\")}return J0(()=>Z?.disconnect())}var BF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},_F0=0;class yG extends y{get cacheKey(){return`${this.fontFamily}_${this.fontSize}px`}constructor(J,X,Y,Z){super();this.fontSize=J,this.fontFamily=X,this.devicePixelRatio=Y,this._decorationStyleCache=Z,this.id=_F0++,this._workGlyph={source:null,boundingBox:{left:0,bottom:0,right:0,top:0},originOffset:{x:0,y:0},fontBoundingBoxAscent:0,fontBoundingBoxDescent:0},this._workGlyphConfig={chars:void 0,tokenMetadata:0,decorationStyleSetId:0},this._antiAliasing=I0?\"greyscale\":\"subpixel\";let Q=Math.ceil(this.fontSize*Y);this._canvas=new OffscreenCanvas(Q*3,Q*3),this._ctx=gY(this._canvas.getContext(\"2d\",{willReadFrequently:!0,alpha:this._antiAliasing===\"greyscale\"})),this._ctx.textBaseline=\"top\",this._ctx.fillStyle=\"#FFFFFF\",this._ctx.font=`${Q}px ${this.fontFamily}`,this._textMetrics=this._ctx.measureText(\"A\")}rasterizeGlyph(J,X,Y,Z){if(J===\"\")return{source:this._canvas,boundingBox:{top:0,left:0,bottom:-1,right:-1},originOffset:{x:0,y:0},fontBoundingBoxAscent:0,fontBoundingBoxDescent:0};if(this._workGlyphConfig.chars===J&&this._workGlyphConfig.tokenMetadata===X&&this._workGlyphConfig.decorationStyleSetId===Y)return this._workGlyph;return this._workGlyphConfig.chars=J,this._workGlyphConfig.tokenMetadata=X,this._workGlyphConfig.decorationStyleSetId=Y,this._rasterizeGlyph(J,X,Y,Z)}_rasterizeGlyph(J,X,Y,Z){let Q=Math.ceil(this.fontSize*this.devicePixelRatio),$=Q*3;if(this._canvas.width!==$)this._canvas.width=$,this._canvas.height=$;this._ctx.save();let q=(X&15)/10,G=I5.getBackground(X),U=Z[G]??Z[2],H=this._decorationStyleCache.getStyleSet(Y);if(this._antiAliasing===\"subpixel\")this._ctx.fillStyle=U,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height);else this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height);let V=new h9(200),K=I5.getFontStyle(X);if(K&1)V.appendString(\"italic \");if(H?.bold!==void 0){if(H.bold)V.appendString(\"bold \")}else if(K&2)V.appendString(\"bold \");V.appendString(`${Q}px ${this.fontFamily}`),this._ctx.font=V.build();let j=Q,W=Q;if(H?.color!==void 0)this._ctx.fillStyle=`#${H.color.toString(16).padStart(8,\"0\")}`;else this._ctx.fillStyle=Z[I5.getForeground(X)];if(H?.opacity!==void 0)this._ctx.globalAlpha=H.opacity;if(this._ctx.textBaseline=\"top\",this._ctx.fillText(J,j+q,W),H?.strikethrough){let B=Math.round(W-this._textMetrics.alphabeticBaseline*0.65),P=H?.strikethroughThickness!==void 0?Math.round(H.strikethroughThickness*this.devicePixelRatio):Math.max(1,Math.floor(Q/10));if(H?.strikethroughColor!==void 0)this._ctx.fillStyle=`#${H.strikethroughColor.toString(16).padStart(8,\"0\")}`;this._ctx.fillRect(j,B-Math.floor(P/2),Math.ceil(this._textMetrics.width),P)}this._ctx.restore();let z=this._ctx.getImageData(0,0,this._canvas.width,this._canvas.height);if(this._antiAliasing===\"subpixel\"){let B=parseInt(U.substring(1,3),16),P=parseInt(U.substring(3,5),16),_=parseInt(U.substring(5,7),16);this._clearColor(z,B,P,_),this._ctx.putImageData(z,0,0)}return this._findGlyphBoundingBox(z,this._workGlyph.boundingBox),this._workGlyph.source=this._canvas,this._workGlyph.originOffset.x=this._workGlyph.boundingBox.left-j,this._workGlyph.originOffset.y=this._workGlyph.boundingBox.top-W,this._workGlyph.fontBoundingBoxAscent=this._textMetrics.fontBoundingBoxAscent,this._workGlyph.fontBoundingBoxDescent=this._textMetrics.fontBoundingBoxDescent,this._workGlyph}_clearColor(J,X,Y,Z){for(let Q=0;Q<J.data.length;Q+=4)if(J.data[Q]===X&&J.data[Q+1]===Y&&J.data[Q+2]===Z)J.data[Q+3]=0}_findGlyphBoundingBox(J,X){let Y=this._canvas.height,Z=this._canvas.width,Q=!1;for(let $=0;$<Y;$++){for(let q=0;q<Z;q++){let G=$*Z*4+q*4+3;if(J.data[G]!==0){X.top=$,Q=!0;break}}if(Q)break}X.left=0,Q=!1;for(let $=0;$<Z;$++){for(let q=0;q<Y;q++){let G=q*Z*4+$*4+3;if(J.data[G]!==0){X.left=$,Q=!0;break}}if(Q)break}X.right=Z,Q=!1;for(let $=Z-1;$>=X.left;$--){for(let q=0;q<Y;q++){let G=q*Z*4+$*4+3;if(J.data[G]!==0){X.right=$,Q=!0;break}}if(Q)break}X.bottom=X.top,Q=!1;for(let $=Y-1;$>=0;$--){for(let q=0;q<Z;q++){let G=$*Z*4+q*4+3;if(J.data[G]!==0){X.bottom=$,Q=!0;break}}if(Q)break}}getTextMetrics(J){return this._ctx.measureText(J)}}BF0([a1],yG.prototype,\"cacheKey\",null);var AF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},PF0=function(J,X){return function(Y,Z){X(Y,Z,J)}},qN=class extends y{constructor(X){super();this._logService=X,this._tasks=[],this._i=0,this._register(J0(()=>this.clear()))}enqueue(X){this._tasks.push(X),this._start()}clear(){if(this._idleCallback)this._cancelCallback(this._idleCallback),this._idleCallback=void 0;this._i=0,this._tasks.length=0}_start(){if(!this._idleCallback)this._idleCallback=this._requestCallback(this._process.bind(this))}_process(X){this._idleCallback=void 0;let Y=0,Z=0,Q=X.timeRemaining(),$=0;while(this._i<this._tasks.length){if(Y=Date.now(),!this._tasks[this._i]())this._i++;if(Y=Math.max(1,Date.now()-Y),Z=Math.max(Y,Z),$=X.timeRemaining(),Z*1.5>$){if(Q-Y<-20)this._logService.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(Q-Y))}ms`);this._start();return}Q=$}this.clear()}};qN=AF0([PF0(0,x1)],qN);class G70 extends qN{_requestCallback(J){return i0().setTimeout(()=>J(this._createDeadline(16)))}_cancelCallback(J){i0().clearTimeout(J)}_createDeadline(J){let X=Date.now()+J;return{timeRemaining:()=>Math.max(0,X-Date.now())}}}class U70 extends qN{_requestCallback(J){return i0().requestIdleCallback(J)}_cancelCallback(J){i0().cancelIdleCallback(J)}}var H70=\"requestIdleCallback\"in i0()?U70:G70;class Nf{constructor(J,X){this._canvas=J,this._textureIndex=X,this._currentRow={x:0,y:0,h:0},this._allocatedGlyphs=new Set,this._nextIndex=0,this._ctx=gY(this._canvas.getContext(\"2d\",{willReadFrequently:!0}))}allocate(J){let X=J.boundingBox.right-J.boundingBox.left+1,Y=J.boundingBox.bottom-J.boundingBox.top+1;if(X>this._canvas.width||Y>this._canvas.height)throw new j0(\"Glyph is too large for the atlas page\");if(J.boundingBox.right-J.boundingBox.left+1>this._canvas.width-this._currentRow.x)this._currentRow.x=0,this._currentRow.y+=this._currentRow.h,this._currentRow.h=1;if(this._currentRow.y+J.boundingBox.bottom-J.boundingBox.top+1>this._canvas.height)return;this._ctx.drawImage(J.source,J.boundingBox.left,J.boundingBox.top,X,Y,this._currentRow.x,this._currentRow.y,X,Y);let Z={pageIndex:this._textureIndex,glyphIndex:this._nextIndex++,x:this._currentRow.x,y:this._currentRow.y,w:X,h:Y,originOffsetX:J.originOffset.x,originOffsetY:J.originOffset.y,fontBoundingBoxAscent:J.fontBoundingBoxAscent,fontBoundingBoxDescent:J.fontBoundingBoxDescent};return this._currentRow.x+=X,this._currentRow.h=Math.max(this._currentRow.h,Y),this._allocatedGlyphs.add(Z),Z}getUsagePreview(){let J=this._canvas.width,X=this._canvas.height,Y=new OffscreenCanvas(J,X),Z=gY(Y.getContext(\"2d\"));Z.fillStyle=\"#808080\",Z.fillRect(0,0,J,X);let Q=new Map,$=new Map;for(let q of this._allocatedGlyphs)Q.set(q.y,Math.max(Q.get(q.y)??0,q.h)),$.set(q.y,Math.max($.get(q.y)??0,q.x+q.w));for(let q of this._allocatedGlyphs)Z.fillStyle=\"#4040FF\",Z.fillRect(q.x,q.y,q.w,q.h),Z.fillStyle=\"#FF0000\",Z.fillRect(q.x,q.y+q.h,q.w,Q.get(q.y)-q.h);for(let[q,G]of $.entries())if(q!==this._currentRow.y)Z.fillStyle=\"#FF0000\",Z.fillRect(G,q,J-G,Q.get(q));return Y.convertToBlob()}getStats(){let J=this._canvas.width,X=this._canvas.height,Y=0,Z=0,Q=J*X,$=new Map,q=new Map;for(let G of this._allocatedGlyphs)$.set(G.y,Math.max($.get(G.y)??0,G.h)),q.set(G.y,Math.max(q.get(G.y)??0,G.x+G.w));for(let G of this._allocatedGlyphs)Y+=G.w*G.h,Z+=G.w*($.get(G.y)-G.h);for(let[G,U]of q.entries())if(G!==this._currentRow.y)Z+=(J-U)*$.get(G);return[`page${this._textureIndex}:`,`     Total: ${Q} (${J}x${X})`,`      Used: ${Y} (${(Y/Q*100).toPrecision(2)}%)`,`    Wasted: ${Z} (${(Z/Q*100).toPrecision(2)}%)`,`Efficiency: ${(Y/(Y+Z)*100).toPrecision(2)}%`].join(`\n`)}}class wf{constructor(J,X,Y){this._canvas=J,this._textureIndex=X,this._slabs=[],this._activeSlabsByDims=new zQ,this._unusedRects=[],this._openRegionsByHeight=new Map,this._openRegionsByWidth=new Map,this._allocatedGlyphs=new Set,this._nextIndex=0,this._ctx=gY(this._canvas.getContext(\"2d\",{willReadFrequently:!0})),this._slabW=Math.min(Y?.slabW??64<<Math.max(Math.floor(i0().devicePixelRatio)-1,0),this._canvas.width),this._slabH=Math.min(Y?.slabH??this._slabW,this._canvas.height),this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}allocate(J){let X=J.boundingBox.right-J.boundingBox.left+1,Y=J.boundingBox.bottom-J.boundingBox.top+1;if(X>this._canvas.width||Y>this._canvas.height)throw new j0(\"Glyph is too large for the atlas page\");if(X>this._slabW||Y>this._slabH){if(this._allocatedGlyphs.size>0)return;let U=this._canvas.width;while(X<U/2&&Y<U/2)U/=2;this._slabW=U,this._slabH=U,this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}let Z={w:X,h:Y},Q=this._activeSlabsByDims.get(Z.w,Z.h);if(Q){let U=Math.floor(this._slabW/Q.entryW)*Math.floor(this._slabH/Q.entryH);if(Q.count>=U)Q=void 0}let $,q;if(!Q)if(X<Y){let U=this._openRegionsByWidth.get(X);if(U?.length)for(let H=U.length-1;H>=0;H--){let V=U[H];if(V.w>=X&&V.h>=Y){if($=V.x,q=V.y,X<V.w)this._unusedRects.push({x:V.x+X,y:V.y,w:V.w-X,h:Y});if(V.y+=Y,V.h-=Y,V.h===0)if(H===U.length-1)U.pop();else this._unusedRects.splice(H,1);break}}}else{let U=this._openRegionsByHeight.get(Y);if(U?.length)for(let H=U.length-1;H>=0;H--){let V=U[H];if(V.w>=X&&V.h>=Y){if($=V.x,q=V.y,Y<V.h)this._unusedRects.push({x:V.x,y:V.y+Y,w:X,h:V.h-Y});if(V.x+=X,V.w-=X,V.h===0)if(H===U.length-1)U.pop();else this._unusedRects.splice(H,1);break}}}if($===void 0||q===void 0){if(!Q){if(this._slabs.length>=this._slabsPerRow*this._slabsPerColumn)return;Q={x:Math.floor(this._slabs.length%this._slabsPerRow)*this._slabW,y:Math.floor(this._slabs.length/this._slabsPerRow)*this._slabH,entryW:Z.w,entryH:Z.h,count:0};let H=this._slabW%Q.entryW,V=this._slabH%Q.entryH;if(H)V70(this._openRegionsByWidth,H,{x:Q.x+this._slabW-H,w:H,y:Q.y,h:this._slabH-(V??0)});if(V)V70(this._openRegionsByHeight,V,{x:Q.x,w:this._slabW,y:Q.y+this._slabH-V,h:V});this._slabs.push(Q),this._activeSlabsByDims.set(Q,Z.w,Z.h)}let U=Math.floor(this._slabW/Q.entryW);$=Q.x+Math.floor(Q.count%U)*Q.entryW,q=Q.y+Math.floor(Q.count/U)*Q.entryH,Q.count++}this._ctx.drawImage(J.source,J.boundingBox.left,J.boundingBox.top,X,Y,$,q,X,Y);let G={pageIndex:this._textureIndex,glyphIndex:this._nextIndex++,x:$,y:q,w:X,h:Y,originOffsetX:J.originOffset.x,originOffsetY:J.originOffset.y,fontBoundingBoxAscent:J.fontBoundingBoxAscent,fontBoundingBoxDescent:J.fontBoundingBoxDescent};return this._allocatedGlyphs.add(G),G}getUsagePreview(){let J=this._canvas.width,X=this._canvas.height,Y=new OffscreenCanvas(J,X),Z=gY(Y.getContext(\"2d\"));Z.fillStyle=\"#808080\",Z.fillRect(0,0,J,X);let Q=0,$=0,q=0,G=64<<Math.floor(i0().devicePixelRatio)-1,U=G;for(let V of this._slabs){let K=0,j=0;for(let B=0;B<V.count;B++){if(K+V.entryW>G)K=0,j+=V.entryH;Z.fillStyle=\"#FF0000\",Z.fillRect(V.x+K,V.y+j,V.entryW,V.entryH),Q+=V.entryW*V.entryH,K+=V.entryW}let W=Math.floor(G/V.entryW),z=Math.floor(U/V.entryH);V.entryW*W*V.entryH*z}for(let V of this._allocatedGlyphs)$+=V.w*V.h,Z.fillStyle=\"#4040FF\",Z.fillRect(V.x,V.y,V.w,V.h);let H=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(let V of H)Z.fillStyle=\"#FF000088\",Z.fillRect(V.x,V.y,V.w,V.h),q+=V.w*V.h;return Z.globalAlpha=0.5,Z.drawImage(this._canvas,0,0),Z.globalAlpha=1,Y.convertToBlob()}getStats(){let J=this._canvas.width,X=this._canvas.height,Y=0,Z=0,Q=0,$=0,q=0,G=J*X,U=64<<Math.floor(i0().devicePixelRatio)-1,H=U;for(let W of this._slabs){let z=0,B=0;for(let O=0;O<W.count;O++){if(z+W.entryW>U)z=0,B+=W.entryH;Y+=W.entryW*W.entryH,z+=W.entryW}let P=Math.floor(U/W.entryW),_=Math.floor(H/W.entryH),A=W.entryW*P*W.entryH*_;Q+=U*H-A}for(let W of this._allocatedGlyphs)Z+=W.w*W.h;let V=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(let W of V)q+=W.w*W.h;let K=Q-q;$=Y-(Z-K);let j=Z/(Z+$+q);return[`page[${this._textureIndex}]:`,`     Total: ${G}px (${J}x${X})`,`      Used: ${Z}px (${(Z/G*100).toFixed(2)}%)`,`    Wasted: ${$}px (${($/G*100).toFixed(2)}%)`,`Restricted: ${q}px (${(q/G*100).toFixed(2)}%) (hard to allocate)`,`Efficiency: ${j===1?\"100\":(j*100).toFixed(2)}%`,`     Slabs: ${this._slabs.length} of ${Math.floor(this._canvas.width/U)*Math.floor(this._canvas.height/H)}`].join(`\n`)}}function V70(J,X,Y){let Z=J.get(X);if(!Z)Z=[],J.set(X,Z);Z.push(Y)}var DF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},K70=function(J,X){return function(Y,Z){X(Y,Z,J)}},Tf,V9=class extends y{static{Tf=this}get version(){return this._version}static{this.maximumGlyphCount=5000}get usedArea(){return this._usedArea}get source(){return this._canvas}get glyphs(){return this._glyphInOrderSet.values()}constructor(X,Y,Z,Q,$){super();switch(this._logService=Q,this._version=0,this._usedArea={left:0,top:0,right:0,bottom:0},this._glyphMap=new zQ,this._glyphInOrderSet=new Set,this._canvas=new OffscreenCanvas(Y,Y),this._colorMap=$.getColorTheme().tokenColorMap,Z){case\"shelf\":this._allocator=new Nf(this._canvas,X);break;case\"slab\":this._allocator=new wf(this._canvas,X);break;default:this._allocator=Z(this._canvas,X);break}this._register(J0(()=>{this._canvas.width=1,this._canvas.height=1}))}getGlyph(X,Y,Z,Q){return this._glyphMap.get(Y,Z,Q,X.cacheKey)??this._createGlyph(X,Y,Z,Q)}_createGlyph(X,Y,Z,Q){if(this._glyphInOrderSet.size>=Tf.maximumGlyphCount)return;let $=X.rasterizeGlyph(Y,Z,Q,this._colorMap),q=this._allocator.allocate($);if(q===void 0)return;if(this._glyphMap.set(q,Y,Z,Q,X.cacheKey),this._glyphInOrderSet.add(q),this._version++,this._usedArea.right=Math.max(this._usedArea.right,q.x+q.w-1),this._usedArea.bottom=Math.max(this._usedArea.bottom,q.y+q.h-1),this._logService.getLevel()===j5.Trace)this._logService.trace(\"New glyph\",{chars:Y,tokenMetadata:Z,decorationStyleSetId:Q,rasterizedGlyph:$,glyph:q});return q}getUsagePreview(){return this._allocator.getUsagePreview()}getStats(){return this._allocator.getStats()}};V9=Tf=DF0([K70(3,x1),K70(4,L6)],V9);var OF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},j70=function(J,X){return function(Y,Z){X(Y,Z,J)}},GN,bX=class extends y{static{GN=this}static{this.maximumPageCount=16}get pages(){return this._pages}constructor(X,Y,Z,Q,$){super();this._maxTextureSize=X,this._decorationStyleCache=Z,this._themeService=Q,this._instantiationService=$,this._warmUpTask=this._register(new Q1),this._warmedUpRasterizers=new Set,this._pages=[],this._glyphPageIndex=new zQ,this._onDidDeleteGlyphs=this._register(new E),this.onDidDeleteGlyphs=this._onDidDeleteGlyphs.event,this._allocatorType=Y?.allocatorType??\"slab\",this._register(i.runAndSubscribe(this._themeService.onDidColorThemeChange,()=>{if(this._colorMap)this.clear();this._colorMap=this._themeService.getColorTheme().tokenColorMap}));let q=Math.max(1,Math.floor(i0().devicePixelRatio));this.pageSize=Math.min(1024*q,this._maxTextureSize),this._initFirstPage(),this._register(J0(()=>D1(this._pages)))}_initFirstPage(){let X=this._instantiationService.createInstance(V9,0,this.pageSize,this._allocatorType);this._pages.push(X);let Y=new yG(1,\"\",1,this._decorationStyleCache);X.getGlyph(Y,\"\",0,0),Y.dispose()}clear(){for(let X of this._pages)X.dispose();this._pages.length=0,this._glyphPageIndex.clear(),this._warmedUpRasterizers.clear(),this._warmUpTask.clear(),this._initFirstPage(),this._onDidDeleteGlyphs.fire()}getGlyph(X,Y,Z,Q,$){if(Z&=-2048,Z|=Math.floor($%1*10),!this._warmedUpRasterizers.has(X.id))this._warmUpAtlas(X),this._warmedUpRasterizers.add(X.id);return this._tryGetGlyph(this._glyphPageIndex.get(Y,Z,Q,X.cacheKey)??0,X,Y,Z,Q)}_tryGetGlyph(X,Y,Z,Q,$){return this._glyphPageIndex.set(X,Z,Q,$,Y.cacheKey),this._pages[X].getGlyph(Y,Z,Q,$)??(X+1<this._pages.length?this._tryGetGlyph(X+1,Y,Z,Q,$):void 0)??this._getGlyphFromNewPage(Y,Z,Q,$)}_getGlyphFromNewPage(X,Y,Z,Q){if(this._pages.length>=GN.maximumPageCount)throw Error(`Attempt to create a texture atlas page past the limit ${GN.maximumPageCount}`);return this._pages.push(this._instantiationService.createInstance(V9,this._pages.length,this.pageSize,this._allocatorType)),this._glyphPageIndex.set(this._pages.length-1,Y,Z,Q,X.cacheKey),this._pages[this._pages.length-1].getGlyph(X,Y,Z,Q)}getStats(){return this._pages.map((X)=>X.getStats())}_warmUpAtlas(X){let Y=this._colorMap;if(!Y)throw new j0(\"Cannot warm atlas without color map\");this._warmUpTask.value?.clear();let Z=this._warmUpTask.value=this._instantiationService.createInstance(H70);for(let Q=65;Q<=90;Q++)for(let $ of Y.keys())Z.enqueue(()=>{for(let q=0;q<1;q+=0.1)this.getGlyph(X,String.fromCharCode(Q),$<<15&16744448,0,q)});for(let Q=97;Q<=122;Q++)for(let $ of Y.keys())Z.enqueue(()=>{for(let q=0;q<1;q+=0.1)this.getGlyph(X,String.fromCharCode(Q),$<<15&16744448,0,q)});for(let Q=33;Q<=126;Q++)for(let $ of Y.keys())Z.enqueue(()=>{for(let q=0;q<1;q+=0.1)this.getGlyph(X,String.fromCharCode(Q),$<<15&16744448,0,q)})}};bX=GN=OF0([j70(3,L6),j70(4,w0)],bX);var XB;(function(J){J[J.Ignore=0]=\"Ignore\",J[J.Info=1]=\"Info\",J[J.Warning=2]=\"Warning\",J[J.Error=3]=\"Error\"})(XB||(XB={}));(function(J){function q(U){if(!U)return J.Ignore;if(wJ(\"error\",U))return J.Error;if(wJ(\"warning\",U)||wJ(\"warn\",U))return J.Warning;if(wJ(\"info\",U))return J.Info;return J.Ignore}J.fromValue=q;function G(U){switch(U){case J.Error:return\"error\";case J.Warning:return\"warning\";case J.Info:return\"info\";default:return\"ignore\"}}J.toString=G})(XB||(XB={}));var U6=XB;var HK=U6,d6=W0(\"notificationService\");class Lf{}var F5;(function(J){async function X(Q){try{if(!navigator.gpu)throw Error(\"This browser does not support WebGPU\");let $=await navigator.gpu.requestAdapter();if(!$)throw Error(\"This browser supports WebGPU but it appears to be disabled\");return If(await $.requestDevice())}catch($){if(Q)Q($.message);throw $}}J.requestDevice=X;function Y(Q,$,q){let G=Q.createBuffer($);if(q)Q.queue.writeBuffer(G,0,KY(q)?q():q);return If(G)}J.createBuffer=Y;function Z(Q,$){return If(Q.createTexture($))}J.createTexture=Z})(F5||(F5={}));function If(J){return{object:J,dispose:()=>J.destroy()}}class kf{get dataOffset(){return this._startIndex}get dirtySize(){if(this._startIndex===void 0||this._endIndex===void 0)return;return this._endIndex-this._startIndex+1}get isDirty(){return this._startIndex!==void 0}flag(J,X=1){if(this._flag(J),X>1)this._flag(J+X-1);return J}_flag(J){if(this._startIndex===void 0||J<this._startIndex)this._startIndex=J;if(this._endIndex===void 0||J>this._endIndex)this._endIndex=J}clear(){this._startIndex=void 0,this._endIndex=void 0}}function W70(J,X){return new z70(J,X)}class z70 extends y{get entryCount(){return this._entries.size}get dirtyTracker(){return this._dirtyTracker}constructor(J,X){super();this.propertySpecs=J,this.capacity=X,this._dirtyTracker=new kf,this._propertySpecsMap=new Map,this._entries=new x6,this._onDidChange=this._register(new E),this._onDidChangeBuffer=this._register(new E),this.onDidChangeBuffer=this._onDidChangeBuffer.event,this.view=new Float32Array(X*J.length),this.buffer=this.view.buffer,this._entrySize=J.length;for(let Y=0;Y<J.length;Y++){let Z={offset:Y,...J[Y]};this._propertySpecsMap.set(Z.name,Z)}this._register(J0(()=>D1(this._entries)))}createEntry(J){if(this._entries.size===this.capacity)this._expandBuffer(),this._onDidChangeBuffer.fire();let X=new F70(this.view,this._propertySpecsMap,this._dirtyTracker,this._entries.size,J),Y=this._entries.push(X),Z=[];return Z.push(i.forward(X.onDidChange,this._onDidChange)),Z.push(X.onWillDispose(()=>{let Q=X.i;Y(),this.view.set(this.view.subarray(Q*this._entrySize+2,this._entries.size*this._entrySize+2),Q*this._entrySize);for(let $ of this._entries)if($.i>Q)$.i--;this._dirtyTracker.flag(Q,(this._entries.size-Q)*this._entrySize),D1(Z)})),X}_expandBuffer(){this.capacity*=2;let J=new Float32Array(this.capacity*this._entrySize);J.set(this.view),this.view=J,this.buffer=this.view.buffer}}class F70 extends y{constructor(J,X,Y,Z,Q){super();this._view=J,this._propertySpecsMap=X,this._dirtyTracker=Y,this.i=Z,this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this._onWillDispose=this._register(new E),this.onWillDispose=this._onWillDispose.event;for(let $ of this._propertySpecsMap.values())this._view[this.i*this._propertySpecsMap.size+$.offset]=Q[$.name];this._dirtyTracker.flag(this.i*this._propertySpecsMap.size,this._propertySpecsMap.size)}dispose(){this._onWillDispose.fire(),super.dispose()}setRaw(J){if(J.length!==this._propertySpecsMap.size)throw Error(`Data length ${J.length} does not match the number of properties in the collection (${this._propertySpecsMap.size})`);this._view.set(J,this.i*this._propertySpecsMap.size),this._dirtyTracker.flag(this.i*this._propertySpecsMap.size,this._propertySpecsMap.size)}}var B70=`\n\nstruct Vertex {\n\t@location(0) position: vec2f,\n};\n\nstruct LayoutInfo {\n\tcanvasDims: vec2f,\n\tviewportOffset: vec2f,\n\tviewportDims: vec2f,\n}\n\nstruct ScrollOffset {\n\toffset: vec2f,\n}\n\nstruct Shape {\n\tposition: vec2f,\n\tsize: vec2f,\n\tcolor: vec4f,\n};\n\nstruct VSOutput {\n\t@builtin(position) position: vec4f,\n\t@location(1)       color:    vec4f,\n};\n\n// Uniforms\n@group(0) @binding(1) var<uniform>       layoutInfo:      LayoutInfo;\n\n// Storage buffers\n@group(0) @binding(0)            var<storage, read> shapes:          array<Shape>;\n@group(0) @binding(2)      var<uniform>       scrollOffset:    ScrollOffset;\n\n@vertex fn vs(\n\tvert: Vertex,\n\t@builtin(instance_index) instanceIndex: u32,\n\t@builtin(vertex_index) vertexIndex : u32\n) -> VSOutput {\n\tlet shape = shapes[instanceIndex];\n\n\tvar vsOut: VSOutput;\n\tvsOut.position = vec4f(\n\t\t(\n\t\t\t// Top left corner\n\t\t\tvec2f(-1,  1) +\n\t\t\t// Convert pixel position to clipspace\n\t\t\tvec2f( 2, -2) / layoutInfo.canvasDims *\n\t\t\t// Shape position and size\n\t\t\t(layoutInfo.viewportOffset - scrollOffset.offset + shape.position + vert.position * shape.size)\n\t\t),\n\t\t0.0,\n\t\t1.0\n\t);\n\tvsOut.color = shape.color;\n\treturn vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n\treturn vsOut.color;\n}\n`;class Ef extends C4{constructor(J,X,Y,Z,Q,$){super();this._context=J,this._contentLeft=X,this._devicePixelRatio=Y,this._canvas=Z,this._ctx=Q,this._shapeBindBuffer=this._register(new Q1),this._initialized=!1,this._shapeCollection=this._register(W70([{name:\"x\"},{name:\"y\"},{name:\"width\"},{name:\"height\"},{name:\"red\"},{name:\"green\"},{name:\"blue\"},{name:\"alpha\"}],32)),this._context.addEventHandler(this),this._initWebgpu($)}async _initWebgpu(J){if(this._device=await J,this._store.isDisposed)return;let X=navigator.gpu.getPreferredCanvasFormat();this._ctx.configure({device:this._device,format:X,alphaMode:\"premultiplied\"}),this._renderPassColorAttachment={view:null,loadOp:\"load\",storeOp:\"store\"},this._renderPassDescriptor={label:\"Monaco rectangle renderer render pass\",colorAttachments:[this._renderPassColorAttachment]};let Y;{let q=new Float32Array(6),G=(U=this._canvas.width,H=this._canvas.height)=>{return q[0]=U,q[1]=H,q[2]=Math.ceil(this._context.configuration.options.get(165).contentLeft*i0().devicePixelRatio),q[3]=0,q[4]=q[0]-q[2],q[5]=q[1]-q[3],q};Y=this._register(F5.createBuffer(this._device,{label:\"Monaco rectangle renderer uniform buffer\",size:24,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>G())).object,this._register($N(this._canvas,i0(),(U,H)=>{this._device.queue.writeBuffer(Y,0,G(U,H))}))}let Z=2;this._scrollOffsetBindBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco rectangle renderer scroll offset buffer\",size:Z*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(Z);let Q=()=>{return F5.createBuffer(this._device,{label:\"Monaco rectangle renderer shape buffer\",size:this._shapeCollection.buffer.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})};this._shapeBindBuffer.value=Q(),this._register(i.runAndSubscribe(this._shapeCollection.onDidChangeBuffer,()=>{if(this._shapeBindBuffer.value=Q(),this._pipeline)this._updateBindGroup(this._pipeline,Y)})),this._vertexBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco rectangle renderer vertex buffer\",size:xX.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST},xX)).object;let $=this._device.createShaderModule({label:\"Monaco rectangle renderer shader module\",code:B70});this._pipeline=this._device.createRenderPipeline({label:\"Monaco rectangle renderer render pipeline\",layout:\"auto\",vertex:{module:$,buffers:[{arrayStride:2*Float32Array.BYTES_PER_ELEMENT,attributes:[{shaderLocation:0,offset:0,format:\"float32x2\"}]}]},fragment:{module:$,targets:[{format:X,blend:{color:{srcFactor:\"src-alpha\",dstFactor:\"one-minus-src-alpha\"},alpha:{srcFactor:\"src-alpha\",dstFactor:\"one-minus-src-alpha\"}}}]}}),this._updateBindGroup(this._pipeline,Y),this._initialized=!0}_updateBindGroup(J,X){this._bindGroup=this._device.createBindGroup({label:\"Monaco rectangle renderer bind group\",layout:J.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this._shapeBindBuffer.value.object}},{binding:1,resource:{buffer:X}},{binding:2,resource:{buffer:this._scrollOffsetBindBuffer}}]})}register(J,X,Y,Z,Q,$,q,G){return this._shapeCollection.createEntry({x:J,y:X,width:Y,height:Z,red:Q,green:$,blue:q,alpha:G})}onScrollChanged(J){if(this._device){let X=i0().devicePixelRatio;this._scrollOffsetValueBuffer[0]=this._context.viewLayout.getCurrentScrollLeft()*X,this._scrollOffsetValueBuffer[1]=this._context.viewLayout.getCurrentScrollTop()*X,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer)}return!0}_update(){if(!this._device)return;let J=this._shapeCollection;if(J.dirtyTracker.isDirty)this._device.queue.writeBuffer(this._shapeBindBuffer.value.object,0,J.buffer,J.dirtyTracker.dataOffset,J.dirtyTracker.dirtySize*J.view.BYTES_PER_ELEMENT),J.dirtyTracker.clear()}draw(J){if(!this._initialized)return;this._update();let X=this._device.createCommandEncoder({label:\"Monaco rectangle renderer command encoder\"});this._renderPassColorAttachment.view=this._ctx.getCurrentTexture().createView();let Y=X.beginRenderPass(this._renderPassDescriptor);Y.setPipeline(this._pipeline),Y.setVertexBuffer(0,this._vertexBuffer),Y.setBindGroup(0,this._bindGroup);let Z=Math.ceil(this._contentLeft.get()*this._devicePixelRatio.get());Y.setScissorRect(Z,0,this._canvas.width-Z,this._canvas.height),Y.draw(xX.length/2,this._shapeCollection.entryCount),Y.end();let Q=X.finish();this._device.queue.submit([Q])}}class yf extends y{constructor(){super();this._ruleCache=new Map,this._cssVariableCache=new Map,this._container=$0(\"div.monaco-decoration-css-rule-extractor\"),this._dummyElement=$0(\"span\"),this._container.appendChild(this._dummyElement),this._register(J0(()=>this._container.remove()))}getStyleRules(J,X){let Y=this._ruleCache.get(X);if(Y)return Y;this._dummyElement.className=X,J.appendChild(this._container);let Z=this._getStyleRules(X);return this._ruleCache.set(X,Z),J.removeChild(this._container),Z}_getStyleRules(J){let X=[],Z=[...$2().styleSheets],Q=J.split(\" \").filter(($)=>$.length>0);for(let $=0;$<Z.length;$++){let q=Z[$];this._collectMatchingRules(q.cssRules,Q,X)}return X}_collectMatchingRules(J,X,Y){for(let Z of J)if(Z instanceof CSSImportRule){if(Z.styleSheet)this._collectMatchingRules(Z.styleSheet.cssRules,X,Y)}else if(Z instanceof CSSStyleRule){for(let Q of X){let $=`.${Q}`,q=Z.selectorText.indexOf($);if(q!==-1){let G=q+$.length;if(Z.selectorText.length===G||Z.selectorText.substring(G,G+1).match(/[ :.]/)){Y.push(Z);break}}}if(Z.cssRules?.length)this._collectMatchingRules(Z.cssRules,X,Y)}}resolveCssVariable(J,X){let Y=this._cssVariableCache.get(X);if(Y===void 0)J.appendChild(this._container),Y=i0().getComputedStyle(this._container).getPropertyValue(X).trim(),J.removeChild(this._container),this._cssVariableCache.set(X,Y);return Y}clear(){this._ruleCache.clear(),this._cssVariableCache.clear()}}class xf{constructor(){this._nextId=1,this._cacheById=new Map,this._cacheByStyle=new zQ}getOrCreateEntry(J,X,Y,Z,Q,$){if(J===void 0&&X===void 0&&Y===void 0&&Z===void 0&&Q===void 0&&$===void 0)return 0;let q=this._cacheByStyle.get(J??0,X?1:0,Y===void 0?\"\":Y.toFixed(2),Z?1:0,Q===void 0?\"\":Q.toFixed(2),$??0);if(q)return q.id;let G=this._nextId++,U={id:G,color:J,bold:X,opacity:Y,strikethrough:Z,strikethroughThickness:Q,strikethroughColor:$};return this._cacheById.set(G,U),this._cacheByStyle.set(U,J??0,X?1:0,Y===void 0?\"\":Y.toFixed(2),Z?1:0,Q===void 0?\"\":Q.toFixed(2),$??0),G}getStyleSet(J){if(J===0)return;return this._cacheById.get(J)}}function h2(J,X){let Y,Z=!0;return At({changeTracker:{createChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(Q,$)=>{if(Q.didChange(J)){let q=Q.change;if(q!==void 0)$.deltas.push(q);$.didChange=!0}return!0}}},(Q,$)=>{let q=J.read(Q),G=Y;if($.didChange)Y=q,X(q,G,$.deltas);if(Z)Z=!1,Y=q})}var MF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},UN=function(J,X){return function(Y,Z){X(Y,Z,J)}},c5,d5=class extends y{static{c5=this}static{this._decorationCssRuleExtractor=new yf}static get decorationCssRuleExtractor(){return c5._decorationCssRuleExtractor}static{this._decorationStyleCache=new xf}static get decorationStyleCache(){return c5._decorationStyleCache}static get atlas(){if(!c5._atlas)throw new j0(\"Cannot call ViewGpuContext.textureAtlas before device is resolved\");return c5._atlas}get atlas(){return c5.atlas}constructor(X,Y,Z,Q,$){super();if(this._instantiationService=Y,this._notificationService=Z,this.configurationService=Q,this._themeService=$,this.maxGpuCols=2000,this.canvas=p0(document.createElement(\"canvas\")),this.canvas.setClassName(\"editorCanvas\"),this._register(i.runAndSubscribe(Q.onDidChangeConfiguration,(H)=>{if(!H||H.affectsConfiguration(\"editor.scrollbar.verticalScrollbarSize\")){let V=Q.getValue(\"editor\").scrollbar?.verticalScrollbarSize??14;this.canvas.domNode.style.boxSizing=\"border-box\",this.canvas.domNode.style.paddingRight=`${V}px`}})),this.ctx=gY(this.canvas.domNode.getContext(\"webgpu\")),!c5.device)c5.device=F5.requestDevice((H)=>{let V=[{label:F(82,\"Use DOM-based rendering\"),run:()=>this.configurationService.updateValue(\"editor.experimentalGpuAcceleration\",\"off\")}];this._notificationService.prompt(HK.Warning,H,V)}).then((H)=>{if(c5.deviceSync=H.object,!c5._atlas)c5._atlas=this._instantiationService.createInstance(bX,H.object.limits.maxTextureDimension2D,void 0,c5.decorationStyleCache);return H.object});let q=A0(this,i0().devicePixelRatio);this._register(f(i0(),\"resize\",()=>{q.set(i0().devicePixelRatio,void 0)})),this.devicePixelRatio=q,this._register(h2(this.devicePixelRatio,()=>c5.atlas?.clear())),this._register(this._themeService.onDidColorThemeChange(()=>{c5.decorationCssRuleExtractor.clear(),c5.atlas?.clear()}));let G=A0(this,{width:this.canvas.domNode.width,height:this.canvas.domNode.height});this._register($N(this.canvas.domNode,i0(),(H,V)=>{this.canvas.domNode.width=H,this.canvas.domNode.height=V,G.set({width:H,height:V},void 0)})),this.canvasDevicePixelDimensions=G;let U=A0(this,0);this._register(this.configurationService.onDidChangeConfiguration((H)=>{U.set(X.configuration.options.get(165).contentLeft,void 0)})),this.contentLeft=U,this.rectangleRenderer=this._register(this._instantiationService.createInstance(Ef,X,this.contentLeft,this.devicePixelRatio,this.canvas.domNode,this.ctx,c5.device))}canRender(X,Y,Z){let Q=Y.getViewLineRenderingData(Z);if(Q.containsRTL||Q.maxColumn>this.maxGpuCols)return!1;if(Q.inlineDecorations.length>0){let $=!0;for(let q of Q.inlineDecorations){if(q.type!==0){$=!1;break}let G=c5._decorationCssRuleExtractor.getStyleRules(this.canvas.domNode,q.inlineClassName);if($&&=G.every((U)=>{if(U.selectorText.includes(\":\"))return!1;for(let H of U.style)if(!_70(H,U.style))return!1;return!0}),!$)break}return $}return!0}canRenderDetailed(X,Y,Z){let Q=Y.getViewLineRenderingData(Z),$=[];if(Q.containsRTL)$.push(\"containsRTL\");if(Q.maxColumn>this.maxGpuCols)$.push(\"maxColumn > maxGpuCols\");if(Q.inlineDecorations.length>0){let q=!0,G=[],U=[],H=[];for(let V of Q.inlineDecorations){if(V.type!==0){G.push(V.type),q=!1;continue}let K=c5._decorationCssRuleExtractor.getStyleRules(this.canvas.domNode,V.inlineClassName);if(q&&=K.every((j)=>{if(j.selectorText.includes(\":\"))return U.push(j.selectorText),!1;for(let W of j.style)if(!_70(W,j.style))return H.push(`${W}: ${j.style[W]}`),!1;return!0}),!q)continue}if(G.length>0)$.push(`inlineDecorations with unsupported types (${G.map((V)=>`\\`${V}\\``).join(\", \")})`);if(H.length>0)$.push(`inlineDecorations with unsupported CSS rules (${H.map((V)=>`\\`${V}\\``).join(\", \")})`);if(U.length>0)$.push(`inlineDecorations with unsupported CSS selectors (${U.map((V)=>`\\`${V}\\``).join(\", \")})`)}return $}};d5=c5=MF0([UN(1,w0),UN(2,d6),UN(3,o0),UN(4,L6)],d5);var RF0=[\"color\",\"font-weight\",\"opacity\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-style\",\"text-decoration-thickness\"];function _70(J,X){if(!RF0.includes(J))return!1;switch(J){case\"text-decoration\":case\"text-decoration-line\":return X.getPropertyValue(J)===\"line-through\";case\"text-decoration-color\":{let Y=X.getPropertyValue(J);if(/^var\\(--[^,]+,\\s*(?:initial|inherit)\\)$/.test(Y))return!0;return c.Format.CSS.parse(Y)!==null}case\"text-decoration-style\":return X.getPropertyValue(J)===\"initial\";case\"text-decoration-thickness\":{let Y=X.getPropertyValue(J);return Y===\"initial\"||/^\\d+(\\.\\d+)?px$/.test(Y)}default:return!0}}function v2(J,X){if(J.isBasicASCII&&X.useMonospaceOptimizations)return new A70(J);return new P70(J)}class A70{constructor(J){this._content=J.content}getSegmentAtIndex(J){return this._content[J]}}class P70{constructor(J){this._segments=[];let X=J.content,Y=IY.Segmenter(void 0,{granularity:\"grapheme\"}).value,Z=Array.from(Y.segment(X)),Q=0;for(let $=0;$<X.length;$++){let q=Z[Q];if(!q)break;if(q.index!==$){this._segments.push(void 0);continue}Q++,this._segments.push(q)}}getSegmentAtIndex(J){return this._segments[J]?.segment}}class YB extends C4{get glyphRasterizer(){return this._glyphRasterizer.value}constructor(J,X,Y,Z){super();this._context=J,this._viewGpuContext=X,this._device=Y,this._glyphRasterizer=Z,this._context.addEventHandler(this)}}var HN=`\nstruct GlyphInfo {\n\tposition: vec2f,\n\tsize: vec2f,\n\torigin: vec2f,\n};\n\nstruct Vertex {\n\t@location(0) position: vec2f,\n};\n\nstruct Cell {\n\tposition: vec2f,\n\tunused1: vec2f,\n\tglyphIndex: f32,\n\ttextureIndex: f32\n};\n\nstruct LayoutInfo {\n\tcanvasDims: vec2f,\n\tviewportOffset: vec2f,\n\tviewportDims: vec2f,\n}\n\nstruct ScrollOffset {\n\toffset: vec2f\n}\n\nstruct VSOutput {\n\t@builtin(position) position:   vec4f,\n\t@location(1)       layerIndex: f32,\n\t@location(0)       texcoord:   vec2f,\n};\n\n// Uniforms\n@group(0) @binding(4)       var<uniform>       layoutInfo:      LayoutInfo;\n@group(0) @binding(5)  var<uniform>       atlasDims:       vec2f;\n@group(0) @binding(6)            var<uniform>       scrollOffset:    ScrollOffset;\n\n// Storage buffers\n@group(0) @binding(0)               var<storage, read> glyphInfo:       array<array<GlyphInfo, ${V9.maximumGlyphCount}>, ${bX.maximumPageCount}>;\n@group(0) @binding(1)                   var<storage, read> cells:           array<Cell>;\n\n@vertex fn vs(\n\tvert: Vertex,\n\t@builtin(instance_index) instanceIndex: u32,\n\t@builtin(vertex_index) vertexIndex : u32\n) -> VSOutput {\n\tlet cell = cells[instanceIndex];\n\tvar glyph = glyphInfo[u32(cell.textureIndex)][u32(cell.glyphIndex)];\n\n\tvar vsOut: VSOutput;\n\t// Multiple vert.position by 2,-2 to get it into clipspace which ranged from -1 to 1\n\tvsOut.position = vec4f(\n\t\t// Make everything relative to top left instead of center\n\t\tvec2f(-1, 1) +\n\t\t((vert.position * vec2f(2, -2)) / layoutInfo.canvasDims) * glyph.size +\n\t\t((cell.position * vec2f(2, -2)) / layoutInfo.canvasDims) +\n\t\t((glyph.origin * vec2f(2, -2)) / layoutInfo.canvasDims) +\n\t\t(((layoutInfo.viewportOffset - scrollOffset.offset * vec2(1, -1)) * 2) / layoutInfo.canvasDims),\n\t\t0.0,\n\t\t1.0\n\t);\n\n\tvsOut.layerIndex = cell.textureIndex;\n\t// Textures are flipped from natural direction on the y-axis, so flip it back\n\tvsOut.texcoord = vert.position;\n\tvsOut.texcoord = (\n\t\t// Glyph offset (0-1)\n\t\t(glyph.position / atlasDims) +\n\t\t// Glyph coordinate (0-1)\n\t\t(vsOut.texcoord * (glyph.size / atlasDims))\n\t);\n\n\treturn vsOut;\n}\n\n@group(0) @binding(2) var ourSampler: sampler;\n@group(0) @binding(3)        var ourTexture: texture_2d_array<f32>;\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n\treturn textureSample(ourTexture, ourSampler, vsOut.texcoord, u32(vsOut.layerIndex));\n}\n`;class pY extends YB{static{this.maxSupportedColumns=2000}get bindGroupEntries(){return[{binding:1,resource:{buffer:this._cellBindBuffer}},{binding:6,resource:{buffer:this._scrollOffsetBindBuffer}}]}constructor(J,X,Y,Z){super(J,X,Y,Z);this.type=\"viewport\",this.wgsl=HN,this._cellBindBufferLineCapacity=63,this._activeDoubleBufferIndex=0,this._visibleObjectCount=0,this._lastViewportLineCount=0,this._scrollInitialized=!1,this._onDidChangeBindGroupEntries=this._register(new E),this.onDidChangeBindGroupEntries=this._onDidChangeBindGroupEntries.event,this._rebuildCellBuffer(this._cellBindBufferLineCapacity);let Q=2;this._scrollOffsetBindBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco scroll offset buffer\",size:Q*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(Q)}_rebuildCellBuffer(J){this._cellBindBuffer?.destroy();let X=(Math.floor(J/32)+1)*32,Y=X*pY.maxSupportedColumns*6*Float32Array.BYTES_PER_ELEMENT;this._cellBindBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco full file cell buffer\",size:Y,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._cellValueBuffers=[new ArrayBuffer(Y),new ArrayBuffer(Y)],this._cellBindBufferLineCapacity=X,this._lastViewportLineCount=0,this._onDidChangeBindGroupEntries.fire()}onConfigurationChanged(J){return!0}onDecorationsChanged(J){return!0}onTokensChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onLinesChanged(J){return!0}onScrollChanged(J){if(this._store.isDisposed)return!1;let X=i0().devicePixelRatio;return this._scrollOffsetValueBuffer[0]=(J?.scrollLeft??this._context.viewLayout.getCurrentScrollLeft())*X,this._scrollOffsetValueBuffer[1]=(J?.scrollTop??this._context.viewLayout.getCurrentScrollTop())*X,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer),!0}onThemeChanged(J){return!0}onLineMappingChanged(J){return!0}onZonesChanged(J){return!0}reset(){for(let J of[0,1]){let X=new Float32Array(this._cellValueBuffers[J]);X.fill(0,0,X.length),this._device.queue.writeBuffer(this._cellBindBuffer,0,X.buffer,0,X.byteLength)}this._lastViewportLineCount=0}update(J,X){let Y=\"\",Z,Q=0,$=0,q=0,G=0,U=0,H=0,V,K=0,j=0,W=0,z=0,B,P,_,A,O,D,R,N,w=0,k=0,I,S=i0().devicePixelRatio,h;if(!this._scrollInitialized)this.onScrollChanged(),this._scrollInitialized=!0;if(this._cellBindBufferLineCapacity<J.endLineNumber-J.startLineNumber+1)this._rebuildCellBuffer(J.endLineNumber-J.startLineNumber+1);let u=new Float32Array(this._cellValueBuffers[this._activeDoubleBufferIndex]);u.fill(0);let p=pY.maxSupportedColumns*6;for($=J.startLineNumber;$<=J.endLineNumber;$++){if(!this._viewGpuContext.canRender(X,J,$))continue;R=J.getViewLineRenderingData($),H=0,h=v2(R,X),Q=X.spaceWidth*S,G=(R.minColumn-1)*Q,I=R.tokens,j=R.minColumn-1,W=0;for(let n=0,X0=I.getCount();n<X0;n++){if(W=I.getEndOffset(n),W<=j)continue;z=I.getMetadata(n);for(q=j;q<W;q++){if(q>pY.maxSupportedColumns)break;if(Z=h.getSegmentAtIndex(q),Z===void 0)continue;if(Y=Z,!(R.isBasicASCII&&X.useMonospaceOptimizations))Q=this.glyphRasterizer.getTextMetrics(Y).width;P=void 0,B=void 0,_=void 0,A=void 0,O=void 0,D=void 0;for(N of R.inlineDecorations){if($<N.range.startLineNumber||$>N.range.endLineNumber||$===N.range.startLineNumber&&q<N.range.startColumn-1||$===N.range.endLineNumber&&q>=N.range.endColumn-1)continue;let e=d5.decorationCssRuleExtractor.getStyleRules(this._viewGpuContext.canvas.domNode,N.inlineClassName);for(let L0 of e)for(let k0 of L0.style){let N0=L0.styleMap.get(k0)?.toString()??\"\";switch(k0){case\"color\":{let u0=c.Format.CSS.parse(N0);if(!u0)throw new j0(\"Invalid color format \"+N0);P=u0.toNumber32Bit();break}case\"font-weight\":{if(NF0(N0)>=400)B=!0;else B=!1;break}case\"opacity\":{_=wF0(N0);break}case\"text-decoration\":case\"text-decoration-line\":{if(N0===\"line-through\")A=!0;break}case\"text-decoration-thickness\":{let u0=N0.match(/^(\\d+(?:\\.\\d+)?)px$/);if(u0)O=parseFloat(u0[1]);break}case\"text-decoration-color\":{let u0=N0,z1=N0.match(/^var\\((--[^,]+),\\s*(?:initial|inherit)\\)$/);if(z1)u0=d5.decorationCssRuleExtractor.resolveCssVariable(this._viewGpuContext.canvas.domNode,z1[1]);let F1=c.Format.CSS.parse(u0);if(F1)D=F1.toNumber32Bit();break}case\"text-decoration-style\":break;default:throw new j0(\"Unexpected inline decoration style\")}}}if(Y===\" \"||Y===\"\\t\"){if(K=(($-1)*pY.maxSupportedColumns+q)*6,u.fill(0,K,K+6),Y===\"\\t\"){let e=q+H;H=V1.nextRenderTabStop(q+H,R.tabSize),G+=Q*(H-e),H-=q+1}else G+=Q;continue}let V0=d5.decorationStyleCache.getOrCreateEntry(P,B,_,A,O,D);V=this._viewGpuContext.atlas.getGlyph(this.glyphRasterizer,Y,z,V0,G),U=Math.round(J.relativeVerticalOffset[$-J.startLineNumber]*S+Math.floor((J.lineHeight*S-(V.fontBoundingBoxAscent+V.fontBoundingBoxDescent))/2)+V.fontBoundingBoxAscent),K=(($-J.startLineNumber)*pY.maxSupportedColumns+q)*6,u[K+0]=Math.floor(G),u[K+1]=U,u[K+4]=V.glyphIndex,u[K+5]=V.pageIndex,G+=Q}j=W}w=(($-J.startLineNumber)*pY.maxSupportedColumns+W)*6,k=($-J.startLineNumber)*pY.maxSupportedColumns*6,u.fill(0,w,k)}let s=(J.endLineNumber-J.startLineNumber+1)*p,l=J.endLineNumber-J.startLineNumber+1;if(this._device.queue.writeBuffer(this._cellBindBuffer,0,u.buffer,0,s*Float32Array.BYTES_PER_ELEMENT),l<this._lastViewportLineCount){let n=this._lastViewportLineCount-l,X0=s*Float32Array.BYTES_PER_ELEMENT,V0=n*p*Float32Array.BYTES_PER_ELEMENT;this._device.queue.writeBuffer(this._cellBindBuffer,X0,u.buffer,s*Float32Array.BYTES_PER_ELEMENT,V0)}return this._lastViewportLineCount=l,this._activeDoubleBufferIndex=this._activeDoubleBufferIndex?0:1,this._visibleObjectCount=s,s}draw(J,X){if(this._visibleObjectCount<=0)throw new j0(\"Attempt to draw 0 objects\");J.draw(xX.length/2,this._visibleObjectCount)}}function NF0(J){switch(J){case\"lighter\":case\"normal\":return 400;case\"bolder\":case\"bold\":return 700}return parseInt(J)}function wF0(J){if(J.endsWith(\"%\"))return parseFloat(J.substring(0,J.length-1))/100;if(J.match(/^\\d+(?:\\.\\d*)/))return parseFloat(J);return 1}class p8 extends YB{static{this.maxSupportedLines=3000}static{this.maxSupportedColumns=200}get bindGroupEntries(){return[{binding:1,resource:{buffer:this._cellBindBuffer}},{binding:6,resource:{buffer:this._scrollOffsetBindBuffer}}]}constructor(J,X,Y,Z){super(J,X,Y,Z);this.type=\"fullfile\",this.wgsl=HN,this._activeDoubleBufferIndex=0,this._upToDateLines=[new Set,new Set],this._visibleObjectCount=0,this._finalRenderedLine=0,this._scrollInitialized=!1,this._queuedBufferUpdates=[[],[]];let Q=p8.maxSupportedLines*p8.maxSupportedColumns*6*Float32Array.BYTES_PER_ELEMENT;this._cellBindBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco full file cell buffer\",size:Q,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._cellValueBuffers=[new ArrayBuffer(Q),new ArrayBuffer(Q)];let $=2;this._scrollOffsetBindBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco scroll offset buffer\",size:$*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array($)}onConfigurationChanged(J){return this._invalidateAllLines(),this._queueBufferUpdate(J),!0}onDecorationsChanged(J){return this._invalidateAllLines(),!0}onTokensChanged(J){for(let X of J.ranges)this._invalidateLineRange(X.fromLineNumber,X.toLineNumber);return!0}onLinesDeleted(J){return this._invalidateLinesFrom(J.fromLineNumber),this._queueBufferUpdate(J),!0}onLinesInserted(J){return this._invalidateLinesFrom(J.fromLineNumber),!0}onLinesChanged(J){return this._invalidateLineRange(J.fromLineNumber,J.fromLineNumber+J.count),!0}onScrollChanged(J){if(this._store.isDisposed)return!1;let X=i0().devicePixelRatio;return this._scrollOffsetValueBuffer[0]=(J?.scrollLeft??this._context.viewLayout.getCurrentScrollLeft())*X,this._scrollOffsetValueBuffer[1]=(J?.scrollTop??this._context.viewLayout.getCurrentScrollTop())*X,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer),!0}onThemeChanged(J){return this._invalidateAllLines(),!0}onLineMappingChanged(J){return this._invalidateAllLines(),this._queueBufferUpdate(J),!0}onZonesChanged(J){return this._invalidateAllLines(),this._queueBufferUpdate(J),!0}_invalidateAllLines(){this._upToDateLines[0].clear(),this._upToDateLines[1].clear()}_invalidateLinesFrom(J){for(let X of[0,1]){let Y=this._upToDateLines[X];for(let Z of Y)if(Z>=J)Y.delete(Z)}}_invalidateLineRange(J,X){for(let Y=J;Y<=X;Y++)this._upToDateLines[0].delete(Y),this._upToDateLines[1].delete(Y)}reset(){this._invalidateAllLines();for(let J of[0,1]){let X=new Float32Array(this._cellValueBuffers[J]);X.fill(0,0,X.length),this._device.queue.writeBuffer(this._cellBindBuffer,0,X.buffer,0,X.byteLength)}this._finalRenderedLine=0}update(J,X){let Y=\"\",Z,Q=0,$=0,q=0,G=0,U=0,H=0,V,K=0,j=0,W=0,z=0,B,P,_,A,O,D,R,N,w=0,k=0,I,S=i0().devicePixelRatio,h;if(!this._scrollInitialized)this.onScrollChanged(),this._scrollInitialized=!0;let u=new Float32Array(this._cellValueBuffers[this._activeDoubleBufferIndex]),p=p8.maxSupportedColumns*6,s=this._upToDateLines[this._activeDoubleBufferIndex],l=3000,n=0,X0=this._queuedBufferUpdates[this._activeDoubleBufferIndex];while(X0.length){let e=X0.shift();switch(e.type){case 2:case 8:case 17:{u.fill(0),l=1,n=Math.max(n,this._finalRenderedLine),this._finalRenderedLine=0;break}case 10:{let L0=(e.fromLineNumber-1)*p8.maxSupportedColumns*6,k0=e.toLineNumber*p8.maxSupportedColumns*6,N0=(this._finalRenderedLine-(e.toLineNumber-e.fromLineNumber+1))*p8.maxSupportedColumns*6;u.set(u.subarray(k0),L0),u.fill(0,N0),l=Math.min(l,e.fromLineNumber),n=Math.max(n,this._finalRenderedLine),this._finalRenderedLine-=e.toLineNumber-e.fromLineNumber+1;break}}}for($=J.startLineNumber;$<=J.endLineNumber;$++){if(!this._viewGpuContext.canRender(X,J,$)){w=($-1)*p8.maxSupportedColumns*6,k=$*p8.maxSupportedColumns*6,u.fill(0,w,k),l=Math.min(l,$),n=Math.max(n,$);continue}if(s.has($))continue;l=Math.min(l,$),n=Math.max(n,$),R=J.getViewLineRenderingData($),H=0,h=v2(R,X),Q=X.spaceWidth*S,G=(R.minColumn-1)*Q,I=R.tokens,j=R.minColumn-1,W=0;for(let e=0,L0=I.getCount();e<L0;e++){if(W=I.getEndOffset(e),W<=j)continue;z=I.getMetadata(e);for(q=j;q<W;q++){if(q>p8.maxSupportedColumns)break;if(Z=h.getSegmentAtIndex(q),Z===void 0)continue;if(Y=Z,!(R.isBasicASCII&&X.useMonospaceOptimizations))Q=this.glyphRasterizer.getTextMetrics(Y).width;P=void 0,B=void 0,_=void 0,A=void 0,O=void 0,D=void 0;for(N of R.inlineDecorations){if($<N.range.startLineNumber||$>N.range.endLineNumber||$===N.range.startLineNumber&&q<N.range.startColumn-1||$===N.range.endLineNumber&&q>=N.range.endColumn-1)continue;let N0=d5.decorationCssRuleExtractor.getStyleRules(this._viewGpuContext.canvas.domNode,N.inlineClassName);for(let u0 of N0)for(let z1 of u0.style){let F1=u0.styleMap.get(z1)?.toString()??\"\";switch(z1){case\"color\":{let e0=c.Format.CSS.parse(F1);if(!e0)throw new j0(\"Invalid color format \"+F1);P=e0.toNumber32Bit();break}case\"font-weight\":{if(TF0(F1)>=400)B=!0;else B=!1;break}case\"opacity\":{_=LF0(F1);break}case\"text-decoration\":case\"text-decoration-line\":{if(F1===\"line-through\")A=!0;break}case\"text-decoration-thickness\":{let e0=F1.match(/^(\\d+(?:\\.\\d+)?)px$/);if(e0)O=parseFloat(e0[1]);break}case\"text-decoration-color\":{let e0=F1,v6=F1.match(/^var\\((--[^,]+),\\s*(?:initial|inherit)\\)$/);if(v6)e0=d5.decorationCssRuleExtractor.resolveCssVariable(this._viewGpuContext.canvas.domNode,v6[1]);let q1=c.Format.CSS.parse(e0);if(q1)D=q1.toNumber32Bit();break}case\"text-decoration-style\":break;default:throw new j0(\"Unexpected inline decoration style\")}}}if(Y===\" \"||Y===\"\\t\"){if(K=(($-1)*p8.maxSupportedColumns+q)*6,u.fill(0,K,K+6),Y===\"\\t\"){let N0=q+H;H=V1.nextRenderTabStop(q+H,R.tabSize),G+=Q*(H-N0),H-=q+1}else G+=Q;continue}let k0=d5.decorationStyleCache.getOrCreateEntry(P,B,_,A,O,D);V=this._viewGpuContext.atlas.getGlyph(this.glyphRasterizer,Y,z,k0,G),U=Math.round(J.relativeVerticalOffset[$-J.startLineNumber]*S+Math.floor((J.lineHeight*S-(V.fontBoundingBoxAscent+V.fontBoundingBoxDescent))/2)+V.fontBoundingBoxAscent),K=(($-1)*p8.maxSupportedColumns+q)*6,u[K+0]=Math.floor(G),u[K+1]=U,u[K+4]=V.glyphIndex,u[K+5]=V.pageIndex,G+=Q}j=W}w=(($-1)*p8.maxSupportedColumns+W)*6,k=$*p8.maxSupportedColumns*6,u.fill(0,w,k),s.add($)}let V0=(J.endLineNumber-J.startLineNumber+1)*p;if(l=Math.min(l,p8.maxSupportedLines),n=Math.min(n,p8.maxSupportedLines),l<=n)this._device.queue.writeBuffer(this._cellBindBuffer,(l-1)*p*Float32Array.BYTES_PER_ELEMENT,u.buffer,(l-1)*p*Float32Array.BYTES_PER_ELEMENT,(n-l+1)*p*Float32Array.BYTES_PER_ELEMENT);return this._finalRenderedLine=Math.max(this._finalRenderedLine,n),this._activeDoubleBufferIndex=this._activeDoubleBufferIndex?0:1,this._visibleObjectCount=V0,V0}draw(J,X){if(this._visibleObjectCount<=0)throw new j0(\"Attempt to draw 0 objects\");J.draw(xX.length/2,this._visibleObjectCount,void 0,(X.startLineNumber-1)*p8.maxSupportedColumns)}_queueBufferUpdate(J){this._queuedBufferUpdates[0].push(J),this._queuedBufferUpdates[1].push(J)}}function TF0(J){switch(J){case\"lighter\":case\"normal\":return 400;case\"bolder\":case\"bold\":return 700}return parseInt(J)}function LF0(J){if(J.endsWith(\"%\"))return parseFloat(J.substring(0,J.length-1))/100;if(J.match(/^\\d+(?:\\.\\d*)/))return parseFloat(J);return 1}var IF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},D70=function(J,X){return function(Y,Z){X(Y,Z,J)}},VN=class extends e1{constructor(X,Y,Z,Q){super(X);this._viewGpuContext=Y,this._instantiationService=Z,this._logService=Q,this._maxLineWidth=0,this._atlasGpuTextureVersions=[],this._initialized=!1,this._glyphRasterizer=this._register(new Q1),this._renderStrategy=this._register(new Q1),this.canvas=this._viewGpuContext.canvas.domNode,this._register(C0(($)=>{this._viewGpuContext.canvasDevicePixelDimensions.read($);let q=this._lastViewportData;if(q)setTimeout(()=>{if(q===this._lastViewportData)this.renderText(q)})})),this.initWebgpu()}async initWebgpu(){if(this._device=d5.deviceSync||await d5.device,this._store.isDisposed)return;let X=d5.atlas;this._register(X.onDidDeleteGlyphs(()=>{this._atlasGpuTextureVersions.length=0,this._atlasGpuTextureVersions[0]=0,this._atlasGpuTextureVersions[1]=0,this._renderStrategy.value.reset()}));let Y=navigator.gpu.getPreferredCanvasFormat();this._viewGpuContext.ctx.configure({device:this._device,format:Y,alphaMode:\"premultiplied\"}),this._renderPassColorAttachment={view:null,loadOp:\"load\",storeOp:\"store\"},this._renderPassDescriptor={label:\"Monaco render pass\",colorAttachments:[this._renderPassColorAttachment]};let Z;{let U=new Float32Array(6),H=(V=this.canvas.width,K=this.canvas.height)=>{return U[0]=V,U[1]=K,U[2]=Math.ceil(this._context.configuration.options.get(165).contentLeft*i0().devicePixelRatio),U[3]=0,U[4]=U[0]-U[2],U[5]=U[1]-U[3],U};Z=this._register(F5.createBuffer(this._device,{label:\"Monaco uniform buffer\",size:24,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>H())).object,this._register(h2(this._viewGpuContext.canvasDevicePixelDimensions,({width:V,height:K})=>{this._device.queue.writeBuffer(Z,0,H(V,K))})),this._register(h2(this._viewGpuContext.contentLeft,()=>{this._device.queue.writeBuffer(Z,0,H())}))}let Q;Q=this._register(F5.createBuffer(this._device,{label:\"Monaco atlas info uniform buffer\",size:8,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>{let U=new Float32Array(2);return U[0]=X.pageSize,U[1]=X.pageSize,U})).object;let $=this._context.configuration.options.get(58),q=this._context.configuration.options.get(61);this._glyphRasterizer.value=this._register(new yG(q,$,this._viewGpuContext.devicePixelRatio.get(),d5.decorationStyleCache)),this._register(h2(this._viewGpuContext.devicePixelRatio,()=>{this._refreshGlyphRasterizer()})),this._renderStrategy.value=this._instantiationService.createInstance(p8,this._context,this._viewGpuContext,this._device,this._glyphRasterizer),this._glyphStorageBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco glyph storage buffer\",size:bX.maximumPageCount*(V9.maximumGlyphCount*24),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._atlasGpuTextureVersions[0]=0,this._atlasGpuTextureVersions[1]=0,this._atlasGpuTexture=this._register(F5.createTexture(this._device,{label:\"Monaco atlas texture\",format:\"rgba8unorm\",size:{width:X.pageSize,height:X.pageSize,depthOrArrayLayers:bX.maximumPageCount},dimension:\"2d\",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT})).object,this._updateAtlasStorageBufferAndTexture(),this._vertexBuffer=this._register(F5.createBuffer(this._device,{label:\"Monaco vertex buffer\",size:xX.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST},xX)).object;let G=this._device.createShaderModule({label:\"Monaco shader module\",code:this._renderStrategy.value.wgsl});if(this._pipeline=this._device.createRenderPipeline({label:\"Monaco render pipeline\",layout:\"auto\",vertex:{module:G,buffers:[{arrayStride:2*Float32Array.BYTES_PER_ELEMENT,attributes:[{shaderLocation:0,offset:0,format:\"float32x2\"}]}]},fragment:{module:G,targets:[{format:Y,blend:{color:{srcFactor:\"src-alpha\",dstFactor:\"one-minus-src-alpha\"},alpha:{srcFactor:\"src-alpha\",dstFactor:\"one-minus-src-alpha\"}}}]}}),this._rebuildBindGroup=()=>{this._bindGroup=this._device.createBindGroup({label:\"Monaco bind group\",layout:this._pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this._glyphStorageBuffer}},{binding:2,resource:this._device.createSampler({label:\"Monaco atlas sampler\",magFilter:\"nearest\",minFilter:\"nearest\"})},{binding:3,resource:this._atlasGpuTexture.createView()},{binding:4,resource:{buffer:Z}},{binding:5,resource:{buffer:Q}},...this._renderStrategy.value.bindGroupEntries]})},this._rebuildBindGroup(),this._initialized=!0,this._initViewportData){for(let U of this._initViewportData)this.renderText(U);this._initViewportData=void 0}}_refreshRenderStrategy(X){if(this._renderStrategy.value?.type===\"viewport\")return;if(X.endLineNumber<p8.maxSupportedLines&&this._viewportMaxColumn(X)<p8.maxSupportedColumns)return;this._logService.trace(`File is larger than ${p8.maxSupportedLines} lines or ${p8.maxSupportedColumns} columns, switching to viewport render strategy`);let Y=this._instantiationService.createInstance(pY,this._context,this._viewGpuContext,this._device,this._glyphRasterizer);this._renderStrategy.value=Y,this._register(Y.onDidChangeBindGroupEntries(()=>this._rebuildBindGroup?.())),this._rebuildBindGroup?.()}_viewportMaxColumn(X){let Y=0,Z;for(let Q=X.startLineNumber;Q<=X.endLineNumber;Q++)Z=X.getViewLineRenderingData(Q),Y=Math.max(Y,Z.maxColumn);return Y}_updateAtlasStorageBufferAndTexture(){for(let[X,Y]of d5.atlas.pages.entries()){if(X>=bX.maximumPageCount){console.log(`Attempt to upload atlas page [${X}], only ${bX.maximumPageCount} are supported currently`);continue}if(Y.version===this._atlasGpuTextureVersions[X])continue;this._logService.trace(\"Updating atlas page[\",X,\"] from version \",this._atlasGpuTextureVersions[X],\" to version \",Y.version);let Z=6*V9.maximumGlyphCount,Q=new Float32Array(Z),$=0;for(let q of Y.glyphs)Q[$+0]=q.x,Q[$+0+1]=q.y,Q[$+2]=q.w,Q[$+2+1]=q.h,Q[$+4]=q.originOffsetX,Q[$+4+1]=q.originOffsetY,$+=6;if($/6>V9.maximumGlyphCount)throw Error(`Attempting to write more glyphs (${$/6}) than the GPUBuffer can hold (${V9.maximumGlyphCount})`);if(this._device.queue.writeBuffer(this._glyphStorageBuffer,X*6*V9.maximumGlyphCount*Float32Array.BYTES_PER_ELEMENT,Q,0,6*V9.maximumGlyphCount),Y.usedArea.right-Y.usedArea.left>0&&Y.usedArea.bottom-Y.usedArea.top>0)this._device.queue.copyExternalImageToTexture({source:Y.source},{texture:this._atlasGpuTexture,origin:{x:Y.usedArea.left,y:Y.usedArea.top,z:X}},{width:Y.usedArea.right-Y.usedArea.left+1,height:Y.usedArea.bottom-Y.usedArea.top+1});this._atlasGpuTextureVersions[X]=Y.version}}prepareRender(X){throw new j0(\"Should not be called\")}render(X){throw new j0(\"Should not be called\")}onConfigurationChanged(X){return this._refreshGlyphRasterizer(),this._maxLineWidth=0,!0}onCursorStateChanged(X){return!0}onDecorationsChanged(X){return!0}onFlushed(X){return this._maxLineWidth=0,!0}onLinesChanged(X){return!0}onLinesDeleted(X){return this._maxLineWidth=0,!0}onLinesInserted(X){return!0}onLineMappingChanged(X){return!0}onRevealRangeRequest(X){return!0}onScrollChanged(X){return!0}onThemeChanged(X){return!0}onZonesChanged(X){return!0}_refreshGlyphRasterizer(){let X=this._glyphRasterizer.value;if(!X)return;let Y=this._context.configuration.options.get(58),Z=this._context.configuration.options.get(61),Q=this._viewGpuContext.devicePixelRatio.get();if(X.fontFamily!==Y||X.fontSize!==Z||X.devicePixelRatio!==Q)this._glyphRasterizer.value=new yG(Z,Y,Q,d5.decorationStyleCache)}renderText(X){if(this._initialized)return this._refreshRenderStrategy(X),this._renderText(X);else this._initViewportData=this._initViewportData??[],this._initViewportData.push(X)}_renderText(X){this._viewGpuContext.rectangleRenderer.draw(X);let Y=new f2(this._context.configuration,this._context.theme.type);this._renderStrategy.value.update(X,Y),this._updateAtlasStorageBufferAndTexture();let Z=this._device.createCommandEncoder({label:\"Monaco command encoder\"});this._renderPassColorAttachment.view=this._viewGpuContext.ctx.getCurrentTexture().createView({label:\"Monaco canvas texture view\"});let Q=Z.beginRenderPass(this._renderPassDescriptor);Q.setPipeline(this._pipeline),Q.setVertexBuffer(0,this._vertexBuffer);let $=Math.ceil(this._viewGpuContext.contentLeft.get()*this._viewGpuContext.devicePixelRatio.get());Q.setScissorRect($,0,this.canvas.width-$,this.canvas.height),Q.setBindGroup(0,this._bindGroup),this._renderStrategy.value.draw(Q,X),Q.end();let q=Z.finish();this._device.queue.submit([q]),this._lastViewportData=X,this._lastViewLineOptions=Y,this._updateMaxLineWidth(X,Y)}_updateMaxLineWidth(X,Y){let Z=i0().devicePixelRatio,Q=0;for(let q=X.startLineNumber;q<=X.endLineNumber;q++){if(!this._viewGpuContext.canRender(Y,X,q))continue;let G=X.getViewLineRenderingData(q),U=this._computeLineWidth(G,Y,Z);Q=Math.max(Q,U)}let $=Math.ceil(Q);if($>this._maxLineWidth)this._maxLineWidth=$,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth)}_computeLineWidth(X,Y,Z){let Q=X.content,$;if(!(X.isBasicASCII&&Y.useMonospaceOptimizations))$=v2(X,Y);let q=0,G=0;for(let U=0;U<Q.length;U++){let H;if(X.isBasicASCII&&Y.useMonospaceOptimizations)H=Q.charAt(U);else{let V=$.getSegmentAtIndex(U);if(V===void 0)continue;H=V}if(H===\"\\t\"){let V=U+G;G=V1.nextRenderTabStop(U+G,X.tabSize),q+=Y.spaceWidth*(G-V),G-=U+1}else if(X.isBasicASCII&&Y.useMonospaceOptimizations)q+=Y.spaceWidth;else q+=this._renderStrategy.value.glyphRasterizer.getTextMetrics(H).width/Z}return q}linesVisibleRangesForRange(X,Y){if(!this._lastViewportData)return null;let Z=X.endLineNumber,Q=T.intersectRanges(X,this._lastViewportData.visibleRange);if(!Q)return null;let $=this._lastViewportData.startLineNumber,q=this._lastViewportData.endLineNumber,G=this._lastViewportData,U=this._lastViewLineOptions;if(!G||!U)return null;let H=[],V=0;if(Y)V=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(Q.startLineNumber,1)).lineNumber;for(let K=Q.startLineNumber;K<=Q.endLineNumber;K++){if(K<$||K>q)continue;let j=K===Q.startLineNumber?Q.startColumn:1,W=K!==Z,z=W?this._context.viewModel.getLineMaxColumn(K):Q.endColumn,B=this._visibleRangesForLineRange(K,j,z);if(!B)continue;if(Y&&K<Z){let P=V;if(V=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new C(K+1,1)).lineNumber,P!==V)B.ranges[B.ranges.length-1].width+=U.spaceWidth}H.push(new EF(B.outsideRenderedLine,K,I2.from(B.ranges),W))}if(H.length===0)return null;return H}_visibleRangesForLineRange(X,Y,Z){if(this.shouldRender())return null;let Q=this._lastViewportData,$=this._lastViewLineOptions;if(!Q||!$||X<Q.startLineNumber||X>Q.endLineNumber)return null;let q=Q.getViewLineRenderingData(X),G=q.content,U;if(!(q.isBasicASCII&&$.useMonospaceOptimizations))U=v2(q,$);let H=\"\",V=0,K=0;for(let B=0;B<Y-1;B++){if(q.isBasicASCII&&$.useMonospaceOptimizations)H=G.charAt(B);else{if(H=U.getSegmentAtIndex(B),H===void 0)continue;K+=this._renderStrategy.value.glyphRasterizer.getTextMetrics(H).width/i0().devicePixelRatio-$.spaceWidth}if(H===\"\\t\")V=V1.nextRenderTabStop(V,q.tabSize);else V++}let j=V,W=0;for(let B=Y-1;B<Z-1;B++){if(q.isBasicASCII&&$.useMonospaceOptimizations)H=G.charAt(B);else{if(H=U.getSegmentAtIndex(B),H===void 0)continue;W+=this._renderStrategy.value.glyphRasterizer.getTextMetrics(H).width/i0().devicePixelRatio-$.spaceWidth}if(H===\"\\t\")j=V1.nextRenderTabStop(j,q.tabSize);else j++}return new pV(!1,[new gJ(V*$.spaceWidth+K,(j-V)*$.spaceWidth+W)])}visibleRangeForPosition(X){let Y=this._visibleRangesForLineRange(X.lineNumber,X.column,X.column);if(!Y)return null;return new yF(Y.outsideRenderedLine,Y.ranges[0].left)}getLineWidth(X){if(!this._lastViewportData||!this._lastViewLineOptions)return;if(!this._viewGpuContext.canRender(this._lastViewLineOptions,this._lastViewportData,X))return;let Y=this._lastViewportData.getViewLineRenderingData(X),Q=this._visibleRangesForLineRange(X,1,Y.maxColumn)?.ranges.at(-1);if(Q)return Q.left+Q.width;return}getPositionAtCoordinate(X,Y){if(!this._lastViewportData||!this._lastViewLineOptions)return;if(!this._viewGpuContext.canRender(this._lastViewLineOptions,this._lastViewportData,X))return;let Z=this._lastViewportData.getViewLineRenderingData(X),Q=Z.content,$=i0().devicePixelRatio,q=Y*$,G=this._lastViewLineOptions.spaceWidth*$,U=v2(Z,this._lastViewLineOptions),H=0,V=0,K=0,j=0;for(let W=0;W<Q.length;W++){let z=U.getSegmentAtIndex(W);if(z===void 0){j++;continue}if(z===\"\\t\"){let B=W+K;K=V1.nextRenderTabStop(W+K,Z.tabSize),V=G*(K-B),K-=W+1}else if(Z.isBasicASCII&&this._lastViewLineOptions.useMonospaceOptimizations)V=G;else V=this._renderStrategy.value.glyphRasterizer.getTextMetrics(z).width;if(q<H+V/2)break;H+=V,j++}return new C(X,j+1)}};VN=IF0([D70(2,w0),D70(3,x1)],VN);class O70{constructor(){this._onDidChange=new E,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}var S7=new O70;var T1=W0(\"keybindingService\");class ZB extends e1{constructor(){super(...arguments);this._onWillCopy=this._register(new E),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new E),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new E),this.onWillPaste=this._onWillPaste.event}}class QB{_getPageOfLine(J,X){return Math.floor((J-1)/X)}_getRangeForPage(J,X){let Y=J*X,Z=Y+1,Q=Y+X;return new T(Z,1,Q+1,1)}fromEditorSelection(J,X,Y,Z){let $=this._getPageOfLine(X.startLineNumber,Y),q=this._getRangeForPage($,Y),G=this._getPageOfLine(X.endLineNumber,Y),U=this._getRangeForPage(G,Y),H=q.intersectRanges(new T(1,1,X.startLineNumber,X.startColumn));if(Z&&J.getValueLengthInRange(H,1)>500){let A=J.modifyPosition(H.getEndPosition(),-500);H=T.fromPositions(A,H.getEndPosition())}let V=J.getValueInRange(H,1),K=J.getLineCount(),j=J.getLineMaxColumn(K),W=U.intersectRanges(new T(X.endLineNumber,X.endColumn,K,j));if(Z&&J.getValueLengthInRange(W,1)>500){let A=J.modifyPosition(W.getStartPosition(),500);W=T.fromPositions(W.getStartPosition(),A)}let z=J.getValueInRange(W,1),B;if($===G||$+1===G)B=J.getValueInRange(X,1);else{let A=q.intersectRanges(X),O=U.intersectRanges(X);B=J.getValueInRange(A,1)+String.fromCharCode(8230)+J.getValueInRange(O,1)}if(Z&&B.length>1000)B=B.substring(0,500)+String.fromCharCode(8230)+B.substring(B.length-500,B.length);let P,_;if(X.getDirection()===0)P=V.length,_=V.length+B.length;else _=V.length,P=V.length+B.length;return{value:V+B+z,selection:X,selectionStart:P,selectionEnd:_,startPositionWithinEditor:H.getStartPosition(),newlineCountBeforeSelection:H.endLineNumber-H.startLineNumber}}}function $B(J,X){if(J.get(2)===1){let Z=X.lookupKeybinding(\"editor.action.toggleScreenReaderAccessibilityMode\")?.getAriaLabel(),Q=X.lookupKeybinding(\"workbench.action.showCommands\")?.getAriaLabel(),$=X.lookupKeybinding(\"workbench.action.openGlobalKeybindings\")?.getAriaLabel(),q=F(65,\"The editor is not accessible at this time.\");if(Z)return F(66,\"{0} To enable screen reader optimized mode, use {1}\",q,Z);else if(Q)return F(67,\"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.\",q,Q);else if($)return F(68,\"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.\",q,$);else return q}return J.get(8)}function bf(J){let X=0,Y=-1;do{if(Y=J.indexOf(`\n`,Y+1),Y===-1)break;X++}while(!0);return X}class M70{constructor(){this._textAreaEditContextMapping=new Map}register(J,X){return this._textAreaEditContextMapping.set(J,X),{dispose:()=>{this._textAreaEditContextMapping.delete(J)}}}}var R70=new M70;var kF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},N70=function(J,X){return function(Y,Z){X(Y,Z,J)}};class w70{constructor(J,X,Y,Z,Q){this._context=J,this.modelLineNumber=X,this.distanceToModelLineStart=Y,this.widthOfHiddenLineTextBefore=Z,this.distanceToModelLineEnd=Q,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(J){let X=new C(this.modelLineNumber,this.distanceToModelLineStart+1),Y=new C(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);if(this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(X),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(Y),this.startPosition.lineNumber===this.endPosition.lineNumber)this.visibleTextareaStart=J.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=J.visibleRangeForPosition(this.endPosition);else this.visibleTextareaStart=null,this.visibleTextareaEnd=null}definePresentation(J){if(!this._previousPresentation)if(J)this._previousPresentation=J;else this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1};return this._previousPresentation}}var Cf=C6,KN=class extends ZB{constructor(X,Y,Z,Q,$,q,G){super(Y);this._keybindingService=q,this._instantiationService=G,this._primaryCursorPosition=new C(1,1),this._primaryCursorVisibleRange=null,this._viewController=Q,this._visibleRangeProvider=$,this._scrollLeft=0,this._scrollTop=0;let U=this._context.configuration.options,H=U.get(165);this._setAccessibilityOptions(U),this._contentLeft=H.contentLeft,this._contentWidth=H.contentWidth,this._contentHeight=H.height,this._fontInfo=U.get(59),this._emptySelectionClipboard=U.get(45),this._visibleTextArea=null,this._selections=[new Y0(1,1,1,1)],this._modelSelections=[new Y0(1,1,1,1)],this._lastRenderPosition=null,this.textArea=p0(document.createElement(\"textarea\")),k5.write(this.textArea,7),this.textArea.setClassName(`inputarea ${bQ}`),this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\");let{tabSize:V}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${V*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute(\"autocorrect\",\"off\"),this.textArea.setAttribute(\"autocapitalize\",\"off\"),this.textArea.setAttribute(\"autocomplete\",\"off\"),this.textArea.setAttribute(\"spellcheck\",\"false\"),this.textArea.setAttribute(\"aria-label\",$B(U,this._keybindingService)),this.textArea.setAttribute(\"aria-required\",U.get(9)?\"true\":\"false\"),this.textArea.setAttribute(\"tabindex\",String(U.get(140))),this.textArea.setAttribute(\"role\",\"textbox\"),this.textArea.setAttribute(\"aria-roledescription\",F(69,\"editor\")),this.textArea.setAttribute(\"aria-multiline\",\"true\"),this.textArea.setAttribute(\"aria-autocomplete\",U.get(104)?\"none\":\"both\"),this._ensureReadOnlyAttribute(),this.textAreaCover=p0(document.createElement(\"div\")),this.textAreaCover.setPosition(\"absolute\"),Z.appendChild(this.textArea),Z.appendChild(this.textAreaCover);let K=new QB,j={context:this._context,getScreenReaderContent:()=>{if(this._accessibilitySupport===1){let B=this._selections[0];if(I0&&B.isEmpty()){let _=B.getStartPosition(),A=this._getWordBeforePosition(_);if(A.length===0)A=this._getCharacterBeforePosition(_);if(A.length>0)return new g8(A,A.length,A.length,T.fromPositions(_),0)}let P=500;if(I0&&!B.isEmpty()&&this._context.viewModel.getValueLengthInRange(B,0)<P){let _=this._context.viewModel.getValueInRange(B,0);return new g8(_,0,_.length,B,0)}if(TJ&&!B.isEmpty())return new g8(\"vscode-placeholder\",0,18,null,void 0);return g8.EMPTY}if(Bx){let B=this._selections[0];if(B.isEmpty()){let P=B.getStartPosition(),[_,A]=this._getAndroidWordAtPosition(P);if(_.length>0)return new g8(_,A,A,T.fromPositions(P),0)}return g8.EMPTY}let z=K.fromEditorSelection(this._context.viewModel,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0);return g8.fromScreenReaderContentState(z)},deduceModelPosition:(z,B,P)=>{return this._context.viewModel.deduceModelPositionRelativeToViewPosition(z,B,P)}},W=this._register(new FS(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(kR,j,W,h5,{isAndroid:Bx,isChrome:o$,isFirefox:C6,isSafari:TJ})),this._register(this._textAreaInput.onWillCopy((z)=>this._onWillCopy.fire(z))),this._register(this._textAreaInput.onWillCut((z)=>this._onWillCut.fire(z))),this._register(this._textAreaInput.onWillPaste((z)=>this._onWillPaste.fire(z))),this._register(this._textAreaInput.onKeyDown((z)=>{this._viewController.emitKeyDown(z)})),this._register(this._textAreaInput.onKeyUp((z)=>{this._viewController.emitKeyUp(z)})),this._register(this._textAreaInput.onPaste((z)=>{let B=!1,P=null,_=null;if(z.metadata)B=this._emptySelectionClipboard&&!!z.metadata.isFromEmptySelection,P=typeof z.metadata.multicursorText<\"u\"?z.metadata.multicursorText:null,_=z.metadata.mode;this._viewController.paste(z.text,B,P,_)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType((z)=>{if(z.replacePrevCharCnt||z.replaceNextCharCnt||z.positionDelta)this._viewController.compositionType(z.text,z.replacePrevCharCnt,z.replaceNextCharCnt,z.positionDelta);else this._viewController.type(z.text)})),this._register(this._textAreaInput.onSelectionChangeRequest((z)=>{this._viewController.setSelection(z)})),this._register(this._textAreaInput.onCompositionStart((z)=>{let B=this.textArea.domNode,P=this._modelSelections[0],{distanceToModelLineStart:_,widthOfHiddenTextBefore:A}=(()=>{let D=B.value.substring(0,Math.min(B.selectionStart,B.selectionEnd)),R=D.lastIndexOf(`\n`),N=D.substring(R+1),w=N.lastIndexOf(\"\\t\"),k=N.length-w-1,I=P.getStartPosition(),S=Math.min(I.column-1,k),h=I.column-1-S,u=N.substring(0,N.length-S),{tabSize:p}=this._context.viewModel.model.getOptions(),s=EF0(this.textArea.domNode.ownerDocument,u,this._fontInfo,p);return{distanceToModelLineStart:h,widthOfHiddenTextBefore:s}})(),{distanceToModelLineEnd:O}=(()=>{let D=B.value.substring(Math.max(B.selectionStart,B.selectionEnd)),R=D.indexOf(`\n`),N=R===-1?D:D.substring(0,R),w=N.indexOf(\"\\t\"),k=w===-1?N.length:N.length-w-1,I=P.getEndPosition(),S=Math.min(this._context.viewModel.model.getLineMaxColumn(I.lineNumber)-I.column,k);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(I.lineNumber)-I.column-S}})();this._context.viewModel.revealRange(\"keyboard\",!0,T.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new w70(this._context,P.startLineNumber,_,A,O),this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${bQ} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate((z)=>{if(!this._visibleTextArea)return;this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render()})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\"),this._render(),this.textArea.setClassName(`inputarea ${bQ}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(S7.onDidChange(()=>{this._ensureReadOnlyAttribute()})),this._register(R70.register(X,this))}get domNode(){return this.textArea}writeScreenReaderContent(X){this._textAreaInput.writeNativeTextAreaContent(X)}dispose(){super.dispose(),this.textArea.domNode.remove(),this.textAreaCover.domNode.remove()}_getAndroidWordAtPosition(X){let Z=this._context.viewModel.getLineContent(X.lineNumber),Q=V7('`~!@#$%^&*()-=+[{]}\\\\|;:\",.<>/?',[]),$=!0,q=X.column,G=!0,U=X.column,H=0;while(H<50&&($||G)){if($&&q<=1)$=!1;if($){let V=Z.charCodeAt(q-2);if(Q.get(V)!==0)$=!1;else q--}if(G&&U>Z.length)G=!1;if(G){let V=Z.charCodeAt(U-1);if(Q.get(V)!==0)G=!1;else U++}H++}return[Z.substring(q-1,U-1),X.column-q]}_getWordBeforePosition(X){let Y=this._context.viewModel.getLineContent(X.lineNumber),Z=V7(this._context.configuration.options.get(148),[]),Q=X.column,$=0;while(Q>1){let q=Y.charCodeAt(Q-2);if(Z.get(q)!==0||$>50)return Y.substring(Q-1,X.column-1);$++,Q--}return Y.substring(0,X.column-1)}_getCharacterBeforePosition(X){if(X.column>1){let Z=this._context.viewModel.getLineContent(X.lineNumber).charAt(X.column-2);if(!V6(Z.charCodeAt(0)))return Z}return\"\"}_setAccessibilityOptions(X){this._accessibilitySupport=X.get(2);let Y=X.get(3);if(this._accessibilitySupport===2&&Y===I8.accessibilityPageSize.defaultValue)this._accessibilityPageSize=500;else this._accessibilityPageSize=Y;let Q=X.get(165).wrappingColumn;if(Q!==-1&&this._accessibilitySupport!==1){let $=X.get(59);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(Q*$.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=Cf?0:1}onConfigurationChanged(X){let Y=this._context.configuration.options,Z=Y.get(165);this._setAccessibilityOptions(Y),this._contentLeft=Z.contentLeft,this._contentWidth=Z.contentWidth,this._contentHeight=Z.height,this._fontInfo=Y.get(59),this._emptySelectionClipboard=Y.get(45),this.textArea.setAttribute(\"wrap\",this._textAreaWrapping&&!this._visibleTextArea?\"on\":\"off\");let{tabSize:Q}=this._context.viewModel.model.getOptions();if(this.textArea.domNode.style.tabSize=`${Q*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute(\"aria-label\",$B(Y,this._keybindingService)),this.textArea.setAttribute(\"aria-required\",Y.get(9)?\"true\":\"false\"),this.textArea.setAttribute(\"tabindex\",String(Y.get(140))),X.hasChanged(41)||X.hasChanged(104))this._ensureReadOnlyAttribute();if(X.hasChanged(2))this._textAreaInput.writeNativeTextAreaContent(\"strategy changed\");return!0}onCursorStateChanged(X){return this._selections=X.selections.slice(0),this._modelSelections=X.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent(\"selection changed\"),!0}onDecorationsChanged(X){return!0}onFlushed(X){return!0}onLinesChanged(X){return!0}onLinesDeleted(X){return!0}onLinesInserted(X){return!0}onScrollChanged(X){return this._scrollLeft=X.scrollLeft,this._scrollTop=X.scrollTop,!0}onZonesChanged(X){return!0}isFocused(){return this._textAreaInput.isFocused()}focus(){this._textAreaInput.focusTextArea()}refreshFocusState(){this._textAreaInput.refreshFocusState()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(X){if(X.activeDescendant)this.textArea.setAttribute(\"aria-haspopup\",\"true\"),this.textArea.setAttribute(\"aria-autocomplete\",\"list\"),this.textArea.setAttribute(\"aria-activedescendant\",X.activeDescendant);else this.textArea.setAttribute(\"aria-haspopup\",\"false\"),this.textArea.setAttribute(\"aria-autocomplete\",\"both\"),this.textArea.removeAttribute(\"aria-activedescendant\");if(X.role)this.textArea.setAttribute(\"role\",X.role)}_ensureReadOnlyAttribute(){let X=this._context.configuration.options;if(!S7.enabled||X.get(41)&&X.get(104))this.textArea.setAttribute(\"readonly\",\"true\");else this.textArea.removeAttribute(\"readonly\")}prepareRender(X){this._primaryCursorPosition=new C(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=X.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(X)}render(X){this._textAreaInput.writeNativeTextAreaContent(\"render\"),this._render()}_render(){if(this._visibleTextArea){let Z=this._visibleTextArea.visibleTextareaStart,Q=this._visibleTextArea.visibleTextareaEnd,$=this._visibleTextArea.startPosition,q=this._visibleTextArea.endPosition;if($&&q&&Z&&Q&&Q.left>=this._scrollLeft&&Z.left<=this._scrollLeft+this._contentWidth){let G=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,U=bf(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart)),H=this._visibleTextArea.widthOfHiddenLineTextBefore,V=this._contentLeft+Z.left-this._scrollLeft,K=Q.left-Z.left+1;if(V<this._contentLeft){let O=this._contentLeft-V;V+=O,H+=O,K-=O}if(K>this._contentWidth)K=this._contentWidth;let j=this._context.viewLayout.getLineHeightForLineNumber($.lineNumber),W=this._context.viewModel.getFontSizeAtPosition(this._primaryCursorPosition),z=this._context.viewModel.getViewLineData($.lineNumber),B=z.tokens.findTokenIndexAtOffset($.column-1),P=z.tokens.findTokenIndexAtOffset(q.column-1),_=B===P,A=this._visibleTextArea.definePresentation(_?z.tokens.getPresentation(B):null);this.textArea.domNode.scrollTop=U*j,this.textArea.domNode.scrollLeft=H,this._doRender({lastRenderPosition:null,top:G,left:V,width:K,height:j,useCover:!1,color:(f1.getColorMap()||[])[A.foreground],italic:A.italic,bold:A.bold,underline:A.underline,strikethrough:A.strikethrough,fontSize:W})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}let X=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(X<this._contentLeft||X>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}let Y=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(Y<0||Y>this._contentHeight){this._renderAtTopLeft();return}if(I0||this._accessibilitySupport===2){let Z=this._primaryCursorPosition.lineNumber,Q=this._context.viewLayout.getLineHeightForLineNumber(Z);this._doRender({lastRenderPosition:this._primaryCursorPosition,top:Y,left:this._textAreaWrapping?this._contentLeft:X,width:this._textAreaWidth,height:Q,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;let $=this._textAreaInput.textAreaState.newlineCountBeforeSelection??bf(this.textArea.domNode.value.substring(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=$*Q;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:Y,left:this._textAreaWrapping?this._contentLeft:X,width:this._textAreaWidth,height:Cf?0:1,useCover:!1})}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:Cf?0:1,useCover:!0})}_doRender(X){this._lastRenderPosition=X.lastRenderPosition;let Y=this.textArea,Z=this.textAreaCover;if(B6(Y,this._fontInfo),Y.setTop(X.top),Y.setLeft(X.left),Y.setWidth(X.width),Y.setHeight(X.height),Y.setLineHeight(X.height),Y.setFontSize(X.fontSize??this._fontInfo.fontSize),Y.setColor(X.color?c.Format.CSS.formatHex(X.color):\"\"),Y.setFontStyle(X.italic?\"italic\":\"\"),X.bold)Y.setFontWeight(\"bold\");Y.setTextDecoration(`${X.underline?\" underline\":\"\"}${X.strikethrough?\" line-through\":\"\"}`),Z.setTop(X.useCover?X.top:0),Z.setLeft(X.useCover?X.left:0),Z.setWidth(X.useCover?X.width:0),Z.setHeight(X.useCover?X.height:0);let Q=this._context.configuration.options;if(Q.get(66))Z.setClassName(\"monaco-editor-background textAreaCover \"+EG.OUTER_CLASS_NAME);else if(Q.get(76).renderType!==0)Z.setClassName(\"monaco-editor-background textAreaCover \"+ZK.CLASS_NAME);else Z.setClassName(\"monaco-editor-background textAreaCover\")}};KN=kF0([N70(5,T1),N70(6,w0)],KN);function EF0(J,X,Y,Z){if(X.length===0)return 0;let Q=J.createElement(\"div\");Q.style.position=\"absolute\",Q.style.top=\"-50000px\",Q.style.width=\"50000px\";let $=J.createElement(\"span\");B6($,Y),$.style.whiteSpace=\"pre\",$.style.tabSize=`${Z*Y.spaceWidth}px`,$.append(X),Q.appendChild($),J.body.appendChild(Q);let q=$.offsetWidth;return Q.remove(),q}var yF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},xF0=function(J,X){return function(Y,Z){X(Y,Z,J)}},jN=class extends y{constructor(X,Y,Z){super();this._domNode=Y,this._onFocusChange=Z,this._isFocused=!1,this._isPaused=!1,this._register(f(this._domNode,\"focus\",()=>{if(X.trace(\"NativeEditContext.focus\"),this._isPaused)return;this.refreshFocusState()})),this._register(f(this._domNode,\"blur\",()=>{if(X.trace(\"NativeEditContext.blur\"),this._isPaused)return;this._handleFocusedChanged(!1)}))}pause(){this._isPaused=!0}resume(){this._isPaused=!1,this.refreshFocusState()}_handleFocusedChanged(X){if(this._isFocused===X)return;this._isFocused=X,this._onFocusChange(this._isFocused)}focus(){this._domNode.focus(),this.refreshFocusState()}refreshFocusState(){let X=DX(this._domNode),Y=X?X.activeElement:E1(),Z=this._domNode===Y;this._handleFocusedChanged(Z)}get isFocused(){return this._isFocused}};jN=yF0([xF0(0,x1)],jN);function VK(J,X,Y,Z){return J.addEventListener(X,Y,Z),{dispose(){J.removeEventListener(X,Y)}}}var bF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},CF0=function(J,X){return function(Y,Z){X(Y,Z,J)}},SF0=q4(\"richScreenReaderContent\",{createHTML:(J)=>J}),Sf=\"data-line-number\",WN=class extends y{constructor(X,Y,Z,Q){super();this._domNode=X,this._context=Y,this._viewController=Z,this._accessibilityService=Q,this._selectionChangeListener=this._register(new Q1),this._accessibilityPageSize=1,this._ignoreSelectionChangeTime=0,this._state=qB.NULL,this._strategy=new I70,this._renderedLines=new Map,this._renderedSelection=new Y0(1,1,1,1),this.onConfigurationChanged(this._context.configuration.options)}updateScreenReaderContent(X){let Y=i0().document.activeElement;if(!Y||Y!==this._domNode.domNode)return;if(this._accessibilityService.isScreenReaderOptimized()){let Q=this._getScreenReaderContentLineIntervals(X);if(!this._state.equals(Q))this._state=Q,this._renderedLines=this._renderScreenReaderContent(Q);if(!this._renderedSelection.equalsSelection(X))this._renderedSelection=X,this._setSelectionOnScreenReaderContent(this._context,this._renderedLines,X)}else this._state=qB.NULL,this._setIgnoreSelectionChangeTime(\"setValue\"),this._domNode.domNode.textContent=\"\"}updateScrollTop(X){let Y=this._state.intervals;if(!Y.length)return;let Z=this._context.viewModel.viewLayout,Q=Y[0].startLine,$=Z.getVerticalOffsetForLineNumber(Q),q=Z.getVerticalOffsetForLineNumber(X.positionLineNumber);this._domNode.domNode.scrollTop=q-$}onFocusChange(X){if(X)this._selectionChangeListener.value=this._setSelectionChangeListener();else this._selectionChangeListener.value=void 0}onConfigurationChanged(X){this._accessibilityPageSize=X.get(3)}onWillCut(){this._setIgnoreSelectionChangeTime(\"onCut\")}onWillPaste(){this._setIgnoreSelectionChangeTime(\"onWillPaste\")}_setIgnoreSelectionChangeTime(X){this._ignoreSelectionChangeTime=Date.now()}_setSelectionChangeListener(){let X=0;return f(this._domNode.domNode.ownerDocument,\"selectionchange\",()=>{if(i0().document.activeElement!==this._domNode.domNode)return;if(!this._accessibilityService.isScreenReaderOptimized()||!S7.enabled)return;let $=Date.now(),q=$-X;if(X=$,q<5)return;let G=$-this._ignoreSelectionChangeTime;if(this._ignoreSelectionChangeTime=0,G<100)return;let U=this._getEditorSelectionFromDomRange();if(!U)return;this._viewController.setSelection(U)})}_renderScreenReaderContent(X){let Y=[],Z=new Map;for(let Q of X.intervals)for(let $=Q.startLine;$<=Q.endLine;$++){let q=this._renderLine($);Z.set($,q),Y.push(q.domNode)}return this._setIgnoreSelectionChangeTime(\"setValue\"),this._domNode.domNode.replaceChildren(...Y),Z}_renderLine(X){let Y=this._context.viewModel,Z=Y.getViewLineRenderingData(X),Q=this._context.configuration.options,$=Q.get(59),q=Q.get(133),G=Q.get(108),U=Q.get(60),H=Q.get(40),V=x7.filter(Z.inlineDecorations,X,Z.minColumn,Z.maxColumn),K=$.isMonospace&&!H,j=U!==R7.OFF,W;if(Q.get(47)===\"off\")W=Q.get(113);else W=\"none\";let B=new u9(K,$.canUseHalfwidthRightwardsArrow,Z.content,Z.continuesWithWrappedLine,Z.isBasicASCII,Z.containsRTL,Z.minColumn-1,Z.tokens,V,Z.tabSize,Z.startVisibleColumn,$.spaceWidth,$.middotWidth,$.wsmiddotWidth,q,W,G,j,null,null,0,!0),P=new h9(1e4),_=ZG(B,P),A=P.build(),O=SF0?.createHTML(A)??A,D=Y.viewLayout.getLineHeightForLineNumber(X)+\"px\",R=document.createElement(\"div\");return R.innerHTML=O,R.style.lineHeight=D,R.style.height=D,R.setAttribute(Sf,X.toString()),new T70(R,_.characterMapping)}_setSelectionOnScreenReaderContent(X,Y,Z){let $=i0().document.getSelection();if(!$)return;let{startLineNumber:q,endLineNumber:G}=Z,U=Y.get(q),H=Y.get(G);if(!U||!H)return;let V=X.viewModel,K=V.model,j=V.coordinatesConverter,W=new T(q,1,q,Z.selectionStartColumn),z=j.convertViewRangeToModelRange(W),B=K.getCharacterCountInRange(z),P=new T(G,1,G,Z.positionColumn),_=j.convertViewRangeToModelRange(P),A=K.getCharacterCountInRange(_),O=U.characterMapping.getDomPosition(B),D=H.characterMapping.getDomPosition(A),R=U.domNode.firstChild,N=H.domNode.firstChild,w=R.childNodes,k=N.childNodes,I=w.item(O.partIndex),S=k.item(D.partIndex);if(!I.firstChild||!S.firstChild)return;this._setIgnoreSelectionChangeTime(\"setRange\"),$.setBaseAndExtent(I.firstChild,Z.startColumn===1?0:O.charIndex+1,S.firstChild,Z.endColumn===1?0:D.charIndex+1)}_getScreenReaderContentLineIntervals(X){return this._strategy.fromEditorSelection(this._context.viewModel,X,this._accessibilityPageSize)}_getEditorSelectionFromDomRange(){if(!this._renderedLines)return;let X=i0().document.getSelection();if(!X)return;if(X.rangeCount===0)return;let Z=X.getRangeAt(0),Q=Z.startContainer,$=Z.endContainer,q=Q.parentElement,G=$.parentElement;if(!q||!a0(q)||!G||!a0(G))return;let U=q.parentElement?.parentElement,H=G.parentElement?.parentElement;if(!U||!H)return;let V=U.getAttribute(Sf),K=H.getAttribute(Sf);if(!V||!K)return;let j=parseInt(V),W=parseInt(K),z=this._renderedLines.get(j)?.characterMapping,B=this._renderedLines.get(W)?.characterMapping;if(!z||!B)return;let P=FG(z,q,Z.startOffset),_=FG(B,G,Z.endOffset);if(X.direction===\"forward\")return new Y0(j,P,W,_);else return new Y0(W,_,j,P)}};WN=bF0([CF0(3,c6)],WN);class T70{constructor(J,X){this.domNode=J,this.characterMapping=X}}class L70{constructor(J,X){this.startLine=J,this.endLine=X}}class qB{constructor(J,X){this.intervals=X;let Y=\"\";for(let Z of X)for(let Q=Z.startLine;Q<=Z.endLine;Q++)Y+=J.getLineContent(Q)+`\n`;this.value=Y}equals(J){return this.value===J.value}static get NULL(){return new qB({getLineContent:()=>\"\",getLineCount:()=>1,getLineMaxColumn:()=>1,getValueInRange:()=>\"\",getValueLengthInRange:()=>0,modifyPosition:(X,Y)=>X},[])}}class I70{constructor(){}_getPageOfLine(J,X){return Math.floor((J-1)/X)}_getRangeForPage(J,X,Y){let Z=X*Y,Q=Z+1,$=Math.min(Z+Y,J.getLineCount());return new L70(Q,$)}fromEditorSelection(J,X,Y){let Z=this._getPageOfLine(X.startLineNumber,Y),Q=this._getRangeForPage(J,Z,Y),$=this._getPageOfLine(X.endLineNumber,Y),q=this._getRangeForPage(J,$,Y),G=[{startLine:Q.startLine,endLine:Q.endLine}];if(Z+1<$)G.push({startLine:q.startLine,endLine:q.endLine});return new qB(J,G)}}var fF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},hF0=function(J,X){return function(Y,Z){X(Y,Z,J)}},zN=class extends y{constructor(X,Y,Z,Q){super();this._domNode=X,this._context=Y,this._viewController=Z,this._accessibilityService=Q,this._selectionChangeListener=this._register(new Q1),this._accessibilityPageSize=1,this._ignoreSelectionChangeTime=0,this._strategy=new QB,this.onConfigurationChanged(this._context.configuration.options)}updateScreenReaderContent(X){let Y=this._domNode.domNode,Z=i0().document.activeElement;if(!Z||Z!==Y)return;if(this._accessibilityService.isScreenReaderOptimized()){if(this._state=this._getScreenReaderContentState(X),Y.textContent!==this._state.value)this._setIgnoreSelectionChangeTime(\"setValue\"),Y.textContent=this._state.value;let $=i0().document.getSelection();if(!$)return;let q=this._getScreenReaderRange(this._state.selectionStart,this._state.selectionEnd);if(!q)return;this._setIgnoreSelectionChangeTime(\"setRange\"),$.setBaseAndExtent(q.anchorNode,q.anchorOffset,q.focusNode,q.focusOffset)}else this._state=void 0,this._setIgnoreSelectionChangeTime(\"setValue\"),this._domNode.domNode.textContent=\"\"}updateScrollTop(X){if(!this._state)return;let Y=this._context.viewModel.viewLayout,Z=this._state.startPositionWithinEditor.lineNumber,Q=Y.getVerticalOffsetForLineNumber(Z),$=Y.getVerticalOffsetForLineNumber(X.positionLineNumber);this._domNode.domNode.scrollTop=$-Q}onFocusChange(X){if(X)this._selectionChangeListener.value=this._setSelectionChangeListener();else this._selectionChangeListener.value=void 0}onConfigurationChanged(X){this._accessibilityPageSize=X.get(3)}onWillCut(){this._setIgnoreSelectionChangeTime(\"onCut\")}onWillPaste(){this._setIgnoreSelectionChangeTime(\"onWillPaste\")}_setIgnoreSelectionChangeTime(X){this._ignoreSelectionChangeTime=Date.now()}_setSelectionChangeListener(){let X=0;return f(this._domNode.domNode.ownerDocument,\"selectionchange\",()=>{let Y=this._accessibilityService.isScreenReaderOptimized();if(!this._state||!Y||!S7.enabled)return;if(i0().document.activeElement!==this._domNode.domNode)return;let $=i0().document.getSelection();if(!$)return;if($.rangeCount===0)return;let G=$.getRangeAt(0),U=Date.now(),H=U-X;if(X=U,H<5)return;let V=U-this._ignoreSelectionChangeTime;if(this._ignoreSelectionChangeTime=0,V<100)return;this._viewController.setSelection(this._getEditorSelectionFromDomRange(this._context,this._state,$.direction,G))})}_getScreenReaderContentState(X){let Y=this._strategy.fromEditorSelection(this._context.viewModel,X,this._accessibilityPageSize,this._accessibilityService.getAccessibilitySupport()===0),Z=this._context.viewModel.model.getPositionAt(1/0),Q=Y.value;if(Z.column===1&&X.getEndPosition().equals(Z))Q+=`\n`;return Y.value=Q,Y}_getScreenReaderRange(X,Y){let Z=this._domNode.domNode.firstChild;if(!Z)return;let Q=new globalThis.Range;return Q.setStart(Z,X),Q.setEnd(Z,Y),{anchorNode:Z,anchorOffset:X,focusNode:Z,focusOffset:Y}}_getEditorSelectionFromDomRange(X,Y,Z,Q){let $=X.viewModel,q=$.model,U=$.coordinatesConverter.convertViewPositionToModelPosition(Y.startPositionWithinEditor),H=q.getOffsetAt(U),V=Q.startOffset+H,K=Q.endOffset+H;if(q.getEndOfLineSequence()===1){let _=Y.value,A=new OQ(_),O=A.getPosition(Q.startOffset),D=A.getPosition(Q.endOffset);V+=O.lineNumber-1,K+=D.lineNumber-1}let W=q.getPositionAt(V),z=q.getPositionAt(K),B=Z===\"forward\"?W:z,P=Z===\"forward\"?z:W;return Y0.fromPositions(B,P)}};zN=fF0([hF0(3,c6)],zN);var vF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},k70=function(J,X){return function(Y,Z){X(Y,Z,J)}},FN=class extends y{constructor(X,Y,Z,Q,$){super();this._domNode=X,this._context=Y,this._viewController=Z,this._keybindingService=Q,this._accessibilityService=$,this._contentLeft=1,this._contentWidth=1,this._contentHeight=1,this._divWidth=1,this._primarySelection=new Y0(1,1,1,1),this._primaryCursorVisibleRange=null,this._state=this._register(new Q1),this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes()}onWillPaste(){this._state.value?.onWillPaste()}onWillCut(){this._state.value?.onWillCut()}handleFocusChange(X){this._state.value?.onFocusChange(X),this.writeScreenReaderContent()}onConfigurationChanged(X){if(this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes(),X.hasChanged(2))this.writeScreenReaderContent()}_instantiateScreenReaderContent(){let X=this._context.configuration.options.get(107);if(this._renderRichContent!==X)this._renderRichContent=X,this._state.value=this._createScreenReaderContent(X)}_createScreenReaderContent(X){if(X)return new WN(this._domNode,this._context,this._viewController,this._accessibilityService);else return new zN(this._domNode,this._context,this._viewController,this._accessibilityService)}_updateConfigurationSettings(){let X=this._context.configuration.options,Y=X.get(165),Z=Y.wrappingColumn;this._contentLeft=Y.contentLeft,this._contentWidth=Y.contentWidth,this._contentHeight=Y.height,this._fontInfo=X.get(59),this._divWidth=Math.round(Z*this._fontInfo.typicalHalfwidthCharacterWidth),this._state.value?.onConfigurationChanged(X)}_updateDomAttributes(){let X=this._context.configuration.options;this._domNode.domNode.setAttribute(\"role\",\"textbox\"),this._domNode.domNode.setAttribute(\"aria-required\",X.get(9)?\"true\":\"false\"),this._domNode.domNode.setAttribute(\"aria-multiline\",\"true\"),this._domNode.domNode.setAttribute(\"aria-autocomplete\",X.get(104)?\"none\":\"both\"),this._domNode.domNode.setAttribute(\"aria-roledescription\",F(64,\"editor\")),this._domNode.domNode.setAttribute(\"aria-label\",$B(X,this._keybindingService));let Y=this._context.viewModel.model.getOptions().tabSize,Z=X.get(59).spaceWidth;this._domNode.domNode.style.tabSize=`${Y*Z}px`;let Q=X.get(154),$=Q===\"inherit\"?X.get(153):Q,q=$===\"inherit\"?X.get(149):$;this._domNode.domNode.style.textWrap=q===\"off\"?\"nowrap\":\"wrap\"}onCursorStateChanged(X){this._primarySelection=X.selections[0]??new Y0(1,1,1,1)}prepareRender(X){this.writeScreenReaderContent(),this._primaryCursorVisibleRange=X.visibleRangeForPosition(this._primarySelection.getPosition())}render(X){if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}let Y=this._context.viewLayout.getCurrentScrollLeft(),Z=this._contentLeft+this._primaryCursorVisibleRange.left-Y;if(Z<this._contentLeft||Z>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}let Q=this._context.viewLayout.getCurrentScrollTop(),$=this._primarySelection.positionLineNumber,q=this._context.viewLayout.getVerticalOffsetForLineNumber($)-Q;if(q<0||q>this._contentHeight){this._renderAtTopLeft();return}let G=this._context.viewLayout.getLineHeightForLineNumber($);this._doRender(q,this._contentLeft,this._divWidth,G),this._state.value?.updateScrollTop(this._primarySelection)}_renderAtTopLeft(){this._doRender(0,0,this._contentWidth,1)}_doRender(X,Y,Z,Q){B6(this._domNode,this._fontInfo),this._domNode.setTop(X),this._domNode.setLeft(Y),this._domNode.setWidth(Z),this._domNode.setHeight(Q),this._domNode.setLineHeight(Q)}setAriaOptions(X){if(X.activeDescendant)this._domNode.setAttribute(\"aria-haspopup\",\"true\"),this._domNode.setAttribute(\"aria-autocomplete\",\"list\"),this._domNode.setAttribute(\"aria-activedescendant\",X.activeDescendant);else this._domNode.setAttribute(\"aria-haspopup\",\"false\"),this._domNode.setAttribute(\"aria-autocomplete\",\"both\"),this._domNode.removeAttribute(\"aria-activedescendant\");if(X.role)this._domNode.setAttribute(\"role\",X.role)}writeScreenReaderContent(){this._state.value?.updateScreenReaderContent(this._primarySelection)}};FN=vF0([k70(3,T1),k70(4,c6)],FN);var BN;(function(J){function X(Y,Z){return new Y.EditContext(Z)}J.create=X})(BN||(BN={}));class E70{constructor(){this._nativeEditContextMapping=new Map}register(J,X){return this._nativeEditContextMapping.set(J,X),{dispose:()=>{this._nativeEditContextMapping.delete(J)}}}get(J){return this._nativeEditContextMapping.get(J)}}var GB=new E70;var gF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},y70=function(J,X){return function(Y,Z){X(Y,Z,J)}},UB;(function(J){J.NONE=\"edit-context-composition-none\",J.SECONDARY=\"edit-context-composition-secondary\",J.PRIMARY=\"edit-context-composition-primary\"})(UB||(UB={}));var HB=class extends ZB{constructor(X,Y,Z,Q,$,q,G){super(Y);this._viewController=Q,this._visibleRangeProvider=$,this.logService=G,this._previousEditContextSelection=new H0(0,0),this._previousEditContextText=\"\",this._editContextPrimarySelection=new Y0(1,1,1,1),this._parentBounds=null,this._decorations=[],this._primarySelection=new Y0(1,1,1,1),this._targetWindowId=-1,this._scrollTop=0,this._scrollLeft=0,this._linesVisibleRanges=null,this.domNode=new fq(document.createElement(\"div\")),this.domNode.setClassName(\"native-edit-context\"),this._imeTextArea=new fq(document.createElement(\"textarea\")),this._imeTextArea.setClassName(\"ime-text-area\"),this._imeTextArea.setAttribute(\"readonly\",\"true\"),this._imeTextArea.setAttribute(\"tabindex\",\"-1\"),this._imeTextArea.setAttribute(\"aria-hidden\",\"true\"),this.domNode.setAttribute(\"autocorrect\",\"off\"),this.domNode.setAttribute(\"autocapitalize\",\"off\"),this.domNode.setAttribute(\"autocomplete\",\"off\"),this.domNode.setAttribute(\"spellcheck\",\"false\"),this._updateDomAttributes(),Z.appendChild(this.domNode),Z.appendChild(this._imeTextArea),this._parent=Z.domNode,this._focusTracker=this._register(new jN(G,this.domNode.domNode,(K)=>{G.trace(\"NativeEditContext#handleFocusChange : \",K),this._screenReaderSupport.handleFocusChange(K),this._context.viewModel.setHasFocus(K)}));let U=Q0(this.domNode.domNode);this._editContext=BN.create(U),this.setEditContextOnDomNode(),this._screenReaderSupport=this._register(q.createInstance(FN,this.domNode,Y,this._viewController)),this._register(f(this.domNode.domNode,\"copy\",(K)=>{this.logService.trace(\"NativeEditContext#copy\"),fY.electronBugWorkaroundCopyEventHasFired=!0;let j=dV(K,!1,this._context,this.logService,C6);if(this._onWillCopy.fire(j),j.isHandled)return;j.ensureClipboardGetsEditorData()})),this._register(f(this.domNode.domNode,\"cut\",(K)=>{this.logService.trace(\"NativeEditContext#cut\");let j=dV(K,!0,this._context,this.logService,C6);if(this._onWillCut.fire(j),j.isHandled)return;this._screenReaderSupport.onWillCut(),j.ensureClipboardGetsEditorData(),this.logService.trace(\"NativeEditContext#cut (before viewController.cut)\"),this._viewController.cut()})),this._register(f(this.domNode.domNode,\"selectionchange\",()=>{G4.onSelectionChange()})),this._register(f(this.domNode.domNode,\"keyup\",(K)=>this._onKeyUp(K))),this._register(f(this.domNode.domNode,\"keydown\",async(K)=>this._onKeyDown(K))),this._register(f(this._imeTextArea.domNode,\"keyup\",(K)=>this._onKeyUp(K))),this._register(f(this._imeTextArea.domNode,\"keydown\",async(K)=>this._onKeyDown(K))),this._register(f(this.domNode.domNode,\"beforeinput\",async(K)=>{if(G4.onBeforeInput(),K.inputType===\"insertParagraph\"||K.inputType===\"insertLineBreak\")this._onType(this._viewController,{text:`\n`,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0})})),this._register(f(this.domNode.domNode,\"paste\",(K)=>{this.logService.trace(\"NativeEditContext#paste\");let j=IR(K);if(this._onWillPaste.fire(j),j.isHandled){K.preventDefault();return}if(K.preventDefault(),!K.clipboardData)return;if(this.logService.trace(\"NativeEditContext#paste with id : \",j.metadata?.id,\" with text.length: \",j.text.length),!j.text)return;let W=!1,z=null,B=null;if(j.metadata)W=this._context.configuration.options.get(45)&&!!j.metadata.isFromEmptySelection,z=typeof j.metadata.multicursorText<\"u\"?j.metadata.multicursorText:null,B=j.metadata.mode;this.logService.trace(\"NativeEditContext#paste (before viewController.paste)\"),this._viewController.paste(j.text,W,z,B)})),this._register(VK(this._editContext,\"textformatupdate\",(K)=>this._handleTextFormatUpdate(K))),this._register(VK(this._editContext,\"characterboundsupdate\",(K)=>this._updateCharacterBounds(K)));let H;this._register(VK(this._editContext,\"textupdate\",(K)=>{G4.onInput();let j=K.text;if(j.length===1){let W=j.charCodeAt(0);if(V6(W)){H=j;return}if(AY(W)&&H){let z={text:H+j,selectionEnd:K.selectionEnd,selectionStart:K.selectionStart,updateRangeStart:K.updateRangeStart-1,updateRangeEnd:K.updateRangeEnd-1};H=void 0,this._emitTypeEvent(this._viewController,z);return}}this._emitTypeEvent(this._viewController,K)})),this._register(VK(this._editContext,\"compositionstart\",(K)=>{this._updateEditContext(),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(VK(this._editContext,\"compositionend\",(K)=>{this._updateEditContext(),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}));let V=!1;this._register(S7.onDidChange(()=>{if(S7.enabled&&V)this._focusTracker.resume(),this.domNode.focus(),V=!1;if(!S7.enabled&&this.isFocused())this._focusTracker.pause(),this._imeTextArea.focus(),V=!0})),this._register(GB.register(X,this)),this._register(Y.viewModel.model.onDidChangeContent((K)=>{let j=!1;for(let W of K.changes)if(W.range.startLineNumber<=this._editContextPrimarySelection.endLineNumber&&W.range.endLineNumber>=this._editContextPrimarySelection.startLineNumber){j=!0;break}if(j)this._updateEditContext()}))}dispose(){this.domNode.domNode.editContext=void 0,this.domNode.domNode.blur(),this.domNode.domNode.remove(),this._imeTextArea.domNode.remove(),super.dispose()}setAriaOptions(X){this._screenReaderSupport.setAriaOptions(X)}getLastRenderData(){return this._primarySelection.getPosition()}onBeforeRender(X){this._parentBounds=this._parent.getBoundingClientRect()}prepareRender(X){this._screenReaderSupport.prepareRender(X),this._updateSelectionAndControlBoundsData(X)}render(X){this._screenReaderSupport.render(X),this._updateSelectionAndControlBounds()}onCursorStateChanged(X){return this._primarySelection=X.modelSelections[0]??new Y0(1,1,1,1),this._screenReaderSupport.onCursorStateChanged(X),this._updateEditContext(),!0}onConfigurationChanged(X){return this._screenReaderSupport.onConfigurationChanged(X),this._updateDomAttributes(),!0}onDecorationsChanged(X){return!0}onFlushed(X){return!0}onLinesChanged(X){return!0}onLinesDeleted(X){return!0}onLinesInserted(X){return!0}onScrollChanged(X){return this._scrollLeft=X.scrollLeft,this._scrollTop=X.scrollTop,!0}onZonesChanged(X){return!0}handleWillPaste(){this.logService.trace(\"NativeEditContext#handleWillPaste\"),this._prepareScreenReaderForPaste()}_prepareScreenReaderForPaste(){this._screenReaderSupport.onWillPaste()}handleWillCopy(){this.logService.trace(\"NativeEditContext#handleWillCopy\"),this.logService.trace(\"NativeEditContext#isFocused : \",this.domNode.domNode===E1())}writeScreenReaderContent(){this._screenReaderSupport.writeScreenReaderContent()}isFocused(){return this._focusTracker.isFocused}focus(){this._focusTracker.focus(),this.refreshFocusState()}refreshFocusState(){this._focusTracker.refreshFocusState()}setEditContextOnDomNode(){let X=Q0(this.domNode.domNode),Y=Z2(X);if(this._targetWindowId!==Y)this.domNode.domNode.editContext=this._editContext,this._targetWindowId=Y}_onKeyUp(X){G4.onKeyUp(),this._viewController.emitKeyUp(new Y1(X))}_onKeyDown(X){G4.onKeyDown();let Y=new Y1(X);if(Y.keyCode===114)Y.stopPropagation();this._viewController.emitKeyDown(Y)}_updateDomAttributes(){let X=this._context.configuration.options;this.domNode.domNode.setAttribute(\"tabindex\",String(X.get(140)))}_updateEditContext(){let X=this._getNewEditContextState();if(!X)return;let Y=X.text??\" \";if(Y!==this._previousEditContextText)this._editContext.updateText(0,this._previousEditContextText.length,Y),this._previousEditContextText=Y;if(X.selectionStartOffset!==this._previousEditContextSelection.start||X.selectionEndOffset!==this._previousEditContextSelection.endExclusive)this._editContext.updateSelection(X.selectionStartOffset,X.selectionEndOffset);this._editContextPrimarySelection=X.editContextPrimarySelection,this._previousEditContextSelection=new H0(X.selectionStartOffset,X.selectionEndOffset)}_emitTypeEvent(X,Y){if(!this._editContext)return;let Z=this._previousEditContextSelection.endExclusive,Q=this._previousEditContextSelection.start;this._previousEditContextSelection=new H0(Y.selectionStart,Y.selectionEnd);let $=0,q=0;if(Y.updateRangeEnd>Z)$=Y.updateRangeEnd-Z;if(Y.updateRangeStart<Q)q=Q-Y.updateRangeStart;let G=\"\";if(Q<Y.updateRangeStart)G+=this._editContext.text.substring(Q,Y.updateRangeStart);if(G+=Y.text,Z>Y.updateRangeEnd)G+=this._editContext.text.substring(Y.updateRangeEnd,Z);let U=0;if(Y.selectionStart===Y.selectionEnd&&Q===Z)U=Y.selectionStart-(Y.updateRangeStart+Y.text.length);let H={text:G,replacePrevCharCnt:q,replaceNextCharCnt:$,positionDelta:U};this._onType(X,H)}_onType(X,Y){if(Y.replacePrevCharCnt||Y.replaceNextCharCnt||Y.positionDelta)X.compositionType(Y.text,Y.replacePrevCharCnt,Y.replaceNextCharCnt,Y.positionDelta);else X.type(Y.text)}_getNewEditContextState(){let X=this._primarySelection,Y=this._context.viewModel.model;if(!Y.isValidRange(X))return;let{startLineNumber:Z,endLineNumber:Q}=X,$=Y.getLineMaxColumn(Q),q=new T(Z,1,Q,$),G=Y.getValueInRange(q,0),U=X.startColumn-1,H=G.length+X.endColumn-$;return{text:G,selectionStartOffset:U,selectionEndOffset:H,editContextPrimarySelection:X}}_editContextStartPosition(){return new C(this._editContextPrimarySelection.startLineNumber,1)}_handleTextFormatUpdate(X){if(!this._editContext)return;let Y=X.getTextFormats(),Z=this._editContextStartPosition(),Q=[];Y.forEach(($)=>{let q=this._context.viewModel.model,G=q.getOffsetAt(Z),U=q.getPositionAt(G+$.rangeStart),H=q.getPositionAt(G+$.rangeEnd),V=T.fromPositions(U,H),K=$.underlineThickness.toLowerCase(),j=UB.NONE;switch(K){case\"thin\":j=UB.SECONDARY;break;case\"thick\":j=UB.PRIMARY;break}Q.push({range:V,options:{description:\"textFormatDecoration\",inlineClassName:j}})}),this._decorations=this._context.viewModel.model.deltaDecorations(this._decorations,Q)}_updateSelectionAndControlBoundsData(X){let Y=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(this._primarySelection);if(this._primarySelection.isEmpty()){let Z=X.visibleRangeForPosition(Y.getStartPosition());this._linesVisibleRanges=Z}else this._linesVisibleRanges=null}_updateSelectionAndControlBounds(){let Y=this._context.configuration.options.get(165).contentLeft,Z=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(this._primarySelection),Q=this._context.viewLayout.getVerticalOffsetForLineNumber(Z.startLineNumber),$=this._context.viewLayout.getVerticalOffsetAfterLineNumber(Z.endLineNumber),q=this._parentBounds,G=q.top+Q-this._scrollTop,U=$-Q,H=q.left+Y-this._scrollLeft,V;if(this._primarySelection.isEmpty()){if(this._linesVisibleRanges)H+=this._linesVisibleRanges.left;V=0}else V=q.width-Y;let K=new DOMRect(H,G,V,U);this._editContext.updateSelectionBounds(K),this._editContext.updateControlBounds(K)}_updateCharacterBounds(X){let Y=this._context.configuration.options,Z=Y.get(59).typicalHalfwidthCharacterWidth,Q=Y.get(165).contentLeft,$=this._parentBounds,q=[],G=new OQ(this._editContext.text);for(let U=X.rangeStart;U<X.rangeEnd;U++){let H=G.getPosition(U),V=this._editContextPrimarySelection.startLineNumber-1,K=new C(V+H.lineNumber,H.column),j=K.delta(0,1),W=T.fromPositions(K,j),z=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(W),B=this._visibleRangeProvider.linesVisibleRangesForRange(z,!0)??[],P=z.startLineNumber,_=this._context.viewLayout.getVerticalOffsetForLineNumber(P),A=$.top+_-this._scrollTop,O=0,D=Z;if(B.length>0)for(let N of B[0].ranges){O=N.left,D=N.width;break}let R=this._context.viewLayout.getLineHeightForLineNumber(P);q.push(new DOMRect($.left+Q+O-this._scrollLeft,A,D,R))}this._editContext.updateCharacterBounds(X.rangeStart,q)}};HB=gF0([y70(5,w0),y70(6,x1)],HB);class ff extends e1{constructor(J,X){super(J);this._viewGpuContext=X,this._gpuShapes=[],this._register(C0((Y)=>this._updateEntries(Y)))}onConfigurationChanged(J){return this._updateEntries(void 0),!0}prepareRender(J){}render(J){}_updateEntries(J){let X=this._context.configuration.options,Y=X.get(116),Z=X.get(59).typicalHalfwidthCharacterWidth,Q=this._viewGpuContext.devicePixelRatio.read(J);for(let $=0,q=Y.length;$<q;$++){let G=Y[$],U=this._gpuShapes[$],H=G.color?c.fromHex(G.color):this._context.theme.getColor(O50)??c.white,V=[G.column*Z*Q,0,Math.max(1,Math.ceil(Q)),Number.MAX_SAFE_INTEGER,H.rgba.r/255,H.rgba.g/255,H.rgba.b/255,H.rgba.a];if(!U)this._gpuShapes[$]=this._viewGpuContext.rectangleRenderer.register(...V);else U.setRaw(V)}while(this._gpuShapes.length>Y.length)this._gpuShapes.splice(-1,1)[0].dispose()}}class _N extends C7{static{this.CLASS_NAME=\"gpu-mark\"}constructor(J,X){super();this._viewGpuContext=X,this._context=J,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(J){return!0}onCursorStateChanged(J){return!0}onFlushed(J){return!0}onLinesChanged(J){return!0}onLinesDeleted(J){return!0}onLinesInserted(J){return!0}onScrollChanged(J){return J.scrollTopChanged}onZonesChanged(J){return!0}onDecorationsChanged(J){return!0}prepareRender(J){let X=J.visibleRange.startLineNumber,Y=J.visibleRange.endLineNumber,Z=J.viewportData,Q=new f2(this._context.configuration,this._context.theme.type),$=[];for(let q=X;q<=Y;q++){let G=q-X,U=this._viewGpuContext.canRenderDetailed(Q,Z,q);$[G]=U.length?`<div class=\"${_N.CLASS_NAME}\" title=\"Cannot render on GPU: ${U.join(\", \")}\"></div>`:\"\"}this._renderResult=$}render(J,X){if(!this._renderResult)return\"\";let Y=X-J;if(Y<0||Y>=this._renderResult.length)return\"\";return this._renderResult[Y]}}var CX=W0(\"userInteractionService\");var pF0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},x70=function(J,X){return function(Y,Z){X(Y,Z,J)}},AN=class extends C4{constructor(X,Y,Z,Q,$,q,G,U,H,V){super();if(this._instantiationService=H,this._userInteractionService=V,this._editContextClipboardListeners=new a,this._onWillCopy=this._register(new E),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new E),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new E),this.onWillPaste=this._onWillPaste.event,this._shouldRecomputeGlyphMarginLanes=!1,this._ownerID=Y,this._widgetFocusTracker=this._register(new b70(X,U,this._userInteractionService)),this._register(this._widgetFocusTracker.onChange(()=>{this._context.viewModel.setHasWidgetFocus(this._widgetFocusTracker.hasFocus())})),this._selections=[new Y0(1,1,1,1)],this._renderAnimationFrame=null,this._overflowGuardContainer=p0(document.createElement(\"div\")),k5.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName(\"overflow-guard\"),this._viewController=new dF(Q,q,G,Z),this._context=new Rf(Q,$,q),this._context.addEventHandler(this),this._viewParts=[],this._editContextEnabled=this._context.configuration.options.get(170),this._accessibilitySupport=this._context.configuration.options.get(2),this._editContext=this._instantiateEditContext(),this._connectEditContextClipboardEvents(),this._viewParts.push(this._editContext),this._linesContent=p0(document.createElement(\"div\")),this._linesContent.setClassName(\"lines-content monaco-editor-background\"),this._linesContent.setPosition(\"absolute\"),this.domNode=p0(document.createElement(\"div\")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute(\"role\",\"code\"),this._context.configuration.options.get(46)===\"on\")this._viewGpuContext=this._instantiationService.createInstance(d5,this._context);if(this._scrollbar=new tS(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new JN(this._context,this._viewGpuContext,this._linesContent),this._viewGpuContext)this._viewLinesGpu=this._instantiationService.createInstance(VN,this._context,this._viewGpuContext);this._viewZones=new Af(this._context),this._viewParts.push(this._viewZones);let K=new Vf(this._context);this._viewParts.push(K);let j=new Ff(this._context);this._viewParts.push(j);let W=new gS(this._context);this._viewParts.push(W),W.addDynamicOverlay(new rS(this._context)),W.addDynamicOverlay(new t8(this._context)),W.addDynamicOverlay(new Xf(this._context)),W.addDynamicOverlay(new nS(this._context)),W.addDynamicOverlay(new Df(this._context));let z=new pS(this._context);if(this._viewParts.push(z),z.addDynamicOverlay(new oS(this._context)),z.addDynamicOverlay(new Zf(this._context)),z.addDynamicOverlay(new Yf(this._context)),z.addDynamicOverlay(new ZK(this._context)),this._viewGpuContext)z.addDynamicOverlay(new _N(this._context,this._viewGpuContext));this._glyphMarginWidgets=new eS(this._context),this._viewParts.push(this._glyphMarginWidgets);let B=new EG(this._context);B.getDomNode().appendChild(this._viewZones.marginDomNode),B.getDomNode().appendChild(z.getDomNode()),B.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(B),this._contentWidgets=new dS(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new JB(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new Hf(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);let P=this._viewGpuContext?new ff(this._context,this._viewGpuContext):new zf(this._context);this._viewParts.push(P);let _=new mS(this._context);this._viewParts.push(_);let A=new Uf(this._context);if(this._viewParts.push(A),K){let O=this._scrollbar.getOverviewRulerLayoutInfo();O.parent.insertBefore(K.getDomNode(),O.insertBefore)}if(this._linesContent.appendChild(W.getDomNode()),\"domNode\"in P)this._linesContent.appendChild(P.domNode);if(this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(B.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._viewGpuContext)this._overflowGuardContainer.appendChild(this._viewGpuContext.canvas);if(this._overflowGuardContainer.appendChild(j.getDomNode()),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(A.getDomNode()),this._overflowGuardContainer.appendChild(_.domNode),this.domNode.appendChild(this._overflowGuardContainer),U)U.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),U.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode);else this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode);this._applyLayout(),this._pointerHandler=this._register(new BS(this._context,this._viewController,this._createPointerHandlerHelper()))}_instantiateEditContext(){if(this._context.configuration.options.get(170))return this._instantiationService.createInstance(HB,this._ownerID,this._context,this._overflowGuardContainer,this._viewController,this._createTextAreaHandlerHelper());else return this._instantiationService.createInstance(KN,this._ownerID,this._context,this._overflowGuardContainer,this._viewController,this._createTextAreaHandlerHelper())}_updateEditContext(){let X=this._context.configuration.options.get(170),Y=this._context.configuration.options.get(2);if(this._editContextEnabled===X&&this._accessibilitySupport===Y)return;this._editContextEnabled=X,this._accessibilitySupport=Y;let Z=this._editContext.isFocused(),Q=this._viewParts.indexOf(this._editContext);if(this._editContext.dispose(),this._editContext=this._instantiateEditContext(),this._connectEditContextClipboardEvents(),Z)this._editContext.focus();if(Q!==-1)this._viewParts.splice(Q,1,this._editContext)}_connectEditContextClipboardEvents(){this._editContextClipboardListeners.clear(),this._editContextClipboardListeners.add(this._editContext.onWillCopy((X)=>this._onWillCopy.fire(X))),this._editContextClipboardListeners.add(this._editContext.onWillCut((X)=>this._onWillCut.fire(X))),this._editContextClipboardListeners.add(this._editContext.onWillPaste((X)=>this._onWillPaste.fire(X)))}_computeGlyphMarginLanes(){let X=this._context.viewModel.model,Y=this._context.viewModel.glyphLanes,Z=[],Q=0;Z=Z.concat(X.getAllMarginDecorations().map(($)=>{let q=$.options.glyphMargin?.position??g9.Center;return Q=Math.max(Q,$.range.endLineNumber),{range:$.range,lane:q,persist:$.options.glyphMargin?.persistLane}})),Z=Z.concat(this._glyphMarginWidgets.getWidgets().map(($)=>{let q=X.validateRange($.preference.range);return Q=Math.max(Q,q.endLineNumber),{range:q,lane:$.preference.lane}})),Z.sort(($,q)=>T.compareRangesUsingStarts($.range,q.range)),Y.reset(Q);for(let $ of Z)Y.push($.lane,$.range,$.persist);return Y}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,viewLinesGpu:this._viewLinesGpu,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:(X)=>{this._editContext.domNode.domNode.dispatchEvent(X)},getLastRenderData:()=>{let X=this._viewCursors.getLastRenderData()||[],Y=this._editContext.getLastRenderData();return new tC(X,Y)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:(X)=>{return this._viewZones.shouldSuppressMouseDownOnViewZone(X)},shouldSuppressMouseDownOnWidget:(X)=>{return this._contentWidgets.shouldSuppressMouseDownOnWidget(X)},getPositionFromDOMInfo:(X,Y)=>{return this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(X,Y)},visibleRangeForPosition:(X,Y)=>{this._flushAccumulatedAndRenderNow();let Z=new C(X,Y);return this._viewLines.visibleRangeForPosition(Z)??this._viewLinesGpu?.visibleRangeForPosition(Z)??null},getLineWidth:(X)=>{if(this._flushAccumulatedAndRenderNow(),this._viewLinesGpu){let Y=this._viewLinesGpu.getLineWidth(X);if(Y!==void 0)return Y}return this._viewLines.getLineWidth(X)}}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:(X)=>{return this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(X)},linesVisibleRangesForRange:(X,Y)=>{return this._flushAccumulatedAndRenderNow(),this._viewLines.linesVisibleRangesForRange(X,Y)}}}_applyLayout(){let Y=this._context.configuration.options.get(165);this.domNode.setWidth(Y.width),this.domNode.setHeight(Y.height),this._overflowGuardContainer.setWidth(Y.width),this._overflowGuardContainer.setHeight(Y.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){let X=this._editContext.isFocused()?\" focused\":\"\";return this._context.configuration.options.get(162)+\" \"+sF(this._context.theme.type)+X}handleEvents(X){super.handleEvents(X),this._scheduleRender()}onConfigurationChanged(X){return this.domNode.setClassName(this._getEditorClassName()),this._updateEditContext(),this._applyLayout(),!1}onCursorStateChanged(X){return this._selections=X.selections,!1}onDecorationsChanged(X){if(X.affectsGlyphMargin)this._shouldRecomputeGlyphMarginLanes=!0;return!1}onFocusChanged(X){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(X){return this._context.theme.update(X.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){if(this._renderAnimationFrame!==null)this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null;this._editContextClipboardListeners.dispose(),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewGpuContext?.dispose(),this._viewLines.dispose(),this._viewLinesGpu?.dispose();for(let X of this._viewParts)X.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new j0;if(this._renderAnimationFrame===null){if(this._editContext instanceof HB)this._editContext.setEditContextOnDomNode();let X=this._createCoordinatedRendering();this._renderAnimationFrame=hf.INSTANCE.scheduleCoordinatedRendering({window:Q0(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new j0;try{return X.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:(Y)=>{if(this._store.isDisposed)throw new j0;return X.renderText(Y)},prepareRender:(Y,Z)=>{if(this._store.isDisposed)throw new j0;return X.prepareRender(Y,Z)},render:(Y,Z)=>{if(this._store.isDisposed)throw new j0;return X.render(Y,Z)}})}}_flushAccumulatedAndRenderNow(){let X=this._createCoordinatedRendering(),Y=g2(()=>X.prepareRenderText());if(!Y)return;let Z=g2(()=>X.renderText(Y));if(!Z)return;let[Q,$]=Z;g2(()=>X.prepareRender(Q,$)),g2(()=>X.render(Q,$))}_getViewPartsToRender(){let X=[],Y=0;for(let Z of this._viewParts)if(Z.shouldRender())X[Y++]=Z;return X}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;let $=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount($.requiredLanes)}if(G4.onRenderStart(),!this.domNode.domNode.isConnected)return null;let X=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&X.length===0)return null;let Z=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(Z.startLineNumber,Z.endLineNumber,Z.centeredLineNumber);let Q=new Of(this._selections,Z,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);for(let $ of this._viewParts)if($.shouldRender())$.onBeforeRender(Q);return Q},renderText:(X)=>{if(this._viewLines.shouldRender())this._viewLines.renderText(X),this._viewLines.onDidRender();if(this._viewLinesGpu?.shouldRender())this._viewLinesGpu.renderText(X),this._viewLinesGpu.onDidRender();return[this._getViewPartsToRender(),new rC(this._context.viewLayout,X,this._viewLines,this._viewLinesGpu)]},prepareRender:(X,Y)=>{for(let Z of X)Z.prepareRender(Y)},render:(X,Y)=>{for(let Z of X)Z.render(Y),Z.onDidRender()}}}delegateVerticalScrollbarPointerDown(X){this._scrollbar.delegateVerticalScrollbarPointerDown(X)}delegateScrollFromMouseWheelEvent(X){this._scrollbar.delegateScrollFromMouseWheelEvent(X)}restoreState(X){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:X.scrollTop,scrollLeft:X.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(X,Y){let Z=this._context.viewModel.model.validatePosition({lineNumber:X,column:Y}),Q=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(Z);this._flushAccumulatedAndRenderNow();let $=this._viewLines.visibleRangeForPosition(new C(Q.lineNumber,Q.column));if(!$)return-1;return $.left}getLineWidth(X){let Y=this._context.viewModel.model,Z=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(new C(X,Y.getLineMaxColumn(X))).lineNumber;return this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(Z)}resetLineWidthCaches(){this._viewLines.resetLineWidthCaches()}getTargetAtClientPoint(X,Y){let Z=this._pointerHandler.getTargetAtClientPoint(X,Y);if(!Z)return null;return nV.convertViewToModelMouseTarget(Z,this._context.viewModel.coordinatesConverter)}createOverviewRuler(X){return new Wf(this._context,X)}change(X){this._viewZones.changeViewZones(X),this._scheduleRender()}render(X,Y){if(Y){this._viewLines.forceShouldRender();for(let Z of this._viewParts)Z.forceShouldRender()}if(X)this._flushAccumulatedAndRenderNow();else this._scheduleRender()}writeScreenReaderContent(X){this._editContext.writeScreenReaderContent(X)}focus(){this._editContext.focus()}isFocused(){return this._editContext.isFocused()}isWidgetFocused(){return this._widgetFocusTracker.hasFocus()}setAriaOptions(X){this._editContext.setAriaOptions(X)}addContentWidget(X){this._contentWidgets.addWidget(X.widget),this.layoutContentWidget(X),this._scheduleRender()}layoutContentWidget(X){if(this._contentWidgets.setWidgetPosition(X.widget,X.position?.position??null,X.position?.secondaryPosition??null,X.position?.preference??null,X.position?.positionAffinity??null),this._contentWidgets.shouldRender())this._scheduleRender()}removeContentWidget(X){this._contentWidgets.removeWidget(X.widget),this._scheduleRender()}addOverlayWidget(X){this._overlayWidgets.addWidget(X.widget),this.layoutOverlayWidget(X),this._scheduleRender()}layoutOverlayWidget(X){if(this._overlayWidgets.setWidgetPosition(X.widget,X.position))this._scheduleRender()}removeOverlayWidget(X){this._overlayWidgets.removeWidget(X.widget),this._scheduleRender()}addGlyphMarginWidget(X){this._glyphMarginWidgets.addWidget(X.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(X){let Y=X.position;if(this._glyphMarginWidgets.setWidgetPosition(X.widget,Y))this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}removeGlyphMarginWidget(X){this._glyphMarginWidgets.removeWidget(X.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};AN=pF0([x70(8,w0),x70(9,CX)],AN);function g2(J){try{return J()}catch(X){return b0(X),null}}class hf{static{this.INSTANCE=new hf}constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(J){return this._coordinatedRenderings.push(J),this._scheduleRender(J.window),{dispose:()=>{let X=this._coordinatedRenderings.indexOf(J);if(X===-1)return;if(this._coordinatedRenderings.splice(X,1),this._coordinatedRenderings.length===0){for(let[Y,Z]of this._animationFrameRunners)Z.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(J){if(!this._animationFrameRunners.has(J)){let X=()=>{this._animationFrameRunners.delete(J),this._onRenderScheduled()};this._animationFrameRunners.set(J,ax(J,X,100))}}_onRenderScheduled(){let J=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];let X=[];for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z];X[Z]=g2(()=>$.prepareRenderText())}let Y=[];for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z],q=X[Z];if(!q){Y[Z]=null;continue}Y[Z]=g2(()=>$.renderText(q))}for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z],q=Y[Z];if(!q)continue;let[G,U]=q;g2(()=>$.prepareRender(G,U))}for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z],q=Y[Z];if(!q)continue;let[G,U]=q;g2(()=>$.render(G,U))}}}class b70 extends y{constructor(J,X,Y){super();if(this._onChange=this._register(new E),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(Y.createDomFocusTracker(J)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),X)this._overflowWidgetsDomNode=this._register(Y.createDomFocusTracker(X)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()}))}_update(){let J=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;if(this._hadFocus!==J)this._hadFocus=J,this._onChange.fire(void 0)}hasFocus(){return this._hadFocus??!1}}class p2{constructor(J,X,Y,Z,Q){this.injectionOffsets=J,this.injectionOptions=X,this.breakOffsets=Y,this.breakOffsetsVisibleColumn=Z,this.wrappedTextIndentLength=Q}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(J){if(J>0)return this.wrappedTextIndentLength;return 0}getLineLength(J){let X=J>0?this.breakOffsets[J-1]:0,Z=this.breakOffsets[J]-X;if(J>0)Z+=this.wrappedTextIndentLength;return Z}getMaxOutputOffset(J){return this.getLineLength(J)}translateToInputOffset(J,X){if(J>0)X=Math.max(0,X-this.wrappedTextIndentLength);let Z=J===0?X:this.breakOffsets[J-1]+X;if(this.injectionOffsets!==null)for(let Q=0;Q<this.injectionOffsets.length;Q++)if(Z>this.injectionOffsets[Q])if(Z<this.injectionOffsets[Q]+this.injectionOptions[Q].content.length)Z=this.injectionOffsets[Q];else Z-=this.injectionOptions[Q].content.length;else break;return Z}translateToOutputPosition(J,X=2){let Y=J;if(this.injectionOffsets!==null)for(let Z=0;Z<this.injectionOffsets.length;Z++){if(J<this.injectionOffsets[Z])break;if(X!==1&&J===this.injectionOffsets[Z])break;Y+=this.injectionOptions[Z].content.length}return this.offsetInInputWithInjectionsToOutputPosition(Y,X)}offsetInInputWithInjectionsToOutputPosition(J,X=2){let Y=0,Z=this.breakOffsets.length-1,Q=0,$=0;while(Y<=Z){Q=Y+(Z-Y)/2|0;let G=this.breakOffsets[Q];if($=Q>0?this.breakOffsets[Q-1]:0,X===0)if(J<=$)Z=Q-1;else if(J>G)Y=Q+1;else break;else if(J<$)Z=Q-1;else if(J>=G)Y=Q+1;else break}let q=J-$;if(Q>0)q+=this.wrappedTextIndentLength;return new VB(Q,q)}normalizeOutputPosition(J,X,Y){if(this.injectionOffsets!==null){let Z=this.outputPositionToOffsetInInputWithInjections(J,X),Q=this.normalizeOffsetInInputWithInjectionsAroundInjections(Z,Y);if(Q!==Z)return this.offsetInInputWithInjectionsToOutputPosition(Q,Y)}if(Y===0){if(J>0&&X===this.getMinOutputOffset(J))return new VB(J-1,this.getMaxOutputOffset(J-1))}else if(Y===1){let Z=this.getOutputLineCount()-1;if(J<Z&&X===this.getMaxOutputOffset(J))return new VB(J+1,this.getMinOutputOffset(J+1))}return new VB(J,X)}outputPositionToOffsetInInputWithInjections(J,X){if(J>0)X=Math.max(0,X-this.wrappedTextIndentLength);return(J>0?this.breakOffsets[J-1]:0)+X}normalizeOffsetInInputWithInjectionsAroundInjections(J,X){let Y=this.getInjectedTextAtOffset(J);if(!Y)return J;if(X===2)if(J===Y.offsetInInputWithInjections+Y.length&&C70(this.injectionOptions[Y.injectedTextIndex].cursorStops))return Y.offsetInInputWithInjections+Y.length;else{let Z=Y.offsetInInputWithInjections;if(S70(this.injectionOptions[Y.injectedTextIndex].cursorStops))return Z;let Q=Y.injectedTextIndex-1;while(Q>=0&&this.injectionOffsets[Q]===this.injectionOffsets[Y.injectedTextIndex]){if(C70(this.injectionOptions[Q].cursorStops))break;if(Z-=this.injectionOptions[Q].content.length,S70(this.injectionOptions[Q].cursorStops))break;Q--}return Z}else if(X===1||X===4){let Z=Y.offsetInInputWithInjections+Y.length,Q=Y.injectedTextIndex;while(Q+1<this.injectionOffsets.length&&this.injectionOffsets[Q+1]===this.injectionOffsets[Q])Z+=this.injectionOptions[Q+1].content.length,Q++;return Z}else if(X===0||X===3){let{offsetInInputWithInjections:Z,injectedTextIndex:Q}=Y;while(Q-1>=0&&this.injectionOffsets[Q-1]===this.injectionOffsets[Q])Z-=this.injectionOptions[Q-1].content.length,Q--;return Z}uH()}getInjectedText(J,X){let Y=this.outputPositionToOffsetInInputWithInjections(J,X),Z=this.getInjectedTextAtOffset(Y);if(!Z)return null;return{options:this.injectionOptions[Z.injectedTextIndex]}}getInjectedTextAtOffset(J){let X=this.injectionOffsets,Y=this.injectionOptions;if(X!==null){let Z=0;for(let Q=0;Q<X.length;Q++){let $=Y[Q].content.length,q=X[Q]+Z,G=X[Q]+Z+$;if(q>J)break;if(J<=G)return{injectedTextIndex:Q,offsetInInputWithInjections:q,length:$};Z+=$}}return}}function C70(J){if(J===null||J===void 0)return!0;return J===rq.Right||J===rq.Both}function S70(J){if(J===null||J===void 0)return!0;return J===rq.Left||J===rq.Both}class VB{constructor(J,X){this.outputLineIndex=J,this.outputOffset=X}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(J){return new C(J+this.outputLineIndex,this.outputOffset+1)}}class vf{constructor(){this.changeType=1}}class s9{static applyInjectedText(J,X){if(!X||X.length===0)return J;let Y=\"\",Z=0;for(let Q of X)Y+=J.substring(Z,Q.column-1),Z=Q.column-1,Y+=Q.options.content;return Y+=J.substring(Z),Y}static fromDecorations(J){let X=[];for(let Y of J){if(Y.options.before&&Y.options.before.content.length>0)X.push(new s9(Y.ownerId,Y.range.startLineNumber,Y.range.startColumn,Y.options.before,0));if(Y.options.after&&Y.options.after.content.length>0)X.push(new s9(Y.ownerId,Y.range.endLineNumber,Y.range.endColumn,Y.options.after,1))}return X.sort((Y,Z)=>{if(Y.lineNumber===Z.lineNumber){if(Y.column===Z.column)return Y.order-Z.order;return Y.column-Z.column}return Y.lineNumber-Z.lineNumber}),X}constructor(J,X,Y,Z,Q){this.ownerId=J,this.lineNumber=X,this.column=Y,this.options=Z,this.order=Q}}class PN{constructor(J,X){this.changeType=2,this.lineNumber=J,this.lineNumberPostEdit=X}}class gf{constructor(J,X,Y,Z){this.ownerId=J,this.decorationId=X,this.lineNumber=Y,this.lineHeightMultiplier=Z}}class pf{constructor(J,X){this.ownerId=J,this.lineNumber=X}}class mf{constructor(J,X,Y){this.changeType=3,this.fromLineNumber=J,this.toLineNumber=X,this.lastUntouchedLinePostEdit=Y}}class uf{get toLineNumber(){return this.fromLineNumber+this.count-1}get toLineNumberPostEdit(){return this.fromLineNumberPostEdit+this.count-1}constructor(J,X,Y){this.changeType=4,this.fromLineNumber=J,this.fromLineNumberPostEdit=X,this.count=Y}}class cf{constructor(){this.changeType=5}}class xG{constructor(J,X,Y,Z){this.changes=J,this.versionId=X,this.isUndoing=Y,this.isRedoing=Z,this.resultingSelection=null}containsEvent(J){for(let X=0,Y=this.changes.length;X<Y;X++)if(this.changes[X].changeType===J)return!0;return!1}static merge(J,X){let Y=[].concat(J.changes).concat(X.changes),Z=X.versionId,Q=J.isUndoing||X.isUndoing,$=J.isRedoing||X.isRedoing;return new xG(Y,Z,Q,$)}}class KB{constructor(J){this.changes=J}}class jB{constructor(J){this.changes=J}}class WB{constructor(J){this.changes=J}}class CQ{constructor(J,X){this.rawContentChangedEvent=J,this.contentChangedEvent=X}merge(J){let X=xG.merge(this.rawContentChangedEvent,J.rawContentChangedEvent),Y=CQ._mergeChangeEvents(this.contentChangedEvent,J.contentChangedEvent);return new CQ(X,Y)}static _mergeChangeEvents(J,X){let Y=[].concat(J.changes).concat(X.changes),Z=X.eol,Q=X.versionId,$=J.isUndoing||X.isUndoing,q=J.isRedoing||X.isRedoing,G=J.isFlush||X.isFlush,U=J.isEolChange&&X.isEolChange;return{changes:Y,eol:Z,isEolChange:U,versionId:Q,isUndoing:$,isRedoing:q,isFlush:G,detailedReasons:J.detailedReasons.concat(X.detailedReasons),detailedReasonsChangeLengths:J.detailedReasonsChangeLengths.concat(X.detailedReasonsChangeLengths)}}}var mF0=q4(\"domLineBreaksComputer\",{createHTML:(J)=>J});class DN{static create(J){return new DN(new WeakRef(J))}constructor(J){this.targetWindow=J}createLineBreaksComputer(J,X,Y,Z,Q,$,q){let G=[];return{addRequest:(U,H)=>{G.push(U)},finalize:()=>{return uF0(qq(this.targetWindow.deref()),J,G,X,Y,Z,Q,$)}}}}function uF0(J,X,Y,Z,Q,$,q,G){function U(I){let S=X.getLineInjectedText(I);if(S){let h=X.getLineContent(I),u=s9.applyInjectedText(h,S),p=S.map((l)=>l.options),s=S.map((l)=>l.column-1);return new p2(s,p,[u.length],[],0)}else return null}if($===-1){let I=[];for(let S=0,h=Y.length;S<h;S++)I[S]=U(Y[S]);return I}let H=Math.round($*Z.typicalHalfwidthCharacterWidth),K=Math.round(Q*(q===3?2:q===2?1:0)),j=Math.ceil(Z.spaceWidth*K),W=document.createElement(\"div\");B6(W,Z);let z=new h9(1e4),B=[],P=[],_=[],A=[],O=[];for(let I=0;I<Y.length;I++){let S=Y[I],h=s9.applyInjectedText(X.getLineContent(S),X.getLineInjectedText(S)),u=0,p=0,s=H;if(q!==0)if(u=b6(h),u===-1)u=0;else{for(let V0=0;V0<u;V0++){let e=h.charCodeAt(V0)===9?Q-p%Q:1;p+=e}let X0=Math.ceil(Z.spaceWidth*p);if(X0+Z.typicalFullwidthCharacterWidth>H)u=0,p=0;else s=H-X0}let l=h.substr(u),n=cF0(l,p,Q,s,z,j);B[I]=u,P[I]=p,_[I]=l,A[I]=n[0],O[I]=n[1]}let D=z.build(),R=mF0?.createHTML(D)??D;if(W.innerHTML=R,W.style.position=\"absolute\",W.style.top=\"10000px\",G===\"keepAll\")W.style.wordBreak=\"keep-all\",W.style.overflowWrap=\"anywhere\";else W.style.wordBreak=\"inherit\",W.style.overflowWrap=\"break-word\";J.document.body.appendChild(W);let N=document.createRange(),w=Array.prototype.slice.call(W.children,0),k=[];for(let I=0;I<Y.length;I++){let S=Y[I],h=w[I],u=dF0(N,h,_[I],A[I]);if(u===null){k[I]=U(S);continue}let p=B[I],s=P[I]+K,l=O[I],n=[];for(let L0=0,k0=u.length;L0<k0;L0++)n[L0]=l[u[L0]];if(p!==0)for(let L0=0,k0=u.length;L0<k0;L0++)u[L0]+=p;let X0,V0,e=X.getLineInjectedText(S);if(e)X0=e.map((L0)=>L0.options),V0=e.map((L0)=>L0.column-1);else X0=null,V0=null;k[I]=new p2(V0,X0,u,n,s)}return W.remove(),k}function cF0(J,X,Y,Z,Q,$){if($!==0){let j=String($);Q.appendString('<div style=\"text-indent: -'),Q.appendString(j),Q.appendString(\"px; padding-left: \"),Q.appendString(j),Q.appendString(\"px; box-sizing: border-box; width:\")}else Q.appendString('<div style=\"width:');Q.appendString(String(Z)),Q.appendString('px;\">');let q=J.length,G=X,U=0,H=[],V=[],K=0<q?J.charCodeAt(0):0;Q.appendString(\"<span>\");for(let j=0;j<q;j++){if(j!==0&&j%16384===0)Q.appendString(\"</span><span>\");H[j]=U,V[j]=G;let W=K;K=j+1<q?J.charCodeAt(j+1):0;let z=1,B=1;switch(W){case 9:z=Y-G%Y,B=z;for(let P=1;P<=z;P++)if(P<z)Q.appendCharCode(160);else Q.appendASCIICharCode(32);break;case 32:if(K===32)Q.appendCharCode(160);else Q.appendASCIICharCode(32);break;case 60:Q.appendString(\"&lt;\");break;case 62:Q.appendString(\"&gt;\");break;case 38:Q.appendString(\"&amp;\");break;case 0:Q.appendString(\"&#00;\");break;case 65279:case 8232:case 8233:case 133:Q.appendCharCode(65533);break;default:if(T4(W))B++;if(W<32)Q.appendCharCode(9216+W);else Q.appendCharCode(W)}U+=z,G+=B}return Q.appendString(\"</span>\"),H[J.length]=U,V[J.length]=G,Q.appendString(\"</div>\"),[H,V]}function dF0(J,X,Y,Z){if(Y.length<=1)return null;let Q=Array.prototype.slice.call(X.children,0),$=[];try{lf(J,Q,Z,0,null,Y.length-1,null,$)}catch(q){return console.error(q),null}if($.length===0)return null;return $.push(Y.length),$}function lf(J,X,Y,Z,Q,$,q,G){if(Z===$)return;if(Q=Q||df(J,X,Y[Z],Y[Z+1]),q=q||df(J,X,Y[$],Y[$+1]),Math.abs(Q[0].top-q[0].top)<=0.1)return;if(Z+1===$){G.push($);return}let U=Z+($-Z)/2|0,H=df(J,X,Y[U],Y[U+1]);lf(J,X,Y,Z,Q,U,H,G),lf(J,X,Y,U,H,$,q,G)}function df(J,X,Y,Z){return J.setStart(X[Y/16384|0].firstChild,Y%16384),J.setEnd(X[Z/16384|0].firstChild,Z%16384),J.getClientRects()}class sf extends y{constructor(){super();this._editor=null,this._instantiationService=null,this._instances=this._register(new VX),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(J,X,Y){this._editor=J,this._instantiationService=Y;for(let Z of X){if(this._pending.has(Z.id)){b0(Error(`Cannot have two contributions with the same id ${Z.id}`));continue}this._pending.set(Z.id,Z)}this._instantiateSome(0),this._register(hz(Q0(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(hz(Q0(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(hz(Q0(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5000))}saveViewState(){let J={};for(let[X,Y]of this._instances)if(typeof Y.saveViewState===\"function\")J[X]=Y.saveViewState();return J}restoreViewState(J){for(let[X,Y]of this._instances)if(typeof Y.restoreViewState===\"function\")Y.restoreViewState(J[X])}get(J){return this._instantiateById(J),this._instances.get(J)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return hz(Q0(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(J){if(this._finishedInstantiation[J])return;this._finishedInstantiation[J]=!0;let X=this._findPendingContributionsByInstantiation(J);for(let Y of X)this._instantiateById(Y.id)}_findPendingContributionsByInstantiation(J){let X=[];for(let[,Y]of this._pending)if(Y.instantiation===J)X.push(Y);return X}_instantiateById(J){let X=this._pending.get(J);if(!X)return;if(this._pending.delete(J),!this._instantiationService||!this._editor)throw Error(\"Cannot instantiate contributions before being initialized!\");try{let Y=this._instantiationService.createInstance(X.ctor,this._editor);if(this._instances.set(X.id,Y),typeof Y.restoreViewState===\"function\"&&X.instantiation!==0)console.warn(`Editor contribution '${X.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(Y){b0(Y)}}}class zB{constructor(J,X,Y,Z,Q,$,q){this.id=J,this.label=X,this.alias=Y,this.metadata=Z,this._precondition=Q,this._run=$,this._contextKeyService=q}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(J){if(!this.isSupported())return Promise.resolve(void 0);return this._run(J)}}var f70;function h70(J,X){let Y=[],Z=[];for(let Q of J)if(!X.has(Q))Y.push(Q);for(let Q of X)if(!J.has(Q))Z.push(Q);return{removed:Y,added:Z}}function ON(J,X){let Y=new Set;for(let Z of X)if(J.has(Z))Y.add(Z);return Y}class MN{static{f70=Symbol.toStringTag}constructor(J,X){this.toKey=X,this._map=new Map,this[f70]=\"SetWithKey\";for(let Y of J)this.add(Y)}get size(){return this._map.size}add(J){let X=this.toKey(J);return this._map.set(X,J),this}delete(J){return this._map.delete(this.toKey(J))}has(J){return this._map.has(this.toKey(J))}*entries(){for(let J of this._map.values())yield[J,J]}keys(){return this.values()}*values(){for(let J of this._map.values())yield J}clear(){this._map.clear()}forEach(J,X){this._map.forEach((Y)=>J.call(X,Y,Y,this))}[Symbol.iterator](){return this.values()}}var KK=W0(\"undoRedoService\");class RN{constructor(J,X){this.resource=J,this.elements=X}}class FB{static{this._ID=0}constructor(){this.id=FB._ID++,this.order=1}nextOrder(){if(this.id===0)return 0;return this.order++}static{this.None=new FB}}class SQ{static{this._ID=0}constructor(){this.id=SQ._ID++,this.order=1}nextOrder(){if(this.id===0)return 0;return this.order++}static{this.None=new SQ}}function K9(J){let X=0,Y=0,Z=0,Q=0;for(let $=0,q=J.length;$<q;$++){let G=J.charCodeAt($);if(G===13){if(X===0)Y=$;if(X++,$+1<q&&J.charCodeAt($+1)===10)Q|=2,$++;else Q|=3;Z=$+1}else if(G===10){if(Q|=1,X===0)Y=$;X++,Z=$+1}}if(X===0)Y=J.length;return[X,Y,J.length-Z,Q]}var lF0=Symbol(\"TextModelEditSource\");class wN{constructor(J,X){this.metadata=J}toString(){return`${this.metadata.source}`}getType(){let J=this.metadata;switch(J.source){case\"cursor\":return J.kind;case\"inlineCompletionAccept\":return J.source+(J.$nes?\":nes\":\"\");case\"unknown\":return J.name||\"unknown\";default:return J.source}}toKey(J,X={}){let Y=this.metadata;return Object.entries(Y).filter(([Q,$])=>{let q=X[Q];if(q!==void 0)return q;return(Q.match(/\\$/g)||[]).length<=J&&$!==void 0&&$!==null&&$!==\"\"}).map(([Q,$])=>`${Q}:${$}`).join(\"-\")}}function V4(J){return new wN(J,lF0)}var W7={unknown(J){return V4({source:\"unknown\",name:J.name})},rename:(J,X)=>V4({source:\"rename\",$$$oldName:J,$$$newName:X}),chatApplyEdits(J){return V4({source:\"Chat.applyEdits\",$modelId:v70(J.modelId),$extensionId:J.extensionId?.extensionId,$extensionVersion:J.extensionId?.version,$$languageId:J.languageId,$$sessionId:J.sessionId,$$requestId:J.requestId,$$mode:J.mode,$$codeBlockSuggestionId:J.codeBlockSuggestionId})},chatUndoEdits:()=>V4({source:\"Chat.undoEdits\"}),chatReset:()=>V4({source:\"Chat.reset\"}),inlineCompletionAccept(J){return V4({source:\"inlineCompletionAccept\",$nes:J.nes,...NN(J.providerId),$$correlationId:J.correlationId,$$requestUuid:J.requestUuid,$$languageId:J.languageId})},inlineCompletionPartialAccept(J){return V4({source:\"inlineCompletionPartialAccept\",type:J.type,$nes:J.nes,...NN(J.providerId),$$correlationId:J.correlationId,$$requestUuid:J.requestUuid,$$languageId:J.languageId})},inlineChatApplyEdit(J){return V4({source:\"inlineChat.applyEdits\",$modelId:v70(J.modelId),$extensionId:J.extensionId?.extensionId,$extensionVersion:J.extensionId?.version,$$sessionId:J.sessionId,$$requestId:J.requestId,$$languageId:J.languageId})},reloadFromDisk:()=>V4({source:\"reloadFromDisk\"}),cursor(J){return V4({source:\"cursor\",kind:J.kind,detailedSource:J.detailedSource})},setValue:()=>V4({source:\"setValue\"}),eolChange:()=>V4({source:\"eolChange\"}),applyEdits:()=>V4({source:\"applyEdits\"}),snippet:()=>V4({source:\"snippet\"}),suggest:(J)=>V4({source:\"suggest\",...NN(J.providerId)}),codeAction:(J)=>V4({source:\"codeAction\",$kind:J.kind,...NN(J.providerId)})};function NN(J){if(!J)return{};return{$extensionId:J.extensionId,$extensionVersion:J.extensionVersion,$providerId:J.providerId}}function v70(J){if(J===void 0)return;return J.replaceAll(\"/\",\"|\")}class BB{static fromText(J){let X=f6.ofText(J).lineCount,Y=J.length;return new BB(X,0,Y,0)}static tryCreate(J,X,Y,Z){if(J===void 0||X===void 0||Y===void 0||Z===void 0)return;return new BB(J,X,Y,Z)}constructor(J,X,Y,Z){this.linesAdded=J,this.linesRemoved=X,this.charsAdded=Y,this.charsRemoved=Z}}var g70;(function(J){function X(Y){let Z=Y?Y(\"sgt\"):y80(\"sgt\");return sF0(Z)}J.newId=X})(g70||(g70={}));function sF0(J){return J}class TN{constructor(J,X,Y,Z){this.range=J,this.nestingLevel=X,this.nestingLevelOfEqualBracketType=Y,this.isInvalid=Z}}class p70{constructor(J,X,Y,Z,Q,$){this.range=J,this.openingBracketRange=X,this.closingBracketRange=Y,this.nestingLevel=Z,this.nestingLevelOfEqualBracketType=Q,this.bracketPairNode=$}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class af extends p70{constructor(J,X,Y,Z,Q,$,q){super(J,X,Y,Z,Q,$);this.minVisibleColumnIndentation=q}}function m70(J,X,Y,Z){return J!==Y?I6(Y-J,Z):I6(0,Z-X)}var B5=0;function jK(J){return J===0}var j9=67108864;function I6(J,X){return J*j9+X}function f7(J){let X=J,Y=Math.floor(X/j9),Z=X-Y*j9;return new f6(Y,Z)}function u70(J){return Math.floor(J/j9)}function rf(J){return J}function k6(J,X){let Y=J+X;if(X>=j9)Y=Y-J%j9;return Y}function c70(J,X){return J.reduce((Y,Z)=>k6(Y,X(Z)),B5)}function of(J,X){return J===X}function bG(J,X){let Y=J,Z=X;if(Z-Y<=0)return B5;let $=Math.floor(Y/j9),q=Math.floor(Z/j9),G=Z-q*j9;if($===q){let U=Y-$*j9;return I6(0,G-U)}else return I6(q-$,G)}function fQ(J,X){return J<X}function m2(J,X){return J<=X}function WK(J,X){return J>=X}function u2(J){return I6(J.lineNumber-1,J.column-1)}function c2(J,X){let Y=J,Z=Math.floor(Y/j9),Q=Y-Z*j9,$=X,q=Math.floor($/j9),G=$-q*j9;return new T(Z+1,Q+1,q+1,G+1)}function d70(J){let X=NJ(J);return I6(X.length-1,X[X.length-1].length)}class dJ{static fromModelContentChanges(J){return J.map((Y)=>{let Z=T.lift(Y.range);return new dJ(u2(Z.getStartPosition()),u2(Z.getEndPosition()),d70(Y.text))}).reverse()}constructor(J,X,Y){this.startOffset=J,this.endOffset=X,this.newLength=Y}toString(){return`[${f7(this.startOffset)}...${f7(this.endOffset)}) -> ${f7(this.newLength)}`}}class nf{constructor(J){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=J.map((X)=>tf.from(X))}getOffsetBeforeChange(J){return this.adjustNextEdit(J),this.translateCurToOld(J)}getDistanceToNextChange(J){this.adjustNextEdit(J);let X=this.edits[this.nextEditIdx],Y=X?this.translateOldToCur(X.offsetObj):null;if(Y===null)return null;return bG(J,Y)}translateOldToCur(J){if(J.lineCount===this.deltaLineIdxInOld)return I6(J.lineCount+this.deltaOldToNewLineCount,J.columnCount+this.deltaOldToNewColumnCount);else return I6(J.lineCount+this.deltaOldToNewLineCount,J.columnCount)}translateCurToOld(J){let X=f7(J);if(X.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld)return I6(X.lineCount-this.deltaOldToNewLineCount,X.columnCount-this.deltaOldToNewColumnCount);else return I6(X.lineCount-this.deltaOldToNewLineCount,X.columnCount)}adjustNextEdit(J){while(this.nextEditIdx<this.edits.length){let X=this.edits[this.nextEditIdx],Y=this.translateOldToCur(X.endOffsetAfterObj);if(m2(Y,J)){this.nextEditIdx++;let Z=f7(Y),Q=f7(this.translateOldToCur(X.endOffsetBeforeObj)),$=Z.lineCount-Q.lineCount;this.deltaOldToNewLineCount+=$;let q=this.deltaLineIdxInOld===X.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,G=Z.columnCount-Q.columnCount;this.deltaOldToNewColumnCount=q+G,this.deltaLineIdxInOld=X.endOffsetBeforeObj.lineCount}else break}}}class tf{static from(J){return new tf(J.startOffset,J.endOffset,J.newLength)}constructor(J,X,Y){this.endOffsetBeforeObj=f7(X),this.endOffsetAfterObj=f7(k6(J,Y)),this.offsetObj=f7(J)}}var LN=[];class q8{static{this.cache=Array(129)}static create(J,X){if(J<=128&&X.length===0){let Y=q8.cache[J];if(!Y)Y=new q8(J,X),q8.cache[J]=Y;return Y}return new q8(J,X)}static{this.empty=q8.create(0,LN)}static getEmpty(){return this.empty}constructor(J,X){this.items=J,this.additionalItems=X}add(J,X){let Y=X.getKey(J),Z=Y>>5;if(Z===0){let $=1<<Y|this.items;if($===this.items)return this;return q8.create($,this.additionalItems)}Z--;let Q=this.additionalItems.slice(0);while(Q.length<Z)Q.push(0);return Q[Z]|=1<<(Y&31),q8.create(this.items,Q)}merge(J){let X=this.items|J.items;if(this.additionalItems===LN&&J.additionalItems===LN){if(X===this.items)return this;if(X===J.items)return J;return q8.create(X,LN)}let Y=[];for(let Z=0;Z<Math.max(this.additionalItems.length,J.additionalItems.length);Z++){let Q=this.additionalItems[Z]||0,$=J.additionalItems[Z]||0;Y.push(Q|$)}return q8.create(X,Y)}intersects(J){if((this.items&J.items)!==0)return!0;for(let X=0;X<Math.min(this.additionalItems.length,J.additionalItems.length);X++)if((this.additionalItems[X]&J.additionalItems[X])!==0)return!0;return!1}}var ef={getKey(J){return J}};class Jh{constructor(){this.items=new Map}getKey(J){let X=this.items.get(J);if(X===void 0)X=this.items.size,this.items.set(J,X);return X}}class kN{get length(){return this._length}constructor(J){this._length=J}}class zK extends kN{static create(J,X,Y){let Z=J.length;if(X)Z=k6(Z,X.length);if(Y)Z=k6(Z,Y.length);return new zK(Z,J,X,Y,X?X.missingOpeningBracketIds:q8.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(J){switch(J){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw Error(\"Invalid child index\")}get children(){let J=[];if(J.push(this.openingBracket),this.child)J.push(this.child);if(this.closingBracket)J.push(this.closingBracket);return J}constructor(J,X,Y,Z,Q){super(J);this.openingBracket=X,this.child=Y,this.closingBracket=Z,this.missingOpeningBracketIds=Q}canBeReused(J){if(this.closingBracket===null)return!1;if(J.intersects(this.missingOpeningBracketIds))return!1;return!0}deepClone(){return new zK(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(J,X){return this.child?this.child.computeMinIndentation(k6(J,this.openingBracket.length),X):Number.MAX_SAFE_INTEGER}}class a9 extends kN{static create23(J,X,Y,Z=!1){let{length:Q,missingOpeningBracketIds:$}=J;if(J.listHeight!==X.listHeight)throw Error(\"Invalid list heights\");if(Q=k6(Q,X.length),$=$.merge(X.missingOpeningBracketIds),Y){if(J.listHeight!==Y.listHeight)throw Error(\"Invalid list heights\");Q=k6(Q,Y.length),$=$.merge(Y.missingOpeningBracketIds)}return Z?new l70(Q,J.listHeight+1,J,X,Y,$):new _B(Q,J.listHeight+1,J,X,Y,$)}static getEmpty(){return new s70(B5,0,[],q8.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(J,X,Y){super(J);this.listHeight=X,this._missingOpeningBracketIds=Y,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();let J=this.childrenLength;if(J===0)return;let X=this.getChild(J-1),Y=X.kind===4?X.toMutable():X;if(X!==Y)this.setChild(J-1,Y);return Y}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;let X=this.getChild(0),Y=X.kind===4?X.toMutable():X;if(X!==Y)this.setChild(0,Y);return Y}canBeReused(J){if(J.intersects(this.missingOpeningBracketIds))return!1;if(this.childrenLength===0)return!1;let X=this;while(X.kind===4){let Y=X.childrenLength;if(Y===0)throw new j0;X=X.getChild(Y-1)}return X.canBeReused(J)}handleChildrenChanged(){this.throwIfImmutable();let J=this.childrenLength,X=this.getChild(0).length,Y=this.getChild(0).missingOpeningBracketIds;for(let Z=1;Z<J;Z++){let Q=this.getChild(Z);X=k6(X,Q.length),Y=Y.merge(Q.missingOpeningBracketIds)}this._length=X,this._missingOpeningBracketIds=Y,this.cachedMinIndentation=-1}computeMinIndentation(J,X){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let Y=Number.MAX_SAFE_INTEGER,Z=J;for(let Q=0;Q<this.childrenLength;Q++){let $=this.getChild(Q);if($)Y=Math.min(Y,$.computeMinIndentation(Z,X)),Z=k6(Z,$.length)}return this.cachedMinIndentation=Y,Y}}class _B extends a9{get childrenLength(){return this._item3!==null?3:2}getChild(J){switch(J){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw Error(\"Invalid child index\")}setChild(J,X){switch(J){case 0:this._item1=X;return;case 1:this._item2=X;return;case 2:this._item3=X;return}throw Error(\"Invalid child index\")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(J,X,Y,Z,Q,$){super(J,X,$);this._item1=Y,this._item2=Z,this._item3=Q}deepClone(){return new _B(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(J){if(this._item3)throw Error(\"Cannot append to a full (2,3) tree node\");this.throwIfImmutable(),this._item3=J,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw Error(\"Cannot remove from a non-full (2,3) tree node\");this.throwIfImmutable();let J=this._item3;return this._item3=null,this.handleChildrenChanged(),J}prependChildOfSameHeight(J){if(this._item3)throw Error(\"Cannot prepend to a full (2,3) tree node\");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=J,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw Error(\"Cannot remove from a non-full (2,3) tree node\");this.throwIfImmutable();let J=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),J}toMutable(){return this}}class l70 extends _B{toMutable(){return new _B(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw Error(\"this instance is immutable\")}}class IN extends a9{get childrenLength(){return this._children.length}getChild(J){return this._children[J]}setChild(J,X){this._children[J]=X}get children(){return this._children}constructor(J,X,Y,Z){super(J,X,Z);this._children=Y}deepClone(){let J=Array(this._children.length);for(let X=0;X<this._children.length;X++)J[X]=this._children[X].deepClone();return new IN(this.length,this.listHeight,J,this.missingOpeningBracketIds)}appendChildOfSameHeight(J){this.throwIfImmutable(),this._children.push(J),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();let J=this._children.pop();return this.handleChildrenChanged(),J}prependChildOfSameHeight(J){this.throwIfImmutable(),this._children.unshift(J),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();let J=this._children.shift();return this.handleChildrenChanged(),J}toMutable(){return this}}class s70 extends IN{toMutable(){return new IN(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw Error(\"this instance is immutable\")}}var aF0=[];class EN extends kN{get listHeight(){return 0}get childrenLength(){return 0}getChild(J){return null}get children(){return aF0}deepClone(){return this}}class mY extends EN{get kind(){return 0}get missingOpeningBracketIds(){return q8.getEmpty()}canBeReused(J){return!0}computeMinIndentation(J,X){let Y=f7(J),Z=(Y.columnCount===0?Y.lineCount:Y.lineCount+1)+1,Q=u70(k6(J,this.length))+1,$=Number.MAX_SAFE_INTEGER;for(let q=Z;q<=Q;q++){let G=X.getLineFirstNonWhitespaceColumn(q),U=X.getLineContent(q);if(G===0)continue;let H=V1.visibleColumnFromColumn(U,G,X.getOptions().tabSize);$=Math.min($,H)}return $}}class AB extends EN{static create(J,X,Y){return new AB(J,X,Y)}get kind(){return 1}get missingOpeningBracketIds(){return q8.getEmpty()}constructor(J,X,Y){super(J);this.bracketInfo=X,this.bracketIds=Y}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(J){return!1}computeMinIndentation(J,X){return Number.MAX_SAFE_INTEGER}}class Xh extends EN{get kind(){return 3}constructor(J,X){super(X);this.missingOpeningBracketIds=J}canBeReused(J){return!J.intersects(this.missingOpeningBracketIds)}computeMinIndentation(J,X){return Number.MAX_SAFE_INTEGER}}class uY{constructor(J,X,Y,Z,Q){this.length=J,this.kind=X,this.bracketId=Y,this.bracketIds=Z,this.astNode=Q}}class Yh{constructor(J,X){this.textModel=J,this.bracketTokens=X,this.reader=new a70(this.textModel,this.bracketTokens),this._offset=B5,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=J.getLineCount(),this.textBufferLastLineLength=J.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return I6(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(J){this.didPeek=!1,this._offset=k6(this._offset,J);let X=f7(this._offset);this.reader.setPosition(X.lineCount,X.columnCount)}read(){let J;if(this.peeked)this.didPeek=!1,J=this.peeked;else J=this.reader.read();if(J)this._offset=k6(this._offset,J.length);return J}peek(){if(!this.didPeek)this.peeked=this.reader.read(),this.didPeek=!0;return this.peeked}}class a70{constructor(J,X){this.textModel=J,this.bracketTokens=X,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=J.getLineCount(),this.textBufferLastLineLength=J.getLineLength(this.textBufferLineCount)}setPosition(J,X){if(J===this.lineIdx){if(this.lineCharOffset=X,this.line!==null)this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset)}else this.lineIdx=J,this.lineCharOffset=X,this.line=null;this.peekedToken=null}read(){if(this.peekedToken){let Q=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=rf(Q.length),Q}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;if(this.line===null)this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset);let J=this.lineIdx,X=this.lineCharOffset,Y=0;while(!0){let Q=this.lineTokens,$=Q.getCount(),q=null;if(this.lineTokenOffset<$){let G=Q.getMetadata(this.lineTokenOffset);while(this.lineTokenOffset+1<$&&G===Q.getMetadata(this.lineTokenOffset+1))this.lineTokenOffset++;let U=I5.getTokenType(G)===0,H=I5.containsBalancedBrackets(G),V=Q.getEndOffset(this.lineTokenOffset);if(H&&U&&this.lineCharOffset<V){let K=Q.getLanguageId(this.lineTokenOffset),j=this.line.substring(this.lineCharOffset,V),W=this.bracketTokens.getSingleLanguageBracketTokens(K),z=W.regExpGlobal;if(z){z.lastIndex=0;let B=z.exec(j);if(B){if(q=W.getToken(B[0]),q)this.lineCharOffset+=B.index}}}if(Y+=V-this.lineCharOffset,q)if(J!==this.lineIdx||X!==this.lineCharOffset){this.peekedToken=q;break}else return this.lineCharOffset+=rf(q.length),q;else this.lineTokenOffset++,this.lineCharOffset=V}else{if(this.lineIdx===this.textBufferLineCount-1)break;if(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,Y+=33,Y>1000)break}if(Y>1500)break}let Z=m70(J,X,this.lineIdx,this.lineCharOffset);return new uY(Z,0,-1,q8.getEmpty(),new mY(Z))}}class Zh{constructor(J,X){this.text=J,this._offset=B5,this.idx=0;let Y=X.getRegExpStr(),Z=Y?new RegExp(Y+`|\n`,\"gi\"):null,Q=[],$,q=0,G=0,U=0,H=0,V=[];for(let W=0;W<60;W++)V.push(new uY(I6(0,W),0,-1,q8.getEmpty(),new mY(I6(0,W))));let K=[];for(let W=0;W<60;W++)K.push(new uY(I6(1,W),0,-1,q8.getEmpty(),new mY(I6(1,W))));if(Z){Z.lastIndex=0;while(($=Z.exec(J))!==null){let W=$.index,z=$[0];if(z===`\n`)q++,G=W+1;else{if(U!==W){let B;if(H===q){let P=W-U;if(P<V.length)B=V[P];else{let _=I6(0,P);B=new uY(_,0,-1,q8.getEmpty(),new mY(_))}}else{let P=q-H,_=W-G;if(P===1&&_<K.length)B=K[_];else{let A=I6(P,_);B=new uY(A,0,-1,q8.getEmpty(),new mY(A))}}Q.push(B)}Q.push(X.getToken(z)),U=W+z.length,H=q}}}let j=J.length;if(U!==j){let W=H===q?I6(0,j-U):I6(q-H,j-G);Q.push(new uY(W,0,-1,q8.getEmpty(),new mY(W)))}this.length=I6(q,j-G),this.tokens=Q}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(J){throw new by}}class Qh{static createFromLanguage(J,X){function Y(Q){return X.getKey(`${Q.languageId}:::${Q.bracketText}`)}let Z=new Map;for(let Q of J.bracketsNew.openingBrackets){let $=I6(0,Q.bracketText.length),q=Y(Q),G=q8.getEmpty().add(q,ef);Z.set(Q.bracketText,new uY($,1,q,G,AB.create($,Q,G)))}for(let Q of J.bracketsNew.closingBrackets){let $=I6(0,Q.bracketText.length),q=q8.getEmpty(),G=Q.getOpeningBrackets();for(let U of G)q=q.add(Y(U),ef);Z.set(Q.bracketText,new uY($,2,Y(G[0]),q,AB.create($,Q,q)))}return new Qh(Z)}constructor(J){this.map=J,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;else{let J=[...this.map.keys()];return J.sort(),J.reverse(),J.map((X)=>iF0(X)).join(\"|\")}}get regExpGlobal(){if(!this.hasRegExp){let J=this.getRegExpStr();this._regExpGlobal=J?new RegExp(J,\"gi\"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(J){return this.map.get(J.toLowerCase())}findClosingTokenText(J){for(let[X,Y]of this.map)if(Y.kind===2&&Y.bracketIds.intersects(J))return X;return}get isEmpty(){return this.map.size===0}}function iF0(J){let X=a8(J);if(/^[\\w ]+/.test(J))X=`\\\\b${X}`;if(/[\\w ]+$/.test(J))X=`${X}\\\\b`;return X}class $h{constructor(J,X){this.denseKeyProvider=J,this.getLanguageConfiguration=X,this.languageIdToBracketTokens=new Map}didLanguageChange(J){return this.languageIdToBracketTokens.has(J)}getSingleLanguageBracketTokens(J){let X=this.languageIdToBracketTokens.get(J);if(!X)X=Qh.createFromLanguage(this.getLanguageConfiguration(J),this.denseKeyProvider),this.languageIdToBracketTokens.set(J,X);return X}}function r70(J){if(J.length===0)return null;if(J.length===1)return J[0];let X=0;function Y(){if(X>=J.length)return null;let q=X,G=J[q].listHeight;X++;while(X<J.length&&J[X].listHeight===G)X++;if(X-q>=2)return Gh(q===0&&X===J.length?J:J.slice(q,X),!1);else return J[q]}let Z=Y(),Q=Y();if(!Q)return Z;for(let q=Y();q;q=Y())if(i70(Z,Q)<=i70(Q,q))Z=qh(Z,Q),Q=q;else Q=qh(Q,q);return qh(Z,Q)}function Gh(J,X=!1){if(J.length===0)return null;if(J.length===1)return J[0];let Y=J.length;while(Y>3){let Z=Y>>1;for(let Q=0;Q<Z;Q++){let $=Q<<1;J[Q]=a9.create23(J[$],J[$+1],$+3===Y?J[$+2]:null,X)}Y=Z}return a9.create23(J[0],J[1],Y>=3?J[2]:null,X)}function i70(J,X){return Math.abs(J.listHeight-X.listHeight)}function qh(J,X){if(J.listHeight===X.listHeight)return a9.create23(J,X,null,!1);else if(J.listHeight>X.listHeight)return rF0(J,X);else return oF0(X,J)}function rF0(J,X){J=J.toMutable();let Y=J,Z=[],Q;while(!0){if(X.listHeight===Y.listHeight){Q=X;break}if(Y.kind!==4)throw Error(\"unexpected\");Z.push(Y),Y=Y.makeLastElementMutable()}for(let $=Z.length-1;$>=0;$--){let q=Z[$];if(Q)if(q.childrenLength>=3)Q=a9.create23(q.unappendChild(),Q,null,!1);else q.appendChildOfSameHeight(Q),Q=void 0;else q.handleChildrenChanged()}if(Q)return a9.create23(J,Q,null,!1);else return J}function oF0(J,X){J=J.toMutable();let Y=J,Z=[];while(X.listHeight!==Y.listHeight){if(Y.kind!==4)throw Error(\"unexpected\");Z.push(Y),Y=Y.makeFirstElementMutable()}let Q=X;for(let $=Z.length-1;$>=0;$--){let q=Z[$];if(Q)if(q.childrenLength>=3)Q=a9.create23(Q,q.unprependChild(),null,!1);else q.prependChildOfSameHeight(Q),Q=void 0;else q.handleChildrenChanged()}if(Q)return a9.create23(Q,J,null,!1);else return J}class Hh{constructor(J){this.lastOffset=B5,this.nextNodes=[J],this.offsets=[B5],this.idxs=[]}readLongestNodeAt(J,X){if(fQ(J,this.lastOffset))throw Error(\"Invalid offset\");this.lastOffset=J;while(!0){let Y=PB(this.nextNodes);if(!Y)return;let Z=PB(this.offsets);if(fQ(J,Z))return;if(fQ(Z,J))if(k6(Z,Y.length)<=J)this.nextNodeAfterCurrent();else{let Q=Uh(Y);if(Q!==-1)this.nextNodes.push(Y.getChild(Q)),this.offsets.push(Z),this.idxs.push(Q);else this.nextNodeAfterCurrent()}else if(X(Y))return this.nextNodeAfterCurrent(),Y;else{let Q=Uh(Y);if(Q===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(Y.getChild(Q)),this.offsets.push(Z),this.idxs.push(Q)}}}nextNodeAfterCurrent(){while(!0){let J=PB(this.offsets),X=PB(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;let Y=PB(this.nextNodes),Z=Uh(Y,this.idxs[this.idxs.length-1]);if(Z!==-1){this.nextNodes.push(Y.getChild(Z)),this.offsets.push(k6(J,X.length)),this.idxs[this.idxs.length-1]=Z;break}else this.idxs.pop()}}}function Uh(J,X=-1){while(!0){if(X++,X>=J.childrenLength)return-1;if(J.getChild(X))return X}}function PB(J){return J.length>0?J[J.length-1]:void 0}function Vh(J,X,Y,Z){return new o70(J,X,Y,Z).parseDocument()}class o70{constructor(J,X,Y,Z){if(this.tokenizer=J,this.createImmutableLists=Z,this._itemsConstructed=0,this._itemsFromCache=0,Y&&Z)throw Error(\"Not supported\");this.oldNodeReader=Y?new Hh(Y):void 0,this.positionMapper=new nf(X)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let J=this.parseList(q8.getEmpty(),0);if(!J)J=a9.getEmpty();return J}parseList(J,X){let Y=[];while(!0){let Q=this.tryReadChildFromCache(J);if(!Q){let $=this.tokenizer.peek();if(!$||$.kind===2&&$.bracketIds.intersects(J))break;Q=this.parseChild(J,X+1)}if(Q.kind===4&&Q.childrenLength===0)continue;Y.push(Q)}return this.oldNodeReader?r70(Y):Gh(Y,this.createImmutableLists)}tryReadChildFromCache(J){if(this.oldNodeReader){let X=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(X===null||!jK(X)){let Y=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(Z)=>{if(X!==null&&!fQ(Z.length,X))return!1;return Z.canBeReused(J)});if(Y)return this._itemsFromCache++,this.tokenizer.skip(Y.length),Y}}return}parseChild(J,X){this._itemsConstructed++;let Y=this.tokenizer.read();switch(Y.kind){case 2:return new Xh(Y.bracketIds,Y.length);case 0:return Y.astNode;case 1:{if(X>300)return new mY(Y.length);let Z=J.merge(Y.bracketIds),Q=this.parseList(Z,X+1),$=this.tokenizer.peek();if($&&$.kind===2&&($.bracketId===Y.bracketId||$.bracketIds.intersects(Y.bracketIds)))return this.tokenizer.read(),zK.create(Y.astNode,Q,$.astNode);else return zK.create(Y.astNode,Q,null)}default:throw Error(\"unexpected\")}}}function FK(J,X){if(J.length===0)return X;if(X.length===0)return J;let Y=new AJ(n70(J)),Z=n70(X);Z.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let Q=Y.dequeue();function $(H){if(H===void 0){let K=Y.takeWhile((j)=>!0)||[];if(Q)K.unshift(Q);return K}let V=[];while(Q&&!jK(H)){let[K,j]=Q.splitAt(H);V.push(K),H=bG(K.lengthAfter,H),Q=j??Y.dequeue()}if(!jK(H))V.push(new d2(!1,H,H));return V}let q=[];function G(H,V,K){if(q.length>0&&of(q[q.length-1].endOffset,H)){let j=q[q.length-1];q[q.length-1]=new dJ(j.startOffset,V,k6(j.newLength,K))}else q.push({startOffset:H,endOffset:V,newLength:K})}let U=B5;for(let H of Z){let V=$(H.lengthBefore);if(H.modified){let K=c70(V,(W)=>W.lengthBefore),j=k6(U,K);G(U,j,H.lengthAfter),U=j}else for(let K of V){let j=U;if(U=k6(U,K.lengthBefore),K.modified)G(j,U,K.lengthAfter)}}return q}class d2{constructor(J,X,Y){this.modified=J,this.lengthBefore=X,this.lengthAfter=Y}splitAt(J){let X=bG(J,this.lengthAfter);if(of(X,B5))return[this,void 0];else if(this.modified)return[new d2(this.modified,this.lengthBefore,J),new d2(this.modified,B5,X)];else return[new d2(this.modified,J,J),new d2(this.modified,X,X)]}toString(){return`${this.modified?\"M\":\"U\"}:${f7(this.lengthBefore)} -> ${f7(this.lengthAfter)}`}}function n70(J){let X=[],Y=B5;for(let Z of J){let Q=bG(Y,Z.startOffset);if(!jK(Q))X.push(new d2(!1,Q,Q));let $=bG(Z.startOffset,Z.endOffset);X.push(new d2(!0,$,Z.newLength)),Y=Z.endOffset}return X}class Wh extends y{didLanguageChange(J){return this.brackets.didLanguageChange(J)}constructor(J,X){super();if(this.textModel=J,this.getLanguageConfiguration=X,this.didChangeEmitter=this._register(new E),this.denseKeyProvider=new Jh,this.brackets=new $h(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],!J.tokenization.hasTokens){let Y=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),Z=new Zh(this.textModel.getValue(),Y);this.initialAstWithoutTokens=Vh(Z,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}else if(J.tokenization.backgroundTokenizationState===2)this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1);else this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){let J=this.initialAstWithoutTokens===void 0;if(this.initialAstWithoutTokens=void 0,!J)this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:J}){let X=J.map((Y)=>new dJ(I6(Y.fromLineNumber-1,0),I6(Y.toLineNumber,0),I6(Y.toLineNumber-Y.fromLineNumber+1,0)));if(this.handleEdits(X,!0),!this.initialAstWithoutTokens)this.didChangeEmitter.fire()}handleContentChanged(J){let X=dJ.fromModelContentChanges(J.changes);this.handleEdits(X,!1)}handleEdits(J,X){let Y=FK(this.queuedTextEdits,J);if(this.queuedTextEdits=Y,this.initialAstWithoutTokens&&!X)this.queuedTextEditsForInitialAstWithoutTokens=FK(this.queuedTextEditsForInitialAstWithoutTokens,J)}flushQueue(){if(this.queuedTextEdits.length>0)this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[];if(this.queuedTextEditsForInitialAstWithoutTokens.length>0){if(this.initialAstWithoutTokens)this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1);this.queuedTextEditsForInitialAstWithoutTokens=[]}}parseDocumentFromTextBuffer(J,X,Y){let Z=X,Q=new Yh(this.textModel,this.brackets);return Vh(Q,J,Z,Y)}getBracketsInRange(J,X){this.flushQueue();let Y=I6(J.startLineNumber-1,J.startColumn-1),Z=I6(J.endLineNumber-1,J.endColumn-1);return new UX((Q)=>{let $=this.initialAstWithoutTokens||this.astWithTokens;Kh($,B5,$.length,Y,Z,Q,0,0,new Map,X)})}getBracketPairsInRange(J,X){this.flushQueue();let Y=u2(J.getStartPosition()),Z=u2(J.getEndPosition());return new UX((Q)=>{let $=this.initialAstWithoutTokens||this.astWithTokens,q=new J40(Q,X,this.textModel);jh($,B5,$.length,Y,Z,q,0,new Map)})}getFirstBracketAfter(J){this.flushQueue();let X=this.initialAstWithoutTokens||this.astWithTokens;return e70(X,B5,X.length,u2(J))}getFirstBracketBefore(J){this.flushQueue();let X=this.initialAstWithoutTokens||this.astWithTokens;return t70(X,B5,X.length,u2(J))}}function t70(J,X,Y,Z){if(J.kind===4||J.kind===2){let Q=[];for(let $ of J.children)Y=k6(X,$.length),Q.push({nodeOffsetStart:X,nodeOffsetEnd:Y}),X=Y;for(let $=Q.length-1;$>=0;$--){let{nodeOffsetStart:q,nodeOffsetEnd:G}=Q[$];if(fQ(q,Z)){let U=t70(J.children[$],q,G,Z);if(U)return U}}return null}else if(J.kind===3)return null;else if(J.kind===1){let Q=c2(X,Y);return{bracketInfo:J.bracketInfo,range:Q}}return null}function e70(J,X,Y,Z){if(J.kind===4||J.kind===2){for(let Q of J.children){if(Y=k6(X,Q.length),fQ(Z,Y)){let $=e70(Q,X,Y,Z);if($)return $}X=Y}return null}else if(J.kind===3)return null;else if(J.kind===1){let Q=c2(X,Y);return{bracketInfo:J.bracketInfo,range:Q}}return null}function Kh(J,X,Y,Z,Q,$,q,G,U,H,V=!1){if(q>200)return!0;J:while(!0)switch(J.kind){case 4:{let K=J.childrenLength;for(let j=0;j<K;j++){let W=J.getChild(j);if(!W)continue;if(Y=k6(X,W.length),m2(X,Q)&&WK(Y,Z)){if(WK(Y,Q)){J=W;continue J}if(!Kh(W,X,Y,Z,Q,$,q,0,U,H))return!1}X=Y}return!0}case 2:{let K=!H||!J.closingBracket||J.closingBracket.bracketInfo.closesColorized(J.openingBracket.bracketInfo),j=0;if(U){let z=U.get(J.openingBracket.text);if(z===void 0)z=0;if(j=z,K)z++,U.set(J.openingBracket.text,z)}let W=J.childrenLength;for(let z=0;z<W;z++){let B=J.getChild(z);if(!B)continue;if(Y=k6(X,B.length),m2(X,Q)&&WK(Y,Z)){if(WK(Y,Q)&&B.kind!==1){if(J=B,K)q++,G=j+1;else G=j;continue J}if(K||B.kind!==1||!J.closingBracket){if(!Kh(B,X,Y,Z,Q,$,K?q+1:q,K?j+1:j,U,H,!J.closingBracket))return!1}}X=Y}return U?.set(J.openingBracket.text,j),!0}case 3:{let K=c2(X,Y);return $(new TN(K,q-1,0,!0))}case 1:{let K=c2(X,Y);return $(new TN(K,q-1,G-1,V))}case 0:return!0}}class J40{constructor(J,X,Y){this.push=J,this.includeMinIndentation=X,this.textModel=Y}}function jh(J,X,Y,Z,Q,$,q,G){if(q>200)return!0;let U=!0;if(J.kind===2){let H=0;if(G){let j=G.get(J.openingBracket.text);if(j===void 0)j=0;H=j,j++,G.set(J.openingBracket.text,j)}let V=k6(X,J.openingBracket.length),K=-1;if($.includeMinIndentation)K=J.computeMinIndentation(X,$.textModel);if(U=$.push(new af(c2(X,Y),c2(X,V),J.closingBracket?c2(k6(V,J.child?.length||B5),Y):void 0,q,H,J,K)),X=V,U&&J.child){let j=J.child;if(Y=k6(X,j.length),m2(X,Q)&&WK(Y,Z)){if(U=jh(j,X,Y,Z,Q,$,q+1,G),!U)return!1}}G?.set(J.openingBracket.text,H)}else{let H=X;for(let V of J.children){let K=H;if(H=k6(H,V.length),m2(K,Q)&&m2(Z,H)){if(U=jh(V,K,H,Z,Q,$,q,G),!U)return!1}}}return U}class Fh extends y{get canBuildAST(){return this.textModel.getValueLength()<=5000000}constructor(J,X){super();this.textModel=J,this.languageConfigurationService=X,this.bracketPairsTree=this._register(new Q1),this.onDidChangeEmitter=this._register(new E),this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(J){if(!J.languageId||this.bracketPairsTree.value?.object.didLanguageChange(J.languageId))this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeOptions(J){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(J){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(J){this.bracketPairsTree.value?.object.handleContentChanged(J)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(J){this.bracketPairsTree.value?.object.handleDidChangeTokens(J)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){let J=new a;this.bracketPairsTree.value=nF0(J.add(new Wh(this.textModel,(X)=>{return this.languageConfigurationService.getLanguageConfiguration(X)})),J),J.add(this.bracketPairsTree.value.object.onDidChange((X)=>this.onDidChangeEmitter.fire(X))),this.onDidChangeEmitter.fire()}}else if(this.bracketPairsTree.value)this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire()}getBracketPairsInRange(J){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(J,!1)||UX.empty}getBracketPairsInRangeWithMinIndentation(J){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(J,!0)||UX.empty}getBracketsInRange(J,X=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(J,X)||UX.empty}findMatchingBracketUp(J,X,Y){let Z=this.textModel.validatePosition(X),Q=this.textModel.getLanguageIdAtPosition(Z.lineNumber,Z.column);if(this.canBuildAST){let $=this.languageConfigurationService.getLanguageConfiguration(Q).bracketsNew.getClosingBracketInfo(J);if(!$)return null;let q=this.getBracketPairsInRange(T.fromPositions(X,X)).findLast((G)=>$.closes(G.openingBracketInfo));if(q)return q.openingBracketRange;return null}else{let $=J.toLowerCase(),q=this.languageConfigurationService.getLanguageConfiguration(Q).brackets;if(!q)return null;let G=q.textIsBracket[$];if(!G)return null;return yN(this._findMatchingBracketUp(G,Z,zh(Y)))}}matchBracket(J,X){if(this.canBuildAST){let Y=this.getBracketPairsInRange(T.fromPositions(J,J)).filter((Z)=>Z.closingBracketRange!==void 0&&(Z.openingBracketRange.containsPosition(J)||Z.closingBracketRange.containsPosition(J))).findLastMaxBy(V5((Z)=>Z.openingBracketRange.containsPosition(J)?Z.openingBracketRange:Z.closingBracketRange,T.compareRangesUsingStarts));if(Y)return[Y.openingBracketRange,Y.closingBracketRange];return null}else{let Y=zh(X);return this._matchBracket(this.textModel.validatePosition(J),Y)}}_establishBracketSearchOffsets(J,X,Y,Z){let Q=X.getCount(),$=X.getLanguageId(Z),q=Math.max(0,J.column-1-Y.maxBracketLength);for(let U=Z-1;U>=0;U--){let H=X.getEndOffset(U);if(H<=q)break;if(fJ(X.getStandardTokenType(U))||X.getLanguageId(U)!==$){q=H;break}}let G=Math.min(X.getLineContent().length,J.column-1+Y.maxBracketLength);for(let U=Z+1;U<Q;U++){let H=X.getStartOffset(U);if(H>=G)break;if(fJ(X.getStandardTokenType(U))||X.getLanguageId(U)!==$){G=H;break}}return{searchStartOffset:q,searchEndOffset:G}}_matchBracket(J,X){let Y=J.lineNumber,Z=this.textModel.tokenization.getLineTokens(Y),Q=this.textModel.getLineContent(Y),$=Z.findTokenIndexAtOffset(J.column-1);if($<0)return null;let q=this.languageConfigurationService.getLanguageConfiguration(Z.getLanguageId($)).brackets;if(q&&!fJ(Z.getStandardTokenType($))){let{searchStartOffset:G,searchEndOffset:U}=this._establishBracketSearchOffsets(J,Z,q,$),H=null;while(!0){let V=E4.findNextBracketInRange(q.forwardRegex,Y,Q,G,U);if(!V)break;if(V.startColumn<=J.column&&J.column<=V.endColumn){let K=Q.substring(V.startColumn-1,V.endColumn-1).toLowerCase(),j=this._matchFoundBracket(V,q.textIsBracket[K],q.textIsOpenBracket[K],X);if(j){if(j instanceof hQ)return null;H=j}}G=V.endColumn-1}if(H)return H}if($>0&&Z.getStartOffset($)===J.column-1){let G=$-1,U=this.languageConfigurationService.getLanguageConfiguration(Z.getLanguageId(G)).brackets;if(U&&!fJ(Z.getStandardTokenType(G))){let{searchStartOffset:H,searchEndOffset:V}=this._establishBracketSearchOffsets(J,Z,U,G),K=E4.findPrevBracketInRange(U.reversedRegex,Y,Q,H,V);if(K&&K.startColumn<=J.column&&J.column<=K.endColumn){let j=Q.substring(K.startColumn-1,K.endColumn-1).toLowerCase(),W=this._matchFoundBracket(K,U.textIsBracket[j],U.textIsOpenBracket[j],X);if(W){if(W instanceof hQ)return null;return W}}}}return null}_matchFoundBracket(J,X,Y,Z){if(!X)return null;let Q=Y?this._findMatchingBracketDown(X,J.getEndPosition(),Z):this._findMatchingBracketUp(X,J.getStartPosition(),Z);if(!Q)return null;if(Q instanceof hQ)return Q;return[J,Q]}_findMatchingBracketUp(J,X,Y){let{languageId:Z,reversedRegex:Q}=J,$=-1,q=0,G=(U,H,V,K)=>{while(!0){if(Y&&++q%100===0&&!Y())return hQ.INSTANCE;let j=E4.findPrevBracketInRange(Q,U,H,V,K);if(!j)break;let W=H.substring(j.startColumn-1,j.endColumn-1).toLowerCase();if(J.isOpen(W))$++;else if(J.isClose(W))$--;if($===0)return j;K=j.startColumn-1}return null};for(let U=X.lineNumber;U>=1;U--){let H=this.textModel.tokenization.getLineTokens(U),V=H.getCount(),K=this.textModel.getLineContent(U),j=V-1,W=K.length,z=K.length;if(U===X.lineNumber)j=H.findTokenIndexAtOffset(X.column-1),W=X.column-1,z=X.column-1;let B=!0;for(;j>=0;j--){let P=H.getLanguageId(j)===Z&&!fJ(H.getStandardTokenType(j));if(P)if(B)W=H.getStartOffset(j);else W=H.getStartOffset(j),z=H.getEndOffset(j);else if(B&&W!==z){let _=G(U,K,W,z);if(_)return _}B=P}if(B&&W!==z){let P=G(U,K,W,z);if(P)return P}}return null}_findMatchingBracketDown(J,X,Y){let{languageId:Z,forwardRegex:Q}=J,$=1,q=0,G=(H,V,K,j)=>{while(!0){if(Y&&++q%100===0&&!Y())return hQ.INSTANCE;let W=E4.findNextBracketInRange(Q,H,V,K,j);if(!W)break;let z=V.substring(W.startColumn-1,W.endColumn-1).toLowerCase();if(J.isOpen(z))$++;else if(J.isClose(z))$--;if($===0)return W;K=W.endColumn-1}return null},U=this.textModel.getLineCount();for(let H=X.lineNumber;H<=U;H++){let V=this.textModel.tokenization.getLineTokens(H),K=V.getCount(),j=this.textModel.getLineContent(H),W=0,z=0,B=0;if(H===X.lineNumber)W=V.findTokenIndexAtOffset(X.column-1),z=X.column-1,B=X.column-1;let P=!0;for(;W<K;W++){let _=V.getLanguageId(W)===Z&&!fJ(V.getStandardTokenType(W));if(_)if(P)B=V.getEndOffset(W);else z=V.getStartOffset(W),B=V.getEndOffset(W);else if(P&&z!==B){let A=G(H,j,z,B);if(A)return A}P=_}if(P&&z!==B){let _=G(H,j,z,B);if(_)return _}}return null}findPrevBracket(J){let X=this.textModel.validatePosition(J);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(X)||null;let Y=null,Z=null,Q=null;for(let $=X.lineNumber;$>=1;$--){let q=this.textModel.tokenization.getLineTokens($),G=q.getCount(),U=this.textModel.getLineContent($),H=G-1,V=U.length,K=U.length;if($===X.lineNumber){H=q.findTokenIndexAtOffset(X.column-1),V=X.column-1,K=X.column-1;let W=q.getLanguageId(H);if(Y!==W)Y=W,Z=this.languageConfigurationService.getLanguageConfiguration(Y).brackets,Q=this.languageConfigurationService.getLanguageConfiguration(Y).bracketsNew}let j=!0;for(;H>=0;H--){let W=q.getLanguageId(H);if(Y!==W){if(Z&&Q&&j&&V!==K){let B=E4.findPrevBracketInRange(Z.reversedRegex,$,U,V,K);if(B)return this._toFoundBracket(Q,B);j=!1}Y=W,Z=this.languageConfigurationService.getLanguageConfiguration(Y).brackets,Q=this.languageConfigurationService.getLanguageConfiguration(Y).bracketsNew}let z=!!Z&&!fJ(q.getStandardTokenType(H));if(z)if(j)V=q.getStartOffset(H);else V=q.getStartOffset(H),K=q.getEndOffset(H);else if(Q&&Z&&j&&V!==K){let B=E4.findPrevBracketInRange(Z.reversedRegex,$,U,V,K);if(B)return this._toFoundBracket(Q,B)}j=z}if(Q&&Z&&j&&V!==K){let W=E4.findPrevBracketInRange(Z.reversedRegex,$,U,V,K);if(W)return this._toFoundBracket(Q,W)}}return null}findNextBracket(J){let X=this.textModel.validatePosition(J);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(X)||null;let Y=this.textModel.getLineCount(),Z=null,Q=null,$=null;for(let q=X.lineNumber;q<=Y;q++){let G=this.textModel.tokenization.getLineTokens(q),U=G.getCount(),H=this.textModel.getLineContent(q),V=0,K=0,j=0;if(q===X.lineNumber){V=G.findTokenIndexAtOffset(X.column-1),K=X.column-1,j=X.column-1;let z=G.getLanguageId(V);if(Z!==z)Z=z,Q=this.languageConfigurationService.getLanguageConfiguration(Z).brackets,$=this.languageConfigurationService.getLanguageConfiguration(Z).bracketsNew}let W=!0;for(;V<U;V++){let z=G.getLanguageId(V);if(Z!==z){if($&&Q&&W&&K!==j){let P=E4.findNextBracketInRange(Q.forwardRegex,q,H,K,j);if(P)return this._toFoundBracket($,P);W=!1}Z=z,Q=this.languageConfigurationService.getLanguageConfiguration(Z).brackets,$=this.languageConfigurationService.getLanguageConfiguration(Z).bracketsNew}let B=!!Q&&!fJ(G.getStandardTokenType(V));if(B)if(W)j=G.getEndOffset(V);else K=G.getStartOffset(V),j=G.getEndOffset(V);else if($&&Q&&W&&K!==j){let P=E4.findNextBracketInRange(Q.forwardRegex,q,H,K,j);if(P)return this._toFoundBracket($,P)}W=B}if($&&Q&&W&&K!==j){let z=E4.findNextBracketInRange(Q.forwardRegex,q,H,K,j);if(z)return this._toFoundBracket($,z)}}return null}findEnclosingBrackets(J,X){let Y=this.textModel.validatePosition(J);if(this.canBuildAST){let j=T.fromPositions(Y),W=this.getBracketPairsInRange(T.fromPositions(Y,Y)).findLast((z)=>z.closingBracketRange!==void 0&&z.range.strictContainsRange(j));if(W)return[W.openingBracketRange,W.closingBracketRange];return null}let Z=zh(X),Q=this.textModel.getLineCount(),$=new Map,q=[],G=(j,W)=>{if(!$.has(j)){let z=[];for(let B=0,P=W?W.brackets.length:0;B<P;B++)z[B]=0;$.set(j,z)}q=$.get(j)},U=0,H=(j,W,z,B,P)=>{while(!0){if(Z&&++U%100===0&&!Z())return hQ.INSTANCE;let _=E4.findNextBracketInRange(j.forwardRegex,W,z,B,P);if(!_)break;let A=z.substring(_.startColumn-1,_.endColumn-1).toLowerCase(),O=j.textIsBracket[A];if(O){if(O.isOpen(A))q[O.index]++;else if(O.isClose(A))q[O.index]--;if(q[O.index]===-1)return this._matchFoundBracket(_,O,!1,Z)}B=_.endColumn-1}return null},V=null,K=null;for(let j=Y.lineNumber;j<=Q;j++){let W=this.textModel.tokenization.getLineTokens(j),z=W.getCount(),B=this.textModel.getLineContent(j),P=0,_=0,A=0;if(j===Y.lineNumber){P=W.findTokenIndexAtOffset(Y.column-1),_=Y.column-1,A=Y.column-1;let D=W.getLanguageId(P);if(V!==D)V=D,K=this.languageConfigurationService.getLanguageConfiguration(V).brackets,G(V,K)}let O=!0;for(;P<z;P++){let D=W.getLanguageId(P);if(V!==D){if(K&&O&&_!==A){let N=H(K,j,B,_,A);if(N)return yN(N);O=!1}V=D,K=this.languageConfigurationService.getLanguageConfiguration(V).brackets,G(V,K)}let R=!!K&&!fJ(W.getStandardTokenType(P));if(R)if(O)A=W.getEndOffset(P);else _=W.getStartOffset(P),A=W.getEndOffset(P);else if(K&&O&&_!==A){let N=H(K,j,B,_,A);if(N)return yN(N)}O=R}if(K&&O&&_!==A){let D=H(K,j,B,_,A);if(D)return yN(D)}}return null}_toFoundBracket(J,X){if(!X)return null;let Y=this.textModel.getValueInRange(X);Y=Y.toLowerCase();let Z=J.getBracketInfo(Y);if(!Z)return null;return{range:X,bracketInfo:Z}}}function nF0(J,X){return{object:J,dispose:()=>X?.dispose()}}function zh(J){if(typeof J>\"u\")return()=>!0;else{let X=Date.now();return()=>{return Date.now()-X<=J}}}class hQ{static{this.INSTANCE=new hQ}constructor(){this._searchCanceledBrand=void 0}}function yN(J){if(J instanceof hQ)return null;return J}class Bh extends y{constructor(J){super();this.textModel=J,this.colorProvider=new _h,this.onDidChangeEmitter=this._register(new E),this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=J.getOptions().bracketPairColorizationOptions,this._register(J.bracketPairs.onDidChange((X)=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(J){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(J,X,Y,Z,Q){if(Q)return[];if(X===void 0)return[];if(!this.colorizationOptions.enabled)return[];return this.textModel.bracketPairs.getBracketsInRange(J,!0).map((q)=>({id:`bracket${q.range.toString()}-${q.nestingLevel}`,options:{description:\"BracketPairColorization\",inlineClassName:this.colorProvider.getInlineClassName(q,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:q.range})).toArray()}getAllDecorations(J,X,Y){if(J===void 0)return[];if(!this.colorizationOptions.enabled)return[];return this.getDecorationsInRange(new T(1,1,this.textModel.getLineCount(),1),J,X,Y)}}class _h{constructor(){this.unexpectedClosingBracketClassName=\"unexpected-closing-bracket\"}getInlineClassName(J,X){if(J.isInvalid)return this.unexpectedClosingBracketClassName;return this.getInlineClassNameOfLevel(X?J.nestingLevelOfEqualBracketType:J.nestingLevel)}getInlineClassNameOfLevel(J){return`bracket-highlighting-${J%30}`}}x8((J,X)=>{let Y=[aR,iR,rR,oR,nR,tR],Z=new _h;X.addRule(`.monaco-editor .${Z.unexpectedClosingBracketClassName} { color: ${J.getColor(E50)}; }`);let Q=Y.map(($)=>J.getColor($)).filter(($)=>!!$).filter(($)=>!$.isTransparent());for(let $=0;$<30;$++){let q=Q[$%Q.length];X.addRule(`.monaco-editor .${Z.getInlineClassNameOfLevel($)} { color: ${q}; }`)}});function xN(J){return J.replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\")}class e8{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(J,X,Y,Z){this.oldPosition=J,this.oldText=X,this.newPosition=Y,this.newText=Z}toString(){if(this.oldText.length===0)return`(insert@${this.oldPosition} \"${xN(this.newText)}\")`;if(this.newText.length===0)return`(delete@${this.oldPosition} \"${xN(this.oldText)}\")`;return`(replace@${this.oldPosition} \"${xN(this.oldText)}\" with \"${xN(this.newText)}\")`}static _writeStringSize(J){return 4+2*J.length}static _writeString(J,X,Y){let Z=X.length;y9(J,Z,Y),Y+=4;for(let Q=0;Q<Z;Q++)Ut(J,X.charCodeAt(Q),Y),Y+=2;return Y}static _readString(J,X){let Y=E9(J,X);return X+=4,ge(J,X,Y)}writeSize(){return 8+e8._writeStringSize(this.oldText)+e8._writeStringSize(this.newText)}write(J,X){return y9(J,this.oldPosition,X),X+=4,y9(J,this.newPosition,X),X+=4,X=e8._writeString(J,this.oldText,X),X=e8._writeString(J,this.newText,X),X}static read(J,X,Y){let Z=E9(J,X);X+=4;let Q=E9(J,X);X+=4;let $=e8._readString(J,X);X+=e8._writeStringSize($);let q=e8._readString(J,X);return X+=e8._writeStringSize(q),Y.push(new e8(Z,$,Q,q)),X}}function X40(J,X){if(J===null||J.length===0)return X;return new cY(J,X).compress()}class cY{constructor(J,X){this._prevEdits=J,this._currEdits=X,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let J=0,X=0,Y=this._getPrev(J),Z=this._getCurr(X);while(J<this._prevLen||X<this._currLen){if(Y===null){this._acceptCurr(Z),Z=this._getCurr(++X);continue}if(Z===null){this._acceptPrev(Y),Y=this._getPrev(++J);continue}if(Z.oldEnd<=Y.newPosition){this._acceptCurr(Z),Z=this._getCurr(++X);continue}if(Y.newEnd<=Z.oldPosition){this._acceptPrev(Y),Y=this._getPrev(++J);continue}if(Z.oldPosition<Y.newPosition){let[U,H]=cY._splitCurr(Z,Y.newPosition-Z.oldPosition);this._acceptCurr(U),Z=H;continue}if(Y.newPosition<Z.oldPosition){let[U,H]=cY._splitPrev(Y,Z.oldPosition-Y.newPosition);this._acceptPrev(U),Y=H;continue}let q,G;if(Z.oldEnd===Y.newEnd)q=Y,G=Z,Y=this._getPrev(++J),Z=this._getCurr(++X);else if(Z.oldEnd<Y.newEnd){let[U,H]=cY._splitPrev(Y,Z.oldLength);q=U,G=Z,Y=H,Z=this._getCurr(++X)}else{let[U,H]=cY._splitCurr(Z,Y.newLength);q=Y,G=U,Y=this._getPrev(++J),Z=H}this._result[this._resultLen++]=new e8(q.oldPosition,q.oldText,G.newPosition,G.newText),this._prevDeltaOffset+=q.newLength-q.oldLength,this._currDeltaOffset+=G.newLength-G.oldLength}let Q=cY._merge(this._result);return cY._removeNoOps(Q)}_acceptCurr(J){this._result[this._resultLen++]=cY._rebaseCurr(this._prevDeltaOffset,J),this._currDeltaOffset+=J.newLength-J.oldLength}_getCurr(J){return J<this._currLen?this._currEdits[J]:null}_acceptPrev(J){this._result[this._resultLen++]=cY._rebasePrev(this._currDeltaOffset,J),this._prevDeltaOffset+=J.newLength-J.oldLength}_getPrev(J){return J<this._prevLen?this._prevEdits[J]:null}static _rebaseCurr(J,X){return new e8(X.oldPosition-J,X.oldText,X.newPosition,X.newText)}static _rebasePrev(J,X){return new e8(X.oldPosition,X.oldText,X.newPosition+J,X.newText)}static _splitPrev(J,X){let Y=J.newText.substr(0,X),Z=J.newText.substr(X);return[new e8(J.oldPosition,J.oldText,J.newPosition,Y),new e8(J.oldEnd,\"\",J.newPosition+X,Z)]}static _splitCurr(J,X){let Y=J.oldText.substr(0,X),Z=J.oldText.substr(X);return[new e8(J.oldPosition,Y,J.newPosition,J.newText),new e8(J.oldPosition+X,Z,J.newEnd,\"\")]}static _merge(J){if(J.length===0)return J;let X=[],Y=0,Z=J[0];for(let Q=1;Q<J.length;Q++){let $=J[Q];if(Z.oldEnd===$.oldPosition)Z=new e8(Z.oldPosition,Z.oldText+$.oldText,Z.newPosition,Z.newText+$.newText);else X[Y++]=Z,Z=$}return X[Y++]=Z,X}static _removeNoOps(J){if(J.length===0)return J;let X=[],Y=0;for(let Z=0;Z<J.length;Z++){let Q=J[Z];if(Q.oldText===Q.newText)continue;X[Y++]=Q}return X}}function BK(J){return J.toString()}class J5{static create(J,X){let Y=J.getAlternativeVersionId(),Z=Ah(J);return new J5(Y,Y,Z,Z,X,X,[])}constructor(J,X,Y,Z,Q,$,q){this.beforeVersionId=J,this.afterVersionId=X,this.beforeEOL=Y,this.afterEOL=Z,this.beforeCursorState=Q,this.afterCursorState=$,this.changes=q}append(J,X,Y,Z,Q){if(X.length>0)this.changes=X40(this.changes,X);this.afterEOL=Y,this.afterVersionId=Z,this.afterCursorState=Q}static _writeSelectionsSize(J){return 4+16*(J?J.length:0)}static _writeSelections(J,X,Y){if(y9(J,X?X.length:0,Y),Y+=4,X)for(let Z of X)y9(J,Z.selectionStartLineNumber,Y),Y+=4,y9(J,Z.selectionStartColumn,Y),Y+=4,y9(J,Z.positionLineNumber,Y),Y+=4,y9(J,Z.positionColumn,Y),Y+=4;return Y}static _readSelections(J,X,Y){let Z=E9(J,X);X+=4;for(let Q=0;Q<Z;Q++){let $=E9(J,X);X+=4;let q=E9(J,X);X+=4;let G=E9(J,X);X+=4;let U=E9(J,X);X+=4,Y.push(new Y0($,q,G,U))}return X}serialize(){let J=10+J5._writeSelectionsSize(this.beforeCursorState)+J5._writeSelectionsSize(this.afterCursorState)+4;for(let Z of this.changes)J+=Z.writeSize();let X=new Uint8Array(J),Y=0;y9(X,this.beforeVersionId,Y),Y+=4,y9(X,this.afterVersionId,Y),Y+=4,kx(X,this.beforeEOL,Y),Y+=1,kx(X,this.afterEOL,Y),Y+=1,Y=J5._writeSelections(X,this.beforeCursorState,Y),Y=J5._writeSelections(X,this.afterCursorState,Y),y9(X,this.changes.length,Y),Y+=4;for(let Z of this.changes)Y=Z.write(X,Y);return X.buffer}static deserialize(J){let X=new Uint8Array(J),Y=0,Z=E9(X,Y);Y+=4;let Q=E9(X,Y);Y+=4;let $=Ix(X,Y);Y+=1;let q=Ix(X,Y);Y+=1;let G=[];Y=J5._readSelections(X,Y,G);let U=[];Y=J5._readSelections(X,Y,U);let H=E9(X,Y);Y+=4;let V=[];for(let K=0;K<H;K++)Y=e8.read(X,Y,V);return new J5(Z,Q,$,q,G,U,V)}}class Ph{get type(){return 0}get resource(){if(R0.isUri(this.model))return this.model;return this.model.uri}constructor(J,X,Y,Z){this.label=J,this.code=X,this.model=Y,this._data=J5.create(Y,Z)}toString(){return(this._data instanceof J5?this._data:J5.deserialize(this._data)).changes.map((X)=>X.toString()).join(\", \")}matchesResource(J){return(R0.isUri(this.model)?this.model:this.model.uri).toString()===J.toString()}setModel(J){this.model=J}canAppend(J){return this.model===J&&this._data instanceof J5}append(J,X,Y,Z,Q){if(this._data instanceof J5)this._data.append(J,X,Y,Z,Q)}close(){if(this._data instanceof J5)this._data=this._data.serialize()}open(){if(!(this._data instanceof J5))this._data=J5.deserialize(this._data)}undo(){if(R0.isUri(this.model))throw Error(\"Invalid SingleModelEditStackElement\");if(this._data instanceof J5)this._data=this._data.serialize();let J=J5.deserialize(this._data);this.model._applyUndo(J.changes,J.beforeEOL,J.beforeVersionId,J.beforeCursorState)}redo(){if(R0.isUri(this.model))throw Error(\"Invalid SingleModelEditStackElement\");if(this._data instanceof J5)this._data=this._data.serialize();let J=J5.deserialize(this._data);this.model._applyRedo(J.changes,J.afterEOL,J.afterVersionId,J.afterCursorState)}heapSize(){if(this._data instanceof J5)this._data=this._data.serialize();return this._data.byteLength+168}}class Y40{get resources(){return this._editStackElementsArr.map((J)=>J.resource)}constructor(J,X,Y){this.label=J,this.code=X,this.type=1,this._isOpen=!0,this._editStackElementsArr=Y.slice(0),this._editStackElementsMap=new Map;for(let Z of this._editStackElementsArr){let Q=BK(Z.resource);this._editStackElementsMap.set(Q,Z)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(J){let X=BK(J);return this._editStackElementsMap.has(X)}setModel(J){let X=BK(R0.isUri(J)?J:J.uri);if(this._editStackElementsMap.has(X))this._editStackElementsMap.get(X).setModel(J)}canAppend(J){if(!this._isOpen)return!1;let X=BK(J.uri);if(this._editStackElementsMap.has(X))return this._editStackElementsMap.get(X).canAppend(J);return!1}append(J,X,Y,Z,Q){let $=BK(J.uri);this._editStackElementsMap.get($).append(J,X,Y,Z,Q)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(let J of this._editStackElementsArr)J.undo()}redo(){for(let J of this._editStackElementsArr)J.redo()}heapSize(J){let X=BK(J);if(this._editStackElementsMap.has(X))return this._editStackElementsMap.get(X).heapSize();return 0}split(){return this._editStackElementsArr}toString(){let J=[];for(let X of this._editStackElementsArr)J.push(`${iz(X.resource)}: ${X}`);return`{${J.join(\", \")}}`}}function Ah(J){if(J.getEOL()===`\n`)return 0;else return 1}function dY(J){if(!J)return!1;return J instanceof Ph||J instanceof Y40}class bN{constructor(J,X){this._model=J,this._undoRedoService=X}pushStackElement(){let J=this._undoRedoService.getLastElement(this._model.uri);if(dY(J))J.close()}popStackElement(){let J=this._undoRedoService.getLastElement(this._model.uri);if(dY(J))J.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(J,X){let Y=this._undoRedoService.getLastElement(this._model.uri);if(dY(Y)&&Y.canAppend(this._model))return Y;let Z=new Ph(F(820,\"Typing\"),\"undoredo.textBufferEdit\",this._model,J);return this._undoRedoService.pushElement(Z,X),Z}pushEOL(J){let X=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(J),X.append(this._model,[],Ah(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(J,X,Y,Z,Q=W7.unknown({name:\"pushEditOperation\"})){let $=this._getOrCreateEditStackElement(J,Z),q=this._model.applyEdits(X,!0,Q),G=bN._computeCursorState(Y,q),U=q.map((H,V)=>({index:V,textChange:H.textChange}));return U.sort((H,V)=>{if(H.textChange.oldPosition===V.textChange.oldPosition)return H.index-V.index;return H.textChange.oldPosition-V.textChange.oldPosition}),$.append(this._model,U.map((H)=>H.textChange),Ah(this._model),this._model.getAlternativeVersionId(),G),G}static _computeCursorState(J,X){try{return J?J(X):null}catch(Y){return b0(Y),null}}}class Z40{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function tF0(J,X,Y,Z,Q){Q.spacesDiff=0,Q.looksLikeAlignment=!1;let $;for($=0;$<X&&$<Z;$++){let j=J.charCodeAt($),W=Y.charCodeAt($);if(j!==W)break}let q=0,G=0;for(let j=$;j<X;j++)if(J.charCodeAt(j)===32)q++;else G++;let U=0,H=0;for(let j=$;j<Z;j++)if(Y.charCodeAt(j)===32)U++;else H++;if(q>0&&G>0)return;if(U>0&&H>0)return;let V=Math.abs(G-H),K=Math.abs(q-U);if(V===0){if(Q.spacesDiff=K,K>0&&0<=U-1&&U-1<J.length&&U<Y.length){if(Y.charCodeAt(U)!==32&&J.charCodeAt(U-1)===32){if(J.charCodeAt(J.length-1)===44)Q.looksLikeAlignment=!0}}return}if(K%V===0){Q.spacesDiff=K/V;return}}function Dh(J,X,Y){let Z=Math.min(J.getLineCount(),1e4),Q=0,$=0,q=\"\",G=0,U=[2,4,6,8,3,5,7],H=8,V=[0,0,0,0,0,0,0,0,0],K=new Z40;for(let z=1;z<=Z;z++){let B=J.getLineLength(z),P=J.getLineContent(z),_=B<=65536,A=!1,O=0,D=0,R=0;for(let w=0,k=B;w<k;w++){let I=_?P.charCodeAt(w):J.getLineCharCode(z,w);if(I===9)R++;else if(I===32)D++;else{A=!0,O=w;break}}if(!A)continue;if(R>0)Q++;else if(D>1)$++;if(tF0(q,G,P,O,K),K.looksLikeAlignment){if(!(Y&&X===K.spacesDiff))continue}let N=K.spacesDiff;if(N<=H)V[N]++;q=P,G=O}let j=Y;if(Q!==$)j=Q<$;let W=X;if(j){let z=0;if(U.forEach((B)=>{let P=V[B];if(P>z)z=P,W=B}),W===4&&V[4]>0&&V[2]>0&&V[2]>=V[4]*2/3)W=2}return{insertSpaces:j,tabSize:W}}function K4(J){return(J.metadata&1)>>>0}function H6(J,X){J.metadata=J.metadata&254|X<<0}function y5(J){return(J.metadata&2)>>>1===1}function X6(J,X){J.metadata=J.metadata&253|(X?1:0)<<1}function K40(J){return(J.metadata&4)>>>2===1}function Q40(J,X){J.metadata=J.metadata&251|(X?1:0)<<2}function j40(J){return(J.metadata&64)>>>6===1}function $40(J,X){J.metadata=J.metadata&191|(X?1:0)<<6}function W40(J){return(J.metadata&128)>>>7===1}function q40(J,X){J.metadata=J.metadata&127|(X?1:0)<<7}function eF0(J){return(J.metadata&24)>>>3}function G40(J,X){J.metadata=J.metadata&231|X<<3}function JB0(J){return(J.metadata&32)>>>5===1}function U40(J,X){J.metadata=J.metadata&223|(X?1:0)<<5}class CN{constructor(J,X,Y){this.metadata=0,this.parent=this,this.left=this,this.right=this,H6(this,1),this.start=X,this.end=Y,this.delta=0,this.maxEnd=Y,this.id=J,this.ownerId=0,this.options=null,Q40(this,!1),$40(this,!1),G40(this,1),U40(this,!1),q40(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=X,this.cachedAbsoluteEnd=Y,this.range=null,X6(this,!1)}reset(J,X,Y,Z){this.start=X,this.end=Y,this.maxEnd=Y,this.cachedVersionId=J,this.cachedAbsoluteStart=X,this.cachedAbsoluteEnd=Y,this.range=Z}setOptions(J){this.options=J;let X=this.options.className;Q40(this,X===\"squiggly-error\"||X===\"squiggly-warning\"||X===\"squiggly-info\"),$40(this,this.options.glyphMarginClassName!==null),G40(this,this.options.stickiness),U40(this,this.options.collapseOnReplaceEdit),q40(this,this.options.affectsFont??!1)}setCachedOffsets(J,X,Y){if(this.cachedVersionId!==Y)this.range=null;this.cachedVersionId=Y,this.cachedAbsoluteStart=J,this.cachedAbsoluteEnd=X}detach(){this.parent=null,this.left=null,this.right=null}}var J1=new CN(null,0,0);J1.parent=J1;J1.left=J1;J1.right=J1;H6(J1,0);class MB{constructor(){this.root=J1,this.requestNormalizeDelta=!1}intervalSearch(J,X,Y,Z,Q,$,q){if(this.root===J1)return[];return UB0(this,J,X,Y,Z,Q,$,q)}search(J,X,Y,Z,Q){if(this.root===J1)return[];return GB0(this,J,X,Y,Z,Q)}collectNodesFromOwner(J){return $B0(this,J)}collectNodesPostOrder(){return qB0(this)}insert(J){H40(this,J),this._normalizeDeltaIfNecessary()}delete(J){V40(this,J),this._normalizeDeltaIfNecessary()}resolveNode(J,X){let Y=J,Z=0;while(J!==this.root){if(J===J.parent.right)Z+=J.parent.delta;J=J.parent}let Q=Y.start+Z,$=Y.end+Z;Y.setCachedOffsets(Q,$,X)}acceptReplace(J,X,Y,Z){let Q=ZB0(this,J,J+X);for(let $=0,q=Q.length;$<q;$++){let G=Q[$];V40(this,G)}this._normalizeDeltaIfNecessary(),QB0(this,J,J+X,Y),this._normalizeDeltaIfNecessary();for(let $=0,q=Q.length;$<q;$++){let G=Q[$];G.start=G.cachedAbsoluteStart,G.end=G.cachedAbsoluteEnd,YB0(G,J,J+X,Y,Z),G.maxEnd=G.end,H40(this,G)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){if(!this.requestNormalizeDelta)return;this.requestNormalizeDelta=!1,XB0(this)}}function XB0(J){let X=J.root,Y=0;while(X!==J1){if(X.left!==J1&&!y5(X.left)){X=X.left;continue}if(X.right!==J1&&!y5(X.right)){Y+=X.delta,X=X.right;continue}if(X.start=Y+X.start,X.end=Y+X.end,X.delta=0,vQ(X),X6(X,!0),X6(X.left,!1),X6(X.right,!1),X===X.parent.right)Y-=X.parent.delta;X=X.parent}X6(J.root,!1)}function _K(J,X,Y,Z){if(J<Y)return!0;if(J>Y)return!1;if(Z===1)return!1;if(Z===2)return!0;return X}function YB0(J,X,Y,Z,Q){let $=eF0(J),q=$===0||$===2,G=$===1||$===2,U=Y-X,H=Z,V=Math.min(U,H),K=J.start,j=!1,W=J.end,z=!1;if(X<=K&&W<=Y&&JB0(J))J.start=X,j=!0,J.end=X,z=!0;{let P=Q?1:U>0?2:0;if(!j&&_K(K,q,X,P))j=!0;if(!z&&_K(W,G,X,P))z=!0}if(V>0&&!Q){let P=U>H?2:0;if(!j&&_K(K,q,X+V,P))j=!0;if(!z&&_K(W,G,X+V,P))z=!0}{let P=Q?1:0;if(!j&&_K(K,q,Y,P))J.start=X+H,j=!0;if(!z&&_K(W,G,Y,P))J.end=X+H,z=!0}let B=H-U;if(!j)J.start=Math.max(0,K+B);if(!z)J.end=Math.max(0,W+B);if(J.start>J.end)J.end=J.start}function ZB0(J,X,Y){let Z=J.root,Q=0,$=0,q=0,G=0,U=[],H=0;while(Z!==J1){if(y5(Z)){if(X6(Z.left,!1),X6(Z.right,!1),Z===Z.parent.right)Q-=Z.parent.delta;Z=Z.parent;continue}if(!y5(Z.left)){if($=Q+Z.maxEnd,$<X){X6(Z,!0);continue}if(Z.left!==J1){Z=Z.left;continue}}if(q=Q+Z.start,q>Y){X6(Z,!0);continue}if(G=Q+Z.end,G>=X)Z.setCachedOffsets(q,G,0),U[H++]=Z;if(X6(Z,!0),Z.right!==J1&&!y5(Z.right)){Q+=Z.delta,Z=Z.right;continue}}return X6(J.root,!1),U}function QB0(J,X,Y,Z){let Q=J.root,$=0,q=0,G=0,U=Z-(Y-X);while(Q!==J1){if(y5(Q)){if(X6(Q.left,!1),X6(Q.right,!1),Q===Q.parent.right)$-=Q.parent.delta;vQ(Q),Q=Q.parent;continue}if(!y5(Q.left)){if(q=$+Q.maxEnd,q<X){X6(Q,!0);continue}if(Q.left!==J1){Q=Q.left;continue}}if(G=$+Q.start,G>Y){if(Q.start+=U,Q.end+=U,Q.delta+=U,Q.delta<-1073741824||Q.delta>1073741824)J.requestNormalizeDelta=!0;X6(Q,!0);continue}if(X6(Q,!0),Q.right!==J1&&!y5(Q.right)){$+=Q.delta,Q=Q.right;continue}}X6(J.root,!1)}function $B0(J,X){let Y=J.root,Z=[],Q=0;while(Y!==J1){if(y5(Y)){X6(Y.left,!1),X6(Y.right,!1),Y=Y.parent;continue}if(Y.left!==J1&&!y5(Y.left)){Y=Y.left;continue}if(Y.ownerId===X)Z[Q++]=Y;if(X6(Y,!0),Y.right!==J1&&!y5(Y.right)){Y=Y.right;continue}}return X6(J.root,!1),Z}function qB0(J){let X=J.root,Y=[],Z=0;while(X!==J1){if(y5(X)){X6(X.left,!1),X6(X.right,!1),X=X.parent;continue}if(X.left!==J1&&!y5(X.left)){X=X.left;continue}if(X.right!==J1&&!y5(X.right)){X=X.right;continue}Y[Z++]=X,X6(X,!0)}return X6(J.root,!1),Y}function GB0(J,X,Y,Z,Q,$){let q=J.root,G=0,U=0,H=0,V=[],K=0;while(q!==J1){if(y5(q)){if(X6(q.left,!1),X6(q.right,!1),q===q.parent.right)G-=q.parent.delta;q=q.parent;continue}if(q.left!==J1&&!y5(q.left)){q=q.left;continue}U=G+q.start,H=G+q.end,q.setCachedOffsets(U,H,Q);let j=!0;if(X&&q.ownerId&&q.ownerId!==X)j=!1;if(Y&&K40(q))j=!1;if(Z&&W40(q))j=!1;if($&&!j40(q))j=!1;if(j)V[K++]=q;if(X6(q,!0),q.right!==J1&&!y5(q.right)){G+=q.delta,q=q.right;continue}}return X6(J.root,!1),V}function UB0(J,X,Y,Z,Q,$,q,G){let U=J.root,H=0,V=0,K=0,j=0,W=[],z=0;while(U!==J1){if(y5(U)){if(X6(U.left,!1),X6(U.right,!1),U===U.parent.right)H-=U.parent.delta;U=U.parent;continue}if(!y5(U.left)){if(V=H+U.maxEnd,V<X){X6(U,!0);continue}if(U.left!==J1){U=U.left;continue}}if(K=H+U.start,K>Y){X6(U,!0);continue}if(j=H+U.end,j>=X){U.setCachedOffsets(K,j,q);let B=!0;if(Z&&U.ownerId&&U.ownerId!==Z)B=!1;if(Q&&K40(U))B=!1;if($&&W40(U))B=!1;if(G&&!j40(U))B=!1;if(B)W[z++]=U}if(X6(U,!0),U.right!==J1&&!y5(U.right)){H+=U.delta,U=U.right;continue}}return X6(J.root,!1),W}function H40(J,X){if(J.root===J1)return X.parent=J1,X.left=J1,X.right=J1,H6(X,0),J.root=X,J.root;HB0(J,X),l2(X.parent);let Y=X;while(Y!==J.root&&K4(Y.parent)===1)if(Y.parent===Y.parent.parent.left){let Z=Y.parent.parent.right;if(K4(Z)===1)H6(Y.parent,0),H6(Z,0),H6(Y.parent.parent,1),Y=Y.parent.parent;else{if(Y===Y.parent.right)Y=Y.parent,DB(J,Y);H6(Y.parent,0),H6(Y.parent.parent,1),OB(J,Y.parent.parent)}}else{let Z=Y.parent.parent.left;if(K4(Z)===1)H6(Y.parent,0),H6(Z,0),H6(Y.parent.parent,1),Y=Y.parent.parent;else{if(Y===Y.parent.left)Y=Y.parent,OB(J,Y);H6(Y.parent,0),H6(Y.parent.parent,1),DB(J,Y.parent.parent)}}return H6(J.root,0),X}function HB0(J,X){let Y=0,Z=J.root,Q=X.start,$=X.end;while(!0)if(KB0(Q,$,Z.start+Y,Z.end+Y)<0)if(Z.left===J1){X.start-=Y,X.end-=Y,X.maxEnd-=Y,Z.left=X;break}else Z=Z.left;else if(Z.right===J1){X.start-=Y+Z.delta,X.end-=Y+Z.delta,X.maxEnd-=Y+Z.delta,Z.right=X;break}else Y+=Z.delta,Z=Z.right;X.parent=Z,X.left=J1,X.right=J1,H6(X,1)}function V40(J,X){let Y,Z;if(X.left===J1){if(Y=X.right,Z=X,Y.delta+=X.delta,Y.delta<-1073741824||Y.delta>1073741824)J.requestNormalizeDelta=!0;Y.start+=X.delta,Y.end+=X.delta}else if(X.right===J1)Y=X.left,Z=X;else{if(Z=VB0(X.right),Y=Z.right,Y.start+=Z.delta,Y.end+=Z.delta,Y.delta+=Z.delta,Y.delta<-1073741824||Y.delta>1073741824)J.requestNormalizeDelta=!0;if(Z.start+=X.delta,Z.end+=X.delta,Z.delta=X.delta,Z.delta<-1073741824||Z.delta>1073741824)J.requestNormalizeDelta=!0}if(Z===J.root){J.root=Y,H6(Y,0),X.detach(),Oh(),vQ(Y),J.root.parent=J1;return}let Q=K4(Z)===1;if(Z===Z.parent.left)Z.parent.left=Y;else Z.parent.right=Y;if(Z===X)Y.parent=Z.parent;else{if(Z.parent===X)Y.parent=Z;else Y.parent=Z.parent;if(Z.left=X.left,Z.right=X.right,Z.parent=X.parent,H6(Z,K4(X)),X===J.root)J.root=Z;else if(X===X.parent.left)X.parent.left=Z;else X.parent.right=Z;if(Z.left!==J1)Z.left.parent=Z;if(Z.right!==J1)Z.right.parent=Z}if(X.detach(),Q){if(l2(Y.parent),Z!==X)l2(Z),l2(Z.parent);Oh();return}if(l2(Y),l2(Y.parent),Z!==X)l2(Z),l2(Z.parent);let $;while(Y!==J.root&&K4(Y)===0)if(Y===Y.parent.left){if($=Y.parent.right,K4($)===1)H6($,0),H6(Y.parent,1),DB(J,Y.parent),$=Y.parent.right;if(K4($.left)===0&&K4($.right)===0)H6($,1),Y=Y.parent;else{if(K4($.right)===0)H6($.left,0),H6($,1),OB(J,$),$=Y.parent.right;H6($,K4(Y.parent)),H6(Y.parent,0),H6($.right,0),DB(J,Y.parent),Y=J.root}}else{if($=Y.parent.left,K4($)===1)H6($,0),H6(Y.parent,1),OB(J,Y.parent),$=Y.parent.left;if(K4($.left)===0&&K4($.right)===0)H6($,1),Y=Y.parent;else{if(K4($.left)===0)H6($.right,0),H6($,1),DB(J,$),$=Y.parent.left;H6($,K4(Y.parent)),H6(Y.parent,0),H6($.left,0),OB(J,Y.parent),Y=J.root}}H6(Y,0),Oh()}function VB0(J){while(J.left!==J1)J=J.left;return J}function Oh(){J1.parent=J1,J1.delta=0,J1.start=0,J1.end=0}function DB(J,X){let Y=X.right;if(Y.delta+=X.delta,Y.delta<-1073741824||Y.delta>1073741824)J.requestNormalizeDelta=!0;if(Y.start+=X.delta,Y.end+=X.delta,X.right=Y.left,Y.left!==J1)Y.left.parent=X;if(Y.parent=X.parent,X.parent===J1)J.root=Y;else if(X===X.parent.left)X.parent.left=Y;else X.parent.right=Y;Y.left=X,X.parent=Y,vQ(X),vQ(Y)}function OB(J,X){let Y=X.left;if(X.delta-=Y.delta,X.delta<-1073741824||X.delta>1073741824)J.requestNormalizeDelta=!0;if(X.start-=Y.delta,X.end-=Y.delta,X.left=Y.right,Y.right!==J1)Y.right.parent=X;if(Y.parent=X.parent,X.parent===J1)J.root=Y;else if(X===X.parent.right)X.parent.right=Y;else X.parent.left=Y;Y.right=X,X.parent=Y,vQ(X),vQ(Y)}function z40(J){let X=J.end;if(J.left!==J1){let Y=J.left.maxEnd;if(Y>X)X=Y}if(J.right!==J1){let Y=J.right.maxEnd+J.delta;if(Y>X)X=Y}return X}function vQ(J){J.maxEnd=z40(J)}function l2(J){while(J!==J1){let X=z40(J);if(J.maxEnd===X)return;J.maxEnd=X,J=J.parent}}function KB0(J,X,Y,Z){if(J===Y)return X-Z;return J-Y}class TB{constructor(J,X){this.piece=J,this.color=X,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==m0)return SN(this.right);let J=this;while(J.parent!==m0){if(J.parent.left===J)break;J=J.parent}if(J.parent===m0)return m0;else return J.parent}prev(){if(this.left!==m0)return Rh(this.left);let J=this;while(J.parent!==m0){if(J.parent.right===J)break;J=J.parent}if(J.parent===m0)return m0;else return J.parent}detach(){this.parent=null,this.left=null,this.right=null}}var m0=new TB(null,0);m0.parent=m0;m0.left=m0;m0.right=m0;m0.color=0;function SN(J){while(J.left!==m0)J=J.left;return J}function Rh(J){while(J.right!==m0)J=J.right;return J}function Nh(J){if(J===m0)return 0;return J.size_left+J.piece.length+Nh(J.right)}function wh(J){if(J===m0)return 0;return J.lf_left+J.piece.lineFeedCnt+wh(J.right)}function Mh(){m0.parent=m0}function NB(J,X){let Y=X.right;if(Y.size_left+=X.size_left+(X.piece?X.piece.length:0),Y.lf_left+=X.lf_left+(X.piece?X.piece.lineFeedCnt:0),X.right=Y.left,Y.left!==m0)Y.left.parent=X;if(Y.parent=X.parent,X.parent===m0)J.root=Y;else if(X.parent.left===X)X.parent.left=Y;else X.parent.right=Y;Y.left=X,X.parent=Y}function wB(J,X){let Y=X.left;if(X.left=Y.right,Y.right!==m0)Y.right.parent=X;if(Y.parent=X.parent,X.size_left-=Y.size_left+(Y.piece?Y.piece.length:0),X.lf_left-=Y.lf_left+(Y.piece?Y.piece.lineFeedCnt:0),X.parent===m0)J.root=Y;else if(X===X.parent.right)X.parent.right=Y;else X.parent.left=Y;Y.right=X,X.parent=Y}function LB(J,X){let Y,Z;if(X.left===m0)Z=X,Y=Z.right;else if(X.right===m0)Z=X,Y=Z.left;else Z=SN(X.right),Y=Z.right;if(Z===J.root){J.root=Y,Y.color=0,X.detach(),Mh(),J.root.parent=m0;return}let Q=Z.color===1;if(Z===Z.parent.left)Z.parent.left=Y;else Z.parent.right=Y;if(Z===X)Y.parent=Z.parent,RB(J,Y);else{if(Z.parent===X)Y.parent=Z;else Y.parent=Z.parent;if(RB(J,Y),Z.left=X.left,Z.right=X.right,Z.parent=X.parent,Z.color=X.color,X===J.root)J.root=Z;else if(X===X.parent.left)X.parent.left=Z;else X.parent.right=Z;if(Z.left!==m0)Z.left.parent=Z;if(Z.right!==m0)Z.right.parent=Z;Z.size_left=X.size_left,Z.lf_left=X.lf_left,RB(J,Z)}if(X.detach(),Y.parent.left===Y){let q=Nh(Y),G=wh(Y);if(q!==Y.parent.size_left||G!==Y.parent.lf_left){let U=q-Y.parent.size_left,H=G-Y.parent.lf_left;Y.parent.size_left=q,Y.parent.lf_left=G,lY(J,Y.parent,U,H)}}if(RB(J,Y.parent),Q){Mh();return}let $;while(Y!==J.root&&Y.color===0)if(Y===Y.parent.left){if($=Y.parent.right,$.color===1)$.color=0,Y.parent.color=1,NB(J,Y.parent),$=Y.parent.right;if($.left.color===0&&$.right.color===0)$.color=1,Y=Y.parent;else{if($.right.color===0)$.left.color=0,$.color=1,wB(J,$),$=Y.parent.right;$.color=Y.parent.color,Y.parent.color=0,$.right.color=0,NB(J,Y.parent),Y=J.root}}else{if($=Y.parent.left,$.color===1)$.color=0,Y.parent.color=1,wB(J,Y.parent),$=Y.parent.left;if($.left.color===0&&$.right.color===0)$.color=1,Y=Y.parent;else{if($.left.color===0)$.right.color=0,$.color=1,NB(J,$),$=Y.parent.left;$.color=Y.parent.color,Y.parent.color=0,$.left.color=0,wB(J,Y.parent),Y=J.root}}Y.color=0,Mh()}function Th(J,X){RB(J,X);while(X!==J.root&&X.parent.color===1)if(X.parent===X.parent.parent.left){let Y=X.parent.parent.right;if(Y.color===1)X.parent.color=0,Y.color=0,X.parent.parent.color=1,X=X.parent.parent;else{if(X===X.parent.right)X=X.parent,NB(J,X);X.parent.color=0,X.parent.parent.color=1,wB(J,X.parent.parent)}}else{let Y=X.parent.parent.left;if(Y.color===1)X.parent.color=0,Y.color=0,X.parent.parent.color=1,X=X.parent.parent;else{if(X===X.parent.left)X=X.parent,wB(J,X);X.parent.color=0,X.parent.parent.color=1,NB(J,X.parent.parent)}}J.root.color=0}function lY(J,X,Y,Z){while(X!==J.root&&X!==m0){if(X.parent.left===X)X.parent.size_left+=Y,X.parent.lf_left+=Z;X=X.parent}}function RB(J,X){let Y=0,Z=0;if(X===J.root)return;while(X!==J.root&&X===X.parent.right)X=X.parent;if(X===J.root)return;X=X.parent,Y=Nh(X.left)-X.size_left,Z=wh(X.left)-X.lf_left,X.size_left+=Y,X.lf_left+=Z;while(X!==J.root&&(Y!==0||Z!==0)){if(X.parent.left===X)X.parent.size_left+=Y,X.parent.lf_left+=Z;X=X.parent}}var gQ=65535;function F40(J){let X;if(J[J.length-1]<65536)X=new Uint16Array(J.length);else X=new Uint32Array(J.length);return X.set(J,0),X}class B40{constructor(J,X,Y,Z,Q){this.lineStarts=J,this.cr=X,this.lf=Y,this.crlf=Z,this.isBasicASCII=Q}}function sY(J,X=!0){let Y=[0],Z=1;for(let Q=0,$=J.length;Q<$;Q++){let q=J.charCodeAt(Q);if(q===13)if(Q+1<$&&J.charCodeAt(Q+1)===10)Y[Z++]=Q+2,Q++;else Y[Z++]=Q+1;else if(q===10)Y[Z++]=Q+1}if(X)return F40(Y);else return Y}function _40(J,X){J.length=0,J[0]=0;let Y=1,Z=0,Q=0,$=0,q=!0;for(let U=0,H=X.length;U<H;U++){let V=X.charCodeAt(U);if(V===13)if(U+1<H&&X.charCodeAt(U+1)===10)$++,J[Y++]=U+2,U++;else Z++,J[Y++]=U+1;else if(V===10)Q++,J[Y++]=U+1;else if(q){if(V!==9&&(V<32||V>126))q=!1}}let G=new B40(F40(J),Z,Q,$,q);return J.length=0,G}class j4{constructor(J,X,Y,Z,Q){this.bufferIndex=J,this.start=X,this.end=Y,this.lineFeedCnt=Z,this.length=Q}}class pQ{constructor(J,X){this.buffer=J,this.lineStarts=X}}class A40{constructor(J,X){if(this._pieces=[],this._tree=J,this._BOM=X,this._index=0,J.root!==m0)J.iterate(J.root,(Y)=>{if(Y!==m0)this._pieces.push(Y.piece);return!0})}read(){if(this._pieces.length===0)if(this._index===0)return this._index++,this._BOM;else return null;if(this._index>this._pieces.length-1)return null;if(this._index===0)return this._BOM+this._tree.getPieceContent(this._pieces[this._index++]);return this._tree.getPieceContent(this._pieces[this._index++])}}class P40{constructor(J){this._limit=J,this._cache=[]}get(J){for(let X=this._cache.length-1;X>=0;X--){let Y=this._cache[X];if(Y.nodeStartOffset<=J&&Y.nodeStartOffset+Y.node.piece.length>=J)return Y}return null}get2(J){for(let X=this._cache.length-1;X>=0;X--){let Y=this._cache[X];if(Y.nodeStartLineNumber&&Y.nodeStartLineNumber<J&&Y.nodeStartLineNumber+Y.node.piece.lineFeedCnt>=J)return Y}return null}set(J){if(this._cache.length>=this._limit)this._cache.shift();this._cache.push(J)}validate(J){let X=!1,Y=this._cache;for(let Z=0;Z<Y.length;Z++){let Q=Y[Z];if(Q.node.parent===null||Q.nodeStartOffset>=J){Y[Z]=null,X=!0;continue}}if(X){let Z=[];for(let Q of Y)if(Q!==null)Z.push(Q);this._cache=Z}}}class Lh{constructor(J,X,Y){this.create(J,X,Y)}create(J,X,Y){this._buffers=[new pQ(\"\",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=m0,this._lineCnt=1,this._length=0,this._EOL=X,this._EOLLength=X.length,this._EOLNormalized=Y;let Z=null;for(let Q=0,$=J.length;Q<$;Q++)if(J[Q].buffer.length>0){if(!J[Q].lineStarts)J[Q].lineStarts=sY(J[Q].buffer);let q=new j4(Q+1,{line:0,column:0},{line:J[Q].lineStarts.length-1,column:J[Q].buffer.length-J[Q].lineStarts[J[Q].lineStarts.length-1]},J[Q].lineStarts.length-1,J[Q].buffer.length);this._buffers.push(J[Q]),Z=this.rbInsertRight(Z,q)}this._searchCache=new P40(1),this._lastVisitedLine={lineNumber:0,value:\"\"},this.computeBufferMetadata()}normalizeEOL(J){let X=gQ,Y=X-Math.floor(X/3),Z=Y*2,Q=\"\",$=0,q=[];if(this.iterate(this.root,(G)=>{let U=this.getNodeContent(G),H=U.length;if($<=Y||$+H<Z)return Q+=U,$+=H,!0;let V=Q.replace(/\\r\\n|\\r|\\n/g,J);return q.push(new pQ(V,sY(V))),Q=U,$=H,!0}),$>0){let G=Q.replace(/\\r\\n|\\r|\\n/g,J);q.push(new pQ(G,sY(G)))}this.create(q,J,!0)}getEOL(){return this._EOL}setEOL(J){this._EOL=J,this._EOLLength=this._EOL.length,this.normalizeEOL(J)}createSnapshot(J){return new A40(this,J)}getOffsetAt(J,X){let Y=0,Z=this.root;while(Z!==m0)if(Z.left!==m0&&Z.lf_left+1>=J)Z=Z.left;else if(Z.lf_left+Z.piece.lineFeedCnt+1>=J){Y+=Z.size_left;let Q=this.getAccumulatedValue(Z,J-Z.lf_left-2);return Y+=Q+X-1}else J-=Z.lf_left+Z.piece.lineFeedCnt,Y+=Z.size_left+Z.piece.length,Z=Z.right;return Y}getPositionAt(J){J=Math.floor(J),J=Math.max(0,J);let X=this.root,Y=0,Z=J;while(X!==m0)if(X.size_left!==0&&X.size_left>=J)X=X.left;else if(X.size_left+X.piece.length>=J){let Q=this.getIndexOf(X,J-X.size_left);if(Y+=X.lf_left+Q.index,Q.index===0){let $=this.getOffsetAt(Y+1,1),q=Z-$;return new C(Y+1,q+1)}return new C(Y+1,Q.remainder+1)}else if(J-=X.size_left+X.piece.length,Y+=X.lf_left+X.piece.lineFeedCnt,X.right===m0){let Q=this.getOffsetAt(Y+1,1),$=Z-J-Q;return new C(Y+1,$+1)}else X=X.right;return new C(1,1)}getValueInRange(J,X){if(J.startLineNumber===J.endLineNumber&&J.startColumn===J.endColumn)return\"\";let Y=this.nodeAt2(J.startLineNumber,J.startColumn),Z=this.nodeAt2(J.endLineNumber,J.endColumn),Q=this.getValueInRange2(Y,Z);if(X){if(X!==this._EOL||!this._EOLNormalized)return Q.replace(/\\r\\n|\\r|\\n/g,X);if(X===this.getEOL()&&this._EOLNormalized)return Q;return Q.replace(/\\r\\n|\\r|\\n/g,X)}return Q}getValueInRange2(J,X){if(J.node===X.node){let q=J.node,G=this._buffers[q.piece.bufferIndex].buffer,U=this.offsetInBuffer(q.piece.bufferIndex,q.piece.start);return G.substring(U+J.remainder,U+X.remainder)}let Y=J.node,Z=this._buffers[Y.piece.bufferIndex].buffer,Q=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start),$=Z.substring(Q+J.remainder,Q+Y.piece.length);Y=Y.next();while(Y!==m0){let q=this._buffers[Y.piece.bufferIndex].buffer,G=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start);if(Y===X.node){$+=q.substring(G,G+X.remainder);break}else $+=q.substr(G,Y.piece.length);Y=Y.next()}return $}getLinesContent(){let J=[],X=0,Y=\"\",Z=!1;if(this.iterate(this.root,(Q)=>{if(Q===m0)return!0;let $=Q.piece,q=$.length;if(q===0)return!0;let G=this._buffers[$.bufferIndex].buffer,U=this._buffers[$.bufferIndex].lineStarts,H=$.start.line,V=$.end.line,K=U[H]+$.start.column;if(Z){if(G.charCodeAt(K)===10)K++,q--;if(J[X++]=Y,Y=\"\",Z=!1,q===0)return!0}if(H===V){if(!this._EOLNormalized&&G.charCodeAt(K+q-1)===13)Z=!0,Y+=G.substr(K,q-1);else Y+=G.substr(K,q);return!0}Y+=this._EOLNormalized?G.substring(K,Math.max(K,U[H+1]-this._EOLLength)):G.substring(K,U[H+1]).replace(/(\\r\\n|\\r|\\n)$/,\"\"),J[X++]=Y;for(let j=H+1;j<V;j++)Y=this._EOLNormalized?G.substring(U[j],U[j+1]-this._EOLLength):G.substring(U[j],U[j+1]).replace(/(\\r\\n|\\r|\\n)$/,\"\"),J[X++]=Y;if(!this._EOLNormalized&&G.charCodeAt(U[V]+$.end.column-1)===13)if(Z=!0,$.end.column===0)X--;else Y=G.substr(U[V],$.end.column-1);else Y=G.substr(U[V],$.end.column);return!0}),Z)J[X++]=Y,Y=\"\";return J[X++]=Y,J}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(J){if(this._lastVisitedLine.lineNumber===J)return this._lastVisitedLine.value;if(this._lastVisitedLine.lineNumber=J,J===this._lineCnt)this._lastVisitedLine.value=this.getLineRawContent(J);else if(this._EOLNormalized)this._lastVisitedLine.value=this.getLineRawContent(J,this._EOLLength);else this._lastVisitedLine.value=this.getLineRawContent(J).replace(/(\\r\\n|\\r|\\n)$/,\"\");return this._lastVisitedLine.value}_getCharCode(J){if(J.remainder===J.node.piece.length){let X=J.node.next();if(!X)return 0;let Y=this._buffers[X.piece.bufferIndex],Z=this.offsetInBuffer(X.piece.bufferIndex,X.piece.start);return Y.buffer.charCodeAt(Z)}else{let X=this._buffers[J.node.piece.bufferIndex],Z=this.offsetInBuffer(J.node.piece.bufferIndex,J.node.piece.start)+J.remainder;return X.buffer.charCodeAt(Z)}}getLineCharCode(J,X){let Y=this.nodeAt2(J,X+1);return this._getCharCode(Y)}getLineLength(J){if(J===this.getLineCount()){let X=this.getOffsetAt(J,1);return this.getLength()-X}return this.getOffsetAt(J+1,1)-this.getOffsetAt(J,1)-this._EOLLength}getNearestChunk(J){let X=this.nodeAt(J);if(X.remainder===X.node.piece.length){let Y=X.node.next();if(!Y||Y===m0)return\"\";let Z=this._buffers[Y.piece.bufferIndex],Q=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start);return Z.buffer.substring(Q,Q+Y.piece.length)}else{let Y=this._buffers[X.node.piece.bufferIndex],Z=this.offsetInBuffer(X.node.piece.bufferIndex,X.node.piece.start),Q=Z+X.remainder,$=Z+X.node.piece.length;return Y.buffer.substring(Q,$)}}findMatchesInNode(J,X,Y,Z,Q,$,q,G,U,H,V){let K=this._buffers[J.piece.bufferIndex],j=this.offsetInBuffer(J.piece.bufferIndex,J.piece.start),W=this.offsetInBuffer(J.piece.bufferIndex,Q),z=this.offsetInBuffer(J.piece.bufferIndex,$),B,P={line:0,column:0},_,A;if(X._wordSeparators)_=K.buffer.substring(W,z),A=(O)=>O+W,X.reset(0);else _=K.buffer,A=(O)=>O,X.reset(W);do if(B=X.next(_),B){if(A(B.index)>=z)return H;this.positionInBuffer(J,A(B.index)-j,P);let O=this.getLineFeedCnt(J.piece.bufferIndex,Q,P),D=P.line===Q.line?P.column-Q.column+Z:P.column+1,R=D+B[0].length;if(V[H++]=F2(new T(Y+O,D,Y+O,R),B,G),A(B.index)+B[0].length>=z)return H;if(H>=U)return H}while(B);return H}findMatchesLineByLine(J,X,Y,Z){let Q=[],$=0,q=new _Q(X.wordSeparators,X.regex),G=this.nodeAt2(J.startLineNumber,J.startColumn);if(G===null)return[];let U=this.nodeAt2(J.endLineNumber,J.endColumn);if(U===null)return[];let H=this.positionInBuffer(G.node,G.remainder),V=this.positionInBuffer(U.node,U.remainder);if(G.node===U.node)return this.findMatchesInNode(G.node,q,J.startLineNumber,J.startColumn,H,V,X,Y,Z,$,Q),Q;let K=J.startLineNumber,j=G.node;while(j!==U.node){let z=this.getLineFeedCnt(j.piece.bufferIndex,H,j.piece.end);if(z>=1){let P=this._buffers[j.piece.bufferIndex].lineStarts,_=this.offsetInBuffer(j.piece.bufferIndex,j.piece.start),A=P[H.line+z],O=K===J.startLineNumber?J.startColumn:1;if($=this.findMatchesInNode(j,q,K,O,H,this.positionInBuffer(j,A-_),X,Y,Z,$,Q),$>=Z)return Q;K+=z}let B=K===J.startLineNumber?J.startColumn-1:0;if(K===J.endLineNumber){let P=this.getLineContent(K).substring(B,J.endColumn-1);return $=this._findMatchesInLine(X,q,P,J.endLineNumber,B,$,Q,Y,Z),Q}if($=this._findMatchesInLine(X,q,this.getLineContent(K).substr(B),K,B,$,Q,Y,Z),$>=Z)return Q;K++,G=this.nodeAt2(K,1),j=G.node,H=this.positionInBuffer(G.node,G.remainder)}if(K===J.endLineNumber){let z=K===J.startLineNumber?J.startColumn-1:0,B=this.getLineContent(K).substring(z,J.endColumn-1);return $=this._findMatchesInLine(X,q,B,J.endLineNumber,z,$,Q,Y,Z),Q}let W=K===J.startLineNumber?J.startColumn:1;return $=this.findMatchesInNode(U.node,q,K,W,H,V,X,Y,Z,$,Q),Q}_findMatchesInLine(J,X,Y,Z,Q,$,q,G,U){let H=J.wordSeparators;if(!G&&J.simpleSearch){let K=J.simpleSearch,j=K.length,W=Y.length,z=-j;while((z=Y.indexOf(K,z+j))!==-1)if(!H||pM(H,Y,W,z,j)){if(q[$++]=new BQ(new T(Z,z+1+Q,Z,z+1+j+Q),null),$>=U)return $}return $}let V;X.reset(0);do if(V=X.next(Y),V){if(q[$++]=F2(new T(Z,V.index+1+Q,Z,V.index+1+V[0].length+Q),V,G),$>=U)return $}while(V);return $}insert(J,X,Y=!1){if(this._EOLNormalized=this._EOLNormalized&&Y,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=\"\",this.root!==m0){let{node:Z,remainder:Q,nodeStartOffset:$}=this.nodeAt(J),q=Z.piece,G=q.bufferIndex,U=this.positionInBuffer(Z,Q);if(Z.piece.bufferIndex===0&&q.end.line===this._lastChangeBufferPos.line&&q.end.column===this._lastChangeBufferPos.column&&$+q.length===J&&X.length<gQ){this.appendToNode(Z,X),this.computeBufferMetadata();return}if($===J)this.insertContentToNodeLeft(X,Z),this._searchCache.validate(J);else if($+Z.piece.length>J){let H=[],V=new j4(q.bufferIndex,U,q.end,this.getLineFeedCnt(q.bufferIndex,U,q.end),this.offsetInBuffer(G,q.end)-this.offsetInBuffer(G,U));if(this.shouldCheckCRLF()&&this.endWithCR(X)){if(this.nodeCharCodeAt(Z,Q)===10){let z={line:V.start.line+1,column:0};V=new j4(V.bufferIndex,z,V.end,this.getLineFeedCnt(V.bufferIndex,z,V.end),V.length-1),X+=`\n`}}if(this.shouldCheckCRLF()&&this.startWithLF(X))if(this.nodeCharCodeAt(Z,Q-1)===13){let z=this.positionInBuffer(Z,Q-1);if(this.deleteNodeTail(Z,z),X=\"\\r\"+X,Z.piece.length===0)H.push(Z)}else this.deleteNodeTail(Z,U);else this.deleteNodeTail(Z,U);let K=this.createNewPieces(X);if(V.length>0)this.rbInsertRight(Z,V);let j=Z;for(let W=0;W<K.length;W++)j=this.rbInsertRight(j,K[W]);this.deleteNodes(H)}else this.insertContentToNodeRight(X,Z)}else{let Z=this.createNewPieces(X),Q=this.rbInsertLeft(null,Z[0]);for(let $=1;$<Z.length;$++)Q=this.rbInsertRight(Q,Z[$])}this.computeBufferMetadata()}delete(J,X){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=\"\",X<=0||this.root===m0)return;let Y=this.nodeAt(J),Z=this.nodeAt(J+X),Q=Y.node,$=Z.node;if(Q===$){let K=this.positionInBuffer(Q,Y.remainder),j=this.positionInBuffer(Q,Z.remainder);if(Y.nodeStartOffset===J){if(X===Q.piece.length){let W=Q.next();LB(this,Q),this.validateCRLFWithPrevNode(W),this.computeBufferMetadata();return}this.deleteNodeHead(Q,j),this._searchCache.validate(J),this.validateCRLFWithPrevNode(Q),this.computeBufferMetadata();return}if(Y.nodeStartOffset+Q.piece.length===J+X){this.deleteNodeTail(Q,K),this.validateCRLFWithNextNode(Q),this.computeBufferMetadata();return}this.shrinkNode(Q,K,j),this.computeBufferMetadata();return}let q=[],G=this.positionInBuffer(Q,Y.remainder);if(this.deleteNodeTail(Q,G),this._searchCache.validate(J),Q.piece.length===0)q.push(Q);let U=this.positionInBuffer($,Z.remainder);if(this.deleteNodeHead($,U),$.piece.length===0)q.push($);let H=Q.next();for(let K=H;K!==m0&&K!==$;K=K.next())q.push(K);let V=Q.piece.length===0?Q.prev():Q;this.deleteNodes(q),this.validateCRLFWithNextNode(V),this.computeBufferMetadata()}insertContentToNodeLeft(J,X){let Y=[];if(this.shouldCheckCRLF()&&this.endWithCR(J)&&this.startWithLF(X)){let $=X.piece,q={line:$.start.line+1,column:0},G=new j4($.bufferIndex,q,$.end,this.getLineFeedCnt($.bufferIndex,q,$.end),$.length-1);if(X.piece=G,J+=`\n`,lY(this,X,-1,-1),X.piece.length===0)Y.push(X)}let Z=this.createNewPieces(J),Q=this.rbInsertLeft(X,Z[Z.length-1]);for(let $=Z.length-2;$>=0;$--)Q=this.rbInsertLeft(Q,Z[$]);this.validateCRLFWithPrevNode(Q),this.deleteNodes(Y)}insertContentToNodeRight(J,X){if(this.adjustCarriageReturnFromNext(J,X))J+=`\n`;let Y=this.createNewPieces(J),Z=this.rbInsertRight(X,Y[0]),Q=Z;for(let $=1;$<Y.length;$++)Q=this.rbInsertRight(Q,Y[$]);this.validateCRLFWithPrevNode(Z)}positionInBuffer(J,X,Y){let Z=J.piece,Q=J.piece.bufferIndex,$=this._buffers[Q].lineStarts,G=$[Z.start.line]+Z.start.column+X,U=Z.start.line,H=Z.end.line,V=0,K=0,j=0;while(U<=H){if(V=U+(H-U)/2|0,j=$[V],V===H)break;if(K=$[V+1],G<j)H=V-1;else if(G>=K)U=V+1;else break}if(Y)return Y.line=V,Y.column=G-j,null;return{line:V,column:G-j}}getLineFeedCnt(J,X,Y){if(Y.column===0)return Y.line-X.line;let Z=this._buffers[J].lineStarts;if(Y.line===Z.length-1)return Y.line-X.line;let Q=Z[Y.line+1],$=Z[Y.line]+Y.column;if(Q>$+1)return Y.line-X.line;let q=$-1;if(this._buffers[J].buffer.charCodeAt(q)===13)return Y.line-X.line+1;else return Y.line-X.line}offsetInBuffer(J,X){return this._buffers[J].lineStarts[X.line]+X.column}deleteNodes(J){for(let X=0;X<J.length;X++)LB(this,J[X])}createNewPieces(J){if(J.length>gQ){let H=[];while(J.length>gQ){let K=J.charCodeAt(gQ-1),j;if(K===13||K>=55296&&K<=56319)j=J.substring(0,gQ-1),J=J.substring(gQ-1);else j=J.substring(0,gQ),J=J.substring(gQ);let W=sY(j);H.push(new j4(this._buffers.length,{line:0,column:0},{line:W.length-1,column:j.length-W[W.length-1]},W.length-1,j.length)),this._buffers.push(new pQ(j,W))}let V=sY(J);return H.push(new j4(this._buffers.length,{line:0,column:0},{line:V.length-1,column:J.length-V[V.length-1]},V.length-1,J.length)),this._buffers.push(new pQ(J,V)),H}let X=this._buffers[0].buffer.length,Y=sY(J,!1),Z=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===X&&X!==0&&this.startWithLF(J)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},Z=this._lastChangeBufferPos;for(let H=0;H<Y.length;H++)Y[H]+=X+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(Y.slice(1)),this._buffers[0].buffer+=\"_\"+J,X+=1}else{if(X!==0)for(let H=0;H<Y.length;H++)Y[H]+=X;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(Y.slice(1)),this._buffers[0].buffer+=J}let Q=this._buffers[0].buffer.length,$=this._buffers[0].lineStarts.length-1,q=Q-this._buffers[0].lineStarts[$],G={line:$,column:q},U=new j4(0,Z,G,this.getLineFeedCnt(0,Z,G),Q-X);return this._lastChangeBufferPos=G,[U]}getLineRawContent(J,X=0){let Y=this.root,Z=\"\",Q=this._searchCache.get2(J);if(Q){Y=Q.node;let $=this.getAccumulatedValue(Y,J-Q.nodeStartLineNumber-1),q=this._buffers[Y.piece.bufferIndex].buffer,G=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start);if(Q.nodeStartLineNumber+Y.piece.lineFeedCnt===J)Z=q.substring(G+$,G+Y.piece.length);else{let U=this.getAccumulatedValue(Y,J-Q.nodeStartLineNumber);return q.substring(G+$,G+U-X)}}else{let $=0,q=J;while(Y!==m0)if(Y.left!==m0&&Y.lf_left>=J-1)Y=Y.left;else if(Y.lf_left+Y.piece.lineFeedCnt>J-1){let G=this.getAccumulatedValue(Y,J-Y.lf_left-2),U=this.getAccumulatedValue(Y,J-Y.lf_left-1),H=this._buffers[Y.piece.bufferIndex].buffer,V=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start);return $+=Y.size_left,this._searchCache.set({node:Y,nodeStartOffset:$,nodeStartLineNumber:q-(J-1-Y.lf_left)}),H.substring(V+G,V+U-X)}else if(Y.lf_left+Y.piece.lineFeedCnt===J-1){let G=this.getAccumulatedValue(Y,J-Y.lf_left-2),U=this._buffers[Y.piece.bufferIndex].buffer,H=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start);Z=U.substring(H+G,H+Y.piece.length);break}else J-=Y.lf_left+Y.piece.lineFeedCnt,$+=Y.size_left+Y.piece.length,Y=Y.right}Y=Y.next();while(Y!==m0){let $=this._buffers[Y.piece.bufferIndex].buffer;if(Y.piece.lineFeedCnt>0){let q=this.getAccumulatedValue(Y,0),G=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start);return Z+=$.substring(G,G+q-X),Z}else{let q=this.offsetInBuffer(Y.piece.bufferIndex,Y.piece.start);Z+=$.substr(q,Y.piece.length)}Y=Y.next()}return Z}computeBufferMetadata(){let J=this.root,X=1,Y=0;while(J!==m0)X+=J.lf_left+J.piece.lineFeedCnt,Y+=J.size_left+J.piece.length,J=J.right;this._lineCnt=X,this._length=Y,this._searchCache.validate(this._length)}getIndexOf(J,X){let Y=J.piece,Z=this.positionInBuffer(J,X),Q=Z.line-Y.start.line;if(this.offsetInBuffer(Y.bufferIndex,Y.end)-this.offsetInBuffer(Y.bufferIndex,Y.start)===X){let $=this.getLineFeedCnt(J.piece.bufferIndex,Y.start,Z);if($!==Q)return{index:$,remainder:0}}return{index:Q,remainder:Z.column}}getAccumulatedValue(J,X){if(X<0)return 0;let Y=J.piece,Z=this._buffers[Y.bufferIndex].lineStarts,Q=Y.start.line+X+1;if(Q>Y.end.line)return Z[Y.end.line]+Y.end.column-Z[Y.start.line]-Y.start.column;else return Z[Q]-Z[Y.start.line]-Y.start.column}deleteNodeTail(J,X){let Y=J.piece,Z=Y.lineFeedCnt,Q=this.offsetInBuffer(Y.bufferIndex,Y.end),$=X,q=this.offsetInBuffer(Y.bufferIndex,$),G=this.getLineFeedCnt(Y.bufferIndex,Y.start,$),U=G-Z,H=q-Q,V=Y.length+H;J.piece=new j4(Y.bufferIndex,Y.start,$,G,V),lY(this,J,H,U)}deleteNodeHead(J,X){let Y=J.piece,Z=Y.lineFeedCnt,Q=this.offsetInBuffer(Y.bufferIndex,Y.start),$=X,q=this.getLineFeedCnt(Y.bufferIndex,$,Y.end),G=this.offsetInBuffer(Y.bufferIndex,$),U=q-Z,H=Q-G,V=Y.length+H;J.piece=new j4(Y.bufferIndex,$,Y.end,q,V),lY(this,J,H,U)}shrinkNode(J,X,Y){let Z=J.piece,Q=Z.start,$=Z.end,q=Z.length,G=Z.lineFeedCnt,U=X,H=this.getLineFeedCnt(Z.bufferIndex,Z.start,U),V=this.offsetInBuffer(Z.bufferIndex,X)-this.offsetInBuffer(Z.bufferIndex,Q);J.piece=new j4(Z.bufferIndex,Z.start,U,H,V),lY(this,J,V-q,H-G);let K=new j4(Z.bufferIndex,Y,$,this.getLineFeedCnt(Z.bufferIndex,Y,$),this.offsetInBuffer(Z.bufferIndex,$)-this.offsetInBuffer(Z.bufferIndex,Y)),j=this.rbInsertRight(J,K);this.validateCRLFWithPrevNode(j)}appendToNode(J,X){if(this.adjustCarriageReturnFromNext(X,J))X+=`\n`;let Y=this.shouldCheckCRLF()&&this.startWithLF(X)&&this.endWithCR(J),Z=this._buffers[0].buffer.length;this._buffers[0].buffer+=X;let Q=sY(X,!1);for(let j=0;j<Q.length;j++)Q[j]+=Z;if(Y){let j=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:Z-j}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(Q.slice(1));let $=this._buffers[0].lineStarts.length-1,q=this._buffers[0].buffer.length-this._buffers[0].lineStarts[$],G={line:$,column:q},U=J.piece.length+X.length,H=J.piece.lineFeedCnt,V=this.getLineFeedCnt(0,J.piece.start,G),K=V-H;J.piece=new j4(J.piece.bufferIndex,J.piece.start,G,V,U),this._lastChangeBufferPos=G,lY(this,J,X.length,K)}nodeAt(J){let X=this.root,Y=this._searchCache.get(J);if(Y)return{node:Y.node,nodeStartOffset:Y.nodeStartOffset,remainder:J-Y.nodeStartOffset};let Z=0;while(X!==m0)if(X.size_left>J)X=X.left;else if(X.size_left+X.piece.length>=J){Z+=X.size_left;let Q={node:X,remainder:J-X.size_left,nodeStartOffset:Z};return this._searchCache.set(Q),Q}else J-=X.size_left+X.piece.length,Z+=X.size_left+X.piece.length,X=X.right;return null}nodeAt2(J,X){let Y=this.root,Z=0;while(Y!==m0)if(Y.left!==m0&&Y.lf_left>=J-1)Y=Y.left;else if(Y.lf_left+Y.piece.lineFeedCnt>J-1){let Q=this.getAccumulatedValue(Y,J-Y.lf_left-2),$=this.getAccumulatedValue(Y,J-Y.lf_left-1);return Z+=Y.size_left,{node:Y,remainder:Math.min(Q+X-1,$),nodeStartOffset:Z}}else if(Y.lf_left+Y.piece.lineFeedCnt===J-1){let Q=this.getAccumulatedValue(Y,J-Y.lf_left-2);if(Q+X-1<=Y.piece.length)return{node:Y,remainder:Q+X-1,nodeStartOffset:Z};else{X-=Y.piece.length-Q;break}}else J-=Y.lf_left+Y.piece.lineFeedCnt,Z+=Y.size_left+Y.piece.length,Y=Y.right;Y=Y.next();while(Y!==m0){if(Y.piece.lineFeedCnt>0){let Q=this.getAccumulatedValue(Y,0),$=this.offsetOfNode(Y);return{node:Y,remainder:Math.min(X-1,Q),nodeStartOffset:$}}else if(Y.piece.length>=X-1){let Q=this.offsetOfNode(Y);return{node:Y,remainder:X-1,nodeStartOffset:Q}}else X-=Y.piece.length;Y=Y.next()}return null}nodeCharCodeAt(J,X){if(J.piece.lineFeedCnt<1)return-1;let Y=this._buffers[J.piece.bufferIndex],Z=this.offsetInBuffer(J.piece.bufferIndex,J.piece.start)+X;return Y.buffer.charCodeAt(Z)}offsetOfNode(J){if(!J)return 0;let X=J.size_left;while(J!==this.root){if(J.parent.right===J)X+=J.parent.size_left+J.parent.piece.length;J=J.parent}return X}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`\n`)}startWithLF(J){if(typeof J===\"string\")return J.charCodeAt(0)===10;if(J===m0||J.piece.lineFeedCnt===0)return!1;let X=J.piece,Y=this._buffers[X.bufferIndex].lineStarts,Z=X.start.line,Q=Y[Z]+X.start.column;if(Z===Y.length-1)return!1;if(Y[Z+1]>Q+1)return!1;return this._buffers[X.bufferIndex].buffer.charCodeAt(Q)===10}endWithCR(J){if(typeof J===\"string\")return J.charCodeAt(J.length-1)===13;if(J===m0||J.piece.lineFeedCnt===0)return!1;return this.nodeCharCodeAt(J,J.piece.length-1)===13}validateCRLFWithPrevNode(J){if(this.shouldCheckCRLF()&&this.startWithLF(J)){let X=J.prev();if(this.endWithCR(X))this.fixCRLF(X,J)}}validateCRLFWithNextNode(J){if(this.shouldCheckCRLF()&&this.endWithCR(J)){let X=J.next();if(this.startWithLF(X))this.fixCRLF(J,X)}}fixCRLF(J,X){let Y=[],Z=this._buffers[J.piece.bufferIndex].lineStarts,Q;if(J.piece.end.column===0)Q={line:J.piece.end.line-1,column:Z[J.piece.end.line]-Z[J.piece.end.line-1]-1};else Q={line:J.piece.end.line,column:J.piece.end.column-1};let $=J.piece.length-1,q=J.piece.lineFeedCnt-1;if(J.piece=new j4(J.piece.bufferIndex,J.piece.start,Q,q,$),lY(this,J,-1,-1),J.piece.length===0)Y.push(J);let G={line:X.piece.start.line+1,column:0},U=X.piece.length-1,H=this.getLineFeedCnt(X.piece.bufferIndex,G,X.piece.end);if(X.piece=new j4(X.piece.bufferIndex,G,X.piece.end,H,U),lY(this,X,-1,-1),X.piece.length===0)Y.push(X);let V=this.createNewPieces(`\\r\n`);this.rbInsertRight(J,V[0]);for(let K=0;K<Y.length;K++)LB(this,Y[K])}adjustCarriageReturnFromNext(J,X){if(this.shouldCheckCRLF()&&this.endWithCR(J)){let Y=X.next();if(this.startWithLF(Y)){if(J+=`\n`,Y.piece.length===1)LB(this,Y);else{let Z=Y.piece,Q={line:Z.start.line+1,column:0},$=Z.length-1,q=this.getLineFeedCnt(Z.bufferIndex,Q,Z.end);Y.piece=new j4(Z.bufferIndex,Q,Z.end,q,$),lY(this,Y,-1,-1)}return!0}}return!1}iterate(J,X){if(J===m0)return X(m0);let Y=this.iterate(J.left,X);if(!Y)return Y;return X(J)&&this.iterate(J.right,X)}getNodeContent(J){if(J===m0)return\"\";let X=this._buffers[J.piece.bufferIndex],Y=J.piece,Z=this.offsetInBuffer(Y.bufferIndex,Y.start),Q=this.offsetInBuffer(Y.bufferIndex,Y.end);return X.buffer.substring(Z,Q)}getPieceContent(J){let X=this._buffers[J.bufferIndex],Y=this.offsetInBuffer(J.bufferIndex,J.start),Z=this.offsetInBuffer(J.bufferIndex,J.end);return X.buffer.substring(Y,Z)}rbInsertRight(J,X){let Y=new TB(X,1);if(Y.left=m0,Y.right=m0,Y.parent=m0,Y.size_left=0,Y.lf_left=0,this.root===m0)this.root=Y,Y.color=0;else if(J.right===m0)J.right=Y,Y.parent=J;else{let Q=SN(J.right);Q.left=Y,Y.parent=Q}return Th(this,Y),Y}rbInsertLeft(J,X){let Y=new TB(X,1);if(Y.left=m0,Y.right=m0,Y.parent=m0,Y.size_left=0,Y.lf_left=0,this.root===m0)this.root=Y,Y.color=0;else if(J.left===m0)J.left=Y,Y.parent=J;else{let Z=Rh(J.left);Z.right=Y,Y.parent=Z}return Th(this,Y),Y}}class s2 extends y{constructor(J,X,Y,Z,Q,$,q){super();this._onDidChangeContent=this._register(new E),this._BOM=X,this._mightContainNonBasicASCII=!$,this._mightContainRTL=Z,this._mightContainUnusualLineTerminators=Q,this._pieceTree=new Lh(J,Y,q)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(J){return this._pieceTree.createSnapshot(J?this._BOM:\"\")}getOffsetAt(J,X){return this._pieceTree.getOffsetAt(J,X)}getPositionAt(J){return this._pieceTree.getPositionAt(J)}getRangeAt(J,X){let Y=J+X,Z=this.getPositionAt(J),Q=this.getPositionAt(Y);return new T(Z.lineNumber,Z.column,Q.lineNumber,Q.column)}getValueInRange(J,X=0){if(J.isEmpty())return\"\";let Y=this._getEndOfLine(X);return this._pieceTree.getValueInRange(J,Y)}getValueLengthInRange(J,X=0){if(J.isEmpty())return 0;if(J.startLineNumber===J.endLineNumber)return J.endColumn-J.startColumn;let Y=this.getOffsetAt(J.startLineNumber,J.startColumn),Z=this.getOffsetAt(J.endLineNumber,J.endColumn),Q=0,$=this._getEndOfLine(X),q=this.getEOL();if($.length!==q.length){let G=$.length-q.length,U=J.endLineNumber-J.startLineNumber;Q=G*U}return Z-Y+Q}getCharacterCountInRange(J,X=0){if(this._mightContainNonBasicASCII){let Y=0,Z=J.startLineNumber,Q=J.endLineNumber;for(let $=Z;$<=Q;$++){let q=this.getLineContent($),G=$===Z?J.startColumn-1:0,U=$===Q?J.endColumn-1:q.length;for(let H=G;H<U;H++)if(V6(q.charCodeAt(H)))Y=Y+1,H=H+1;else Y=Y+1}return Y+=this._getEndOfLine(X).length*(Q-Z),Y}return this.getValueLengthInRange(J,X)}getNearestChunk(J){return this._pieceTree.getNearestChunk(J)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(J){return this._pieceTree.getLineContent(J)}getLineCharCode(J,X){return this._pieceTree.getLineCharCode(J,X)}getLineLength(J){return this._pieceTree.getLineLength(J)}getLineFirstNonWhitespaceColumn(J){let X=b6(this.getLineContent(J));if(X===-1)return 0;return X+1}getLineLastNonWhitespaceColumn(J){let X=T5(this.getLineContent(J));if(X===-1)return 0;return X+2}_getEndOfLine(J){switch(J){case 1:return`\n`;case 2:return`\\r\n`;case 0:return this.getEOL();default:throw Error(\"Unknown EOL preference\")}}setEOL(J){this._pieceTree.setEOL(J)}applyEdits(J,X,Y){let Z=this._mightContainRTL,Q=this._mightContainUnusualLineTerminators,$=this._mightContainNonBasicASCII,q=!0,G=[];for(let z=0;z<J.length;z++){let B=J[z];if(q&&B._isTracked)q=!1;let P=B.range;if(B.text){let R=!0;if(!$)R=!oH(B.text),$=R;if(!Z&&R)Z=_X(B.text);if(!Q&&R)Q=sO(B.text)}let _=\"\",A=0,O=0,D=0;if(B.text){let R;[A,O,D,R]=K9(B.text);let N=this.getEOL();if(R===0||R===(N===`\\r\n`?2:1))_=B.text;else _=B.text.replace(/\\r\\n|\\r|\\n/g,N)}G[z]={sortIndex:z,identifier:B.identifier||null,range:P,rangeOffset:this.getOffsetAt(P.startLineNumber,P.startColumn),rangeLength:this.getValueLengthInRange(P),text:_,eolCount:A,firstLineLength:O,lastLineLength:D,forceMoveMarkers:Boolean(B.forceMoveMarkers),isAutoWhitespaceEdit:B.isAutoWhitespaceEdit||!1}}G.sort(s2._sortOpsAscending);let U=!1;for(let z=0,B=G.length-1;z<B;z++){let P=G[z].range.getEndPosition(),_=G[z+1].range.getStartPosition();if(_.isBeforeOrEqual(P)){if(_.isBefore(P))throw Error(\"Overlapping ranges are not allowed!\");U=!0}}if(q)G=this._reduceOperations(G);let H=Y||X?s2._getInverseEditRanges(G):[],V=[];if(X)for(let z=0;z<G.length;z++){let B=G[z],P=H[z];if(B.isAutoWhitespaceEdit&&B.range.isEmpty())for(let _=P.startLineNumber;_<=P.endLineNumber;_++){let A=\"\";if(_===P.startLineNumber){if(A=this.getLineContent(B.range.startLineNumber),b6(A)!==-1)continue}V.push({lineNumber:_,oldContent:A})}}let K=null;if(Y){let z=0;K=[];for(let B=0;B<G.length;B++){let P=G[B],_=H[B],A=this.getValueInRange(P.range),O=P.rangeOffset+z;z+=P.text.length-A.length,K[B]={sortIndex:P.sortIndex,identifier:P.identifier,range:_,text:A,textChange:new e8(P.rangeOffset,A,O,P.text)}}if(!U)K.sort((B,P)=>B.sortIndex-P.sortIndex)}this._mightContainRTL=Z,this._mightContainUnusualLineTerminators=Q,this._mightContainNonBasicASCII=$;let j=this._doApplyEdits(G),W=null;if(X&&V.length>0){V.sort((z,B)=>B.lineNumber-z.lineNumber),W=[];for(let z=0,B=V.length;z<B;z++){let P=V[z].lineNumber;if(z>0&&V[z-1].lineNumber===P)continue;let _=V[z].oldContent,A=this.getLineContent(P);if(A.length===0||A===_||b6(A)!==-1)continue;W.push(P)}}return this._onDidChangeContent.fire(),new ub(K,j,W)}_reduceOperations(J){if(J.length<1000)return J;return[this._toSingleEditOperation(J)]}_toSingleEditOperation(J){let X=!1,Y=J[0].range,Z=J[J.length-1].range,Q=new T(Y.startLineNumber,Y.startColumn,Z.endLineNumber,Z.endColumn),$=Y.startLineNumber,q=Y.startColumn,G=[];for(let j=0,W=J.length;j<W;j++){let z=J[j],B=z.range;if(X=X||z.forceMoveMarkers,G.push(this.getValueInRange(new T($,q,B.startLineNumber,B.startColumn))),z.text.length>0)G.push(z.text);$=B.endLineNumber,q=B.endColumn}let U=G.join(\"\"),[H,V,K]=K9(U);return{sortIndex:0,identifier:J[0].identifier,range:Q,rangeOffset:this.getOffsetAt(Q.startLineNumber,Q.startColumn),rangeLength:this.getValueLengthInRange(Q,0),text:U,eolCount:H,firstLineLength:V,lastLineLength:K,forceMoveMarkers:X,isAutoWhitespaceEdit:!1}}_doApplyEdits(J){J.sort(s2._sortOpsDescending);let X=[];for(let Y=0;Y<J.length;Y++){let Z=J[Y],Q=Z.range.startLineNumber,$=Z.range.startColumn,q=Z.range.endLineNumber,G=Z.range.endColumn;if(Q===q&&$===G&&Z.text.length===0)continue;if(Z.text)this._pieceTree.delete(Z.rangeOffset,Z.rangeLength),this._pieceTree.insert(Z.rangeOffset,Z.text,!0);else this._pieceTree.delete(Z.rangeOffset,Z.rangeLength);let U=new T(Q,$,q,G);X.push({range:U,rangeLength:Z.rangeLength,text:Z.text,rangeOffset:Z.rangeOffset,forceMoveMarkers:Z.forceMoveMarkers})}return X}findMatchesLineByLine(J,X,Y,Z){return this._pieceTree.findMatchesLineByLine(J,X,Y,Z)}static _getInverseEditRanges(J){let X=[],Y=0,Z=0,Q=null;for(let $=0,q=J.length;$<q;$++){let G=J[$],U,H;if(Q)if(Q.range.endLineNumber===G.range.startLineNumber)U=Y,H=Z+(G.range.startColumn-Q.range.endColumn);else U=Y+(G.range.startLineNumber-Q.range.endLineNumber),H=G.range.startColumn;else U=G.range.startLineNumber,H=G.range.startColumn;let V;if(G.text.length>0){let K=G.eolCount+1;if(K===1)V=new T(U,H,U,H+G.firstLineLength);else V=new T(U,H,U+K-1,G.lastLineLength+1)}else V=new T(U,H,U,H);Y=V.endLineNumber,Z=V.endColumn,X.push(V),Q=G}return X}static _sortOpsAscending(J,X){let Y=T.compareRangesUsingEnds(J.range,X.range);if(Y===0)return J.sortIndex-X.sortIndex;return Y}static _sortOpsDescending(J,X){let Y=T.compareRangesUsingEnds(J.range,X.range);if(Y===0)return X.sortIndex-J.sortIndex;return-Y}}class D40{constructor(J,X,Y,Z,Q,$,q,G,U){this._chunks=J,this._bom=X,this._cr=Y,this._lf=Z,this._crlf=Q,this._containsRTL=$,this._containsUnusualLineTerminators=q,this._isBasicASCII=G,this._normalizeEOL=U}_getEOL(J){let X=this._cr+this._lf+this._crlf,Y=this._cr+this._crlf;if(X===0)return J===1?`\n`:`\\r\n`;if(Y>X/2)return`\\r\n`;return`\n`}create(J){let X=this._getEOL(J),Y=this._chunks;if(this._normalizeEOL&&(X===`\\r\n`&&(this._cr>0||this._lf>0)||X===`\n`&&(this._cr>0||this._crlf>0)))for(let Q=0,$=Y.length;Q<$;Q++){let q=Y[Q].buffer.replace(/\\r\\n|\\r|\\n/g,X),G=sY(q);Y[Q]=new pQ(q,G)}let Z=new s2(Y,this._bom,X,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:Z,disposable:Z}}}class fN{constructor(){this.chunks=[],this.BOM=\"\",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(J){if(J.length===0)return;if(this.chunks.length===0){if(nH(J))this.BOM=rn,J=J.substr(1)}let X=J.charCodeAt(J.length-1);if(X===13||X>=55296&&X<=56319)this._acceptChunk1(J.substr(0,J.length-1),!1),this._hasPreviousChar=!0,this._previousChar=X;else this._acceptChunk1(J,!1),this._hasPreviousChar=!1,this._previousChar=X}_acceptChunk1(J,X){if(!X&&J.length===0)return;if(this._hasPreviousChar)this._acceptChunk2(String.fromCharCode(this._previousChar)+J);else this._acceptChunk2(J)}_acceptChunk2(J){let X=_40(this._tmpLineStarts,J);if(this.chunks.push(new pQ(J,X.lineStarts)),this.cr+=X.cr,this.lf+=X.lf,this.crlf+=X.crlf,!X.isBasicASCII){if(this.isBasicASCII=!1,!this.containsRTL)this.containsRTL=_X(J);if(!this.containsUnusualLineTerminators)this.containsUnusualLineTerminators=sO(J)}}finish(J=!0){return this._finish(),new D40(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,J)}_finish(){if(this.chunks.length===0)this._acceptChunk1(\"\",!0);if(this._hasPreviousChar){this._hasPreviousChar=!1;let J=this.chunks[this.chunks.length-1];J.buffer+=String.fromCharCode(this._previousChar);let X=sY(J.buffer);if(J.lineStarts=X,this._previousChar===13)this.cr++}}}class Ih extends x9{get debugName(){return this._debugNameData.getDebugName(this)??\"LazyObservableValue\"}constructor(J,X,Y,Z){super(Z);this._debugNameData=J,this._equalityComparator=Y,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=X}get(){return this._update(),this._value}_update(){if(this._isUpToDate)return;if(this._isUpToDate=!0,this._deltas.length>0){for(let J of this._deltas){V8()?.handleObservableUpdated(this,{change:J,didChange:!0,oldValue:\"(unknown)\",newValue:this._value,hadValue:!0});for(let X of this._observers)X.handleChange(this,J)}this._deltas.length=0}else{V8()?.handleObservableUpdated(this,{change:void 0,didChange:!0,oldValue:\"(unknown)\",newValue:this._value,hadValue:!0});for(let J of this._observers)J.handleChange(this,void 0)}}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(let J of this._observers)J.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();let J=[...this._observers];for(let X of J)X.endUpdate(this)}}addObserver(J){let X=!this._observers.has(J)&&this._updateCounter>0;if(super.addObserver(J),X)J.beginUpdate(this)}removeObserver(J){let X=this._observers.has(J)&&this._updateCounter>0;if(super.removeObserver(J),X)J.endUpdate(this)}set(J,X,Y){if(Y===void 0&&this._equalityComparator(this._value,J))return;let Z;if(!X)X=Z=new HQ(()=>{},()=>`Setting ${this.debugName}`);try{if(this._isUpToDate=!1,this._setValue(J),Y!==void 0)this._deltas.push(Y);if(X.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(Q,$)=>{},handlePossibleChange:(Q)=>{}},this),this._updateCounter>1)for(let Q of this._observers)Q.handlePossibleChange(this)}finally{if(Z)Z.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(J){this._value=J}}function a2(J,X,Y=K6.ofCaller()){if(J.lazy)return new Ih(new K8(J.owner,J.debugName,void 0),X,J.equalsFn??G7,Y);return new X2(new K8(J.owner,J.debugName,void 0),X,J.equalsFn??G7,Y)}class kh{constructor(){this._onDidChangeVisibleRanges=new E,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set,this._viewsChanged=MY(this),this.visibleLineRanges=T7({owner:this,equalsFn:XV(yx())},(J)=>{return this._viewsChanged.read(J),D0.joinMany([...this._views].map((Y)=>Y.state.read(J)?.visibleLineRanges??[]))})}attachView(){let J=new M40((X)=>{this._onDidChangeVisibleRanges.fire({view:J,state:X})});return this._views.add(J),this._viewsChanged.trigger(void 0),J}detachView(J){this._views.delete(J),this._onDidChangeVisibleRanges.fire({view:J,state:void 0}),this._viewsChanged.trigger(void 0)}dispose(){this._onDidChangeVisibleRanges.dispose()}}class O40{constructor(J,X){this.visibleLineRanges=J,this.stabilized=X}equals(J){if(this===J)return!0;if(!w1(this.visibleLineRanges,J.visibleLineRanges,(X,Y)=>X.equals(Y)))return!1;if(this.stabilized!==J.stabilized)return!1;return!0}}class M40{get state(){return this._state}constructor(J){this.handleStateChange=J,this._state=a2({owner:this,equalsFn:e$((X,Y)=>X.equals(Y))},void 0)}setVisibleLines(J,X){let Y=J.map((Q)=>new D0(Q.startLineNumber,Q.endLineNumber+1)),Z=new O40(Y,X);this._state.set(Z,void 0,void 0),this.handleStateChange(Z)}}class Eh extends y{get lineRanges(){return this._lineRanges}constructor(J){super();this._refreshTokens=J,this.runner=this._register(new B1(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){if(w1(this._computedLineRanges,this._lineRanges,(J,X)=>J.equals(X)))return;this._computedLineRanges=this._lineRanges,this._refreshTokens()}handleStateChange(J){if(this._lineRanges=J.visibleLineRanges,J.stabilized)this.runner.cancel(),this.update();else this.runner.schedule()}}class IB extends y{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(J,X){super();this._languageIdCodec=J,this._textModel=X,this._onDidChangeTokens=this._register(new E),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeFontTokens=this._register(new E),this.onDidChangeFontTokens=this._onDidChangeFontTokens.event}tokenizeIfCheap(J){if(this.isCheapToTokenize(J))this.forceTokenization(J)}}class i2{static toKey(J){return`${J.ownerId};${J.decorationId};${J.lineNumber}`}constructor(J,X,Y,Z){this.ownerId=J,this.decorationId=X,this.lineNumber=Y,this.lineHeight=Z}}class r2{static toKey(J){return`${J.ownerId};${J.decorationId};${J.lineNumber}`}constructor(J,X,Y){this.ownerId=J,this.decorationId=X,this.lineNumber=Y}}class R40{constructor(J,X,Y,Z,Q){this._parsedThemeRuleBrand=void 0,this.token=J,this.index=X,this.fontStyle=Y,this.foreground=Z,this.background=Q}}function jB0(J){if(!J||!Array.isArray(J))return[];let X=[],Y=0;for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z],q=-1;if(typeof $.fontStyle===\"string\"){q=0;let H=$.fontStyle.split(\" \");for(let V=0,K=H.length;V<K;V++)switch(H[V]){case\"italic\":q=q|1;break;case\"bold\":q=q|2;break;case\"underline\":q=q|4;break;case\"strikethrough\":q=q|8;break}}let G=null;if(typeof $.foreground===\"string\")G=$.foreground;let U=null;if(typeof $.background===\"string\")U=$.background;X[Y++]=new R40($.token||\"\",Z,q,G,U)}return X}function WB0(J,X){J.sort((V,K)=>{let j=_B0(V.token,K.token);if(j!==0)return j;return V.index-K.index});let Y=0,Z=\"000000\",Q=\"ffffff\";while(J.length>=1&&J[0].token===\"\"){let V=J.shift();if(V.fontStyle!==-1)Y=V.fontStyle;if(V.foreground!==null)Z=V.foreground;if(V.background!==null)Q=V.background}let $=new N40;for(let V of X)$.getId(V);let q=$.getId(Z),G=$.getId(Q),U=new yh(Y,q,G),H=new xh(U);for(let V=0,K=J.length;V<K;V++){let j=J[V];H.insert(j.token,j.fontStyle,$.getId(j.foreground),$.getId(j.background))}return new hN($,H)}var zB0=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class N40{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(J){if(J===null)return 0;let X=J.match(zB0);if(!X)throw Error(\"Illegal value for token color: \"+J);J=X[1].toUpperCase();let Y=this._color2id.get(J);if(Y)return Y;return Y=++this._lastColorId,this._color2id.set(J,Y),this._id2color[Y]=c.fromHex(\"#\"+J),Y}getColorMap(){return this._id2color.slice(0)}}class hN{static createFromRawTokenTheme(J,X){return this.createFromParsedTokenTheme(jB0(J),X)}static createFromParsedTokenTheme(J,X){return WB0(J,X)}constructor(J,X){this._colorMap=J,this._root=X,this._cache=new Map}getColorMap(){return this._colorMap.getColorMap()}_match(J){return this._root.match(J)}match(J,X){let Y=this._cache.get(X);if(typeof Y>\"u\"){let Z=this._match(X),Q=BB0(X);Y=(Z.metadata|Q<<8)>>>0,this._cache.set(X,Y)}return(Y|J<<0)>>>0}}var FB0=/\\b(comment|string|regex|regexp)\\b/;function BB0(J){let X=J.match(FB0);if(!X)return 0;switch(X[1]){case\"comment\":return 1;case\"string\":return 2;case\"regex\":return 3;case\"regexp\":return 3}throw Error(\"Unexpected match for standard token type!\")}function _B0(J,X){if(J<X)return-1;if(J>X)return 1;return 0}class yh{constructor(J,X,Y){this._themeTrieElementRuleBrand=void 0,this._fontStyle=J,this._foreground=X,this._background=Y,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new yh(this._fontStyle,this._foreground,this._background)}acceptOverwrite(J,X,Y){if(J!==-1)this._fontStyle=J;if(X!==0)this._foreground=X;if(Y!==0)this._background=Y;this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class xh{constructor(J){this._themeTrieElementBrand=void 0,this._mainRule=J,this._children=new Map}match(J){if(J===\"\")return this._mainRule;let X=J.indexOf(\".\"),Y,Z;if(X===-1)Y=J,Z=\"\";else Y=J.substring(0,X),Z=J.substring(X+1);let Q=this._children.get(Y);if(typeof Q<\"u\")return Q.match(Z);return this._mainRule}insert(J,X,Y,Z){if(J===\"\"){this._mainRule.acceptOverwrite(X,Y,Z);return}let Q=J.indexOf(\".\"),$,q;if(Q===-1)$=J,q=\"\";else $=J.substring(0,Q),q=J.substring(Q+1);let G=this._children.get($);if(typeof G>\"u\")G=new xh(this._mainRule.clone()),this._children.set($,G);G.insert(q,X,Y,Z)}}function w40(J){let X=[];for(let Y=1,Z=J.length;Y<Z;Y++){let Q=J[Y];X[Y]=`.mtk${Y} { color: ${Q}; }`}return X.push(\".mtki { font-style: italic; }\"),X.push(\".mtkb { font-weight: bold; }\"),X.push(\".mtku { text-decoration: underline; text-underline-position: under; }\"),X.push(\".mtks { text-decoration: line-through; }\"),X.push(\".mtks.mtku { text-decoration: underline line-through; text-underline-position: under; }\"),X.join(`\n`)}function T40(J,X){let Y=AB0(J);return L40(`font-decoration-${Y}-${X}`)}function AB0(J){let X=J.toLowerCase().trim();if(!X)return\"default\";return L40(X)}function L40(J){return J.replace(/[^a-z0-9_-]/gi,\"-\")}class bh{constructor(J=[]){this._annotations=[],this._annotations=J}setAnnotations(J){for(let X of J.annotations){let Y=this._getStartIndexOfIntersectingAnnotation(X.range.start),Z=this._getEndIndexOfIntersectingAnnotation(X.range.endExclusive);if(X.annotation!==void 0)this._annotations.splice(Y,Z-Y,{range:X.range,annotation:X.annotation});else this._annotations.splice(Y,Z-Y)}}getAnnotationsIntersecting(J){let X=this._getStartIndexOfIntersectingAnnotation(J.start),Y=this._getEndIndexOfIntersectingAnnotation(J.endExclusive);return this._annotations.slice(X,Y)}_getStartIndexOfIntersectingAnnotation(J){let X=vH(this._annotations.length,(Z)=>{return this._annotations[Z].range.start-J}),Y;if(X>=0){Y=X;let Z=this._annotations[Y]?.range;if(Z&&Z.endExclusive===J)Y--}else{let Z=this._annotations[-(X+2)]?.range;if(Z&&J>=Z.start&&J<Z.endExclusive)Y=-(X+2);else Y=-(X+1)}return Y}_getEndIndexOfIntersectingAnnotation(J){let X=vH(this._annotations.length,(Z)=>{return this._annotations[Z].range.endExclusive-J}),Y;if(X>=0){Y=X+1;let Z=this._annotations[Y]?.range;if(Z&&Z.start===J)Y++}else{let Z=this._annotations[-(X+1)]?.range;if(Z&&J>=Z.start&&J<=Z.endExclusive)Y=-X;else Y=-(X+1)}return Y}applyEdit(J){let X=this._annotations.slice(),Y=[],Z=[],Q=0;for(let $ of J.replacements){while(!0){let G=X[0];if(!G)break;let U=G.range;if(U.endExclusive>=$.replaceRange.start)break;X.shift();let H={range:U.delta(Q),annotation:G.annotation};if(!H.range.isEmpty)Y.push(H);else Z.push(H)}let q=[];while(!0){let G=X[0];if(!G)break;if(!G.range.intersectsOrTouches($.replaceRange))break;X.shift(),q.push(G)}for(let G=q.length-1;G>=0;G--){let U=q[G],H=U.range,V=G===0&&$.replaceRange.endExclusive>H.start&&$.replaceRange.start<H.endExclusive,K=H.intersect($.replaceRange).length;H=H.deltaEnd(-K+(V?$.newText.length:0));let j=H.start-$.replaceRange.start;if(j>0)H=H.delta(-j);if(!V&&j>=0)H=H.delta($.newText.length);H=H.delta(-($.newText.length-$.replaceRange.length)),X.unshift({annotation:U.annotation,range:H})}Q+=$.newText.length-$.replaceRange.length}while(!0){let $=X[0];if(!$)break;X.shift();let q={annotation:$.annotation,range:$.range.delta(Q)};if(!q.range.isEmpty)Y.push(q);else Z.push(q)}return this._annotations=Y,Z}}class vN{static create(J){return new vN(J)}constructor(J){this._annotations=J}get annotations(){return this._annotations}}function I40(J){let X=J.map((Z)=>new wX(H0.ofStartAndLength(Z.rangeOffset,Z.rangeLength),Z.text));return X.reverse(),new EY(X)}class kB extends y{static{this.DECORATION_COUNT=0}constructor(J,X){super();this.textModel=J,this.tokenizationTextModelPart=X,this._onDidChangeLineHeight=this._register(new E),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new E),this.onDidChangeFont=this._onDidChangeFont.event,this._fontAnnotatedString=new bh,this._register(this.tokenizationTextModelPart.onDidChangeFontTokens((Y)=>{let Z=new Set,Q=[],$=new Set,q=new Set;for(let G of Y.changes.annotations){let H=this.textModel.getPositionAt(G.range.start).lineNumber,V;if(G.annotation===void 0)V={range:G.range,annotation:void 0};else{let K=`tokenization-font-decoration-${kB.DECORATION_COUNT}`,j={fontToken:G.annotation,decorationId:K};if(V={range:G.range,annotation:j},kB.DECORATION_COUNT++,G.annotation.lineHeightMultiplier)$.add(new i2(0,K,H,G.annotation.lineHeightMultiplier));q.add(new r2(0,K,H))}if(Q.push(V),!Z.has(H)){let K=this.textModel.getOffsetAt(new C(H,1)),j=this.textModel.getOffsetAt(new C(H,this.textModel.getLineMaxColumn(H))),W=new H0(K,j),z=this._fontAnnotatedString.getAnnotationsIntersecting(W);for(let B of z){let P=B.annotation.decorationId;$.add(new i2(0,P,H,null)),q.add(new r2(0,P,H))}Z.add(H)}}this._fontAnnotatedString.setAnnotations(vN.create(Q)),this._onDidChangeLineHeight.fire($),this._onDidChangeFont.fire(q)}))}handleDidChangeContent(J){let X=I40(J.changes),Y=this._fontAnnotatedString.applyEdit(X);if(Y.length===0)return;let Z=new Set,Q=new Set;for(let $ of Y){let G=this.textModel.getPositionAt($.range.start).lineNumber,U=$.annotation.decorationId;Z.add(new i2(0,U,G,null)),Q.add(new r2(0,U,G))}this._onDidChangeLineHeight.fire(Z),this._onDidChangeFont.fire(Q)}getDecorationsInRange(J,X,Y,Z,Q){let $=this.textModel.getOffsetAt(J.getStartPosition()),q=this.textModel.getOffsetAt(J.getEndPosition()),G=this._fontAnnotatedString.getAnnotationsIntersecting(new H0($,q)),U=[];for(let H of G){let V=H.annotation,K=!!(V.fontToken.fontFamily||V.fontToken.fontSizeMultiplier);if(!(K&&Z)){let j=this.textModel.getPositionAt(H.range.start),W=this.textModel.getPositionAt(H.range.endExclusive),z=T.fromPositions(j,W),B=H.annotation,P=T40(B.fontToken.fontFamily??\"\",B.fontToken.fontSizeMultiplier??0),_=B.decorationId;U.push({id:_,options:{description:\"FontOptionDecoration\",inlineClassName:P,lineHeight:B.fontToken.lineHeightMultiplier,affectsFont:K},ownerId:0,range:z})}}return U}getAllDecorations(J,X){return this.getDecorationsInRange(new T(1,1,this.textModel.getLineCount(),this.textModel.getLineMaxColumn(this.textModel.getLineCount())),J,X)}}function PB0(J,X){let Y=J.gotoNextSibling(),Z=X.gotoNextSibling();if(Y!==Z)throw Error(\"Trees are out of sync\");return Y&&Z}function Ch(J,X){let Y=J.gotoParent(),Z=X.gotoParent();if(Y!==Z)throw Error(\"Trees are out of sync\");return Y&&Z}function k40(J,X,Y){let Z=J.gotoFirstChild(),Q=X.gotoFirstChild();if(Z!==Q)throw Error(\"Trees are out of sync\");if(Y===0)return Z&&Q;for(let $=1;$<=Y;$++){let q=J.gotoNextSibling(),G=X.gotoNextSibling();if(q!==G)throw Error(\"Trees are out of sync\");if(!q||!G)return!1}return Z&&Q}function Sh(J,X){do{if(J.currentNode.nextSibling)return PB0(J,X);if(J.currentNode.parent)Ch(J,X)}while(J.currentNode.nextSibling||J.currentNode.parent);return!1}function E40(J,X){let Y=X.walk();Y.resetTo(J);let Z=J.currentNode;do if(Y.currentNode.previousSibling&&Y.currentNode.endIndex-Y.currentNode.startIndex!==0)Y.gotoPreviousSibling();else{while(!Y.currentNode.previousSibling&&Y.currentNode.parent)Y.gotoParent();Y.gotoPreviousSibling()}while(Y.currentNode.endIndex>Z.startIndex&&(Y.currentNode.parent||Y.currentNode.previousSibling)&&Y.currentNode.id!==Z.id);if(Y.currentNode.id!==Z.id&&Y.currentNode.endIndex<=Z.startIndex)return Y.currentNode;else return}var DB0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},y40=function(J,X){return function(Y,Z){X(Y,Z,J)}},gN=class extends y{constructor(X,Y,Z,Q,$,q,G){super();this.languageId=X,this._ranges=Y,this._parser=Z,this._parserClass=Q,this.textModel=$,this._logService=q,this._telemetryService=G,this._tree=A0(this,void 0),this.tree=this._tree,this._treeLastParsedVersion=A0(this,-1),this.treeLastParsedVersion=this._treeLastParsedVersion,this._onDidChangeContentQueue=new Mx,this._tree=A0(this,void 0),this.tree=this._tree,this._register(J0(()=>{this._tree.get()?.delete(),this._lastFullyParsed?.delete(),this._lastFullyParsedWithEdits?.delete(),this._parser.delete()})),this.handleContentChange(void 0,this._ranges)}handleContentChange(X,Y){let Z=this.textModel.getVersionId(),Q=[];if(Y)Q=this._setRanges(Y);if(X)this._applyEdits(X.changes);this._onDidChangeContentQueue.clearPending(),this._onDidChangeContentQueue.schedule(async()=>{if(this._store.isDisposed)return;let $=this._lastFullyParsed,q;if(this._lastFullyParsedWithEdits&&this._lastFullyParsed)q=this._findChangedNodes(this._lastFullyParsedWithEdits,this._lastFullyParsed);let G=await this._parseAndUpdateTree(Z);if(G){let U;if(!q){if(this._ranges)U=this._ranges.map((V)=>({newRange:new T(V.startPosition.row+1,V.startPosition.column+1,V.endPosition.row+1,V.endPosition.column+1),oldRangeLength:V.endIndex-V.startIndex,newRangeStartOffset:V.startIndex,newRangeEndOffset:V.endIndex}))}else if($&&q)U=this._findTreeChanges(G,q,Q);if(!U)U=[{newRange:this.textModel.getFullModelRange(),newRangeStartOffset:0,newRangeEndOffset:this.textModel.getValueLength()}];let H=this._tree.get();k1((V)=>{this._tree.set(G,V,{ranges:U,versionId:Z}),this._treeLastParsedVersion.set(Z,V)}),H?.delete()}})}_applyEdits(X){for(let Y of X){let Z=f6.ofRange(T.lift(Y.range)),Q=f6.ofText(Y.text),$=Y.text.length===0?Q:Z.add(Q),q={startIndex:Y.rangeOffset,oldEndIndex:Y.rangeOffset+Y.rangeLength,newEndIndex:Y.rangeOffset+Y.text.length,startPosition:{row:Y.range.startLineNumber-1,column:Y.range.startColumn-1},oldEndPosition:{row:Y.range.endLineNumber-1,column:Y.range.endColumn-1},newEndPosition:{row:Y.range.startLineNumber+$.lineCount-1,column:$.lineCount?$.columnCount:Y.range.endColumn+$.columnCount}};this._tree.get()?.edit(q),this._lastFullyParsedWithEdits?.edit(q)}}_findChangedNodes(X,Y){if(this._ranges&&this._ranges.every((G)=>G.startPosition.row!==X.rootNode.startPosition.row)||X.rootNode.startPosition.row!==0)return[];let Z=X.walk(),Q=Y.walk(),$=[],q=!0;do if(Z.currentNode.hasChanges){let G=Z.currentNode.children,U=[],H=G.filter((V,K)=>{if(V?.hasChanges||Q.currentNode.children.length<=K)return U.push(K),!0;return!1});if(H.length===0||Z.currentNode.hasError!==Q.currentNode.hasError){while(Z.currentNode.parent&&q&&!Z.currentNode.isNamed)q=Ch(Z,Q);let V=Z.currentNode,K=E40(Z,X)??V;$.push({startIndex:K.startIndex,endIndex:V.endIndex,startPosition:K.startPosition,endPosition:V.endPosition}),q=Sh(Z,Q)}else if(H.length>=1)q=k40(Z,Q,U[0])}else q=Sh(Z,Q);while(q);return Z.delete(),Q.delete(),$}_findTreeChanges(X,Y,Z){let Q=0,$=[];for(let q=0;q<Y.length;q++){let G=Y[q];if($.length>0){if(G.startIndex>=$[$.length-1].newRangeStartOffset&&G.endIndex<=$[$.length-1].newRangeEndOffset)continue}let U=X.walk(),H=()=>U.startIndex<G.startIndex&&U.endIndex>G.endIndex;while(H()){let B=U.gotoFirstChild(),P=!1;while(B)if(H()&&U.currentNode.isNamed){P=!0;break}else B=U.gotoNextSibling();if(!P){U.gotoParent();break}if(U.currentNode.childCount===0)break}let V=U.currentNode.startPosition,K=U.currentNode.endPosition,j=U.currentNode.startIndex,W=U.currentNode.endIndex,z={newRange:new T(V.row+1,V.column+1,K.row+1,K.column+1),newRangeStartOffset:j,newRangeEndOffset:W};if(Q<Z.length&&x40(Z[Q],{startIndex:j,endIndex:W})){if(Z[Q].startIndex<z.newRangeStartOffset)z.newRange=z.newRange.setStartPosition(Z[Q].startPosition.row+1,Z[Q].startPosition.column+1),z.newRangeStartOffset=Z[Q].startIndex;if(Z[Q].endIndex>z.newRangeEndOffset)z.newRange=z.newRange.setEndPosition(Z[Q].endPosition.row+1,Z[Q].endPosition.column+1),z.newRangeEndOffset=Z[Q].endIndex;Q++}else if(Q<Z.length&&Z[Q].endIndex<z.newRangeStartOffset)$.push({newRange:new T(Z[Q].startPosition.row+1,Z[Q].startPosition.column+1,Z[Q].endPosition.row+1,Z[Q].endPosition.column+1),newRangeStartOffset:Z[Q].startIndex,newRangeEndOffset:Z[Q].endIndex});if($.length>0&&$[$.length-1].newRangeEndOffset>=z.newRangeStartOffset)$[$.length-1].newRange=T.fromPositions($[$.length-1].newRange.getStartPosition(),z.newRange.getEndPosition()),$[$.length-1].newRangeEndOffset=z.newRangeEndOffset;else $.push(z)}return this._constrainRanges($)}_constrainRanges(X){if(!this._ranges)return X;let Y=[],Z=0,Q=0;while(Z<X.length&&Q<this._ranges.length){let $=X[Z],q=this._ranges[Q];if($.newRangeEndOffset<q.startIndex)Z++;else if($.newRangeStartOffset>q.endIndex)Q++;else{let G=Math.max($.newRangeStartOffset,q.startIndex),U=Math.min($.newRangeEndOffset,q.endIndex),H=$.newRange.intersectRanges(new T(q.startPosition.row+1,q.startPosition.column+1,q.endPosition.row+1,q.endPosition.column+1));if(Y.push({newRange:H,newRangeEndOffset:U,newRangeStartOffset:G}),U<$.newRangeEndOffset)$.newRange=T.fromPositions(H.getEndPosition(),$.newRange.getEndPosition()),$.newRangeStartOffset=U+1;else Z++}}return Y}async _parseAndUpdateTree(X){let Y=await this._parse();if(Y)return this._lastFullyParsed?.delete(),this._lastFullyParsed=Y.copy(),this._lastFullyParsedWithEdits?.delete(),this._lastFullyParsedWithEdits=Y.copy(),Y;else if(!this._tree.get())this._parser.reset();return}_parse(){let X=\"fullParse\";if(this._tree.get())X=\"incrementalParse\";return this._parseAndYield(X)}async _parseAndYield(X){let Y=0,Z=0,Q=this.textModel.getVersionId(),$,q=OB0();do{let G=performance.now();$=this._parser.parse((U,H)=>this._parseCallback(U),this._tree.get(),{progressCallback:q,includedRanges:this._ranges}),Y+=performance.now()-G,Z++,await new Promise((U)=>OJ(U))}while(!this._store.isDisposed&&!$&&Q===this.textModel.getVersionId());return this._sendParseTimeTelemetry(X,Y,Z),$&&Q===this.textModel.getVersionId()?$:void 0}_parseCallback(X){try{return this.textModel.getTextBuffer().getNearestChunk(X)}catch(Y){this._logService.debug(\"Error getting chunk for tree-sitter parsing\",Y)}return}_setRanges(X){let Y=[];if(this._ranges)for(let Z of X){let Q=!1;for(let $=0;$<this._ranges.length;$++){let q=this._ranges[$];if(MB0(q,Z)||x40(q,Z)){Q=!0;break}}if(!Q)Y.push(Z)}else Y.push(...X);return this._ranges=X,Y}_sendParseTimeTelemetry(X,Y,Z){if(this._logService.debug(`Tree parsing (${X}) took ${Y} ms and ${Z} passes.`),X===\"fullParse\")this._telemetryService.publicLog2(\"treeSitter.fullParse\",{languageId:this.languageId,time:Y,passes:Z});else this._telemetryService.publicLog2(\"treeSitter.incrementalParse\",{languageId:this.languageId,time:Y,passes:Z})}createParsedTreeSync(X){let Y=new this._parserClass;Y.setLanguage(this._parser.language);let Z=Y.parse(X);return Y.delete(),Z??void 0}};gN=DB0([y40(5,x1),y40(6,k7)],gN);function OB0(){let J=performance.now();return function(Y){let Z=performance.now();if(Z-J>50)return J=Z,!0;return!1}}function MB0(J,X){return J.startPosition.row===X.startPosition.row&&J.startPosition.column===X.startPosition.column&&J.endPosition.row===X.endPosition.row&&J.endPosition.column===X.endPosition.column&&J.startIndex===X.startIndex&&J.endIndex===X.endIndex}function x40(J,X){return J.startIndex<=X.startIndex&&J.endIndex>=X.startIndex||X.startIndex<=J.startIndex&&X.endIndex>=J.startIndex}class fh{constructor(J){this._default=J,this._store=[]}get(J){if(J<this._store.length)return this._store[J];return this._default}set(J,X){while(J>=this._store.length)this._store[this._store.length]=this._default;this._store[J]=X}replace(J,X,Y){if(J>=this._store.length)return;if(X===0){this.insert(J,Y);return}else if(Y===0){this.delete(J,X);return}let Z=this._store.slice(0,J),Q=this._store.slice(J+X),$=RB0(Y,this._default);this._store=Z.concat($,Q)}delete(J,X){if(X===0||J>=this._store.length)return;this._store.splice(J,X)}insert(J,X){if(X===0||J>=this._store.length)return;let Y=[];for(let Z=0;Z<X;Z++)Y[Z]=this._default;this._store=m$(this._store,J,Y)}}function RB0(J,X){let Y=[];for(let Z=0;Z<J;Z++)Y[Z]=X;return Y}class hh{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(J,X){this._startLineNumber=J,this._tokens=X}getLineTokens(J){return this._tokens[J-this._startLineNumber]}appendLineTokens(J){this._tokens.push(J)}}class AK{constructor(){this._tokens=[]}add(J,X){if(this._tokens.length>0){let Y=this._tokens[this._tokens.length-1];if(Y.endLineNumber+1===J){Y.appendLineTokens(X);return}}this._tokens.push(new hh(J,[X]))}finalize(){return this._tokens}}class b40{constructor(J,X){this.tokenizationSupport=X,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new yB(J)}getStartState(J){return this.store.getStartState(J,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class vh extends b40{constructor(J,X,Y,Z){super(J,X);this._textModel=Y,this._languageIdCodec=Z}updateTokensUntilLine(J,X){let Y=this._textModel.getLanguageId();while(!0){let Z=this.getFirstInvalidLine();if(!Z||Z.lineNumber>X)break;let Q=this._textModel.getLineContent(Z.lineNumber),$=EB(this._languageIdCodec,Y,this.tokenizationSupport,Q,!0,Z.startState);J.add(Z.lineNumber,$.tokens),this.store.setEndState(Z.lineNumber,$.endState)}}getTokenTypeIfInsertingCharacter(J,X){let Y=this.getStartState(J.lineNumber);if(!Y)return 0;let Z=this._textModel.getLanguageId(),Q=this._textModel.getLineContent(J.lineNumber),$=Q.substring(0,J.column-1)+X+Q.substring(J.column-1),q=EB(this._languageIdCodec,Z,this.tokenizationSupport,$,!0,Y),G=new b1(q.tokens,$,this._languageIdCodec);if(G.getCount()===0)return 0;let U=G.findTokenIndexAtOffset(J.column-1);return G.getStandardTokenType(U)}tokenizeLinesAt(J,X){let Y=this.getStartState(J);if(!Y)return null;let Z=this._textModel.getLanguageId(),Q=[],$=Y;for(let q of X){let G=EB(this._languageIdCodec,Z,this.tokenizationSupport,q,!0,$);Q.push(new b1(G.tokens,q,this._languageIdCodec)),$=G.endState}return Q}hasAccurateTokensForLine(J){let X=this.store.getFirstInvalidEndStateLineNumberOrMax();return J<X}isCheapToTokenize(J){let X=this.store.getFirstInvalidEndStateLineNumberOrMax();if(J<X)return!0;if(J===X&&this._textModel.getLineLength(J)<2048)return!0;return!1}tokenizeHeuristically(J,X,Y){if(Y<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(X<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(J,Y),{heuristicTokens:!1};let Z=this.guessStartState(X),Q=this._textModel.getLanguageId();for(let $=X;$<=Y;$++){let q=this._textModel.getLineContent($),G=EB(this._languageIdCodec,Q,this.tokenizationSupport,q,!0,Z);J.add($,G.tokens),Z=G.endState}return{heuristicTokens:!0}}guessStartState(J){let{likelyRelevantLines:X,initialState:Y}=gh(this._textModel,J,this);if(!Y)Y=this.tokenizationSupport.getInitialState();let Z=this._textModel.getLanguageId(),Q=Y;for(let $ of X)Q=EB(this._languageIdCodec,Z,this.tokenizationSupport,$,!1,Q).endState;return Q}}function gh(J,X,Y){let Z=J.getLineFirstNonWhitespaceColumn(X),Q=[],$=null;for(let q=X-1;Z>1&&q>=1;q--){let G=J.getLineFirstNonWhitespaceColumn(q);if(G===0)continue;if(G<Z){if(Q.push(J.getLineContent(q)),Z=G,$=Y?.getStartState(q),$)break}}return Q.reverse(),{likelyRelevantLines:Q,initialState:$??void 0}}class yB{constructor(J){this.lineCount=J,this._tokenizationStateStore=new C40,this._invalidEndStatesLineNumbers=new S40,this._invalidEndStatesLineNumbers.addRange(new H0(1,J+1))}getEndState(J){return this._tokenizationStateStore.getEndState(J)}setEndState(J,X){if(!X)throw new j0(\"Cannot set null/undefined state\");this._invalidEndStatesLineNumbers.delete(J);let Y=this._tokenizationStateStore.setEndState(J,X);if(Y&&J<this.lineCount)this._invalidEndStatesLineNumbers.addRange(new H0(J+1,J+2));return Y}acceptChange(J,X){this.lineCount+=X-J.length,this._tokenizationStateStore.acceptChange(J,X),this._invalidEndStatesLineNumbers.addRangeAndResize(new H0(J.startLineNumber,J.endLineNumberExclusive),X)}acceptChanges(J){for(let X of J){let[Y]=K9(X.text);this.acceptChange(new D0(X.range.startLineNumber,X.range.endLineNumber+1),Y+1)}}invalidateEndStateRange(J){this._invalidEndStatesLineNumbers.addRange(new H0(J.startLineNumber,J.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return this._invalidEndStatesLineNumbers.min===null}getStartState(J,X){if(J===1)return X;return this.getEndState(J-1)}getFirstInvalidLine(J){let X=this.getFirstInvalidEndStateLineNumber();if(X===null)return null;let Y=this.getStartState(X,J);if(!Y)throw new j0(\"Start state must be defined\");return{lineNumber:X,startState:Y}}}class C40{constructor(){this._lineEndStates=new fh(null)}getEndState(J){return this._lineEndStates.get(J)}setEndState(J,X){let Y=this._lineEndStates.get(J);if(Y&&Y.equals(X))return!1;return this._lineEndStates.set(J,X),!0}acceptChange(J,X){let Y=J.length;if(X>0&&Y>0)Y--,X--;this._lineEndStates.replace(J.startLineNumber,Y,X)}}class S40{constructor(){this._ranges=[]}get min(){if(this._ranges.length===0)return null;return this._ranges[0].start}delete(J){let X=this._ranges.findIndex((Y)=>Y.contains(J));if(X!==-1){let Y=this._ranges[X];if(Y.start===J)if(Y.endExclusive===J+1)this._ranges.splice(X,1);else this._ranges[X]=new H0(J+1,Y.endExclusive);else if(Y.endExclusive===J+1)this._ranges[X]=new H0(Y.start,J);else this._ranges.splice(X,1,new H0(Y.start,J),new H0(J+1,Y.endExclusive))}}addRange(J){H0.addRange(J,this._ranges)}addRangeAndResize(J,X){let Y=0;while(!(Y>=this._ranges.length||J.start<=this._ranges[Y].endExclusive))Y++;let Z=Y;while(!(Z>=this._ranges.length||J.endExclusive<this._ranges[Z].start))Z++;let Q=X-J.length;for(let $=Z;$<this._ranges.length;$++)this._ranges[$]=this._ranges[$].delta(Q);if(Y===Z){let $=new H0(J.start,J.start+X);if(!$.isEmpty)this._ranges.splice(Y,0,$)}else{let $=Math.min(J.start,this._ranges[Y].start),q=Math.max(J.endExclusive,this._ranges[Z-1].endExclusive),G=new H0($,q+Q);if(!G.isEmpty)this._ranges.splice(Y,Z-Y,G);else this._ranges.splice(Y,Z-Y)}}toString(){return this._ranges.map((J)=>J.toString()).join(\" + \")}}function EB(J,X,Y,Z,Q,$){let q=null;if(Y)try{q=Y.tokenizeEncoded(Z,Q,$.clone())}catch(G){b0(G)}if(!q)q=OV(J.encodeLanguageId(X),$);return b1.convertToEndOffset(q.tokens,Z.length),q}class ph{constructor(J,X){this._tokenizerWithStateStore=J,this._backgroundTokenStore=X,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){if(this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize())return;this._isScheduled=!0,kz((J)=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(J)})}_backgroundTokenizeWithDeadline(J){let X=Date.now()+J.timeRemaining(),Y=()=>{if(this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize())return;if(this._backgroundTokenizeForAtLeast1ms(),Date.now()<X)OJ(Y);else this._beginBackgroundTokenization()};Y()}_backgroundTokenizeForAtLeast1ms(){let J=this._tokenizerWithStateStore._textModel.getLineCount(),X=new AK,Y=v5.create(!1);do{if(Y.elapsed()>1)break;if(this._tokenizeOneInvalidLine(X)>=J)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(X.finalize()),this.checkFinished()}_hasLinesToTokenize(){if(!this._tokenizerWithStateStore)return!1;return!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(J){let X=this._tokenizerWithStateStore?.getFirstInvalidLine();if(!X)return this._tokenizerWithStateStore._textModel.getLineCount()+1;return this._tokenizerWithStateStore.updateTokensUntilLine(J,X.lineNumber),X.lineNumber}checkFinished(){if(this._isDisposed)return;if(this._tokenizerWithStateStore.store.allStatesValid())this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(J,X){this._tokenizerWithStateStore.store.invalidateEndStateRange(new D0(J,X))}}class CG{get children(){return this._children}get length(){return this._length}constructor(J){this.height=J,this._children=[],this._length=0}static create(J,X){let Y=new CG(J.height+1);return Y.appendChild(J),Y.appendChild(X),Y}canAppendChild(){return this._children.length<3}appendChild(J){if(!this.canAppendChild())throw Error(\"Cannot insert more than 3 children in a ListNode\");if(this._children.push(J),this._length+=J.length,this._updateParentLength(J.length),!h7(J))J.parent=this}_updateParentLength(J){let X=this.parent;while(X)X._length+=J,X=X.parent}unappendChild(){let J=this._children.pop();return this._length-=J.length,this._updateParentLength(-J.length),J}prependChild(J){if(this._children.length>=3)throw Error(\"Cannot prepend more than 3 children in a ListNode\");if(this._children.unshift(J),this._length+=J.length,this._updateParentLength(J.length),!h7(J))J.parent=this}unprependChild(){let J=this._children.shift();return this._length-=J.length,this._updateParentLength(-J.length),J}lastChild(){return this._children[this._children.length-1]}dispose(){this._children.splice(0,this._children.length)}}var f4;(function(J){J[J.None=0]=\"None\",J[J.ViewportGuess=1]=\"ViewportGuess\",J[J.EditGuess=2]=\"EditGuess\",J[J.Accurate=3]=\"Accurate\"})(f4||(f4={}));function h7(J){return J.token!==void 0}function f40(J,X){let Y=J,Z=[],Q;while(!0){if(X.height===Y.height){Q=X;break}if(h7(Y))throw Error(\"unexpected\");Z.push(Y),Y=Y.lastChild()}for(let $=Z.length-1;$>=0;$--){let q=Z[$];if(Q)if(q.children.length>=3)Q=CG.create(q.unappendChild(),Q);else q.appendChild(Q),Q=void 0}if(Q){let $=new CG(Q.height+1);return $.appendChild(J),$.appendChild(Q),$}else return J}function NB0(J,X){let Y=J,Z=[];while(X.height!==Y.height){if(h7(Y))throw Error(\"unexpected\");Z.push(Y),Y=Y.children[0]}let Q=X;for(let $=Z.length-1;$>=0;$--){let q=Z[$];if(Q)if(q.children.length>=3)Q=CG.create(Q,q.unprependChild());else q.prependChild(Q),Q=void 0}if(Q)return CG.create(Q,J);else return J}function wB0(J,X){if(J.height===X.height)return CG.create(J,X);else if(J.height>X.height)return f40(J,X);else return NB0(X,J)}class mh{constructor(J){this._textModel=J,this._root=this.createEmptyRoot()}createEmptyRoot(){return{length:this._textModel.getValueLength(),token:0,height:0,tokenQuality:f4.None}}buildStore(J,X){this._root=this.createFromUpdates(J,X)}createFromUpdates(J,X){if(J.length===0)return this.createEmptyRoot();let Y={length:J[0].length,token:J[0].token,height:0,tokenQuality:X};for(let Z=1;Z<J.length;Z++)Y=f40(Y,{length:J[Z].length,token:J[Z].token,height:0,tokenQuality:X});return Y}update(J,X,Y){if(X.length===0)return;this.replace(J,X[0].startOffsetInclusive,X,Y)}delete(J,X){this.replace(J,X,[],f4.EditGuess)}replace(J,X,Y,Z){let Q=X+J,$=[],q=[],G=[{node:this._root,offset:0}];while(G.length>0){let V=G.pop(),K=V.offset;if(K<X&&K+V.node.length<=X){if(!h7(V.node))V.node.parent=void 0;$.push(V.node);continue}else if(h7(V.node)&&K<X)$.push({length:X-K,token:V.node.token,height:0,tokenQuality:V.node.tokenQuality});if(X<=K&&K+V.node.length<=Q)continue;if(K>=Q){if(!h7(V.node))V.node.parent=void 0;q.push(V.node);continue}else if(h7(V.node)&&K+V.node.length>Q){q.push({length:K+V.node.length-Q,token:V.node.token,height:0,tokenQuality:V.node.tokenQuality});continue}if(!h7(V.node)){let j=K+V.node.length;for(let W=V.node.children.length-1;W>=0;W--)j-=V.node.children[W].length,G.push({node:V.node.children[W],offset:j})}}let U;if(Y.length>0)U=$.concat(this.createFromUpdates(Y,Z),q);else U=$.concat(q);let H=U[0];for(let V=1;V<U.length;V++)H=wB0(H,U[V]);this._root=H??this.createEmptyRoot()}traverseInOrderInRange(J,X,Y){let Z=[{node:this._root,offset:0}];while(Z.length>0){let{node:Q,offset:$}=Z.pop();if($+Q.length<=J||$>=X)continue;if(Y(Q,$))return;if(!h7(Q)){let G=$+Q.length;for(let U=Q.children.length-1;U>=0;U--)G-=Q.children[U].length,Z.push({node:Q.children[U],offset:G})}}}getTokenAt(J){let X;return this.traverseInOrderInRange(J,this._root.length,(Y,Z)=>{if(h7(Y))return X={token:Y.token,startOffsetInclusive:Z,length:Y.length},!0;return!1}),X}getTokensInRange(J,X){let Y=[];return this.traverseInOrderInRange(J,X,(Z,Q)=>{if(h7(Z)){let $=Z.length,q=Q;if(Q<J&&Q+Z.length>X)q=J,$=X-J;else if(Q<J)$-=J-Q,q=J;else if(Q+Z.length>X)$-=Q+Z.length-X;Y.push({token:Z.token,startOffsetInclusive:q,length:$})}return!1}),Y}markForRefresh(J,X){this.traverseInOrderInRange(J,X,(Y)=>{if(h7(Y))Y.tokenQuality=f4.None;return!1})}rangeHasTokens(J,X,Y){let Z=!0;return this.traverseInOrderInRange(J,X,(Q)=>{if(h7(Q)&&Q.tokenQuality<Y)Z=!1;return!1}),Z}rangeNeedsRefresh(J,X){let Y=!1;return this.traverseInOrderInRange(J,X,(Z)=>{if(h7(Z)&&Z.tokenQuality!==f4.Accurate)Y=!0;return!1}),Y}getNeedsRefresh(){let J=[];return this.traverseInOrderInRange(0,this._textModel.getValueLength(),(X,Y)=>{if(h7(X)&&X.tokenQuality!==f4.Accurate)if(J.length>0&&J[J.length-1].endOffset===Y)J[J.length-1].endOffset+=X.length;else J.push({startOffset:Y,endOffset:Y+X.length});return!1}),J}dispose(){let J=[[this._root,!1]];while(J.length>0){let[X,Y]=J.pop();if(h7(X));else if(!Y){J.push([X,!0]);for(let Z=X.children.length-1;Z>=0;Z--)J.push([X.children[Z],!1])}else X.dispose(),X.parent=void 0}this._root=void 0}}var h40=W0(\"treeSitterThemeService\");function v40(J){return{createChangeSummary:(X)=>{return{changes:[]}},handleChange(X,Y){for(let Z in J)if(X.didChange(J[Z]))Y.changes.push({key:Z,change:X.change});return!0},beforeUpdate(X,Y){for(let Z in J){if(Z===\"changes\")throw new j0('property name \"changes\" is reserved for change tracking');Y[Z]=J[Z].read(X)}}}}var TB0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},LB0=function(J,X){return function(Y,Z){X(Y,Z,J)}},pN=class extends y{get _textModel(){return this._tree.textModel}constructor(X,Y,Z,Q,$){super();this._tree=X,this._highlightingQueries=Y,this._languageIdCodec=Z,this._visibleLineRanges=Q,this._treeSitterThemeService=$,this._onDidChangeTokens=this._register(new E),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidCompleteBackgroundTokenization=this._register(new E),this.onDidChangeBackgroundTokenization=this._onDidCompleteBackgroundTokenization.event,this._encodedLanguageId=this._languageIdCodec.encodeLanguageId(this._tree.languageId),this._register(h2(this._treeSitterThemeService.onChange,()=>{this._updateTheme()})),this._tokenStore=this._register(new mh(this._textModel)),this._accurateVersion=this._textModel.getVersionId(),this._guessVersion=this._textModel.getVersionId(),this._tokenStore.buildStore(this._createEmptyTokens(),f4.None),this._register(C0((q)=>{let G=this._visibleLineRanges.read(q);this._parseAndTokenizeViewPort(G)})),this._register(OY({owner:this,changeTracker:v40({tree:this._tree.tree})},(q,G)=>{let U=G.changes.at(0)?.change;if(G.changes.length>1)throw new j0(\"The tree changed twice in one transaction. This is currently not supported and should not happen.\");if(!U){if(G.tree)this._firstTreeUpdate(this._tree.treeLastParsedVersion.read(q))}else{if(this.hasTokens())for(let H of U.ranges)this._markForRefresh(H.newRange);if(!this.hasTokens())this._firstTreeUpdate(U.versionId);else this._handleTreeUpdate(U.ranges,U.versionId)}}))}handleContentChanged(X){this._guessVersion=X.versionId;for(let Y of X.changes)if(Y.text.length>Y.rangeLength){let Z=Y.rangeOffset>0?Y.rangeOffset-1:Y.rangeOffset,Q=this._tokenStore.getTokenAt(Z),$;if(Q)$={startOffsetInclusive:Q.startOffsetInclusive,length:Q.length+Y.text.length-Y.rangeLength,token:Q.token},this._tokenStore.markForRefresh(Z,Y.rangeOffset+(Y.text.length>Y.rangeLength?Y.text.length:Y.rangeLength));else $={startOffsetInclusive:Z,length:Y.text.length,token:0};this._tokenStore.update(Q?.length??0,[$],f4.EditGuess)}else if(Y.text.length<Y.rangeLength){let Z=Y.rangeLength-Y.text.length;this._tokenStore.delete(Z,Y.rangeOffset)}}getLineTokens(X){let Y=this._textModel.getLineContent(X),Z=this.getTokens(X);return new b1(Z,Y,this._languageIdCodec)}_createEmptyTokens(){let X=this._emptyToken(),Y=this._textModel.getValueLength();return[this._emptyTokensForOffsetAndLength(0,Y,X)]}_emptyToken(){return this._treeSitterThemeService.findMetadata([],this._encodedLanguageId,!1,void 0)}_emptyTokensForOffsetAndLength(X,Y,Z){return{token:Z,length:X+Y,startOffsetInclusive:0}}hasAccurateTokensForLine(X){return this.hasTokens(new T(X,1,X,this._textModel.getLineMaxColumn(X)))}tokenizeLinesAt(X,Y){let Z=this._guessTokensForLinesContent(X,Y),Q=[];if(!Z)return null;for(let $=0;$<Z.length;$++)Q.push(new b1(Z[$],Y[$],this._languageIdCodec));return Q}_rangeHasTokens(X,Y){return this._tokenStore.rangeHasTokens(this._textModel.getOffsetAt(X.getStartPosition()),this._textModel.getOffsetAt(X.getEndPosition()),Y)}hasTokens(X){if(!X||this._guessVersion===this._accurateVersion)return!0;return!this._tokenStore.rangeNeedsRefresh(this._textModel.getOffsetAt(X.getStartPosition()),this._textModel.getOffsetAt(X.getEndPosition()))}getTokens(X){let Y=this._textModel.getOffsetAt({lineNumber:X,column:1}),Z=this._textModel.getOffsetAt({lineNumber:X,column:this._textModel.getLineLength(X)+1}),Q=this._tokenStore.getTokensInRange(Y,Z),$=new Uint32Array(Q.length*2);for(let q=0;q<Q.length;q++)$[q*2]=Q[q].startOffsetInclusive-Y+Q[q].length,$[q*2+1]=Q[q].token;return $}getTokensInRange(X,Y,Z,Q){let $=Q?this._tokenizeCapturesWithMetadata(Q,Y,Z):this._tokenize(X,Y,Z);if($?.endOffsetsAndMetadata)return this._rangeTokensAsUpdates(Y,$.endOffsetsAndMetadata);return}_updateTokensInStore(X,Y,Z){this._accurateVersion=X;for(let Q of Y){let $=Q.newTokens.length>0?Q.newTokens[Q.newTokens.length-1]:void 0,q;if($&&this._guessVersion>=X)q=$.startOffsetInclusive+$.length-Q.newTokens[0].startOffsetInclusive;else if(Q.oldRangeLength)q=Q.oldRangeLength;else q=0;this._tokenStore.update(q,Q.newTokens,Z)}}_markForRefresh(X){this._tokenStore.markForRefresh(this._textModel.getOffsetAt(X.getStartPosition()),this._textModel.getOffsetAt(X.getEndPosition()))}_getNeedsRefresh(){let X=this._tokenStore.getNeedsRefresh();if(!X)return[];return X.map((Y)=>({range:T.fromPositions(this._textModel.getPositionAt(Y.startOffset),this._textModel.getPositionAt(Y.endOffset)),startOffset:Y.startOffset,endOffset:Y.endOffset}))}_parseAndTokenizeViewPort(X){let Y=X.map((Z)=>Z.toInclusiveRange()).filter(Y7);for(let Z of Y){let Q=this._textModel.getOffsetAt(Z.getStartPosition()),$=this._textModel.getOffsetAt(Z.getEndPosition()),q=this._textModel.getVersionId();if(this._rangeHasTokens(Z,f4.ViewportGuess))continue;let G=this._textModel.getValueInRange(Z),U=this._forceParseAndTokenizeContent(Z,Q,$,G,!0);if(!U||this._rangeHasTokens(Z,f4.ViewportGuess))continue;if(U.length===0)continue;let H=U[U.length-1],V=H.startOffsetInclusive+H.length-U[0].startOffsetInclusive;this._updateTokensInStore(q,[{newTokens:U,oldRangeLength:V}],f4.ViewportGuess),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:Z.startLineNumber,toLineNumber:Z.endLineNumber}]}})}}_guessTokensForLinesContent(X,Y){if(Y.length===0)return;let Z=Y.join(this._textModel.getEOL()),Q=new T(1,1,X+Y.length,Y[Y.length-1].length+1),$=this._textModel.getOffsetAt({lineNumber:X,column:1}),q=this._forceParseAndTokenizeContent(Q,$,$+Z.length,Z,!1);if(!q)return;let G=Array(Y.length),U=0,H=0,V=0;for(let K=0;K<Y.length;K++){let j=[],W=!1;for(let z=U;!W&&z<q.length;z++){let B=q[z],P=B.endOffset-V,_=H-V;if(P<=Y[K].length)j.push({endOffset:P,metadata:B.metadata}),U++;else if(_<Y[K].length){let A={endOffset:Y[K].length,metadata:B.metadata};j.push(A),W=!0}else W=!0;H=B.endOffset}G[K]=this._endOffsetTokensToUint32Array(j),V+=Y[K].length+this._textModel.getEOL().length}return G}_forceParseAndTokenizeContent(X,Y,Z,Q,$){let q=gh(this._textModel,X.startLineNumber).likelyRelevantLines,G=q.join(this._textModel.getEOL()),U=this._tree.createParsedTreeSync(`${G}${Q}`);if(!U)return;let H=new T(1,1,X.endLineNumber-X.startLineNumber+1+q.length,X.endColumn),V=this.captureAtRange(H),K=this._tokenizeCapturesWithMetadata(V,G.length,Z-Y+G.length);if(U.delete(),!K)return;if($)return this._rangeTokensAsUpdates(Y,K.endOffsetsAndMetadata,G.length);else return K.endOffsetsAndMetadata}_firstTreeUpdate(X){return this._setViewPortTokens(X)}_setViewPortTokens(X){let Y=this._visibleLineRanges.get().map((Z)=>{let Q=Z.toInclusiveRange();if(!Q)return;let $=this._textModel.getOffsetAt(Q.getStartPosition()),q=this._textModel.getOffsetAt(Q.getEndPosition());return{newRange:Q,newRangeEndOffset:q,newRangeStartOffset:$}}).filter(Y7);return this._handleTreeUpdate(Y,X)}_handleTreeUpdate(X,Y){let Z=[],Q=1000;for(let q=0;q<X.length;q++)if(X[q].newRange.endLineNumber-X[q].newRange.startLineNumber>1000){let U=X[q].newRange.endLineNumber,H=X[q].newRange.startLineNumber,V=X[q].newRange.startColumn,K=H+1000;do{let j=new C(H,V),W=K===X[q].newRange.endLineNumber?X[q].newRange.endColumn:this._textModel.getLineMaxColumn(K),z=new C(K,W),B=T.fromPositions(j,z);if(Z.push({range:B,startOffset:this._textModel.getOffsetAt(B.getStartPosition()),endOffset:this._textModel.getOffsetAt(B.getEndPosition())}),H=K+1,V=1,K<U&&K+1000>U)K=U;else K=K+1000}while(K<=U)}else if(q===0||Z[q-1].endOffset<X[q].newRangeStartOffset)Z.push({range:X[q].newRange,startOffset:X[q].newRangeStartOffset,endOffset:X[q].newRangeEndOffset});else if(Z[q-1].endOffset<X[q].newRangeEndOffset){let U=this._textModel.getPositionAt(Z[q-1].endOffset+1),H=new T(U.lineNumber,U.column,X[q].newRange.endLineNumber,X[q].newRange.endColumn);Z.push({range:H,startOffset:Z[q-1].endOffset+1,endOffset:X[q].newRangeEndOffset})}let $=Z.map((q)=>this._getCaptures(q.range));return this._updateTreeForRanges(Z,Y,$).then(()=>{if(!this._textModel.isDisposed()&&this._tree.treeLastParsedVersion.get()===this._textModel.getVersionId())this._refreshNeedsRefresh(Y)})}async _updateTreeForRanges(X,Y,Z){let Q;for(let $=0;$<X.length;$++){if(!this._textModel.isDisposed()&&Y!==this._textModel.getVersionId())break;let q=Z[$],G=X[$],U=this.getTokensInRange(G.range,G.startOffset,G.endOffset,q);if(U)Q={newTokens:U};else Q={newTokens:[]};this._updateTokensInStore(Y,[Q],f4.Accurate),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:G.range.getStartPosition().lineNumber,toLineNumber:G.range.getEndPosition().lineNumber}]}}),await new Promise((H)=>OJ(H))}this._onDidCompleteBackgroundTokenization.fire()}_refreshNeedsRefresh(X){let Y=this._getNeedsRefresh();if(Y.length===0)return;let Z=Array(Y.length);for(let Q=0;Q<Y.length;Q++){let $=Y[Q];Z[Q]={newRange:$.range,newRangeStartOffset:$.startOffset,newRangeEndOffset:$.endOffset}}this._handleTreeUpdate(Z,X)}_rangeTokensAsUpdates(X,Y,Z){let Q=[],$=0;for(let q of Y){if(q.endOffset<=$||Z&&q.endOffset<Z)continue;let G;if(Z&&$<Z)G={startOffsetInclusive:X+Z,length:q.endOffset-Z,token:q.metadata};else G={startOffsetInclusive:X+$,length:q.endOffset-$,token:q.metadata};Q.push(G),$=q.endOffset}return Q}_updateTheme(){let X=this._textModel.getFullModelRange();this._markForRefresh(X),this._parseAndTokenizeViewPort(this._visibleLineRanges.get())}captureAtRange(X){let Y=this._tree.tree.get();if(!Y)return[];return this._highlightingQueries.captures(Y.rootNode,{startPosition:{row:X.startLineNumber-1,column:X.startColumn-1},endPosition:{row:X.endLineNumber-1,column:X.endColumn-1}}).map((Z)=>({name:Z.name,text:Z.node.text,node:{startIndex:Z.node.startIndex,endIndex:Z.node.endIndex,startPosition:{lineNumber:Z.node.startPosition.row+1,column:Z.node.startPosition.column+1},endPosition:{lineNumber:Z.node.endPosition.row+1,column:Z.node.endPosition.column+1}},encodedLanguageId:this._encodedLanguageId}))}captureAtRangeWithInjections(X){let Y=this.captureAtRange(X);for(let Z=0;Z<Y.length;Z++){let Q=Y[Z],$=Q.node.startPosition.lineNumber,q=Q.node.endPosition.lineNumber,G=Q.node.startPosition.column,U=Q.node.endPosition.column,H=$>X.startLineNumber&&$<X.endLineNumber?$:X.startLineNumber,V=q>X.startLineNumber&&q<X.endLineNumber?q:X.endLineNumber,K=$===X.startLineNumber?G<X.startColumn?X.startColumn:G:$<X.startLineNumber?X.startColumn:G,j=q===X.endLineNumber?U>X.endColumn?X.endColumn:U:q>X.endLineNumber?X.endColumn:U,W=new T(H,K,V,j),z=this._getInjectionCaptures(Q,W);if(z&&z.length>0)Y.splice(Z+1,0,...z),Z+=z.length}return Y}tokenizeEncoded(X){let Y=this._tokenizeEncoded(X);if(!Y)return;let Z=this._rangeTokensAsUpdates(this._textModel.getOffsetAt({lineNumber:X,column:1}),Y.result);if(Y.versionId===this._textModel.getVersionId())this._updateTokensInStore(Y.versionId,[{newTokens:Z,oldRangeLength:this._textModel.getLineLength(X)}],f4.Accurate)}_getCaptures(X){return this.captureAtRangeWithInjections(X)}_tokenize(X,Y,Z){let Q=this._getCaptures(X),$=this._tokenizeCapturesWithMetadata(Q,Y,Z);if(!$)return;return{...$,versionId:this._tree.treeLastParsedVersion.get()}}_createTokensFromCaptures(X,Y,Z){let Q=this._tree.tree.get(),$=v5.create(),q=Z-Y,G=this._languageIdCodec.encodeLanguageId(this._tree.languageId),U=IB0[this._tree.languageId]||\"source\";if(X.length===0){if(Q)return $.stop(),{endOffsets:[{endOffset:q,scopes:[],encodedLanguageId:G}],captureTime:$.elapsed()};return}let H=Array(X.length);H.fill({endOffset:0,scopes:[U],encodedLanguageId:G});let V=0,K=()=>{H.push({endOffset:0,scopes:[U],encodedLanguageId:G})},j=(B,P)=>{return B.name.includes(\"punctuation\")&&B.text?Array.from(B.text.matchAll(kB0)).map((_)=>P+_.index):void 0},W=(B,P,_,A)=>{if(A!==void 0){let O=H[A].scopes,D=H[A].bracket;if((A>0?H[A-1].endOffset:0)!==P){let N=void 0;if(D&&D.length>0){N=[];let w=[];for(let k=0;k<D.length;k++){let I=D[k];if(I<P)N.push(I);else if(I>_)w.push(I)}if(N.length===0)N=void 0;if(w.length===0)D=void 0;else D=w}H.splice(A,0,{endOffset:P,scopes:[...O],bracket:N,encodedLanguageId:B.encodedLanguageId}),A++,K(),V++}H.splice(A,0,{endOffset:_,scopes:[...O,B.name],bracket:j(B,P),encodedLanguageId:B.encodedLanguageId}),H[V].bracket=D}else H[V]={endOffset:_,scopes:[U,B.name],bracket:j(B,P),encodedLanguageId:B.encodedLanguageId};V++};for(let B=0;B<X.length;B++){let P=X[B],_=P.node.endIndex<Z?P.node.endIndex<Y?Y:P.node.endIndex:Z,A=P.node.startIndex<Y?Y:P.node.startIndex,O=_-Y,D,R=_-A;if(B>0)D=H[V-1].endOffset;else D=A-Y-1;let N=O-R;if(D>=0&&D<N)H[V]={endOffset:N,scopes:[U],encodedLanguageId:this._encodedLanguageId},V++,K();if(R<0)continue;if(D>=O){let w=V-1,k=H[w].endOffset,I=w>=2?H[w-1].endOffset:0;do{if(I+R===k){if(I===N){H[w].scopes.push(P.name);let S=H[w].bracket;H[w].bracket=S&&S.length>0?S:j(P,N)}}else if(I<=N){W(P,N,O,w);break}w--,I=w>=1?H[w-1].endOffset:0,k=w>=0?H[w].endOffset:0}while(k>N)}else W(P,N,O)}if(H[V-1].endOffset<q){if(q-H[V-1].endOffset>0)K(),H[V]={endOffset:q,scopes:H[V].scopes,encodedLanguageId:this._encodedLanguageId},V++}for(let B=0;B<H.length;B++)if(H[B].endOffset===0&&B!==0){H.splice(B,H.length-B);break}let z=$.elapsed();return{endOffsets:H,captureTime:z}}_getInjectionCaptures(X,Y){return[]}_tokenizeCapturesWithMetadata(X,Y,Z){let Q=v5.create(),$=this._createTokensFromCaptures(X,Y,Z);if(!$)return;let q=$.endOffsets;for(let U=0;U<q.length;U++){let H=q[U];H.metadata=this._treeSitterThemeService.findMetadata(H.scopes,H.encodedLanguageId,!!H.bracket&&H.bracket.length>0,void 0)}let G=Q.elapsed();return{endOffsetsAndMetadata:q,captureTime:$.captureTime,metadataTime:G}}_tokenizeEncoded(X){let Y=this._textModel.getOffsetAt({lineNumber:X,column:1}),Z=this._textModel.getLineCount(),Q=X+1<=Z?this._textModel.getOffsetAt({lineNumber:X+1,column:1}):this._textModel.getValueLength(),$=Q-Y,q=this._tokenize(new T(X,1,X,$+1),Y,Q);if(!q)return;return{result:q.endOffsetsAndMetadata,captureTime:q.captureTime,metadataTime:q.metadataTime,versionId:q.versionId}}_endOffsetTokensToUint32Array(X){let Y=new Uint32Array(X.length*2);for(let Z=0;Z<X.length;Z++)Y[Z*2]=X[Z].endOffset,Y[Z*2+1]=X[Z].metadata;return Y}};pN=TB0([LB0(4,h40)],pN);var IB0={css:\"source.css\",typescript:\"source.ts\",ini:\"source.ini\",regex:\"source.regex\"},kB0=/[\\{\\}\\[\\]\\<\\>\\(\\)]/g;var PK=W0(\"treeSitterLibraryService\");class mN{static resolved(J){return new mN(Promise.resolve(J))}constructor(J){this._value=A0(this,void 0),this.promiseResult=this._value,this.promise=J.then((X)=>{return k1((Y)=>{this._value.set(new uh(X,void 0),Y)}),X},(X)=>{throw k1((Y)=>{this._value.set(new uh(void 0,X),Y)}),X})}}class uh{constructor(J,X){this.data=J,this.error=X}getDataOrThrow(){if(this.error)throw this.error;return this.data}}var EB0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},g40=function(J,X){return function(Y,Z){X(Y,Z,J)}},uN=class extends IB{constructor(X,Y,Z,Q,$,q){super(Y,Z);this._languageIdObs=X,this._treeSitterLibraryService=$,this._instantiationService=q,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new E),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event;let G=new mN(this._treeSitterLibraryService.getParserClass()),U=z0(this,(H)=>{return G.promiseResult?.read(H)?.getDataOrThrow()});this._tree=z0(this,(H)=>{let V=U.read(H);if(!V)return;let K=this._languageIdObs.read(H),j=this._treeSitterLibraryService.getLanguage(K,!1,H);if(!j)return;let W=new V;if(H.store.add(J0(()=>{W.delete()})),W.setLanguage(j),this._treeSitterLibraryService.getInjectionQueries(K,H)===void 0)return;return H.store.add(this._instantiationService.createInstance(gN,K,void 0,W,V,this._textModel))}),this._tokenizationImpl=z0(this,(H)=>{let V=this._tree.read(H);if(!V)return;let K=this._treeSitterLibraryService.getHighlightingQueries(V.languageId,H);if(!K)return;return H.store.add(this._instantiationService.createInstance(pN,V,K,this._languageIdCodec,Q))}),this._register(C0((H)=>{let V=this._tokenizationImpl.read(H);if(!V)return;H.store.add(V.onDidChangeTokens((K)=>{this._onDidChangeTokens.fire(K.changes)})),H.store.add(V.onDidChangeBackgroundTokenization((K)=>{this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()}))}))}getLineTokens(X){let Y=this._tokenizationImpl.get();if(!Y){let Z=this._textModel.getLineContent(X);return b1.createEmpty(Z,this._languageIdCodec)}return Y.getLineTokens(X)}todo_resetTokenization(X=!0){if(X)this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}handleDidChangeAttached(){}handleDidChangeContent(X){if(X.isFlush)this.todo_resetTokenization(!1);else this._tokenizationImpl.get()?.handleContentChanged(X);this._tree.get()?.handleContentChange(X)}forceTokenization(X){let Y=this._tokenizationImpl.get();if(!Y)return;if(!Y.hasAccurateTokensForLine(X))Y.tokenizeEncoded(X)}hasAccurateTokensForLine(X){let Y=this._tokenizationImpl.get();if(!Y)return!1;return Y.hasAccurateTokensForLine(X)}isCheapToTokenize(X){return!0}getTokenTypeIfInsertingCharacter(X,Y,Z){return 0}tokenizeLinesAt(X,Y){let Z=this._tokenizationImpl.get();if(!Z)return null;return Z.tokenizeLinesAt(X,Y)}get hasTokens(){let X=this._tokenizationImpl.get();if(!X)return!1;return X.hasTokens()}};uN=EB0([g40(4,PK),g40(5,w0)],uN);class cN{constructor(J){this._pieces=[],this._isComplete=!1,this._languageIdCodec=J}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(J,X,Y=void 0){if(this._pieces=J||[],this._isComplete=X,Y)for(let Z of this._pieces)Z.reportIfInvalid(Y)}setPartial(J,X){let Y=J;if(X.length>0){let Q=X[0].getRange(),$=X[X.length-1].getRange();if(!Q||!$)return J;Y=J.plusRange(Q).plusRange($)}let Z=null;for(let Q=0,$=this._pieces.length;Q<$;Q++){let q=this._pieces[Q];if(q.endLineNumber<Y.startLineNumber)continue;if(q.startLineNumber>Y.endLineNumber){Z=Z||{index:Q};break}if(q.removeTokens(Y),q.isEmpty()){this._pieces.splice(Q,1),Q--,$--;continue}if(q.endLineNumber<Y.startLineNumber)continue;if(q.startLineNumber>Y.endLineNumber){Z=Z||{index:Q};continue}let[G,U]=q.split(Y);if(G.isEmpty()){Z=Z||{index:Q};continue}if(U.isEmpty())continue;this._pieces.splice(Q,1,G,U),Q++,$++,Z=Z||{index:Q}}if(Z=Z||{index:this._pieces.length},X.length>0)this._pieces=m$(this._pieces,Z.index,X);return Y}isComplete(){return this._isComplete}addSparseTokens(J,X){if(X.getTextLength()===0)return X;let Y=this._pieces;if(Y.length===0)return X;let Z=cN._findFirstPieceWithLine(Y,J),Q=Y[Z].getLineTokens(J);if(!Q)return X;let $=X.getCount(),q=Q.getCount(),G=0,U=[],H=0,V=0,K=(j,W)=>{if(j<=V)return;V=j,U[H++]=j,U[H++]=W};for(let j=0;j<q;j++){let W=Math.min(Q.getStartCharacter(j),X.getTextLength()),z=Math.min(Q.getEndCharacter(j),X.getTextLength()),B=Q.getMetadata(j),P=((B&1?2048:0)|(B&2?4096:0)|(B&4?8192:0)|(B&8?16384:0)|(B&16?16744448:0)|(B&32?4278190080:0))>>>0,_=~P>>>0;while(G<$&&X.getEndOffset(G)<=W)K(X.getEndOffset(G),X.getMetadata(G)),G++;if(G<$&&X.getStartOffset(G)<W)K(W,X.getMetadata(G));while(G<$&&X.getEndOffset(G)<z)K(X.getEndOffset(G),X.getMetadata(G)&_|B&P),G++;if(G<$){if(K(z,X.getMetadata(G)&_|B&P),X.getEndOffset(G)===z)G++}else{let A=Math.min(Math.max(0,G-1),$-1);K(z,X.getMetadata(A)&_|B&P)}}while(G<$)K(X.getEndOffset(G),X.getMetadata(G)),G++;return new b1(new Uint32Array(U),X.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(J,X){let Y=0,Z=J.length-1;while(Y<Z){let Q=Y+Math.floor((Z-Y)/2);if(J[Q].endLineNumber<X)Y=Q+1;else if(J[Q].startLineNumber>X)Z=Q-1;else{while(Q>Y&&J[Q-1].startLineNumber<=X&&X<=J[Q-1].endLineNumber)Q--;return Q}}return Y}acceptEdit(J,X,Y,Z,Q){for(let $=0;$<this._pieces.length;$++){let q=this._pieces[$];if(q.acceptEdit(J,X,Y,Z,Q),q.isEmpty())this._pieces.splice($,1),$--}}}var aY=new Uint32Array(0).buffer;class SX{static deleteBeginning(J,X){if(J===null||J===aY)return J;return SX.delete(J,0,X)}static deleteEnding(J,X){if(J===null||J===aY)return J;let Y=iY(J),Z=Y[Y.length-2];return SX.delete(J,X,Z)}static delete(J,X,Y){if(J===null||J===aY||X===Y)return J;let Z=iY(J),Q=Z.length>>>1;if(X===0&&Z[Z.length-2]===Y)return aY;let $=b1.findIndexInTokensArray(Z,X),q=$>0?Z[$-1<<1]:0,G=Z[$<<1];if(Y<G){let j=Y-X;for(let W=$;W<Q;W++)Z[W<<1]-=j;return J}let U,H;if(q!==X)Z[$<<1]=X,U=$+1<<1,H=X;else U=$<<1,H=q;let V=Y-X;for(let j=$+1;j<Q;j++){let W=Z[j<<1]-V;if(W>H)Z[U++]=W,Z[U++]=Z[(j<<1)+1],H=W}if(U===Z.length)return J;let K=new Uint32Array(U);return K.set(Z.subarray(0,U),0),K.buffer}static append(J,X){if(X===aY)return J;if(J===aY)return X;if(J===null)return J;if(X===null)return null;let Y=iY(J),Z=iY(X),Q=Z.length>>>1,$=new Uint32Array(Y.length+Z.length);$.set(Y,0);let q=Y.length,G=Y[Y.length-2];for(let U=0;U<Q;U++)$[q++]=Z[U<<1]+G,$[q++]=Z[(U<<1)+1];return $.buffer}static insert(J,X,Y){if(J===null||J===aY)return J;let Z=iY(J),Q=Z.length>>>1,$=b1.findIndexInTokensArray(Z,X);if($>0){if(Z[$-1<<1]===X)$--}for(let q=$;q<Q;q++)Z[q<<1]+=Y;return J}}function iY(J){if(J instanceof Uint32Array)return J;else return new Uint32Array(J)}class DK{constructor(J){this._lineTokens=[],this._len=0,this._languageIdCodec=J}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(J,X,Y){let Z=null;if(X<this._len)Z=this._lineTokens[X];if(Z!==null&&Z!==aY)return new b1(iY(Z),Y,this._languageIdCodec);let Q=new Uint32Array(2);return Q[0]=Y.length,Q[1]=p40(this._languageIdCodec.encodeLanguageId(J)),new b1(Q,Y,this._languageIdCodec)}static _massageTokens(J,X,Y){let Z=Y?iY(Y):null;if(X===0){let Q=!1;if(Z&&Z.length>1)Q=I5.getLanguageId(Z[1])!==J;if(!Q)return aY}if(!Z||Z.length===0){let Q=new Uint32Array(2);return Q[0]=X,Q[1]=p40(J),Q.buffer}if(Z[Z.length-2]=X,Z.byteOffset===0&&Z.byteLength===Z.buffer.byteLength)return Z.buffer;return Z}_ensureLine(J){while(J>=this._len)this._lineTokens[this._len]=null,this._len++}_deleteLines(J,X){if(X===0)return;if(J+X>this._len)X=this._len-J;this._lineTokens.splice(J,X),this._len-=X}_insertLines(J,X){if(X===0)return;let Y=[];for(let Z=0;Z<X;Z++)Y[Z]=null;this._lineTokens=m$(this._lineTokens,J,Y),this._len+=X}setTokens(J,X,Y,Z,Q){let $=DK._massageTokens(this._languageIdCodec.encodeLanguageId(J),Y,Z);this._ensureLine(X);let q=this._lineTokens[X];if(this._lineTokens[X]=$,Q)return!DK._equals(q,$);return!1}static _equals(J,X){if(!J||!X)return!J&&!X;let Y=iY(J),Z=iY(X);if(Y.length!==Z.length)return!1;for(let Q=0,$=Y.length;Q<$;Q++)if(Y[Q]!==Z[Q])return!1;return!0}acceptEdit(J,X,Y){this._acceptDeleteRange(J),this._acceptInsertText(new C(J.startLineNumber,J.startColumn),X,Y)}_acceptDeleteRange(J){let X=J.startLineNumber-1;if(X>=this._len)return;if(J.startLineNumber===J.endLineNumber){if(J.startColumn===J.endColumn)return;this._lineTokens[X]=SX.delete(this._lineTokens[X],J.startColumn-1,J.endColumn-1);return}this._lineTokens[X]=SX.deleteEnding(this._lineTokens[X],J.startColumn-1);let Y=J.endLineNumber-1,Z=null;if(Y<this._len)Z=SX.deleteBeginning(this._lineTokens[Y],J.endColumn-1);this._lineTokens[X]=SX.append(this._lineTokens[X],Z),this._deleteLines(J.startLineNumber,J.endLineNumber-J.startLineNumber)}_acceptInsertText(J,X,Y){if(X===0&&Y===0)return;let Z=J.lineNumber-1;if(Z>=this._len)return;if(X===0){this._lineTokens[Z]=SX.insert(this._lineTokens[Z],J.column-1,Y);return}this._lineTokens[Z]=SX.deleteEnding(this._lineTokens[Z],J.column-1),this._lineTokens[Z]=SX.insert(this._lineTokens[Z],J.column-1,Y),this._insertLines(J.lineNumber,X)}setMultilineTokens(J,X){if(J.length===0)return{changes:[]};let Y=[];for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z],q=0,G=0,U=!1;for(let H=$.startLineNumber;H<=$.endLineNumber;H++)if(U)this.setTokens(X.getLanguageId(),H-1,X.getLineLength(H),$.getLineTokens(H),!1),G=H;else if(this.setTokens(X.getLanguageId(),H-1,X.getLineLength(H),$.getLineTokens(H),!0))U=!0,q=H,G=H;if(U)Y.push({fromLineNumber:q,toLineNumber:G})}return{changes:Y}}}function p40(J){return(J<<0|0|0|32768|33554432|1024)>>>0}class ch extends IB{constructor(J,X,Y,Z){super(J,X);this.getLanguageId=Y,this._tokenizer=null,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new E),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new Q1),this._tokens=new DK(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new Q1),this._attachedViewStates=this._register(new VX),this._register(f1.onDidChange((Q)=>{let $=this.getLanguageId();if(Q.changedLanguages.indexOf($)===-1)return;this.todo_resetTokenization()})),this.todo_resetTokenization(),this._register(Z.onDidChangeVisibleRanges(({view:Q,state:$})=>{if($){let q=this._attachedViewStates.get(Q);if(!q)q=new Eh(()=>this.refreshRanges(q.lineRanges)),this._attachedViewStates.set(Q,q);q.handleStateChange($)}else this._attachedViewStates.deleteAndDispose(Q)}))}todo_resetTokenization(J=!0){if(this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates)this._debugBackgroundStates=new yB(this._textModel.getLineCount());if(J)this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});let X=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];let Q=f1.get(this.getLanguageId());if(!Q)return[null,null];let $;try{$=Q.getInitialState()}catch(q){return b0(q),[null,null]}return[Q,$]},[Y,Z]=X();if(Y&&Z)this._tokenizer=new vh(this._textModel.getLineCount(),Y,this._textModel,this._languageIdCodec);else this._tokenizer=null;if(this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){let Q={setTokens:($)=>{this.setTokens($)},setFontInfo:($)=>{this.setFontInfo($)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;let $=2;this._backgroundTokenizationState=$,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:($,q)=>{if(!this._tokenizer)return;let G=this._tokenizer.store.getFirstInvalidEndStateLineNumber();if(G!==null&&$>=G)this._tokenizer?.store.setEndState($,q)}};if(Y&&Y.createBackgroundTokenizer&&!Y.backgroundTokenizerShouldOnlyVerifyTokens)this._backgroundTokenizer.value=Y.createBackgroundTokenizer(this._textModel,Q);if(!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization())this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new ph(this._tokenizer,Q),this._defaultBackgroundTokenizer.handleChanges();if(Y?.backgroundTokenizerShouldOnlyVerifyTokens&&Y.createBackgroundTokenizer)this._debugBackgroundTokens=new DK(this._languageIdCodec),this._debugBackgroundStates=new yB(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=Y.createBackgroundTokenizer(this._textModel,{setTokens:($)=>{this._debugBackgroundTokens?.setMultilineTokens($,this._textModel)},setFontInfo:($)=>{this.setFontInfo($)},backgroundTokenizationFinished(){},setEndState:($,q)=>{this._debugBackgroundStates?.setEndState($,q)}});else this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(J){if(J.isFlush)this.todo_resetTokenization(!1);else if(!J.isEolChange){for(let X of J.changes){let[Y,Z]=K9(X.text);this._tokens.acceptEdit(X.range,Y,Z),this._debugBackgroundTokens?.acceptEdit(X.range,Y,Z)}if(this._debugBackgroundStates?.acceptChanges(J.changes),this._tokenizer)this._tokenizer.store.acceptChanges(J.changes);this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(J){let{changes:X}=this._tokens.setMultilineTokens(J,this._textModel);if(X.length>0)this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:X});return{changes:X}}setFontInfo(J){this._onDidChangeFontTokens.fire({changes:J})}refreshAllVisibleLineTokens(){let J=D0.joinMany([...this._attachedViewStates].map(([X,Y])=>Y.lineRanges));this.refreshRanges(J)}refreshRanges(J){for(let X of J)this.refreshRange(X.startLineNumber,X.endLineNumberExclusive-1)}refreshRange(J,X){if(!this._tokenizer)return;J=Math.max(1,Math.min(this._textModel.getLineCount(),J)),X=Math.min(this._textModel.getLineCount(),X);let Y=new AK,{heuristicTokens:Z}=this._tokenizer.tokenizeHeuristically(Y,J,X),Q=this.setTokens(Y.finalize());if(Z)for(let $ of Q.changes)this._backgroundTokenizer.value?.requestTokens($.fromLineNumber,$.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(J){let X=new AK;this._tokenizer?.updateTokensUntilLine(X,J),this.setTokens(X.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(J){if(!this._tokenizer)return!0;return this._tokenizer.hasAccurateTokensForLine(J)}isCheapToTokenize(J){if(!this._tokenizer)return!0;return this._tokenizer.isCheapToTokenize(J)}getLineTokens(J){let X=this._textModel.getLineContent(J),Y=this._tokens.getTokens(this._textModel.getLanguageId(),J-1,X);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer){if(this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>J&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>J){let Z=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),J-1,X);if(!Y.equals(Z)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens)this._debugBackgroundTokenizer.value.reportMismatchingTokens(J)}}return Y}getTokenTypeIfInsertingCharacter(J,X,Y){if(!this._tokenizer)return 0;let Z=this._textModel.validatePosition(new C(J,X));return this.forceTokenization(Z.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(Z,Y)}tokenizeLinesAt(J,X){if(!this._tokenizer)return null;return this.forceTokenization(J),this._tokenizer.tokenizeLinesAt(J,X)}get hasTokens(){return this._tokens.hasTokens}}var yB0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},dN=function(J,X){return function(Y,Z){X(Y,Z,J)}},lN,sN=lN=class extends iF{constructor(X,Y,Z,Q,$,q,G,U){super();this._textModel=X,this._bracketPairsTextModelPart=Y,this._languageId=Z,this._attachedViews=Q,this._languageService=$,this._languageConfigurationService=q,this._instantiationService=G,this._treeSitterLibraryService=U,this._onDidChangeFontTokens=this._register(new E),this.onDidChangeFontTokens=this._onDidChangeFontTokens.event,this._languageIdObs=A0(this,this._languageId),this._useTreeSitter=z0(this,(V)=>{let K=this._languageIdObs.read(V);return this._treeSitterLibraryService.supportsLanguage(K,V)}),this.tokens=z0(this,(V)=>{let K;if(this._useTreeSitter.read(V))K=V.store.add(this._instantiationService.createInstance(uN,this._languageIdObs,this._languageService.languageIdCodec,this._textModel,this._attachedViews.visibleLineRanges));else K=V.store.add(new ch(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews));return V.store.add(K.onDidChangeTokens((j)=>{this._emitModelTokensChangedEvent(j)})),V.store.add(K.onDidChangeFontTokens((j)=>{if(!this._textModel._isDisposing())this._onDidChangeFontTokens.fire(j)})),V.store.add(K.onDidChangeBackgroundTokenizationState((j)=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),K});let H=!1;this.tokens.recomputeInitiallyAndOnChange(this._store,(V)=>{if(H)V.todo_resetTokenization();H=!0}),this._semanticTokens=new cN(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new E),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new E),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new E),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeFontTokens=this._register(new E),this.onDidChangeFontTokens=this._onDidChangeFontTokens.event}handleLanguageConfigurationServiceChange(X){if(X.affects(this._languageId))this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(X){if(X.isFlush)this._semanticTokens.flush();else if(!X.isEolChange)for(let Y of X.changes){let[Z,Q,$]=K9(Y.text);this._semanticTokens.acceptEdit(Y.range,Z,Q,$,Y.text.length>0?Y.text.charCodeAt(0):0)}this.tokens.get().handleDidChangeContent(X)}handleDidChangeAttached(){this.tokens.get().handleDidChangeAttached()}getLineTokens(X){this.validateLineNumber(X);let Y=this.tokens.get().getLineTokens(X);return this._semanticTokens.addSparseTokens(X,Y)}_emitModelTokensChangedEvent(X){if(!this._textModel._isDisposing())this._bracketPairsTextModelPart.handleDidChangeTokens(X),this._onDidChangeTokens.fire(X)}validateLineNumber(X){if(X<1||X>this._textModel.getLineCount())throw new j0(\"Illegal value for lineNumber\")}get hasTokens(){return this.tokens.get().hasTokens}resetTokenization(){this.tokens.get().todo_resetTokenization()}get backgroundTokenizationState(){return this.tokens.get().backgroundTokenizationState}forceTokenization(X){this.validateLineNumber(X),this.tokens.get().forceTokenization(X)}hasAccurateTokensForLine(X){return this.validateLineNumber(X),this.tokens.get().hasAccurateTokensForLine(X)}isCheapToTokenize(X){return this.validateLineNumber(X),this.tokens.get().isCheapToTokenize(X)}tokenizeIfCheap(X){this.validateLineNumber(X),this.tokens.get().tokenizeIfCheap(X)}getTokenTypeIfInsertingCharacter(X,Y,Z){return this.tokens.get().getTokenTypeIfInsertingCharacter(X,Y,Z)}tokenizeLinesAt(X,Y){return this.tokens.get().tokenizeLinesAt(X,Y)}setSemanticTokens(X,Y){this._semanticTokens.set(X,Y,this._textModel),this._emitModelTokensChangedEvent({semanticTokensApplied:X!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(X,Y){if(this.hasCompleteSemanticTokens())return;let Z=this._textModel.validateRange(this._semanticTokens.setPartial(X,Y));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:Z.startLineNumber,toLineNumber:Z.endLineNumber}]})}getWordAtPosition(X){this.assertNotDisposed();let Y=this._textModel.validatePosition(X),Z=this._textModel.getLineContent(Y.lineNumber),Q=this.getLineTokens(Y.lineNumber),$=Q.findTokenIndexAtOffset(Y.column-1),[q,G]=lN._findLanguageBoundaries(Q,$),U=d$(Y.column,this.getLanguageConfiguration(Q.getLanguageId($)).getWordDefinition(),Z.substring(q,G),q);if(U&&U.startColumn<=X.column&&X.column<=U.endColumn)return U;if($>0&&q===Y.column-1){let[H,V]=lN._findLanguageBoundaries(Q,$-1),K=d$(Y.column,this.getLanguageConfiguration(Q.getLanguageId($-1)).getWordDefinition(),Z.substring(H,V),H);if(K&&K.startColumn<=X.column&&X.column<=K.endColumn)return K}return null}getLanguageConfiguration(X){return this._languageConfigurationService.getLanguageConfiguration(X)}static _findLanguageBoundaries(X,Y){let Z=X.getLanguageId(Y),Q=0;for(let q=Y;q>=0&&X.getLanguageId(q)===Z;q--)Q=X.getStartOffset(q);let $=X.getLineContent().length;for(let q=Y,G=X.getCount();q<G&&X.getLanguageId(q)===Z;q++)$=X.getEndOffset(q);return[Q,$]}getWordUntilPosition(X){let Y=this.getWordAtPosition(X);if(!Y)return{word:\"\",startColumn:X.column,endColumn:X.column};return{word:Y.word.substr(0,X.column-Y.startColumn),startColumn:Y.startColumn,endColumn:X.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(X,Y){let Z=this._textModel.validatePosition(new C(X,Y)),Q=this.getLineTokens(Z.lineNumber);return Q.getLanguageId(Q.findTokenIndexAtOffset(Z.column-1))}setLanguageId(X,Y=\"api\"){if(this._languageId===X)return;let Z={oldLanguage:this._languageId,newLanguage:X,source:Y};this._languageId=X,this._languageIdObs.set(X,void 0),this._bracketPairsTextModelPart.handleDidChangeLanguage(Z),this._onDidChangeLanguage.fire(Z),this._onDidChangeLanguageConfiguration.fire({})}};sN=lN=yB0([dN(4,j6),dN(5,u6),dN(6,w0),dN(7,PK)],sN);var xB0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},aN=function(J,X){return function(Y,Z){X(Y,Z,J)}},SG;function bB0(J){let X=new fN;return X.acceptChunk(J),X.finish()}function CB0(J){let X=new fN,Y;while(typeof(Y=J.read())===\"string\")X.acceptChunk(Y);return X.finish()}function m40(J,X){let Y;if(typeof J===\"string\")Y=bB0(J);else if(j00(J))Y=CB0(J);else Y=J;return Y.create(X)}var iN=0,SB0=999,fB0=1e4,hB0=300;class d40{constructor(J){this._source=J,this._eos=!1}read(){if(this._eos)return null;let J=[],X=0,Y=0;do{let Z=this._source.read();if(Z===null)if(this._eos=!0,X===0)return null;else return J.join(\"\");if(Z.length>0)J[X++]=Z,Y+=Z.length;if(Y>=65536)return J.join(\"\")}while(!0)}}var xB=()=>{throw Error(\"Invalid change accessor\")},oN=class extends y{static{SG=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=300000}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:L8.tabSize,indentSize:L8.indentSize,insertSpaces:L8.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:L8.trimAutoWhitespace,largeFileOptimizations:L8.largeFileOptimizations,bracketPairColorizationOptions:L8.bracketPairColorizationOptions}}static resolveOptions(X,Y){if(Y.detectIndentation){let Z=Dh(X,Y.tabSize,Y.insertSpaces);return new oq({tabSize:Z.tabSize,indentSize:\"tabSize\",insertSpaces:Z.insertSpaces,trimAutoWhitespace:Y.trimAutoWhitespace,defaultEOL:Y.defaultEOL,bracketPairColorizationOptions:Y.bracketPairColorizationOptions})}return new oq(Y)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}get onDidChangeOptions(){return this._onDidChangeOptions.event}get onDidChangeAttached(){return this._onDidChangeAttached.event}get onDidChangeLineHeight(){return this._onDidChangeLineHeight.event}get onDidChangeFont(){return this._onDidChangeFont.event}onDidChangeContent(X){return this._eventEmitter.event((Y)=>X(Y.contentChangedEvent))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(X,Y,Z,Q=null,$,q,G,U){super();if(this._undoRedoService=$,this._languageService=q,this._languageConfigurationService=G,this.instantiationService=U,this._onWillDispose=this._register(new E),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new r40((z,B,P)=>this.handleBeforeFireDecorationsChangedEvent(z,B,P))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new E),this._onDidChangeAttached=this._register(new E),this._onDidChangeLineHeight=this._register(new E),this._onDidChangeFont=this._register(new E),this._eventEmitter=this._register(new o40),this._languageSelectionListener=this._register(new Q1),this._deltaDecorationCallCnt=0,this._attachedViews=this._register(new kh),this._viewModels=new Set,iN++,this.id=\"$model\"+iN,this.isForSimpleWidget=Z.isForSimpleWidget,typeof Q>\"u\"||Q===null)this._associatedResource=R0.parse(\"inmemory://model/\"+iN);else this._associatedResource=Q;this._attachedEditorCount=0;let{textBuffer:H,disposable:V}=m40(X,Z.defaultEOL);this._buffer=H,this._bufferDisposable=V;let K=this._buffer.getLineCount(),j=this._buffer.getValueLengthInRange(new T(1,1,K,this._buffer.getLineLength(K)+1),0);if(Z.largeFileOptimizations)this._isTooLargeForTokenization=j>SG.LARGE_FILE_SIZE_THRESHOLD||K>SG.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=j>SG.LARGE_FILE_HEAP_OPERATION_THRESHOLD;else this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1;this._options=SG.resolveOptions(this._buffer,Z);let W=typeof Y===\"string\"?Y:Y.languageId;if(typeof Y!==\"string\")this._languageSelectionListener.value=Y.onDidChange(()=>this._setLanguage(Y.languageId));this._bracketPairs=this._register(new Fh(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Jf(this,this._languageConfigurationService)),this._decorationProvider=this._register(new Bh(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(sN,this,this._bracketPairs,W,this._attachedViews),this._fontTokenDecorationsProvider=this._register(new kB(this,this._tokenizationTextModelPart)),this._isTooLargeForSyncing=j>SG._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=aO(iN),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new lh,this._commandManager=new bN(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._register(this._fontTokenDecorationsProvider.onDidChangeLineHeight((z)=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._fireOnDidChangeLineHeight(z),this._onDidChangeDecorations.endDeferredEmit()})),this._register(this._fontTokenDecorationsProvider.onDidChangeFont((z)=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._fireOnDidChangeFont(z),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(W),this._register(this._languageConfigurationService.onDidChange((z)=>{this._bracketPairs.handleLanguageConfigurationServiceChange(z),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(z)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;let X=new s2([],\"\",`\n`,!1,!1,!0,!0);X.dispose(),this._buffer=X,this._bufferDisposable=y.None}_assertNotDisposed(){if(this._isDisposed)throw new j0(\"Model is disposed!\")}registerViewModel(X){this._viewModels.add(X)}unregisterViewModel(X){this._viewModels.delete(X)}getTextBuffer(){return this._assertNotDisposed(),this._buffer}_emitContentChangedEvent(X,Y,Z=null){if(this.__isDisposing)return;this._tokenizationTextModelPart.handleDidChangeContent(Y),this._bracketPairs.handleDidChangeContent(Y),this._fontTokenDecorationsProvider.handleDidChangeContent(Y);let Q=new CQ(X,Y);if(Z)Q.rawContentChangedEvent.resultingSelection=Z;this._onDidChangeContentOrInjectedText(Q),this._eventEmitter.fire(Q)}setValue(X,Y=W7.setValue()){if(this._assertNotDisposed(),X===null||X===void 0)throw HX();let{textBuffer:Z,disposable:Q}=m40(X,this._options.defaultEOL);this._setValueFromTextBuffer(Z,Q,Y)}_createContentChanged2(X,Y,Z,Q,$,q,G,U,H,V){return{changes:[{range:X,rangeOffset:Y,rangeLength:Z,text:$}],eol:this._buffer.getEOL(),isEolChange:H,versionId:this.getVersionId(),isUndoing:q,isRedoing:G,isFlush:U,detailedReasons:[V],detailedReasonsChangeLengths:[1]}}_setValueFromTextBuffer(X,Y,Z){this._assertNotDisposed();let Q=this.getFullModelRange(),$=this.getValueLengthInRange(Q),q=this.getLineCount(),G=this.getLineMaxColumn(q);this._buffer=X,this._bufferDisposable.dispose(),this._bufferDisposable=Y,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new lh,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new xG([new vf],this._versionId,!1,!1),this._createContentChanged2(new T(1,1,q,G),0,$,new C(q,G),this.getValue(),!1,!1,!0,!1,Z))}setEOL(X){this._assertNotDisposed();let Y=X===1?`\\r\n`:`\n`;if(this._buffer.getEOL()===Y)return;let Z=this.getFullModelRange(),Q=this.getValueLengthInRange(Z),$=this.getLineCount(),q=this.getLineMaxColumn($);this._onBeforeEOLChange(),this._buffer.setEOL(Y),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new xG([new cf],this._versionId,!1,!1),this._createContentChanged2(new T(1,1,$,q),0,Q,new C($,q),this.getValue(),!1,!1,!1,!0,W7.eolChange()))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){let X=this.getVersionId(),Y=this._decorationsTree.collectNodesPostOrder();for(let Z=0,Q=Y.length;Z<Q;Z++){let $=Y[Z],q=$.range,G=$.cachedAbsoluteStart-$.start,U=this._buffer.getOffsetAt(q.startLineNumber,q.startColumn),H=this._buffer.getOffsetAt(q.endLineNumber,q.endColumn);$.cachedAbsoluteStart=U,$.cachedAbsoluteEnd=H,$.cachedVersionId=X,$.start=U-G,$.end=H-G,vQ($)}}onBeforeAttached(){if(this._attachedEditorCount++,this._attachedEditorCount===1)this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0);return this._attachedViews.attachView()}onBeforeDetached(X){if(this._attachedEditorCount--,this._attachedEditorCount===0)this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0);this._attachedViews.detachView(X)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let X=0,Y=0,Z=this._buffer.getLineCount();for(let Q=1;Q<=Z;Q++){let $=this._buffer.getLineLength(Q);if($>=fB0)Y+=$;else X+=$}return Y>X}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(X){this._assertNotDisposed();let Y=typeof X.tabSize<\"u\"?X.tabSize:this._options.tabSize,Z=typeof X.indentSize<\"u\"?X.indentSize:this._options.originalIndentSize,Q=typeof X.insertSpaces<\"u\"?X.insertSpaces:this._options.insertSpaces,$=typeof X.trimAutoWhitespace<\"u\"?X.trimAutoWhitespace:this._options.trimAutoWhitespace,q=typeof X.bracketColorizationOptions<\"u\"?X.bracketColorizationOptions:this._options.bracketPairColorizationOptions,G=new oq({tabSize:Y,indentSize:Z,insertSpaces:Q,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:$,bracketPairColorizationOptions:q});if(this._options.equals(G))return;let U=this._options.createChangeEvent(G);this._options=G,this._bracketPairs.handleDidChangeOptions(U),this._decorationProvider.handleDidChangeOptions(U),this._onDidChangeOptions.fire(U)}detectIndentation(X,Y){this._assertNotDisposed();let Z=Dh(this._buffer,Y,X);this.updateOptions({insertSpaces:Z.insertSpaces,tabSize:Z.tabSize,indentSize:Z.tabSize})}normalizeIndentation(X){return this._assertNotDisposed(),ER(X,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(X=null){let Y=this.findMatches(jx.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(X,Y.map((Z)=>({range:Z.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(X){this._assertNotDisposed();let Y=this._validatePosition(X.lineNumber,X.column,0);return this._buffer.getOffsetAt(Y.lineNumber,Y.column)}getPositionAt(X){this._assertNotDisposed();let Y=Math.min(this._buffer.getLength(),Math.max(0,X));return this._buffer.getPositionAt(Y)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(X){this._versionId=X}_overwriteAlternativeVersionId(X){this._alternativeVersionId=X}_overwriteInitialUndoRedoSnapshot(X){this._initialUndoRedoSnapshot=X}getValue(X,Y=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new j0(\"Operation would exceed heap memory limits\");let Z=this.getFullModelRange(),Q=this.getValueInRange(Z,X);if(Y)return this._buffer.getBOM()+Q;return Q}createSnapshot(X=!1){return new d40(this._buffer.createSnapshot(X))}getValueLength(X,Y=!1){this._assertNotDisposed();let Z=this.getFullModelRange(),Q=this.getValueLengthInRange(Z,X);if(Y)return this._buffer.getBOM().length+Q;return Q}getValueInRange(X,Y=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(X),Y)}getValueLengthInRange(X,Y=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(X),Y)}getCharacterCountInRange(X,Y=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(X),Y)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(X){if(this._assertNotDisposed(),X<1||X>this.getLineCount())throw new j0(\"Illegal value for lineNumber\");return this._buffer.getLineContent(X)}getLineLength(X){if(this._assertNotDisposed(),X<1||X>this.getLineCount())throw new j0(\"Illegal value for lineNumber\");return this._buffer.getLineLength(X)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new j0(\"Operation would exceed heap memory limits\");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===`\n`?0:1}getLineMinColumn(X){return this._assertNotDisposed(),1}getLineMaxColumn(X){if(this._assertNotDisposed(),X<1||X>this.getLineCount())throw new j0(\"Illegal value for lineNumber\");return this._buffer.getLineLength(X)+1}getLineFirstNonWhitespaceColumn(X){if(this._assertNotDisposed(),X<1||X>this.getLineCount())throw new j0(\"Illegal value for lineNumber\");return this._buffer.getLineFirstNonWhitespaceColumn(X)}getLineLastNonWhitespaceColumn(X){if(this._assertNotDisposed(),X<1||X>this.getLineCount())throw new j0(\"Illegal value for lineNumber\");return this._buffer.getLineLastNonWhitespaceColumn(X)}_validateRangeRelaxedNoAllocations(X){let Y=this._buffer.getLineCount(),Z=X.startLineNumber,Q=X.startColumn,$=Math.floor(typeof Z===\"number\"&&!isNaN(Z)?Z:1),q=Math.floor(typeof Q===\"number\"&&!isNaN(Q)?Q:1);if($<1)$=1,q=1;else if($>Y)$=Y,q=this.getLineMaxColumn($);else if(q<=1)q=1;else{let K=this.getLineMaxColumn($);if(q>=K)q=K}let{endLineNumber:G,endColumn:U}=X,H=Math.floor(typeof G===\"number\"&&!isNaN(G)?G:1),V=Math.floor(typeof U===\"number\"&&!isNaN(U)?U:1);if(H<1)H=1,V=1;else if(H>Y)H=Y,V=this.getLineMaxColumn(H);else if(V<=1)V=1;else{let K=this.getLineMaxColumn(H);if(V>=K)V=K}if(Z===$&&Q===q&&G===H&&U===V&&X instanceof T&&!(X instanceof Y0))return X;return new T($,q,H,V)}_isValidPosition(X,Y,Z){if(typeof X!==\"number\"||typeof Y!==\"number\")return!1;if(isNaN(X)||isNaN(Y))return!1;if(X<1||Y<1)return!1;if((X|0)!==X||(Y|0)!==Y)return!1;let Q=this._buffer.getLineCount();if(X>Q)return!1;if(Y===1)return!0;let $=this.getLineMaxColumn(X);if(Y>$)return!1;if(Z===1){let q=this._buffer.getLineCharCode(X,Y-2);if(V6(q))return!1}return!0}_validatePosition(X,Y,Z){let Q=Math.floor(typeof X===\"number\"&&!isNaN(X)?X:1),$=Math.floor(typeof Y===\"number\"&&!isNaN(Y)?Y:1),q=this._buffer.getLineCount();if(Q<1)return new C(1,1);if(Q>q)return new C(q,this.getLineMaxColumn(q));if($<=1)return new C(Q,1);let G=this.getLineMaxColumn(Q);if($>=G)return new C(Q,G);if(Z===1){let U=this._buffer.getLineCharCode(Q,$-2);if(V6(U))return new C(Q,$-1)}return new C(Q,$)}validatePosition(X){if(this._assertNotDisposed(),X instanceof C){if(this._isValidPosition(X.lineNumber,X.column,1))return X}return this._validatePosition(X.lineNumber,X.column,1)}isValidRange(X){return this._isValidRange(X,1)}_isValidRange(X,Y){let{startLineNumber:Z,startColumn:Q,endLineNumber:$,endColumn:q}=X;if(!this._isValidPosition(Z,Q,0))return!1;if(!this._isValidPosition($,q,0))return!1;if(Y===1){let G=Q>1?this._buffer.getLineCharCode(Z,Q-2):0,U=q>1&&q<=this._buffer.getLineLength($)?this._buffer.getLineCharCode($,q-2):0,H=V6(G),V=V6(U);if(!H&&!V)return!0;return!1}return!0}validateRange(X){if(this._assertNotDisposed(),X instanceof T&&!(X instanceof Y0)){if(this._isValidRange(X,1))return X}let Z=this._validatePosition(X.startLineNumber,X.startColumn,0),Q=this._validatePosition(X.endLineNumber,X.endColumn,0),$=Z.lineNumber,q=Z.column,G=Q.lineNumber,U=Q.column;{let H=q>1?this._buffer.getLineCharCode($,q-2):0,V=U>1&&U<=this._buffer.getLineLength(G)?this._buffer.getLineCharCode(G,U-2):0,K=V6(H),j=V6(V);if(!K&&!j)return new T($,q,G,U);if($===G&&q===U)return new T($,q-1,G,U-1);if(K&&j)return new T($,q-1,G,U+1);if(K)return new T($,q-1,G,U);return new T($,q,G,U+1)}}modifyPosition(X,Y){this._assertNotDisposed();let Z=this.getOffsetAt(X)+Y;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,Z)))}getFullModelRange(){this._assertNotDisposed();let X=this.getLineCount();return new T(1,1,X,this.getLineMaxColumn(X))}findMatchesLineByLine(X,Y,Z,Q){return this._buffer.findMatchesLineByLine(X,Y,Z,Q)}findMatches(X,Y,Z,Q,$,q,G=SB0){this._assertNotDisposed();let U=null;if(Y!==null&&typeof Y!==\"boolean\"){if(!Array.isArray(Y))Y=[Y];if(Y.every((K)=>T.isIRange(K)))U=Y.map((K)=>this.validateRange(K))}if(U===null)U=[this.getFullModelRange()];U=U.sort((K,j)=>K.startLineNumber-j.startLineNumber||K.startColumn-j.startColumn);let H=[];H.push(U.reduce((K,j)=>{if(T.areIntersecting(K,j))return K.plusRange(j);return H.push(K),j}));let V;if(!Z&&X.indexOf(`\n`)<0){let j=new kY(X,Z,Q,$).parseSearchRequest();if(!j)return[];V=(W)=>this.findMatchesLineByLine(W,j,q,G)}else V=(K)=>jV.findMatches(this,new kY(X,Z,Q,$),K,q,G);return H.map(V).reduce((K,j)=>K.concat(j),[])}findNextMatch(X,Y,Z,Q,$,q){this._assertNotDisposed();let G=this.validatePosition(Y);if(!Z&&X.indexOf(`\n`)<0){let H=new kY(X,Z,Q,$).parseSearchRequest();if(!H)return null;let V=this.getLineCount(),K=new T(G.lineNumber,G.column,V,this.getLineMaxColumn(V)),j=this.findMatchesLineByLine(K,H,q,1);if(jV.findNextMatch(this,new kY(X,Z,Q,$),G,q),j.length>0)return j[0];if(K=new T(1,1,G.lineNumber,this.getLineMaxColumn(G.lineNumber)),j=this.findMatchesLineByLine(K,H,q,1),j.length>0)return j[0];return null}return jV.findNextMatch(this,new kY(X,Z,Q,$),G,q)}findPreviousMatch(X,Y,Z,Q,$,q){this._assertNotDisposed();let G=this.validatePosition(Y);return jV.findPreviousMatch(this,new kY(X,Z,Q,$),G,q)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(X){if((this.getEOL()===`\n`?0:1)===X)return;try{if(this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null)this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri);this._commandManager.pushEOL(X)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(X){if(X instanceof ZF)return X;let Y=this.validateRange(X.range),Z=X.text;if(Z){let Q=Z.length>0&&Z.charCodeAt(Z.length-1)===13;if(this.getEOL()===`\\r\n`&&Q&&Y.endColumn===this.getLineMaxColumn(Y.endLineNumber))Z=Z.substring(0,Z.length-1)}return new ZF(X.identifier||null,Y,Z,X.forceMoveMarkers||!1,X.isAutoWhitespaceEdit||!1,X._isTracked||!1)}_validateEditOperations(X){let Y=[];for(let Z=0,Q=X.length;Z<Q;Z++)Y[Z]=this._validateEditOperation(X[Z]);return Y}edit(X,Y){this.pushEditOperations(null,X.replacements.map((Z)=>({range:Z.range,text:Z.text})),null)}pushEditOperations(X,Y,Z,Q,$){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(X,this._validateEditOperations(Y),Z,Q,$)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(X,Y,Z,Q,$){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let q=Y.map((U)=>{return{range:this.validateRange(U.range),text:U.text}}),G=!0;if(X)for(let U=0,H=X.length;U<H;U++){let V=X[U],K=!1;for(let j=0,W=q.length;j<W;j++){let z=q[j].range,B=z.startLineNumber>V.endLineNumber,P=V.startLineNumber>z.endLineNumber;if(!B&&!P){K=!0;break}}if(!K){G=!1;break}}if(G)for(let U=0,H=this._trimAutoWhitespaceLines.length;U<H;U++){let V=this._trimAutoWhitespaceLines[U],K=this.getLineMaxColumn(V),j=!0;for(let W=0,z=q.length;W<z;W++){let B=q[W].range,P=q[W].text;if(V<B.startLineNumber||V>B.endLineNumber)continue;if(V===B.startLineNumber&&B.startColumn===K&&B.isEmpty()&&P&&P.length>0&&P.charAt(0)===`\n`)continue;if(V===B.startLineNumber&&B.startColumn===1&&B.isEmpty()&&P&&P.length>0&&P.charAt(P.length-1)===`\n`)continue;j=!1;break}if(j){let W=new T(V,1,V,K);Y.push(new ZF(null,W,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}if(this._initialUndoRedoSnapshot===null)this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri);return this._commandManager.pushEditOperation(X,Y,Z,Q,$)}_applyUndo(X,Y,Z,Q){let $=X.map((q)=>{let G=this.getPositionAt(q.newPosition),U=this.getPositionAt(q.newEnd);return{range:new T(G.lineNumber,G.column,U.lineNumber,U.column),text:q.oldText}});this._applyUndoRedoEdits($,Y,!0,!1,Z,Q)}_applyRedo(X,Y,Z,Q){let $=X.map((q)=>{let G=this.getPositionAt(q.oldPosition),U=this.getPositionAt(q.oldEnd);return{range:new T(G.lineNumber,G.column,U.lineNumber,U.column),text:q.newText}});this._applyUndoRedoEdits($,Y,!1,!0,Z,Q)}_applyUndoRedoEdits(X,Y,Z,Q,$,q){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=Z,this._isRedoing=Q;let G=this._validateEditOperations(X);this._doApplyEdits(G,!1,W7.applyEdits(),q),this.setEOL(Y),this._overwriteAlternativeVersionId($)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(q),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(X,Y,Z){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();let Q=this._validateEditOperations(X);return this._doApplyEdits(Q,Y??!1,Z??W7.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(X,Y,Z,Q=null){let $=this._buffer.getLineCount(),q=this._buffer.applyEdits(X,this._options.trimAutoWhitespace,Y),G=this._buffer.getLineCount(),U=q.changes;if(this._trimAutoWhitespaceLines=q.trimAutoWhitespaceLineNumbers,U.length!==0){for(let K=0,j=U.length;K<j;K++){let W=U[K];this._decorationsTree.acceptReplace(W.rangeOffset,W.rangeLength,W.text.length,W.forceMoveMarkers)}let H=[];this._increaseVersionId();let V=$;for(let K=0,j=U.length;K<j;K++){let W=U[K],[z]=K9(W.text);this._onDidChangeDecorations.fire();let B=W.range.startLineNumber,P=W.range.endLineNumber,_=P-B,A=z,O=Math.min(_,A),D=A-_,R=G-V-D+B;for(let N=O;N>=0;N--){let w=B+N,k=R+N;H.push(new PN(w,k))}if(O<_){let N=B+O,w=A-_,k=G-V-w+N;H.push(new mf(N+1,P,k))}if(O<A){let N=B+O,w=A-O,k=G-V-w+N+1;H.push(new uf(N+1,k,w))}V+=D}this._emitContentChangedEvent(new xG(H,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:U,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[Z],detailedReasonsChangeLengths:[U.length]},Q)}return q.reverseEdits===null?void 0:q.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(X,Y,Z){if(X&&X.size>0){let $=Array.from(X).map((q)=>new PN(q,q));this._onDidChangeContentOrInjectedText(new KB($))}this._fireOnDidChangeLineHeight(Y),this._fireOnDidChangeFont(Z)}_fireOnDidChangeLineHeight(X){if(X&&X.size>0){let Z=Array.from(X).map((Q)=>new gf(Q.ownerId,Q.decorationId,Q.lineNumber,Q.lineHeight));this._onDidChangeLineHeight.fire(new jB(Z))}}_fireOnDidChangeFont(X){if(X&&X.size>0){let Z=Array.from(X).map((Q)=>new pf(Q.ownerId,Q.lineNumber));this._onDidChangeFont.fire(new WB(Z))}}_onDidChangeContentOrInjectedText(X){for(let Y of this._viewModels)try{Y.onDidChangeContentOrInjectedText(X)}catch(Z){b0(Z)}for(let Y of this._viewModels)try{Y.emitContentChangeEvent(X)}catch(Z){b0(Z)}}changeDecorations(X,Y=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(Y,X)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(X,Y){let Z={addDecoration:($,q)=>{return this._deltaDecorationsImpl(X,[],[{range:$,options:q}])[0]},changeDecoration:($,q)=>{this._changeDecorationImpl(X,$,q)},changeDecorationOptions:($,q)=>{this._changeDecorationOptionsImpl(X,$,c40(q))},removeDecoration:($)=>{this._deltaDecorationsImpl(X,[$],[])},deltaDecorations:($,q)=>{if($.length===0&&q.length===0)return[];return this._deltaDecorationsImpl(X,$,q)}},Q=null;try{Q=Y(Z)}catch($){b0($)}return Z.addDecoration=xB,Z.changeDecoration=xB,Z.changeDecorationOptions=xB,Z.removeDecoration=xB,Z.deltaDecorations=xB,Q}deltaDecorations(X,Y,Z=0){if(this._assertNotDisposed(),!X)X=[];if(X.length===0&&Y.length===0)return[];try{if(this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1)console.warn(\"Invoking deltaDecorations recursively could lead to leaking decorations.\"),b0(Error(\"Invoking deltaDecorations recursively could lead to leaking decorations.\"));return this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(Z,X,Y)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(X){return this.getDecorationRange(X)}_setTrackedRange(X,Y,Z){let Q=X?this._decorations[X]:null;if(!Q){if(!Y)return null;return this._deltaDecorationsImpl(0,[],[{range:Y,options:u40[Z]}],!0)[0]}if(!Y)return this._decorationsTree.delete(Q),delete this._decorations[Q.id],null;let $=this._validateRangeRelaxedNoAllocations(Y),q=this._buffer.getOffsetAt($.startLineNumber,$.startColumn),G=this._buffer.getOffsetAt($.endLineNumber,$.endColumn);return this._decorationsTree.delete(Q),Q.reset(this.getVersionId(),q,G,$),Q.setOptions(u40[Z]),this._decorationsTree.insert(Q),Q.id}removeAllDecorationsWithOwnerId(X){if(this._isDisposed)return;let Y=this._decorationsTree.collectNodesFromOwner(X);for(let Z=0,Q=Y.length;Z<Q;Z++){let $=Y[Z];this._decorationsTree.delete($),delete this._decorations[$.id]}}getDecorationOptions(X){let Y=this._decorations[X];if(!Y)return null;return Y.options}getDecorationRange(X){let Y=this._decorations[X];if(!Y)return null;return this._decorationsTree.getNodeRange(this,Y)}getLineDecorations(X,Y=0,Z=!1,Q=!1){if(X<1||X>this.getLineCount())return[];return this.getLinesDecorations(X,X,Y,Z,Q)}getLinesDecorations(X,Y,Z=0,Q=!1,$=!1,q=!1){let G=this.getLineCount(),U=Math.min(G,Math.max(1,X)),H=Math.min(G,Math.max(1,Y)),V=this.getLineMaxColumn(H),K=new T(U,1,H,V),j=this._getDecorationsInRange(K,Z,Q,$,q);return aZ(j,this._decorationProvider.getDecorationsInRange(K,Z,Q,$)),aZ(j,this._fontTokenDecorationsProvider.getDecorationsInRange(K,Z,Q,$)),j}getDecorationsInRange(X,Y=0,Z=!1,Q=!1,$=!1,q=!1){let G=this.validateRange(X),U=this._getDecorationsInRange(G,Y,Z,Q,q);return aZ(U,this._decorationProvider.getDecorationsInRange(G,Y,Z,Q,$)),aZ(U,this._fontTokenDecorationsProvider.getDecorationsInRange(G,Y,Z,Q,$)),U}getOverviewRulerDecorations(X=0,Y=!1,Z=!1){return this._decorationsTree.getAll(this,X,Y,Z,!0,!1)}getInjectedTextDecorations(X=0){return this._decorationsTree.getAllInjectedText(this,X)}getCustomLineHeightsDecorations(X=0){let Y=this._decorationsTree.getAllCustomLineHeights(this,X);return aZ(Y,this._fontTokenDecorationsProvider.getAllDecorations(X)),Y}getCustomLineHeightsDecorationsInRange(X,Y=0){let Z=this._decorationsTree.getCustomLineHeightsInInterval(this,this.getOffsetAt(X.getStartPosition()),this.getOffsetAt(X.getEndPosition()),Y);return aZ(Z,this._fontTokenDecorationsProvider.getDecorationsInRange(X,Y)),Z}getLineInjectedText(X,Y=0){let Z=this._buffer.getOffsetAt(X,1),Q=Z+this._buffer.getLineLength(X),$=this._decorationsTree.getInjectedTextInInterval(this,Z,Q,Y);return s9.fromDecorations($).filter((q)=>q.lineNumber===X)}getFontDecorationsInRange(X,Y=0){let Z=this._buffer.getOffsetAt(X.startLineNumber,X.startColumn),Q=this._buffer.getOffsetAt(X.endLineNumber,X.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,Z,Q,Y)}getAllDecorations(X=0,Y=!1,Z=!1){let Q=this._decorationsTree.getAll(this,X,Y,Z,!1,!1);return Q=Q.concat(this._decorationProvider.getAllDecorations(X,Y)),Q=Q.concat(this._fontTokenDecorationsProvider.getAllDecorations(X,Y)),Q}getAllMarginDecorations(X=0){return this._decorationsTree.getAll(this,X,!1,!1,!1,!0)}_getDecorationsInRange(X,Y,Z,Q,$){let q=this._buffer.getOffsetAt(X.startLineNumber,X.startColumn),G=this._buffer.getOffsetAt(X.endLineNumber,X.endColumn);return this._decorationsTree.getAllInInterval(this,q,G,Y,Z,Q,$)}getRangeAt(X,Y){return this._buffer.getRangeAt(X,Y-X)}_changeDecorationImpl(X,Y,Z){let Q=this._decorations[Y];if(!Q)return;if(Q.options.after){let U=this.getDecorationRange(Y);this._onDidChangeDecorations.recordLineAffectedByInjectedText(U.endLineNumber)}if(Q.options.before){let U=this.getDecorationRange(Y);this._onDidChangeDecorations.recordLineAffectedByInjectedText(U.startLineNumber)}if(Q.options.lineHeight!==null){let U=this.getDecorationRange(Y);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(X,Y,U.startLineNumber,null)}if(Q.options.affectsFont){let U=this.getDecorationRange(Y);this._onDidChangeDecorations.recordLineAffectedByFontChange(X,Q.id,U.startLineNumber)}let $=this._validateRangeRelaxedNoAllocations(Z),q=this._buffer.getOffsetAt($.startLineNumber,$.startColumn),G=this._buffer.getOffsetAt($.endLineNumber,$.endColumn);if(this._decorationsTree.delete(Q),Q.reset(this.getVersionId(),q,G,$),this._decorationsTree.insert(Q),this._onDidChangeDecorations.checkAffectedAndFire(Q.options),Q.options.after)this._onDidChangeDecorations.recordLineAffectedByInjectedText($.endLineNumber);if(Q.options.before)this._onDidChangeDecorations.recordLineAffectedByInjectedText($.startLineNumber);if(Q.options.lineHeight!==null)this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(X,Y,$.startLineNumber,Q.options.lineHeight);if(Q.options.affectsFont)this._onDidChangeDecorations.recordLineAffectedByFontChange(X,Q.id,$.startLineNumber)}_changeDecorationOptionsImpl(X,Y,Z){let Q=this._decorations[Y];if(!Q)return;let $=Q.options.overviewRuler&&Q.options.overviewRuler.color?!0:!1,q=Z.overviewRuler&&Z.overviewRuler.color?!0:!1;if(this._onDidChangeDecorations.checkAffectedAndFire(Q.options),this._onDidChangeDecorations.checkAffectedAndFire(Z),Q.options.after||Z.after){let H=this._decorationsTree.getNodeRange(this,Q);this._onDidChangeDecorations.recordLineAffectedByInjectedText(H.endLineNumber)}if(Q.options.before||Z.before){let H=this._decorationsTree.getNodeRange(this,Q);this._onDidChangeDecorations.recordLineAffectedByInjectedText(H.startLineNumber)}if(Q.options.lineHeight!==null||Z.lineHeight!==null){let H=this._decorationsTree.getNodeRange(this,Q);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(X,Y,H.startLineNumber,Z.lineHeight)}if(Q.options.affectsFont||Z.affectsFont){let H=this._decorationsTree.getNodeRange(this,Q);this._onDidChangeDecorations.recordLineAffectedByFontChange(X,Y,H.startLineNumber)}let G=$!==q,U=gB0(Z)!==rN(Q);if(G||U)this._decorationsTree.delete(Q),Q.setOptions(Z),this._decorationsTree.insert(Q);else Q.setOptions(Z)}_deltaDecorationsImpl(X,Y,Z,Q=!1){let $=this.getVersionId(),q=Y.length,G=0,U=Z.length,H=0;this._onDidChangeDecorations.beginDeferredEmit();try{let V=Array(U);while(G<q||H<U){let K=null;if(G<q){let j;do j=Y[G++],K=this._decorations[j];while(!K&&G<q);if(K){if(K.options.after){let W=this._decorationsTree.getNodeRange(this,K);this._onDidChangeDecorations.recordLineAffectedByInjectedText(W.endLineNumber)}if(K.options.before){let W=this._decorationsTree.getNodeRange(this,K);this._onDidChangeDecorations.recordLineAffectedByInjectedText(W.startLineNumber)}if(K.options.lineHeight!==null){let W=this._decorationsTree.getNodeRange(this,K);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(X,j,W.startLineNumber,null)}if(K.options.affectsFont){let W=this._decorationsTree.getNodeRange(this,K);this._onDidChangeDecorations.recordLineAffectedByFontChange(X,j,W.startLineNumber)}if(this._decorationsTree.delete(K),!Q)this._onDidChangeDecorations.checkAffectedAndFire(K.options)}}if(H<U){if(!K){let _=++this._lastDecorationId,A=`${this._instanceId};${_}`;K=new CN(A,0,0),this._decorations[A]=K}let j=Z[H],W=this._validateRangeRelaxedNoAllocations(j.range),z=c40(j.options),B=this._buffer.getOffsetAt(W.startLineNumber,W.startColumn),P=this._buffer.getOffsetAt(W.endLineNumber,W.endColumn);if(K.ownerId=X,K.reset($,B,P,W),K.setOptions(z),K.options.after)this._onDidChangeDecorations.recordLineAffectedByInjectedText(W.endLineNumber);if(K.options.before)this._onDidChangeDecorations.recordLineAffectedByInjectedText(W.startLineNumber);if(K.options.lineHeight!==null)this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(X,K.id,W.startLineNumber,K.options.lineHeight);if(K.options.affectsFont)this._onDidChangeDecorations.recordLineAffectedByFontChange(X,K.id,W.startLineNumber);if(!Q)this._onDidChangeDecorations.checkAffectedAndFire(z);this._decorationsTree.insert(K),V[H]=K.id,H++}else if(K)delete this._decorations[K.id]}return V}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(X,Y){if(typeof X===\"string\")this._languageSelectionListener.clear(),this._setLanguage(X,Y);else this._languageSelectionListener.value=X.onDidChange(()=>this._setLanguage(X.languageId,Y)),this._setLanguage(X.languageId,Y)}_setLanguage(X,Y){this.tokenization.setLanguageId(X,Y),this._languageService.requestRichLanguageFeatures(X)}getLanguageIdAtPosition(X,Y){return this.tokenization.getLanguageIdAtPosition(X,Y)}getWordAtPosition(X){return this._tokenizationTextModelPart.getWordAtPosition(X)}getWordUntilPosition(X){return this._tokenizationTextModelPart.getWordUntilPosition(X)}normalizePosition(X,Y){return X}getLineIndentColumn(X){return vB0(this.getLineContent(X))+1}toString(){return`TextModel(${this.uri.toString()})`}};oN=SG=xB0([aN(4,KK),aN(5,j6),aN(6,u6),aN(7,w0)],oN);function l40(J,X,Y){let Z;if(Y){let Q=[];for(let $=0;$<Y.length;$++){let q=Y[$],G=X[$].tokens;if(G)G.forEach((U,H)=>{Q.push({offset:q,text:U.substring(X[$].content),tokenMetadata:H.metadata})});else Q.push({offset:q,text:X[$].content,tokenMetadata:b1.defaultTokenMetadata})}Z=J.withInserted(Q)}else Z=J;return Z}function vB0(J){let X=0;for(let Y of J)if(Y===\" \"||Y===\"\\t\")X++;else break;return X}function dh(J){return J.options.overviewRuler&&J.options.overviewRuler.color?!0:!1}function gB0(J){return!!J.after||!!J.before}function rN(J){return!!J.options.after||!!J.options.before}class lh{constructor(){this._decorationsTree0=new MB,this._decorationsTree1=new MB,this._injectedTextDecorationsTree=new MB}ensureAllNodesHaveRanges(J){this.getAll(J,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(J,X){for(let Y of X)if(Y.range===null)Y.range=J.getRangeAt(Y.cachedAbsoluteStart,Y.cachedAbsoluteEnd);return X}getAllInInterval(J,X,Y,Z,Q,$,q){let G=J.getVersionId(),U=this._intervalSearch(X,Y,Z,Q,$,G,q);return this._ensureNodesHaveRanges(J,U)}_intervalSearch(J,X,Y,Z,Q,$,q){let G=this._decorationsTree0.intervalSearch(J,X,Y,Z,Q,$,q),U=this._decorationsTree1.intervalSearch(J,X,Y,Z,Q,$,q),H=this._injectedTextDecorationsTree.intervalSearch(J,X,Y,Z,Q,$,q);return G.concat(U).concat(H)}getInjectedTextInInterval(J,X,Y,Z){let Q=J.getVersionId(),$=this._injectedTextDecorationsTree.intervalSearch(X,Y,Z,!1,!1,Q,!1);return this._ensureNodesHaveRanges(J,$).filter((q)=>q.options.showIfCollapsed||!q.range.isEmpty())}getFontDecorationsInInterval(J,X,Y,Z){let Q=J.getVersionId(),$=this._decorationsTree0.intervalSearch(X,Y,Z,!1,!1,Q,!1);return this._ensureNodesHaveRanges(J,$).filter((q)=>q.options.affectsFont)}getAllInjectedText(J,X){let Y=J.getVersionId(),Z=this._injectedTextDecorationsTree.search(X,!1,!1,Y,!1);return this._ensureNodesHaveRanges(J,Z).filter((Q)=>Q.options.showIfCollapsed||!Q.range.isEmpty())}getAllCustomLineHeights(J,X){let Y=J.getVersionId(),Z=this._search(X,!1,!1,!1,Y,!1);return this._ensureNodesHaveRanges(J,Z).filter((Q)=>typeof Q.options.lineHeight===\"number\")}getCustomLineHeightsInInterval(J,X,Y,Z){let Q=J.getVersionId(),$=this._intervalSearch(X,Y,Z,!1,!1,Q,!1);return this._ensureNodesHaveRanges(J,$).filter((q)=>typeof q.options.lineHeight===\"number\")}getAll(J,X,Y,Z,Q,$){let q=J.getVersionId(),G=this._search(X,Y,Z,Q,q,$);return this._ensureNodesHaveRanges(J,G)}_search(J,X,Y,Z,Q,$){if(Z)return this._decorationsTree1.search(J,X,Y,Q,$);else{let q=this._decorationsTree0.search(J,X,Y,Q,$),G=this._decorationsTree1.search(J,X,Y,Q,$),U=this._injectedTextDecorationsTree.search(J,X,Y,Q,$);return q.concat(G).concat(U)}}collectNodesFromOwner(J){let X=this._decorationsTree0.collectNodesFromOwner(J),Y=this._decorationsTree1.collectNodesFromOwner(J),Z=this._injectedTextDecorationsTree.collectNodesFromOwner(J);return X.concat(Y).concat(Z)}collectNodesPostOrder(){let J=this._decorationsTree0.collectNodesPostOrder(),X=this._decorationsTree1.collectNodesPostOrder(),Y=this._injectedTextDecorationsTree.collectNodesPostOrder();return J.concat(X).concat(Y)}insert(J){if(rN(J))this._injectedTextDecorationsTree.insert(J);else if(dh(J))this._decorationsTree1.insert(J);else this._decorationsTree0.insert(J)}delete(J){if(rN(J))this._injectedTextDecorationsTree.delete(J);else if(dh(J))this._decorationsTree1.delete(J);else this._decorationsTree0.delete(J)}getNodeRange(J,X){let Y=J.getVersionId();if(X.cachedVersionId!==Y)this._resolveNode(X,Y);if(X.range===null)X.range=J.getRangeAt(X.cachedAbsoluteStart,X.cachedAbsoluteEnd);return X.range}_resolveNode(J,X){if(rN(J))this._injectedTextDecorationsTree.resolveNode(J,X);else if(dh(J))this._decorationsTree1.resolveNode(J,X);else this._decorationsTree0.resolveNode(J,X)}acceptReplace(J,X,Y,Z){this._decorationsTree0.acceptReplace(J,X,Y,Z),this._decorationsTree1.acceptReplace(J,X,Y,Z),this._injectedTextDecorationsTree.acceptReplace(J,X,Y,Z)}}function rY(J){return J.replace(/[^a-z0-9\\-_]/gi,\" \")}class sh{constructor(J){this.color=J.color||\"\",this.darkColor=J.darkColor||\"\"}}class s40 extends sh{constructor(J){super(J);this._resolvedColor=null,this.position=typeof J.position===\"number\"?J.position:m5.Center}getColor(J){if(!this._resolvedColor)if(pJ(J.type)&&this.darkColor)this._resolvedColor=this._resolveColor(this.darkColor,J);else this._resolvedColor=this._resolveColor(this.color,J);return this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(J,X){if(typeof J===\"string\")return J;let Y=J?X.getColor(J.id):null;if(!Y)return\"\";return Y.toString()}}class a40{constructor(J){this.position=J?.position??g9.Center,this.persistLane=J?.persistLane}}class i40 extends sh{constructor(J){super(J);this.position=J.position,this.sectionHeaderStyle=J.sectionHeaderStyle??null,this.sectionHeaderText=J.sectionHeaderText??null}getColor(J){if(!this._resolvedColor)if(pJ(J.type)&&this.darkColor)this._resolvedColor=this._resolveColor(this.darkColor,J);else this._resolvedColor=this._resolveColor(this.color,J);return this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(J,X){if(typeof J===\"string\")return c.fromHex(J);return X.getColor(J.id)}}class bB{static from(J){if(J instanceof bB)return J;return new bB(J)}constructor(J){this.content=J.content||\"\",this.tokens=J.tokens??null,this.inlineClassName=J.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=J.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=J.attachedData||null,this.cursorStops=J.cursorStops||null}}class n0{static register(J){return new n0(J)}static createDynamic(J){return new n0(J)}constructor(J){this.description=J.description,this.blockClassName=J.blockClassName?rY(J.blockClassName):null,this.blockDoesNotCollapse=J.blockDoesNotCollapse??null,this.blockIsAfterEnd=J.blockIsAfterEnd??null,this.blockPadding=J.blockPadding??null,this.stickiness=J.stickiness||0,this.zIndex=J.zIndex||0,this.className=J.className?rY(J.className):null,this.shouldFillLineOnLineBreak=J.shouldFillLineOnLineBreak??null,this.hoverMessage=J.hoverMessage||null,this.glyphMarginHoverMessage=J.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=J.lineNumberHoverMessage||null,this.isWholeLine=J.isWholeLine||!1,this.lineHeight=J.lineHeight?Math.min(J.lineHeight,hB0):null,this.fontSize=J.fontSize||null,this.affectsFont=!!J.fontSize||!!J.fontFamily||!!J.fontWeight||!!J.fontStyle,this.showIfCollapsed=J.showIfCollapsed||!1,this.collapseOnReplaceEdit=J.collapseOnReplaceEdit||!1,this.overviewRuler=J.overviewRuler?new s40(J.overviewRuler):null,this.minimap=J.minimap?new i40(J.minimap):null,this.glyphMargin=J.glyphMarginClassName?new a40(J.glyphMargin):null,this.glyphMarginClassName=J.glyphMarginClassName?rY(J.glyphMarginClassName):null,this.linesDecorationsClassName=J.linesDecorationsClassName?rY(J.linesDecorationsClassName):null,this.lineNumberClassName=J.lineNumberClassName?rY(J.lineNumberClassName):null,this.linesDecorationsTooltip=J.linesDecorationsTooltip?cn(J.linesDecorationsTooltip):null,this.firstLineDecorationClassName=J.firstLineDecorationClassName?rY(J.firstLineDecorationClassName):null,this.marginClassName=J.marginClassName?rY(J.marginClassName):null,this.inlineClassName=J.inlineClassName?rY(J.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=J.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=J.beforeContentClassName?rY(J.beforeContentClassName):null,this.afterContentClassName=J.afterContentClassName?rY(J.afterContentClassName):null,this.after=J.after?bB.from(J.after):null,this.before=J.before?bB.from(J.before):null,this.hideInCommentTokens=J.hideInCommentTokens??!1,this.hideInStringTokens=J.hideInStringTokens??!1,this.textDirection=J.textDirection??null}}n0.EMPTY=n0.register({description:\"empty\"});var u40=[n0.register({description:\"tracked-range-always-grows-when-typing-at-edges\",stickiness:0}),n0.register({description:\"tracked-range-never-grows-when-typing-at-edges\",stickiness:1}),n0.register({description:\"tracked-range-grows-only-when-typing-before\",stickiness:2}),n0.register({description:\"tracked-range-grows-only-when-typing-after\",stickiness:3})];function c40(J){if(J instanceof n0)return J;return n0.createDynamic(J)}class r40 extends y{constructor(J){super();this.handleBeforeFire=J,this._actual=this._register(new E),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){if(this._deferredCnt--,this._deferredCnt===0){if(this._shouldFireDeferred)this.doFire();this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null}}recordLineAffectedByInjectedText(J){if(!this._affectedInjectedTextLines)this._affectedInjectedTextLines=new Set;this._affectedInjectedTextLines.add(J)}recordLineAffectedByLineHeightChange(J,X,Y,Z){if(!this._affectedLineHeights)this._affectedLineHeights=new MN([],i2.toKey);this._affectedLineHeights.add(new i2(J,X,Y,Z))}recordLineAffectedByFontChange(J,X,Y){if(!this._affectedFontLines)this._affectedFontLines=new MN([],r2.toKey);this._affectedFontLines.add(new r2(J,X,Y))}checkAffectedAndFire(J){this._affectsMinimap||=!!J.minimap?.position,this._affectsOverviewRuler||=!!J.overviewRuler?.color,this._affectsGlyphMargin||=!!J.glyphMarginClassName,this._affectsLineNumber||=!!J.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){if(this._deferredCnt===0)this.doFire();else this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);let J={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(J)}}class o40 extends y{constructor(){super();this._emitter=this._register(new E),this.event=this._emitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(J=null){if(this._deferredCnt--,this._deferredCnt===0){if(this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=J;let X=this._deferredEvent;this._deferredEvent=null,this._emitter.fire(X)}}}fire(J){if(this._deferredCnt>0){if(this._deferredEvent)this._deferredEvent=this._deferredEvent.merge(J);else this._deferredEvent=J;return}this._emitter.fire(J)}}class nN{static create(J){return new nN(J.get(151),J.get(150))}constructor(J,X){this.classifier=new t40(J,X)}createLineBreaksComputer(J,X,Y,Z,Q,$,q){let G=[],U=[];return{addRequest:(H,V)=>{G.push(H),U.push(V)},finalize:()=>{let H=X.typicalFullwidthCharacterWidth/X.typicalHalfwidthCharacterWidth,V=[];for(let K=0,j=G.length;K<j;K++){let W=G[K],z=J.getLineInjectedText(W),B=J.getLineContent(W),P=U[K],_=q&&B.includes('\"')&&B.includes(\"\\\\n\");if(P&&!P.injectionOptions&&!z&&!_)V[K]=pB0(this.classifier,P,B,Y,Z,H,Q,$);else V[K]=mB0(this.classifier,B,z,Y,Z,H,Q,$,_)}return ah.length=0,ih.length=0,V}}}}class t40 extends z2{constructor(J,X){super(0);for(let Y=0;Y<J.length;Y++)this.set(J.charCodeAt(Y),1);for(let Y=0;Y<X.length;Y++)this.set(X.charCodeAt(Y),2)}get(J){if(J>=0&&J<256)return this._asciiMap[J];else{if(J>=12352&&J<=12543||J>=13312&&J<=19903||J>=19968&&J<=40959)return 3;return this._map.get(J)||this._defaultValue}}}var ah=[],ih=[];function pB0(J,X,Y,Z,Q,$,q,G){if(Q===-1)return null;let U=Y.length;if(U<=1)return null;let H=G===\"keepAll\",V=X.breakOffsets,K=X.breakOffsetsVisibleColumn,j=e40(Y,Z,Q,$,q),W=Q-j,z=ah,B=ih,P=0,_=0,A=0,O=Q,D=V.length,R=0;if(R>=0){let N=Math.abs(K[R]-O);while(R+1<D){let w=Math.abs(K[R+1]-O);if(w>=N)break;N=w,R++}}while(R<D){let N=R<0?0:V[R],w=R<0?0:K[R];if(_>N)N=_,w=A;let k=0,I=0,S=0,h=0;if(w<=O){let p=w,s=N===0?0:Y.charCodeAt(N-1),l=N===0?0:J.get(s),n=!0;for(let X0=N;X0<U;X0++){let V0=X0,e=Y.charCodeAt(X0),L0,k0;if(V6(e))X0++,L0=0,k0=2;else L0=J.get(e),k0=CB(e,p,Z,$);if(V0>_&&rh(s,l,e,L0,H))k=V0,I=p;if(p+=k0,p>O){if(V0>_)S=V0,h=p-k0;else S=X0+1,h=p;if(p-I>W)k=0;n=!1;break}s=e,l=L0}if(n){if(P>0)z[P]=V[V.length-1],B[P]=K[V.length-1],P++;break}}if(k===0){let p=w,s=Y.charCodeAt(N),l=J.get(s),n=!1;for(let X0=N-1;X0>=_;X0--){let V0=X0+1,e=Y.charCodeAt(X0);if(e===9){n=!0;break}let L0,k0;if(AY(e))X0--,L0=0,k0=2;else L0=J.get(e),k0=T4(e)?$:1;if(p<=O){if(S===0)S=V0,h=p;if(p<=O-W)break;if(rh(e,L0,s,l,H)){k=V0,I=p;break}}p-=k0,s=e,l=L0}if(k!==0){let X0=W-(h-I);if(X0<=Z){let V0=Y.charCodeAt(S),e;if(V6(V0))e=2;else e=CB(V0,h,Z,$);if(X0-e<0)k=0}}if(n){R--;continue}}if(k===0)k=S,I=h;if(k<=_){let p=Y.charCodeAt(_);if(V6(p))k=_+2,I=A+2;else k=_+1,I=A+CB(p,A,Z,$)}_=k,z[P]=k,A=I,B[P]=I,P++,O=I+W;while(R<0||R<D&&K[R]<I)R++;let u=Math.abs(K[R]-O);while(R+1<D){let p=Math.abs(K[R+1]-O);if(p>=u)break;u=p,R++}}if(P===0)return null;return z.length=P,B.length=P,ah=X.breakOffsets,ih=X.breakOffsetsVisibleColumn,X.breakOffsets=z,X.breakOffsetsVisibleColumn=B,X.wrappedTextIndentLength=j,X}function mB0(J,X,Y,Z,Q,$,q,G,U){let H=s9.applyInjectedText(X,Y),V,K;if(Y&&Y.length>0)V=Y.map((S)=>S.options),K=Y.map((S)=>S.column-1);else V=null,K=null;if(Q===-1){if(!V)return null;return new p2(K,V,[H.length],[],0)}let j=H.length;if(j<=1){if(!V)return null;return new p2(K,V,[H.length],[],0)}let W=G===\"keepAll\",z=e40(H,Z,Q,$,q),B=Q-z,P=[],_=[],A=0,O=0,D=0,R=Q,N=H.charCodeAt(0),w=J.get(N),k=CB(N,0,Z,$),I=1;if(V6(N))k+=1,N=H.charCodeAt(1),w=J.get(N),I++;for(let S=I;S<j;S++){let h=S,u=H.charCodeAt(S),p,s,l=!1;if(V6(u))S++,p=0,s=2;else p=J.get(u),s=CB(u,k,Z,$);if(U&&uB0(H,S))O=h,D=k,l=!0;else if(rh(N,w,u,p,W))O=h,D=k;if(k+=s,k>R||l){if(O===0||k-D>B)O=h,D=k-s;P[A]=O,_[A]=D,A++,R=D+B,O=0}N=u,w=p}if(A===0&&(!Y||Y.length===0))return null;return P[A]=j,_[A]=k,new p2(K,V,P,_,z)}function CB(J,X,Y,Z){if(J===9)return Y-X%Y;if(T4(J))return Z;if(J<32)return Z;return 1}function n40(J,X){return X-J%X}function uB0(J,X){if(X>=2&&J.charAt(X-1)===\"n\"){let Y=0;for(let Z=X-2;Z>=0;Z--)if(J.charAt(Z)===\"\\\\\")Y++;else return Y%2===1}return!1}function rh(J,X,Y,Z,Q){return Y!==32&&(X===2&&Z!==2||X!==1&&Z===1||!Q&&X===3&&Z!==2||!Q&&Z===3&&X!==1)}function e40(J,X,Y,Z,Q){let $=0;if(Q!==0){let q=b6(J);if(q!==-1){for(let U=0;U<q;U++){let H=J.charCodeAt(U)===9?n40($,X):1;$+=H}let G=Q===3?2:Q===2?1:0;for(let U=0;U<G;U++){let H=n40($,X);$+=H}if($+Z>Y)$=0}}return $}class SB{constructor(J){this._selTrackedRange=null,this._trackSelection=!0,this._setState(J,new B8(new T(1,1,1,1),0,0,new C(1,1),0),new B8(new T(1,1,1,1),0,0,new C(1,1),0))}dispose(J){this._removeTrackedRange(J)}startTrackingSelection(J){this._trackSelection=!0,this._updateTrackedRange(J)}stopTrackingSelection(J){this._trackSelection=!1,this._removeTrackedRange(J)}_updateTrackedRange(J){if(!this._trackSelection)return;this._selTrackedRange=J.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0)}_removeTrackedRange(J){this._selTrackedRange=J.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new l0(this.modelState,this.viewState)}readSelectionFromMarkers(J){let X=J.model._getTrackedRange(this._selTrackedRange);if(this.modelState.selection.isEmpty()&&!X.isEmpty())return Y0.fromRange(X.collapseToEnd(),this.modelState.selection.getDirection());return Y0.fromRange(X,this.modelState.selection.getDirection())}ensureValidState(J){this._setState(J,this.modelState,this.viewState)}setState(J,X,Y){this._setState(J,X,Y)}static _validatePositionWithCache(J,X,Y,Z){if(X.equals(Y))return Z;return J.normalizePosition(X,2)}static _validateViewState(J,X){let Y=X.position,Z=X.selectionStart.getStartPosition(),Q=X.selectionStart.getEndPosition(),$=J.normalizePosition(Y,2),q=this._validatePositionWithCache(J,Z,Y,$),G=this._validatePositionWithCache(J,Q,Z,q);if(Y.equals($)&&Z.equals(q)&&Q.equals(G))return X;return new B8(T.fromPositions(q,G),X.selectionStartKind,X.selectionStartLeftoverVisibleColumns+Z.column-q.column,$,X.leftoverVisibleColumns+Y.column-$.column)}_setState(J,X,Y){if(Y)Y=SB._validateViewState(J.viewModel,Y);if(!X){if(!Y)return;let Z=J.model.validateRange(J.coordinatesConverter.convertViewRangeToModelRange(Y.selectionStart)),Q=J.model.validatePosition(J.coordinatesConverter.convertViewPositionToModelPosition(Y.position));X=new B8(Z,Y.selectionStartKind,Y.selectionStartLeftoverVisibleColumns,Q,Y.leftoverVisibleColumns)}else{let Z=J.model.validateRange(X.selectionStart),Q=X.selectionStart.equalsRange(Z)?X.selectionStartLeftoverVisibleColumns:0,$=J.model.validatePosition(X.position),q=X.position.equals($)?X.leftoverVisibleColumns:0;X=new B8(Z,X.selectionStartKind,Q,$,q)}if(!Y){let Z=J.coordinatesConverter.convertModelPositionToViewPosition(new C(X.selectionStart.startLineNumber,X.selectionStart.startColumn)),Q=J.coordinatesConverter.convertModelPositionToViewPosition(new C(X.selectionStart.endLineNumber,X.selectionStart.endColumn)),$=new T(Z.lineNumber,Z.column,Q.lineNumber,Q.column),q=J.coordinatesConverter.convertModelPositionToViewPosition(X.position);Y=new B8($,X.selectionStartKind,X.selectionStartLeftoverVisibleColumns,q,X.leftoverVisibleColumns)}else{let Z=J.coordinatesConverter.validateViewRange(Y.selectionStart,X.selectionStart),Q=J.coordinatesConverter.validateViewPosition(Y.position,X.position);Y=new B8(Z,X.selectionStartKind,X.selectionStartLeftoverVisibleColumns,Q,X.leftoverVisibleColumns)}this.modelState=X,this.viewState=Y,this._updateTrackedRange(J)}}class tN{constructor(J){this.context=J,this.cursors=[new SB(J)],this.lastAddedCursorIndex=0}dispose(){for(let J of this.cursors)J.dispose(this.context)}startTrackingSelections(){for(let J of this.cursors)J.startTrackingSelection(this.context)}stopTrackingSelections(){for(let J of this.cursors)J.stopTrackingSelection(this.context)}updateContext(J){this.context=J}ensureValidState(){for(let J of this.cursors)J.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map((J)=>J.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map((J)=>J.asCursorState())}getViewPositions(){return this.cursors.map((J)=>J.viewState.position)}getTopMostViewPosition(){return _00(this.cursors,V5((J)=>J.viewState.position,C.compare)).viewState.position}getBottomMostViewPosition(){return B00(this.cursors,V5((J)=>J.viewState.position,C.compare)).viewState.position}getSelections(){return this.cursors.map((J)=>J.modelState.selection)}getViewSelections(){return this.cursors.map((J)=>J.viewState.selection)}setSelections(J){this.setStates(l0.fromModelSelections(J))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(J){if(J===null)return;this.cursors[0].setState(this.context,J[0].modelState,J[0].viewState),this._setSecondaryStates(J.slice(1))}_setSecondaryStates(J){let X=this.cursors.length-1,Y=J.length;if(X<Y){let Z=Y-X;for(let Q=0;Q<Z;Q++)this._addSecondaryCursor()}else if(X>Y){let Z=X-Y;for(let Q=0;Q<Z;Q++)this._removeSecondaryCursor(this.cursors.length-2)}for(let Z=0;Z<Y;Z++)this.cursors[Z+1].setState(this.context,J[Z].modelState,J[Z].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new SB(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){if(this.cursors.length===1||this.lastAddedCursorIndex===0)return 0;return this.lastAddedCursorIndex}_removeSecondaryCursor(J){if(this.lastAddedCursorIndex>=J+1)this.lastAddedCursorIndex--;this.cursors[J+1].dispose(this.context),this.cursors.splice(J+1,1)}normalize(){if(this.cursors.length===1)return;let J=this.cursors.slice(0),X=[];for(let Y=0,Z=J.length;Y<Z;Y++)X.push({index:Y,selection:J[Y].modelState.selection});X.sort(V5((Y)=>Y.selection,T.compareRangesUsingStarts));for(let Y=0;Y<X.length-1;Y++){let Z=X[Y],Q=X[Y+1],$=Z.selection,q=Q.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let G;if(q.isEmpty()||$.isEmpty())G=q.getStartPosition().isBeforeOrEqual($.getEndPosition());else G=q.getStartPosition().isBefore($.getEndPosition());if(G){let U=Z.index<Q.index?Y:Y+1,H=Z.index<Q.index?Y+1:Y,V=X[H].index,K=X[U].index,j=X[H].selection,W=X[U].selection;if(!j.equalsSelection(W)){let z=j.plusRange(W),B=j.selectionStartLineNumber===j.startLineNumber&&j.selectionStartColumn===j.startColumn,P=W.selectionStartLineNumber===W.startLineNumber&&W.selectionStartColumn===W.startColumn,_;if(V===this.lastAddedCursorIndex)_=B,this.lastAddedCursorIndex=K;else _=P;let A;if(_)A=new Y0(z.startLineNumber,z.startColumn,z.endLineNumber,z.endColumn);else A=new Y0(z.endLineNumber,z.endColumn,z.startLineNumber,z.startColumn);X[U].selection=A;let O=l0.fromModelSelection(A);J[K].setState(this.context,O.modelState,O.viewState)}for(let z of X)if(z.index>V)z.index--;J.splice(V,1),X.splice(H,1),this._removeSecondaryCursor(V-1),Y--}}}}class eN{constructor(J,X,Y,Z){this._cursorContextBrand=void 0,this.model=J,this.viewModel=X,this.coordinatesConverter=Y,this.cursorConfig=Z}}class oh{constructor(){this.type=0}}class nh{constructor(){this.type=1}}class th{constructor(J){this.type=2,this._source=J}hasChanged(J){return this._source.hasChanged(J)}}class eh{constructor(J,X,Y){this.selections=J,this.modelSelections=X,this.reason=Y,this.type=3}}class mQ{constructor(J){if(this.type=4,J)this.affectsMinimap=J.affectsMinimap,this.affectsOverviewRuler=J.affectsOverviewRuler,this.affectsGlyphMargin=J.affectsGlyphMargin,this.affectsLineNumber=J.affectsLineNumber;else this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0}}class OK{constructor(){this.type=5}}class Jv{constructor(J){this.type=6,this.isFocused=J}}class Xv{constructor(){this.type=7}}class MK{constructor(){this.type=8}}class Jw{constructor(J,X){this.fromLineNumber=J,this.count=X,this.type=9}}class fB{constructor(J,X){this.type=10,this.fromLineNumber=J,this.toLineNumber=X}}class hB{constructor(J,X){this.type=11,this.fromLineNumber=J,this.toLineNumber=X}}class o2{constructor(J,X,Y,Z,Q,$,q){this.source=J,this.minimalReveal=X,this.range=Y,this.selections=Z,this.verticalType=Q,this.revealHorizontal=$,this.scrollType=q,this.type=12}}class Yv{constructor(J){this.type=13,this.scrollWidth=J.scrollWidth,this.scrollLeft=J.scrollLeft,this.scrollHeight=J.scrollHeight,this.scrollTop=J.scrollTop,this.scrollWidthChanged=J.scrollWidthChanged,this.scrollLeftChanged=J.scrollLeftChanged,this.scrollHeightChanged=J.scrollHeightChanged,this.scrollTopChanged=J.scrollTopChanged}}class Zv{constructor(J){this.theme=J,this.type=14}}class Qv{constructor(J){this.type=15,this.ranges=J}}class $v{constructor(){this.type=16}}class qv{constructor(){this.type=17}}class Gv extends y{constructor(){super();this._onEvent=this._register(new E),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(J){this._addOutgoingEvent(J),this._emitOutgoingEvents()}_addOutgoingEvent(J){for(let X=0,Y=this._outgoingEvents.length;X<Y;X++){let Z=this._outgoingEvents[X].kind===J.kind?this._outgoingEvents[X].attemptToMerge(J):null;if(Z){this._outgoingEvents[X]=Z;return}}this._outgoingEvents.push(J)}_emitOutgoingEvents(){while(this._outgoingEvents.length>0){if(this._collector||this._isConsumingViewEventQueue)return;let J=this._outgoingEvents.shift();if(J.isNoOp())continue;this._onEvent.fire(J)}}addViewEventHandler(J){for(let X=0,Y=this._eventHandlers.length;X<Y;X++)if(this._eventHandlers[X]===J)console.warn(\"Detected duplicate listener in ViewEventDispatcher\",J);this._eventHandlers.push(J)}removeViewEventHandler(J){for(let X=0;X<this._eventHandlers.length;X++)if(this._eventHandlers[X]===J){this._eventHandlers.splice(X,1);break}}beginEmitViewEvents(){if(this._collectorCnt++,this._collectorCnt===1)this._collector=new J90;return this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){let J=this._collector.outgoingEvents,X=this._collector.viewEvents;this._collector=null;for(let Y of J)this._addOutgoingEvent(Y);if(X.length>0)this._emitMany(X)}this._emitOutgoingEvents()}emitSingleViewEvent(J){try{this.beginEmitViewEvents().emitViewEvent(J)}finally{this.endEmitViewEvents()}}_emitMany(J){if(this._viewEventQueue)this._viewEventQueue=this._viewEventQueue.concat(J);else this._viewEventQueue=J;if(!this._isConsumingViewEventQueue)this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){while(this._viewEventQueue){let J=this._viewEventQueue;this._viewEventQueue=null;let X=this._eventHandlers.slice(0);for(let Y of X)Y.handleEvents(J)}}}class J90{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(J){this.viewEvents.push(J)}emitOutgoingEvent(J){this.outgoingEvents.push(J)}}class Xw{constructor(J,X,Y,Z){this.kind=0,this._oldContentWidth=J,this._oldContentHeight=X,this.contentWidth=Y,this.contentHeight=Z,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(J){if(J.kind!==this.kind)return null;return new Xw(this._oldContentWidth,this._oldContentHeight,J.contentWidth,J.contentHeight)}}class gB{constructor(J,X){this.kind=1,this.oldHasFocus=J,this.hasFocus=X}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(J){if(J.kind!==this.kind)return null;return new gB(this.oldHasFocus,J.hasFocus)}}class Uv{constructor(J,X){this.kind=2,this.oldHasFocus=J,this.hasFocus=X}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(J){if(J.kind!==this.kind)return null;return new gB(this.oldHasFocus,J.hasFocus)}}class Yw{constructor(J,X,Y,Z,Q,$,q,G){this.kind=3,this._oldScrollWidth=J,this._oldScrollLeft=X,this._oldScrollHeight=Y,this._oldScrollTop=Z,this.scrollWidth=Q,this.scrollLeft=$,this.scrollHeight=q,this.scrollTop=G,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(J){if(J.kind!==this.kind)return null;return new Yw(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,J.scrollWidth,J.scrollLeft,J.scrollHeight,J.scrollTop)}}class Hv{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(J){if(J.kind!==this.kind)return null;return this}}class Vv{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(J){if(J.kind!==this.kind)return null;return this}}class vB{constructor(J,X,Y,Z,Q,$,q){this.kind=7,this.oldSelections=J,this.selections=X,this.oldModelVersionId=Y,this.modelVersionId=Z,this.source=Q,this.reason=$,this.reachedMaxCursorCount=q}static _selectionsAreEqual(J,X){if(!J&&!X)return!0;if(!J||!X)return!1;let Y=J.length,Z=X.length;if(Y!==Z)return!1;for(let Q=0;Q<Y;Q++)if(!J[Q].equalsSelection(X[Q]))return!1;return!0}isNoOp(){return vB._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(J){if(J.kind!==this.kind)return null;return new vB(this.oldSelections,J.selections,this.oldModelVersionId,J.modelVersionId,J.source,J.reason,this.reachedMaxCursorCount||J.reachedMaxCursorCount)}}class Kv{constructor(){this.kind=6}isNoOp(){return!1}attemptToMerge(J){if(J.kind!==this.kind)return null;return this}}class jv{constructor(J){this.event=J,this.kind=8}isNoOp(){return!1}attemptToMerge(J){return null}}class Wv{constructor(J){this.event=J,this.kind=9}isNoOp(){return!1}attemptToMerge(J){return null}}class zv{constructor(J){this.event=J,this.kind=10}isNoOp(){return!1}attemptToMerge(J){return null}}class Fv{constructor(J){this.event=J,this.kind=11}isNoOp(){return!1}attemptToMerge(J){return null}}class Bv{constructor(J){this.event=J,this.kind=12}isNoOp(){return!1}attemptToMerge(J){return null}}class _v{constructor(J){this.event=J,this.kind=13}isNoOp(){return!1}attemptToMerge(J){return null}}class Av{constructor(J){this.event=J,this.kind=14}isNoOp(){return!1}attemptToMerge(J){return null}}class Pv{constructor(J){this.event=J,this.kind=15}isNoOp(){return!1}attemptToMerge(J){return null}}class Ov extends y{constructor(J,X,Y,Z){super();this._model=J,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=X,this._coordinatesConverter=Y,this.context=new eN(this._model,this._viewModel,this._coordinatesConverter,Z),this._cursors=new tN(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=D1(this._autoClosedActions),super.dispose()}updateConfiguration(J){this.context=new eN(this._model,this._viewModel,this._coordinatesConverter,J),this._cursors.updateContext(this.context)}onLineMappingChanged(J){if(this._knownModelVersionId!==this._model.getVersionId())return;this.setStates(J,\"viewModel\",0,this.getCursorStates())}setHasFocus(J){this._hasFocus=J}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let J=this._cursors.getSelections();for(let X=0;X<this._autoClosedActions.length;X++){let Y=this._autoClosedActions[X];if(!Y.isValid(J))Y.dispose(),this._autoClosedActions.splice(X,1),X--}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(J,X,Y,Z){let Q=!1,$=this.context.cursorConfig.multiCursorLimit;if(Z!==null&&Z.length>$)Z=Z.slice(0,$),Q=!0;let q=pB.from(this._model,this);return this._cursors.setStates(Z),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(J,X,Y,q,Q)}setCursorColumnSelectData(J){this._columnSelectData=J}revealAll(J,X,Y,Z,Q,$){let q=this._cursors.getViewPositions(),G=null,U=null;if(q.length>1)U=this._cursors.getViewSelections();else G=T.fromPositions(q[0],q[0]);J.emitViewEvent(new o2(X,Y,G,U,Z,Q,$))}revealPrimary(J,X,Y,Z,Q,$){let G=[this._cursors.getPrimaryCursor().viewState.selection];J.emitViewEvent(new o2(X,Y,null,G,Z,Q,$))}saveState(){let J=[],X=this._cursors.getSelections();for(let Y=0,Z=X.length;Y<Z;Y++){let Q=X[Y];J.push({inSelectionMode:!Q.isEmpty(),selectionStart:{lineNumber:Q.selectionStartLineNumber,column:Q.selectionStartColumn},position:{lineNumber:Q.positionLineNumber,column:Q.positionColumn}})}return J}restoreState(J,X){let Y=[];for(let Z=0,Q=X.length;Z<Q;Z++){let $=X[Z],q=1,G=1;if($.position&&$.position.lineNumber)q=$.position.lineNumber;if($.position&&$.position.column)G=$.position.column;let U=q,H=G;if($.selectionStart&&$.selectionStart.lineNumber)U=$.selectionStart.lineNumber;if($.selectionStart&&$.selectionStart.column)H=$.selectionStart.column;Y.push({selectionStartLineNumber:U,selectionStartColumn:H,positionLineNumber:q,positionColumn:G})}this.setStates(J,\"restoreState\",0,l0.fromModelSelections(Y)),this.revealAll(J,\"restoreState\",!1,0,!0,1)}onModelContentChanged(J,X){if(X instanceof KB){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(J,\"modelChange\",0,this.getCursorStates())}finally{this._isHandling=!1}}else{let Y=X.rawContentChangedEvent;if(this._knownModelVersionId=Y.versionId,this._isHandling)return;let Z=Y.containsEvent(1);if(this._prevEditOperationType=0,Z)this._cursors.dispose(),this._cursors=new tN(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(J,\"model\",1,null,!1);else if(this._hasFocus&&Y.resultingSelection&&Y.resultingSelection.length>0){let Q=l0.fromModelSelections(Y.resultingSelection);if(this.setStates(J,\"modelChange\",Y.isUndoing?5:Y.isRedoing?6:2,Q))this.revealAll(J,\"modelChange\",!1,0,!0,0)}else{let Q=this._cursors.readSelectionFromMarkers();this.setStates(J,\"modelChange\",2,l0.fromModelSelections(Q))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let J=this._cursors.getPrimaryCursor(),X=J.viewState.selectionStart.getStartPosition(),Y=J.viewState.position;return{isReal:!1,fromViewLineNumber:X.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,X),toViewLineNumber:Y.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,Y)}}getSelections(){return this._cursors.getSelections()}setSelections(J,X,Y,Z){this.setStates(J,X,Z,l0.fromModelSelections(Y))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(J){this._prevEditOperationType=J}_pushAutoClosedAction(J,X){let Y=[],Z=[];for(let q=0,G=J.length;q<G;q++)Y.push({range:J[q],options:{description:\"auto-closed-character\",inlineClassName:\"auto-closed-character\",stickiness:1}}),Z.push({range:X[q],options:{description:\"auto-closed-enclosing\",stickiness:1}});let Q=this._model.deltaDecorations([],Y),$=this._model.deltaDecorations([],Z);this._autoClosedActions.push(new Dv(this._model,Q,$))}_executeEditOperation(J,X){if(!J)return;if(J.shouldPushStackElementBefore)this._model.pushStackElement();let Y=X90.executeCommands(this._model,this._cursors.getSelections(),J.commands,X);if(Y){this._interpretCommandResult(Y);let Z=[],Q=[];for(let $=0;$<J.commands.length;$++){let q=J.commands[$];if(q instanceof cF&&q.enclosingRange&&q.closeCharacterRange)Z.push(q.closeCharacterRange),Q.push(q.enclosingRange)}if(Z.length>0)this._pushAutoClosedAction(Z,Q);this._prevEditOperationType=J.type}if(J.shouldPushStackElementAfter)this._model.pushStackElement()}_interpretCommandResult(J){if(!J||J.length===0)J=this._cursors.readSelectionFromMarkers();this._columnSelectData=null,this._cursors.setSelections(J),this._cursors.normalize()}_emitStateChangedIfNecessary(J,X,Y,Z,Q){let $=pB.from(this._model,this);if($.equals(Z))return!1;let q=this._cursors.getSelections(),G=this._cursors.getViewSelections();if(J.emitViewEvent(new eh(G,q,Y)),!Z||Z.cursorState.length!==$.cursorState.length||$.cursorState.some((U,H)=>!U.modelState.equals(Z.cursorState[H].modelState))){let U=Z?Z.cursorState.map((V)=>V.modelState.selection):null,H=Z?Z.modelVersionId:0;J.emitOutgoingEvent(new vB(U,q,H,$.modelVersionId,X||\"keyboard\",Y,Q))}return!0}_findAutoClosingPairs(J){if(!J.length)return null;let X=[];for(let Y=0,Z=J.length;Y<Z;Y++){let Q=J[Y];if(!Q.text||Q.text.indexOf(`\n`)>=0)return null;let $=Q.text.match(/([)\\]}>'\"`])([^)\\]}>'\"`]*)$/);if(!$)return null;let q=$[1],G=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(q);if(!G||G.length!==1)return null;let U=G[0].open,H=Q.text.length-$[2].length-1,V=Q.text.lastIndexOf(U,H-1);if(V===-1)return null;X.push([V,H])}return X}executeEdits(J,X,Y,Z,Q){let $=null;if(X===\"snippet\")$=this._findAutoClosingPairs(Y);if($)Y[0]._isTracked=!0;let q=[],G=[],U=this._model.pushEditOperations(this.getSelections(),Y,(H)=>{if($)for(let K=0,j=$.length;K<j;K++){let[W,z]=$[K],B=H[K],P=B.range.startLineNumber,_=B.range.startColumn-1+W,A=B.range.startColumn-1+z;q.push(new T(P,A+1,P,A+2)),G.push(new T(P,_+1,P,A+2))}let V=Z(H);if(V)this._isHandling=!0;return V},void 0,Q);if(U)this._isHandling=!1,this.setSelections(J,X,U,0);if(q.length>0)this._pushAutoClosedAction(q,G)}_executeEdit(J,X,Y,Z=0){if(this.context.cursorConfig.readOnly)return;let Q=pB.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),J()}catch($){b0($)}if(this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(X,Y,Z,Q,!1))this.revealAll(X,Y,!1,0,!0,0)}getAutoClosedCharacters(){return Dv.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(J){this._compositionState=new mB(this._model,this.getSelections())}endComposition(J,X){let Y=W7.cursor({kind:\"compositionEnd\",detailedSource:X}),Z=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{if(X===\"keyboard\")this._executeEditOperation(cJ.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,Z,this.getSelections(),this.getAutoClosedCharacters()),Y)},J,X)}type(J,X,Y){let Z=W7.cursor({kind:\"type\",detailedSource:Y});this._executeEdit(()=>{if(Y===\"keyboard\"){let Q=X.length,$=0;while($<Q){let q=Nz(X,$),G=X.substr($,q);this._executeEditOperation(cJ.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),G),Z),$+=q}}else this._executeEditOperation(cJ.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),X),Z)},J,Y)}compositionType(J,X,Y,Z,Q,$){let q=W7.cursor({kind:\"compositionType\",detailedSource:$});if(X.length===0&&Y===0&&Z===0){if(Q!==0){let G=this.getSelections().map((U)=>{let H=U.getPosition();return new Y0(H.lineNumber,H.column+Q,H.lineNumber,H.column+Q)});this.setSelections(J,$,G,0)}return}this._executeEdit(()=>{this._executeEditOperation(cJ.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),X,Y,Z,Q),q)},J,$)}paste(J,X,Y,Z,Q){let $=W7.cursor({kind:\"paste\",detailedSource:Q});this._executeEdit(()=>{this._executeEditOperation(cJ.paste(this.context.cursorConfig,this._model,this.getSelections(),X,Y,Z||[]),$)},J,Q,4)}cut(J,X){let Y=W7.cursor({kind:\"cut\",detailedSource:X});this._executeEdit(()=>{this._executeEditOperation(hY.cut(this.context.cursorConfig,this._model,this.getSelections()),Y)},J,X)}executeCommand(J,X,Y){let Z=W7.cursor({kind:\"executeCommand\",detailedSource:Y});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new n8(0,[X],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),Z)},J,Y)}executeCommands(J,X,Y){let Z=W7.cursor({kind:\"executeCommands\",detailedSource:Y});this._executeEdit(()=>{this._executeEditOperation(new n8(0,X,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),Z)},J,Y)}}class pB{static from(J,X){return new pB(J.getVersionId(),X.getCursorStates())}constructor(J,X){this.modelVersionId=J,this.cursorState=X}equals(J){if(!J)return!1;if(this.modelVersionId!==J.modelVersionId)return!1;if(this.cursorState.length!==J.cursorState.length)return!1;for(let X=0,Y=this.cursorState.length;X<Y;X++)if(!this.cursorState[X].equals(J.cursorState[X]))return!1;return!0}}class Dv{static getAllAutoClosedCharacters(J){let X=[];for(let Y of J)X=X.concat(Y.getAutoClosedCharactersRanges());return X}constructor(J,X,Y){this._model=J,this._autoClosedCharactersDecorations=X,this._autoClosedEnclosingDecorations=Y}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let J=[];for(let X=0;X<this._autoClosedCharactersDecorations.length;X++){let Y=this._model.getDecorationRange(this._autoClosedCharactersDecorations[X]);if(Y)J.push(Y)}return J}isValid(J){let X=[];for(let Y=0;Y<this._autoClosedEnclosingDecorations.length;Y++){let Z=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[Y]);if(Z){if(X.push(Z),Z.startLineNumber!==Z.endLineNumber)return!1}}X.sort(T.compareRangesUsingStarts),J.sort(T.compareRangesUsingStarts);for(let Y=0;Y<J.length;Y++){if(Y>=X.length)return!1;if(!X[Y].strictContainsRange(J[Y]))return!1}return!0}}class X90{static executeCommands(J,X,Y,Z=W7.unknown({name:\"executeCommands\"})){let Q={model:J,selectionsBefore:X,trackedRanges:[],trackedRangesDirection:[]},$=this._innerExecuteCommands(Q,Y,Z);for(let q=0,G=Q.trackedRanges.length;q<G;q++)Q.model._setTrackedRange(Q.trackedRanges[q],null,0);return $}static _innerExecuteCommands(J,X,Y){if(this._arrayIsEmpty(X))return null;let Z=this._getEditOperations(J,X);if(Z.operations.length===0)return null;let Q=Z.operations,$=this._getLoserCursorMap(Q);if($.hasOwnProperty(\"0\"))return console.warn(\"Ignoring commands\"),null;let q=[];for(let H=0,V=Q.length;H<V;H++)if(!$.hasOwnProperty(Q[H].identifier.major.toString()))q.push(Q[H]);if(Z.hadTrackedEditOperation&&q.length>0)q[0]._isTracked=!0;let G=J.model.pushEditOperations(J.selectionsBefore,q,(H)=>{let V=[];for(let W=0;W<J.selectionsBefore.length;W++)V[W]=[];for(let W of H){if(!W.identifier)continue;V[W.identifier.major].push(W)}let K=(W,z)=>{return W.identifier.minor-z.identifier.minor},j=[];for(let W=0;W<J.selectionsBefore.length;W++)if(V[W].length>0)V[W].sort(K),j[W]=X[W].computeCursorState(J.model,{getInverseEditOperations:()=>{return V[W]},getTrackedSelection:(z)=>{let B=parseInt(z,10),P=J.model._getTrackedRange(J.trackedRanges[B]);if(J.trackedRangesDirection[B]===0)return new Y0(P.startLineNumber,P.startColumn,P.endLineNumber,P.endColumn);return new Y0(P.endLineNumber,P.endColumn,P.startLineNumber,P.startColumn)}});else j[W]=J.selectionsBefore[W];return j},void 0,Y);if(!G)G=J.selectionsBefore;let U=[];for(let H in $)if($.hasOwnProperty(H))U.push(parseInt(H,10));U.sort((H,V)=>{return V-H});for(let H of U)G.splice(H,1);return G}static _arrayIsEmpty(J){for(let X=0,Y=J.length;X<Y;X++)if(J[X])return!1;return!0}static _getEditOperations(J,X){let Y=[],Z=!1;for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q];if(q){let G=this._getEditOperationsFromCommand(J,Q,q);Y=Y.concat(G.operations),Z=Z||G.hadTrackedEditOperation}}return{operations:Y,hadTrackedEditOperation:Z}}static _getEditOperationsFromCommand(J,X,Y){let Z=[],Q=0,$=(V,K,j=!1)=>{if(T.isEmpty(V)&&K===\"\")return;Z.push({identifier:{major:X,minor:Q++},range:V,text:K,forceMoveMarkers:j,isAutoWhitespaceEdit:Y.insertsAutoWhitespace})},q=!1,H={addEditOperation:$,addTrackedEditOperation:(V,K,j)=>{q=!0,$(V,K,j)},trackSelection:(V,K)=>{let j=Y0.liftSelection(V),W;if(j.isEmpty())if(typeof K===\"boolean\")if(K)W=2;else W=3;else{let P=J.model.getLineMaxColumn(j.startLineNumber);if(j.startColumn===P)W=2;else W=3}else W=1;let z=J.trackedRanges.length,B=J.model._setTrackedRange(null,j,W);return J.trackedRanges[z]=B,J.trackedRangesDirection[z]=j.getDirection(),z.toString()}};try{Y.getEditOperations(J.model,H)}catch(V){return b0(V),{operations:[],hadTrackedEditOperation:!1}}return{operations:Z,hadTrackedEditOperation:q}}static _getLoserCursorMap(J){J=J.slice(0),J.sort((Y,Z)=>{return-T.compareRangesUsingEnds(Y.range,Z.range)});let X={};for(let Y=1;Y<J.length;Y++){let Z=J[Y-1],Q=J[Y];if(T.getStartPosition(Z.range).isBefore(T.getEndPosition(Q.range))){let $;if(Z.identifier.major>Q.identifier.major)$=Z.identifier.major;else $=Q.identifier.major;X[$.toString()]=!0;for(let q=0;q<J.length;q++)if(J[q].identifier.major===$){if(J.splice(q,1),q<Y)Y--;q--}if(Y>0)Y--}}return X}}class Y90{constructor(J,X,Y,Z){this.text=J,this.lineNumber=X,this.startSelectionOffset=Y,this.endSelectionOffset=Z}}class mB{static _capture(J,X){let Y=[];for(let Z of X){if(Z.startLineNumber!==Z.endLineNumber)return null;let Q=Z.startLineNumber;Y.push(new Y90(J.getLineContent(Q),Q,Z.startColumn-1,Z.endColumn-1))}return Y}constructor(J,X){this._original=mB._capture(J,X)}deduceOutcome(J,X){if(!this._original)return null;let Y=mB._capture(J,X);if(!Y)return null;if(this._original.length!==Y.length)return null;let Z=[];for(let Q=0,$=this._original.length;Q<$;Q++)Z.push(mB._deduceOutcome(this._original[Q],Y[Q]));return Z}static _deduceOutcome(J,X){let Y=Math.min(J.startSelectionOffset,X.startSelectionOffset,BY(J.text,X.text)),Z=Math.min(J.text.length-J.endSelectionOffset,X.text.length-X.endSelectionOffset,_Y(J.text,X.text)),Q=J.text.substring(Y,J.text.length-Z),$=Y,q=X.text.length-Z,G=X.text.substring($,q),U=new T(X.lineNumber,$+1,X.lineNumber,q+1);return new fS(Q,J.startSelectionOffset-Y,J.endSelectionOffset-Y,G,X.startSelectionOffset-Y,X.endSelectionOffset-Y,U)}}var Z90={getInitialState:()=>D2,tokenizeEncoded:(J,X,Y)=>OV(0,Y)};async function $90(J,X,Y){if(!Y)return Q90(X,J.languageIdCodec,Z90);let Z=await f1.getOrCreate(Y);return Q90(X,J.languageIdCodec,Z||Z90)}function q90(J,X,Y,Z,Q,$,q){let G=\"<div>\",U=0,H=0,V=!0;for(let K=0,j=X.getCount();K<j;K++){let W=X.getEndOffset(K),z=\"\";for(;U<W&&U<Q;U++){let B=J.charCodeAt(U),P=B===9;if(H+=T4(B)?2:P?0:1,U<Z){if(P){let _=H%$;H+=_===0?$:$-_}continue}switch(B){case 9:{let _=H%$,A=_===0?$:$-_;H+=A;let O=A;while(O>0){if(q&&V)z+=\"&#160;\",V=!1;else z+=\" \",V=!0;O--}break}case 60:z+=\"&lt;\",V=!1;break;case 62:z+=\"&gt;\",V=!1;break;case 38:z+=\"&amp;\",V=!1;break;case 0:z+=\"&#00;\",V=!1;break;case 65279:case 8232:case 8233:case 133:z+=\"�\",V=!1;break;case 13:z+=\"&#8203\",V=!1;break;case 32:if(q&&V)z+=\"&#160;\",V=!1;else z+=\" \",V=!0;break;default:z+=String.fromCharCode(B),V=!1}}if(W<=Z)continue;if(G+=`<span style=\"${X.getInlineStyle(K,Y)}\">${z}</span>`,W>Q||U>=Q||Z>=Q)break}return G+=\"</div>\",G}function Q90(J,X,Y){let Z='<div class=\"monaco-tokenized-source\">',Q=NJ(J),$=Y.getInitialState();for(let q=0,G=Q.length;q<G;q++){let U=Q[q];if(q>0)Z+=\"<br/>\";let H=Y.tokenizeEncoded(U,!0,$);b1.convertToEndOffset(H.tokens,U.length);let K=new b1(H.tokens,U,X).inflate(),j=0;for(let W=0,z=K.getCount();W<z;W++){let B=K.getClassName(W),P=K.getEndOffset(W);Z+=`<span class=\"${B}\">${w4(U.substring(j,P))}</span>`,j=P}$=H.endState}return Z+=\"</div>\",Z}class G90{constructor(J,X,Y,Z,Q){this.decorationId=J,this.index=X,this.lineNumber=Y,this.specialHeight=Z,this.prefixSum=Q,this.maximumSpecialHeight=Z,this.deleted=!1}}class Zw{constructor(J,X){this._decorationIDToCustomLine=new uB,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=J;for(let Y of X)this.insertOrChangeCustomLineHeight(Y.decorationId,Y.startLineNumber,Y.endLineNumber,Y.lineHeight)}set defaultLineHeight(J){this._defaultLineHeight=J}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(J){this._pendingChanges.push({kind:1,decorationId:J}),this._hasPending=!0}insertOrChangeCustomLineHeight(J,X,Y,Z){this._pendingChanges.push({kind:0,decorationId:J,startLineNumber:X,endLineNumber:Y,lineHeight:Z}),this._hasPending=!0}heightForLineNumber(J){this._commit();let X=this._binarySearchOverOrderedCustomLinesArray(J);if(X>=0)return this._orderedCustomLines[X].maximumSpecialHeight;return this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(J){this._commit();let X=this._binarySearchOverOrderedCustomLinesArray(J);if(X>=0)return this._orderedCustomLines[X].prefixSum+this._orderedCustomLines[X].maximumSpecialHeight;if(X===-1)return this._defaultLineHeight*J;let Y=-(X+1),Z=this._orderedCustomLines[Y-1];return Z.prefixSum+Z.maximumSpecialHeight+this._defaultLineHeight*(J-Z.lineNumber)}onLinesDeleted(J,X){this._pendingChanges.push({kind:2,fromLineNumber:J,toLineNumber:X}),this._hasPending=!0}onLinesInserted(J,X){this._pendingChanges.push({kind:3,fromLineNumber:J,toLineNumber:X}),this._hasPending=!0}_commit(){if(!this._hasPending)return;let J=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;let X=[],Y=new uB;for(let Z of J)switch(Z.kind){case 1:this._doRemoveCustomLineHeight(Z.decorationId,Y);break;case 0:this._doInsertOrChangeCustomLineHeight(Z.decorationId,Z.startLineNumber,Z.endLineNumber,Z.lineHeight,X,Y);break;case 2:this._flushStagedDecorationChanges(X,Y),this._doLinesDeleted(Z.fromLineNumber,Z.toLineNumber);break;case 3:this._flushStagedDecorationChanges(X,Y),this._doLinesInserted(Z.fromLineNumber,Z.toLineNumber,X,Y);break}this._flushStagedDecorationChanges(X,Y)}_doRemoveCustomLineHeight(J,X){let Y=this._decorationIDToCustomLine.get(J);if(Y){this._decorationIDToCustomLine.delete(J);for(let Q of Y)Q.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,Q.index)}let Z=X.get(J);if(Z){X.delete(J);for(let Q of Z)Q.deleted=!0}}_doInsertOrChangeCustomLineHeight(J,X,Y,Z,Q,$){this._doRemoveCustomLineHeight(J,$);for(let q=X;q<=Y;q++){let G=new G90(J,-1,q,Z,0);Q.push(G),$.add(J,G)}}_flushStagedDecorationChanges(J,X){if(J.length===0&&this._invalidIndex===1/0)return;for(let q of J){if(q.deleted)continue;let G=this._binarySearchOverOrderedCustomLinesArray(q.lineNumber),U=G>=0?G:-(G+1);this._orderedCustomLines.splice(U,0,q),this._invalidIndex=Math.min(this._invalidIndex,U)}if(J.length=0,X.clear(),this._invalidIndex===1/0)return;let Y=new uB,Z=[];for(let q=0;q<this._invalidIndex;q++){let G=this._orderedCustomLines[q];Z.push(G),Y.add(G.decorationId,G)}let Q=0,$=this._invalidIndex>0?Z[this._invalidIndex-1]:void 0;for(let q=this._invalidIndex;q<this._orderedCustomLines.length;q++){let G=this._orderedCustomLines[q];if(G.deleted){Q++;continue}if(G.index=q-Q,$&&$.lineNumber===G.lineNumber)G.maximumSpecialHeight=$.maximumSpecialHeight,G.prefixSum=$.prefixSum;else{let U=G.specialHeight;for(let V=q;V<this._orderedCustomLines.length;V++){let K=this._orderedCustomLines[V];if(K.deleted)continue;if(K.lineNumber!==G.lineNumber)break;U=Math.max(U,K.specialHeight)}G.maximumSpecialHeight=U;let H;if($)H=$.prefixSum+$.maximumSpecialHeight+this._defaultLineHeight*(G.lineNumber-$.lineNumber-1);else H=this._defaultLineHeight*(G.lineNumber-1);G.prefixSum=H}$=G,Z.push(G),Y.add(G.decorationId,G)}this._orderedCustomLines=Z,this._decorationIDToCustomLine=Y,this._invalidIndex=1/0}_doLinesDeleted(J,X){let Y=X-J+1,Z=this._orderedCustomLines.length,Q=this._binarySearchOverOrderedCustomLinesArray(J),$;if(Q>=0){$=Q;for(let V=Q-1;V>=0;V--)if(this._orderedCustomLines[V].lineNumber===J)$--;else break}else $=Q===-(Z+1)&&Q!==-1?Z-1:-(Q+1);let q=this._binarySearchOverOrderedCustomLinesArray(X),G;if(q>=0){G=q;for(let V=q+1;V<Z;V++)if(this._orderedCustomLines[V].lineNumber===X)G++;else break}else G=q===-(Z+1)&&q!==-1?Z-1:-(q+1);let U=G>$,H=G===$&&this._orderedCustomLines[$]&&this._orderedCustomLines[$].lineNumber>=J&&this._orderedCustomLines[$].lineNumber<=X;if(U||H){let V=0;for(let R=$;R<=G;R++)V=Math.max(V,this._orderedCustomLines[R].maximumSpecialHeight);let K=0;if($>0){let R=this._orderedCustomLines[$-1];K=R.prefixSum+R.maximumSpecialHeight+this._defaultLineHeight*(J-R.lineNumber-1)}else K=J>0?(J-1)*this._defaultLineHeight:0;let j=this._orderedCustomLines[$],W=this._orderedCustomLines[G],z=this._orderedCustomLines[G+1],B=z&&z.lineNumber===X+1?z.maximumSpecialHeight:this._defaultLineHeight,P=W.prefixSum+W.maximumSpecialHeight-j.prefixSum+this._defaultLineHeight*(X-W.lineNumber)+this._defaultLineHeight*(j.lineNumber-J)+B-V,_=new Set,A=[],O=new uB,D=0;for(let R=0;R<this._orderedCustomLines.length;R++){let N=this._orderedCustomLines[R];if(R<$)A.push(N),O.add(N.decorationId,N);else if(R>=$&&R<=G){let w=N.decorationId;if(!_.has(w))N.index-=D,N.lineNumber=J,N.prefixSum=K,N.maximumSpecialHeight=V,A.push(N),O.add(N.decorationId,N);else D++}else if(R>G)N.index-=D,N.lineNumber-=Y,N.prefixSum-=P,A.push(N),O.add(N.decorationId,N);_.add(N.decorationId)}this._orderedCustomLines=A,this._decorationIDToCustomLine=O}else{let V=Y*this._defaultLineHeight;for(let K=G;K<this._orderedCustomLines.length;K++){let j=this._orderedCustomLines[K];if(j.lineNumber>X)j.lineNumber-=Y,j.prefixSum-=V}}}_doLinesInserted(J,X,Y,Z){let Q=X-J+1,$=this._binarySearchOverOrderedCustomLinesArray(J),q;if($>=0){q=$;for(let j=$-1;j>=0;j--)if(this._orderedCustomLines[j].lineNumber===J)q--;else break}else q=-($+1);let G=[],U=new Set;for(let j=q;j<this._orderedCustomLines.length;j++)if(this._orderedCustomLines[j].lineNumber===J)U.add(this._orderedCustomLines[j].decorationId);let H=new Set;for(let j=q-1;j>=0;j--)if(this._orderedCustomLines[j].lineNumber===J-1)H.add(this._orderedCustomLines[j].decorationId);let V=ON(H,U),K=Q*this._defaultLineHeight;for(let j=q;j<this._orderedCustomLines.length;j++)this._orderedCustomLines[j].lineNumber+=Q,this._orderedCustomLines[j].prefixSum+=K;if(V.size>0){for(let j of V){let W=this._decorationIDToCustomLine.get(j);if(W){let z=W.reduce((_,A)=>Math.min(_,A.lineNumber),J),B=W.reduce((_,A)=>Math.max(_,A.lineNumber),J),P=W.reduce((_,A)=>Math.max(_,A.specialHeight),0);G.push({decorationId:j,startLineNumber:z,endLineNumber:B,lineHeight:P})}}for(let j of G)this._doInsertOrChangeCustomLineHeight(j.decorationId,j.startLineNumber,j.endLineNumber,j.lineHeight,Y,Z)}}_binarySearchOverOrderedCustomLinesArray(J){return vH(this._orderedCustomLines.length,(X)=>{let Y=this._orderedCustomLines[X];if(Y.lineNumber===J)return 0;else if(Y.lineNumber<J)return-1;else return 1})}}class cB{constructor(J,X,Y,Z){this.decorationId=J,this.startLineNumber=X,this.endLineNumber=Y,this.lineHeight=Z}static fromDecorations(J,X,Y){let Z=Y.options.get(75);return J.map((Q)=>{let $=X.convertModelRangeToViewRange(Q.range);return new cB(Q.id,$.startLineNumber,$.endLineNumber,Q.options.lineHeight?Q.options.lineHeight*Z:0)})}}class uB{constructor(){this._map=new Map}add(J,X){let Y=this._map.get(J);if(!Y)this._map.set(J,[X]);else Y.push(X)}get(J){return this._map.get(J)}delete(J){this._map.delete(J)}clear(){this._map.clear()}}class U90{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(J){this._hasPending=!0,this._inserts.push(J)}change(J){this._hasPending=!0,this._changes.push(J)}remove(J){this._hasPending=!0,this._removes.push(J)}commit(J){if(!this._hasPending)return;let X=this._inserts,Y=this._changes,Z=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],J._commitPendingChanges(X,Y,Z)}}class H90{constructor(J,X,Y,Z,Q){this.id=J,this.afterLineNumber=X,this.ordinal=Y,this.height=Z,this.minWidth=Q,this.prefixSum=0}}class dB{static{this.INSTANCE_COUNT=0}constructor(J,X,Y,Z,Q){this._instanceId=aO(++dB.INSTANCE_COUNT),this._pendingChanges=new U90,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=J,this._paddingTop=Y,this._paddingBottom=Z,this._lineHeightsManager=new Zw(X,Q)}static findInsertionIndex(J,X,Y){let Z=0,Q=J.length;while(Z<Q){let $=Z+Q>>>1;if(X===J[$].afterLineNumber)if(Y<J[$].ordinal)Q=$;else Z=$+1;else if(X<J[$].afterLineNumber)Q=$;else Z=$+1}return Z}setDefaultLineHeight(J){this._lineHeightsManager.defaultLineHeight=J}setPadding(J,X){this._paddingTop=J,this._paddingBottom=X}onFlushed(J,X){this._lineCount=J,this._lineHeightsManager=new Zw(this._lineHeightsManager.defaultLineHeight,X)}changeLineHeights(J){let X=!1;return J({insertOrChangeCustomLineHeight:(Z,Q,$,q)=>{X=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(Z,Q,$,q)},removeCustomLineHeight:(Z)=>{X=!0,this._lineHeightsManager.removeCustomLineHeight(Z)}}),X}changeWhitespace(J){let X=!1;try{J({insertWhitespace:(Z,Q,$,q)=>{X=!0,Z=Z|0,Q=Q|0,$=$|0,q=q|0;let G=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new H90(G,Z,Q,$,q)),G},changeOneWhitespace:(Z,Q,$)=>{X=!0,Q=Q|0,$=$|0,this._pendingChanges.change({id:Z,newAfterLineNumber:Q,newHeight:$})},removeWhitespace:(Z)=>{X=!0,this._pendingChanges.remove({id:Z})}})}finally{this._pendingChanges.commit(this)}return X}_commitPendingChanges(J,X,Y){if(J.length>0||Y.length>0)this._minWidth=-1;if(J.length+X.length+Y.length<=1){for(let G of J)this._insertWhitespace(G);for(let G of X)this._changeOneWhitespace(G.id,G.newAfterLineNumber,G.newHeight);for(let G of Y){let U=this._findWhitespaceIndex(G.id);if(U===-1)continue;this._removeWhitespace(U)}return}let Z=new Set;for(let G of Y)Z.add(G.id);let Q=new Map;for(let G of X)Q.set(G.id,G);let $=(G)=>{let U=[];for(let H of G){if(Z.has(H.id))continue;if(Q.has(H.id)){let V=Q.get(H.id);H.afterLineNumber=V.newAfterLineNumber,H.height=V.newHeight}U.push(H)}return U},q=$(this._arr).concat($(J));q.sort((G,U)=>{if(G.afterLineNumber===U.afterLineNumber)return G.ordinal-U.ordinal;return G.afterLineNumber-U.afterLineNumber}),this._arr=q,this._prefixSumValidIndex=-1}_insertWhitespace(J){let X=dB.findInsertionIndex(this._arr,J.afterLineNumber,J.ordinal);this._arr.splice(X,0,J),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,X-1)}_findWhitespaceIndex(J){let X=this._arr;for(let Y=0,Z=X.length;Y<Z;Y++)if(X[Y].id===J)return Y;return-1}_changeOneWhitespace(J,X,Y){let Z=this._findWhitespaceIndex(J);if(Z===-1)return;if(this._arr[Z].height!==Y)this._arr[Z].height=Y,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,Z-1);if(this._arr[Z].afterLineNumber!==X){let Q=this._arr[Z];this._removeWhitespace(Z),Q.afterLineNumber=X,this._insertWhitespace(Q)}}_removeWhitespace(J){this._arr.splice(J,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,J-1)}onLinesDeleted(J,X){J=J|0,X=X|0,this._lineCount-=X-J+1;for(let Y=0,Z=this._arr.length;Y<Z;Y++){let Q=this._arr[Y].afterLineNumber;if(J<=Q&&Q<=X)this._arr[Y].afterLineNumber=J-1;else if(Q>X)this._arr[Y].afterLineNumber-=X-J+1}this._lineHeightsManager.onLinesDeleted(J,X)}onLinesInserted(J,X){J=J|0,X=X|0,this._lineCount+=X-J+1;for(let Y=0,Z=this._arr.length;Y<Z;Y++){let Q=this._arr[Y].afterLineNumber;if(J<=Q)this._arr[Y].afterLineNumber+=X-J+1}this._lineHeightsManager.onLinesInserted(J,X)}getWhitespacesTotalHeight(){if(this._arr.length===0)return 0;return this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(J){J=J|0;let X=Math.max(0,this._prefixSumValidIndex+1);if(X===0)this._arr[0].prefixSum=this._arr[0].height,X++;for(let Y=X;Y<=J;Y++)this._arr[Y].prefixSum=this._arr[Y-1].prefixSum+this._arr[Y].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,J),this._arr[J].prefixSum}getLinesTotalHeight(){let J=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount),X=this.getWhitespacesTotalHeight();return J+X+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(J){J=J|0;let X=this._findLastWhitespaceBeforeLineNumber(J);if(X===-1)return 0;return this.getWhitespacesAccumulatedHeight(X)}_findLastWhitespaceBeforeLineNumber(J){J=J|0;let X=this._arr,Y=0,Z=X.length-1;while(Y<=Z){let $=(Z-Y|0)/2|0,q=Y+$|0;if(X[q].afterLineNumber<J)if(q+1>=X.length||X[q+1].afterLineNumber>=J)return q;else Y=q+1|0;else Z=q-1|0}return-1}_findFirstWhitespaceAfterLineNumber(J){J=J|0;let Y=this._findLastWhitespaceBeforeLineNumber(J)+1;if(Y<this._arr.length)return Y;return-1}getFirstWhitespaceIndexAfterLineNumber(J){return J=J|0,this._findFirstWhitespaceAfterLineNumber(J)}getVerticalOffsetForLineNumber(J,X=!1){J=J|0;let Y;if(J>1)Y=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(J-1);else Y=0;let Z=this.getWhitespaceAccumulatedHeightBeforeLineNumber(J-(X?1:0));return Y+Z+this._paddingTop}getLineHeightForLineNumber(J){return this._lineHeightsManager.heightForLineNumber(J)}getVerticalOffsetAfterLineNumber(J,X=!1){J=J|0;let Y=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(J),Z=this.getWhitespaceAccumulatedHeightBeforeLineNumber(J+(X?1:0));return Y+Z+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let J=0;for(let X=0,Y=this._arr.length;X<Y;X++)J=Math.max(J,this._arr[X].minWidth);this._minWidth=J}return this._minWidth}isAfterLines(J){let X=this.getLinesTotalHeight();return J>X}isInTopPadding(J){if(this._paddingTop===0)return!1;return J<this._paddingTop}isInBottomPadding(J){if(this._paddingBottom===0)return!1;let X=this.getLinesTotalHeight();return J>=X-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(J){if(J=J|0,J<0)return 1;let X=this._lineCount|0,Y=1,Z=X;while(Y<Z){let Q=(Y+Z)/2|0,$=this.getLineHeightForLineNumber(Q),q=this.getVerticalOffsetForLineNumber(Q)|0;if(J>=q+$)Y=Q+1;else if(J>=q)return Q;else Z=Q}if(Y>X)return X;return Y}getLinesViewportData(J,X){J=J|0,X=X|0;let Y=this.getLineNumberAtOrAfterVerticalOffset(J)|0,Z=this.getVerticalOffsetForLineNumber(Y)|0,Q=this._lineCount|0,$=this.getFirstWhitespaceIndexAfterLineNumber(Y)|0,q=this.getWhitespacesCount()|0,G,U;if($===-1)$=q,U=Q+1,G=0;else U=this.getAfterLineNumberForWhitespaceIndex($)|0,G=this.getHeightForWhitespaceIndex($)|0;let H=Z,V=H,K=500000,j=0;if(Z>=K)j=Math.floor(Z/K)*K,j=Math.floor(j/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,V-=j;let W=[],z=J+(X-J)/2,B=-1;for(let O=Y;O<=Q;O++){let D=this.getLineHeightForLineNumber(O);if(B===-1){let R=H,N=H+D;if(R<=z&&z<N||R>z)B=O}H+=D,W[O-Y]=V,V+=D;while(U===O)if(V+=G,H+=G,$++,$>=q)U=Q+1;else U=this.getAfterLineNumberForWhitespaceIndex($)|0,G=this.getHeightForWhitespaceIndex($)|0;if(H>=X){Q=O;break}}if(B===-1)B=Q;let P=this.getVerticalOffsetForLineNumber(Q)|0,_=Y,A=Q;if(_<A){if(Z<J)_++}if(_<A){let O=this.getLineHeightForLineNumber(Q);if(P+O>X)A--}return{bigNumbersDelta:j,startLineNumber:Y,endLineNumber:Q,relativeVerticalOffset:W,centeredLineNumber:B,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:A,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(J){J=J|0;let X=this.getAfterLineNumberForWhitespaceIndex(J),Y;if(X>=1)Y=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(X);else Y=0;let Z;if(J>0)Z=this.getWhitespacesAccumulatedHeight(J-1);else Z=0;return Y+Z+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(J){J=J|0;let X=0,Y=this.getWhitespacesCount()-1;if(Y<0)return-1;let Z=this.getVerticalOffsetForWhitespaceIndex(Y),Q=this.getHeightForWhitespaceIndex(Y);if(J>=Z+Q)return-1;while(X<Y){let $=Math.floor((X+Y)/2),q=this.getVerticalOffsetForWhitespaceIndex($),G=this.getHeightForWhitespaceIndex($);if(J>=q+G)X=$+1;else if(J>=q)return $;else Y=$}return X}getWhitespaceAtVerticalOffset(J){J=J|0;let X=this.getWhitespaceIndexAtOrAfterVerticallOffset(J);if(X<0)return null;if(X>=this.getWhitespacesCount())return null;let Y=this.getVerticalOffsetForWhitespaceIndex(X);if(Y>J)return null;let Z=this.getHeightForWhitespaceIndex(X),Q=this.getIdForWhitespaceIndex(X),$=this.getAfterLineNumberForWhitespaceIndex(X);return{id:Q,afterLineNumber:$,verticalOffset:Y,height:Z}}getWhitespaceViewportData(J,X){J=J|0,X=X|0;let Y=this.getWhitespaceIndexAtOrAfterVerticallOffset(J),Z=this.getWhitespacesCount()-1;if(Y<0)return[];let Q=[];for(let $=Y;$<=Z;$++){let q=this.getVerticalOffsetForWhitespaceIndex($),G=this.getHeightForWhitespaceIndex($);if(q>=X)break;Q.push({id:this.getIdForWhitespaceIndex($),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex($),verticalOffset:q,height:G})}return Q}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(J){return J=J|0,this._arr[J].id}getAfterLineNumberForWhitespaceIndex(J){return J=J|0,this._arr[J].afterLineNumber}getHeightForWhitespaceIndex(J){return J=J|0,this._arr[J].height}}var cB0=125;class RK{constructor(J,X,Y,Z){if(J=J|0,X=X|0,Y=Y|0,Z=Z|0,J<0)J=0;if(X<0)X=0;if(Y<0)Y=0;if(Z<0)Z=0;this.width=J,this.contentWidth=X,this.scrollWidth=Math.max(J,X),this.height=Y,this.contentHeight=Z,this.scrollHeight=Math.max(Y,Z)}equals(J){return this.width===J.width&&this.contentWidth===J.contentWidth&&this.height===J.height&&this.contentHeight===J.contentHeight}}class V90 extends y{constructor(J,X){super();this._onDidContentSizeChange=this._register(new E),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new RK(0,0,0,0),this._scrollable=this._register(new mJ({forceIntegerValues:!0,smoothScrollDuration:J,scheduleAtNextAnimationFrame:X})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(J){this._scrollable.setSmoothScrollDuration(J)}validateScrollPosition(J){return this._scrollable.validateScrollPosition(J)}getScrollDimensions(){return this._dimensions}setScrollDimensions(J){if(this._dimensions.equals(J))return;let X=this._dimensions;this._dimensions=J,this._scrollable.setScrollDimensions({width:J.width,scrollWidth:J.scrollWidth,height:J.height,scrollHeight:J.scrollHeight},!0);let Y=X.contentWidth!==J.contentWidth,Z=X.contentHeight!==J.contentHeight;if(Y||Z)this._onDidContentSizeChange.fire(new Xw(X.contentWidth,X.contentHeight,J.contentWidth,J.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(J){this._scrollable.setScrollPositionNow(J)}setScrollPositionSmooth(J){this._scrollable.setScrollPositionSmooth(J)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class Mv extends y{constructor(J,X,Y,Z){super();this._configuration=J;let Q=this._configuration.options,$=Q.get(165),q=Q.get(96);this._linesLayout=new dB(X,Q.get(75),q.top,q.bottom,Y),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new V90(0,Z)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new RK($.contentWidth,0,$.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?cB0:0)}onConfigurationChanged(J){let X=this._configuration.options;if(J.hasChanged(75))this._linesLayout.setDefaultLineHeight(X.get(75));if(J.hasChanged(96)){let Y=X.get(96);this._linesLayout.setPadding(Y.top,Y.bottom)}if(J.hasChanged(165)){let Y=X.get(165),Z=Y.contentWidth,Q=Y.height,$=this._scrollable.getScrollDimensions(),q=$.contentWidth;this._scrollable.setScrollDimensions(new RK(Z,$.contentWidth,Q,this._getContentHeight(Z,Q,q)))}else this._updateHeight();if(J.hasChanged(130))this._configureSmoothScrollDuration()}onFlushed(J,X){this._linesLayout.onFlushed(J,X)}onLinesDeleted(J,X){this._linesLayout.onLinesDeleted(J,X)}onLinesInserted(J,X){this._linesLayout.onLinesInserted(J,X)}_getHorizontalScrollbarHeight(J,X){let Z=this._configuration.options.get(117);if(Z.horizontal===2)return 0;if(J>=X)return 0;return Z.horizontalScrollbarSize}_getContentHeight(J,X,Y){let Z=this._configuration.options,Q=this._linesLayout.getLinesTotalHeight();if(Z.get(119))Q+=Math.max(0,X-Z.get(75)-Z.get(96).bottom);else if(!Z.get(117).ignoreHorizontalScrollbarInContentHeight)Q+=this._getHorizontalScrollbarHeight(J,Y);return Q}_updateHeight(){let J=this._scrollable.getScrollDimensions(),X=J.width,Y=J.height,Z=J.contentWidth;this._scrollable.setScrollDimensions(new RK(X,J.contentWidth,Y,this._getContentHeight(X,Y,Z)))}getCurrentViewport(){let J=this._scrollable.getScrollDimensions(),X=this._scrollable.getCurrentScrollPosition();return new tM(X.scrollTop,X.scrollLeft,J.width,J.height)}getFutureViewport(){let J=this._scrollable.getScrollDimensions(),X=this._scrollable.getFutureScrollPosition();return new tM(X.scrollTop,X.scrollLeft,J.width,J.height)}_computeContentWidth(){let J=this._configuration.options,X=this._maxLineWidth,Y=J.get(166),Z=J.get(59),Q=J.get(165);if(Y.isViewportWrapping){let $=J.get(81);if(X>Q.contentWidth+Z.typicalHalfwidthCharacterWidth){if($.enabled&&$.side===\"right\")return X+Q.verticalScrollbarWidth}return X}else{let $=J.get(118)*Z.typicalHalfwidthCharacterWidth,q=this._linesLayout.getWhitespaceMinWidth();return Math.max(X+$+Q.verticalScrollbarWidth,q,this._overlayWidgetsMinWidth)}}setMaxLineWidth(J){this._maxLineWidth=J,this._updateContentWidth()}setOverlayWidgetsMinWidth(J){this._overlayWidgetsMinWidth=J,this._updateContentWidth()}_updateContentWidth(){let J=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new RK(J.width,this._computeContentWidth(),J.height,J.contentHeight)),this._updateHeight()}saveState(){let J=this._scrollable.getFutureScrollPosition(),X=J.scrollTop,Y=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(X),Z=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(Y);return{scrollTop:X,scrollTopWithoutViewZones:X-Z,scrollLeft:J.scrollLeft}}changeWhitespace(J){let X=this._linesLayout.changeWhitespace(J);if(X)this.onHeightMaybeChanged();return X}changeSpecialLineHeights(J){let X=this._linesLayout.changeLineHeights(J);if(X)this.onHeightMaybeChanged();return X}getVerticalOffsetForLineNumber(J,X=!1){return this._linesLayout.getVerticalOffsetForLineNumber(J,X)}getVerticalOffsetAfterLineNumber(J,X=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(J,X)}getLineHeightForLineNumber(J){return this._linesLayout.getLineHeightForLineNumber(J)}isAfterLines(J){return this._linesLayout.isAfterLines(J)}isInTopPadding(J){return this._linesLayout.isInTopPadding(J)}isInBottomPadding(J){return this._linesLayout.isInBottomPadding(J)}getLineNumberAtVerticalOffset(J){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(J)}getWhitespaceAtVerticalOffset(J){return this._linesLayout.getWhitespaceAtVerticalOffset(J)}getLinesViewportData(){let J=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(J.top,J.top+J.height)}getLinesViewportDataAtScrollTop(J){let X=this._scrollable.getScrollDimensions();if(J+X.height>X.scrollHeight)J=X.scrollHeight-X.height;if(J<0)J=0;return this._linesLayout.getLinesViewportData(J,J+X.height)}getWhitespaceViewportData(){let J=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(J.top,J.top+J.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(J){return this._scrollable.validateScrollPosition(J)}setScrollPosition(J,X){if(X===1)this._scrollable.setScrollPositionNow(J);else this._scrollable.setScrollPositionSmooth(J)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(J,X){let Y=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:Y.scrollLeft+J,scrollTop:Y.scrollTop+X})}}class fG{constructor(J,X,Y){this.range=J,this.inlineClassName=X,this.type=Y}}class Rv{constructor(J,X,Y){this.context=J,this.model=X,this.coordinatesConverter=Y,this._decorationsCache=Object.create(null)}getInlineDecorations(J){let X=new T(J,1,J,this.model.getLineMaxColumn(J)),Y=this.coordinatesConverter.convertModelRangeToViewRange(X);return this.getDecorations(Y,!1,!1).inlineDecorations}getDecorations(J,X,Y){let Z=this.context.getModelDecorations(J,X,Y),Q=J.startLineNumber,$=J.endLineNumber,q=[],G=0,U=[],H=[];for(let V=Q;V<=$;V++)U[V-Q]=[],H[V-Q]=!1;for(let V=0,K=Z.length;V<K;V++){let j=Z[V],W=j.options;if(!Y70(this.model,j))continue;let z=this._getOrCreateViewModelDecoration(j),B=z.range;if(q[G++]=z,W.inlineClassName){let P=new fG(B,W.inlineClassName,W.inlineClassNameAffectsLetterSpacing?3:0),_=Math.max(Q,B.startLineNumber),A=Math.min($,B.endLineNumber);for(let O=_;O<=A;O++)if(U[O-Q].push(P),W.affectsFont)H[O-Q]=!0}if(W.beforeContentClassName){if(Q<=B.startLineNumber&&B.startLineNumber<=$){let P=new fG(new T(B.startLineNumber,B.startColumn,B.startLineNumber,B.startColumn),W.beforeContentClassName,1);if(U[B.startLineNumber-Q].push(P),W.affectsFont)H[B.startLineNumber-Q]=!0}}if(W.afterContentClassName){if(Q<=B.endLineNumber&&B.endLineNumber<=$){let P=new fG(new T(B.endLineNumber,B.endColumn,B.endLineNumber,B.endColumn),W.afterContentClassName,2);if(U[B.endLineNumber-Q].push(P),W.affectsFont)H[B.endLineNumber-Q]=!0}}}return{decorations:q,inlineDecorations:U,hasVariableFonts:H}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(J){let X=J.id,Y=this._decorationsCache[X];if(!Y){let{range:Z,options:Q}=J,$;if(Q.isWholeLine){let q=this.coordinatesConverter.convertModelPositionToViewPosition(new C(Z.startLineNumber,1),0,!1,!0),G=this.coordinatesConverter.convertModelPositionToViewPosition(new C(Z.endLineNumber,this.model.getLineMaxColumn(Z.endLineNumber)),1);$=new T(q.lineNumber,q.column,G.lineNumber,G.column)}else $=this.coordinatesConverter.convertModelRangeToViewRange(Z,1);Y=new nF($,Q),this._decorationsCache[X]=Y}return Y}}class Nv{constructor(J){this.context=J}getInlineDecorations(J){let X=this.context.getInjectionOffsets(J);if(!X)return[];let Y=[],Z=0,Q=0,$=this.context.getInjectionOptions(J),q=this.context.getBreakOffsets(J);for(let G=0;G<q.length;G++){let U=[];Y[G]=U;let H=G>0?q[G-1]:0,V=q[G];while(Q<X.length){let K=$[Q].content.length,j=X[Q]+Z,W=j+K;if(j>V)break;if(H<W){let z=$[Q];if(z.inlineClassName){let B=this.context.getWrappedTextIndentLength(J),P=G>0?B:0,_=P+Math.max(j-H,0),A=P+Math.min(W-H,V-H);if(_!==A){let O=this.context.getBaseViewLineNumber(J)+G,D=new T(O,_+1,O,A+1),R=z.inlineClassNameAffectsLetterSpacing?3:0;U.push(new fG(D,z.inlineClassName,R))}}}if(W<=V)Z+=K,Q++;else break}}return Y}}class wv{constructor(J,X,Y,Z,Q){this.editorId=J,this.configuration=Y,this._linesCollection=Z;let $={getModelDecorations:(q,G,U)=>this._linesCollection.getDecorationsInRange(q,this.editorId,zq(this.configuration.options),Fq(this.configuration.options),G,U)};this._inlineDecorationsComputer=new Rv($,X,Q),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(J){return this._inlineDecorationsComputer.getDecorations(J,!0,!1).decorations}getDecorationsViewportData(J){let X=this._cachedModelDecorationsResolver!==null;if(X=X&&J.equalsRange(this._cachedModelDecorationsResolverViewRange),!X)this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(J,!1,!1),this._cachedModelDecorationsResolverViewRange=J;return this._cachedModelDecorationsResolver}getDecorationsOnLine(J,X=!1,Y=!1){let Z=new T(J,this._linesCollection.getViewLineMinColumn(J),J,this._linesCollection.getViewLineMaxColumn(J));return this._inlineDecorationsComputer.getDecorations(Z,X,Y)}}function Qw(J,X){if(J===null){if(X)return $w.INSTANCE;return qw.INSTANCE}else return new j90(J,X)}class j90{constructor(J,X){this._projectionData=J,this._isVisible=X}isVisible(){return this._isVisible}setVisible(J){return this._isVisible=J,this}getProjectionData(){return this._projectionData}getViewLineCount(){if(!this._isVisible)return 0;return this._projectionData.getOutputLineCount()}getViewLineContent(J,X,Y){this._assertVisible();let Z=Y>0?this._projectionData.breakOffsets[Y-1]:0,Q=this._projectionData.breakOffsets[Y],$;if(this._projectionData.injectionOffsets!==null){let q=this._projectionData.injectionOffsets.map((U,H)=>new s9(0,0,U+1,this._projectionData.injectionOptions[H],0));$=s9.applyInjectedText(J.getLineContent(X),q).substring(Z,Q)}else $=J.getValueInRange({startLineNumber:X,startColumn:Z+1,endLineNumber:X,endColumn:Q+1});if(Y>0)$=K90(this._projectionData.wrappedTextIndentLength)+$;return $}getViewLineLength(J,X,Y){return this._assertVisible(),this._projectionData.getLineLength(Y)}getViewLineMinColumn(J,X,Y){return this._assertVisible(),this._projectionData.getMinOutputOffset(Y)+1}getViewLineMaxColumn(J,X,Y){return this._assertVisible(),this._projectionData.getMaxOutputOffset(Y)+1}getViewLineData(J,X,Y,Z){let Q=[];return this.getViewLinesData(J,X,Y,1,Z,0,[!0],Q),Q[0]}getViewLinesData(J,X,Y,Z,Q,$,q,G){this._assertVisible();let U=this._projectionData,H=U.injectionOffsets,V=U.injectionOptions,W=new Nv({getInjectionOptions:()=>V,getInjectionOffsets:()=>H,getBreakOffsets:()=>U.breakOffsets,getWrappedTextIndentLength:()=>U.wrappedTextIndentLength,getBaseViewLineNumber:()=>Q}).getInlineDecorations(X),z=J.tokenization.getLineTokens(X),B=l40(z,V,H);for(let P=Y;P<Y+Z;P++){let _=$+P-Y;if(!q[_]){G[_]=null;continue}G[_]=this._getViewLineData(B,W?W[P]:null,P)}}_getViewLineData(J,X,Y){this._assertVisible();let Z=this._projectionData,Q=Y>0?Z.wrappedTextIndentLength:0,$=Y>0?Z.breakOffsets[Y-1]:0,q=Z.breakOffsets[Y],G=J.sliceAndInflate($,q,Q),U=G.getLineContent();if(Y>0)U=K90(Z.wrappedTextIndentLength)+U;let H=this._projectionData.getMinOutputOffset(Y)+1,V=U.length+1,K=Y+1<this.getViewLineCount(),j=Y===0?0:Z.breakOffsetsVisibleColumn[Y-1];return new NV(U,K,H,V,j,G,X)}getModelColumnOfViewPosition(J,X){return this._assertVisible(),this._projectionData.translateToInputOffset(J,X-1)+1}getViewPositionOfModelPosition(J,X,Y=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(X-1,Y).toPosition(J)}getViewLineNumberOfModelPosition(J,X){this._assertVisible();let Y=this._projectionData.translateToOutputPosition(X-1);return J+Y.outputLineIndex}normalizePosition(J,X,Y){let Z=X.lineNumber-J;return this._projectionData.normalizeOutputPosition(J,X.column-1,Y).toPosition(Z)}getInjectedTextAt(J,X){return this._projectionData.getInjectedText(J,X-1)}_assertVisible(){if(!this._isVisible)throw Error(\"Not supported\")}}class $w{static{this.INSTANCE=new $w}constructor(){}isVisible(){return!0}setVisible(J){if(J)return this;return qw.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(J,X,Y){return J.getLineContent(X)}getViewLineLength(J,X,Y){return J.getLineLength(X)}getViewLineMinColumn(J,X,Y){return J.getLineMinColumn(X)}getViewLineMaxColumn(J,X,Y){return J.getLineMaxColumn(X)}getViewLineData(J,X,Y,Z){let Q=J.tokenization.getLineTokens(X),$=Q.getLineContent();return new NV($,!1,1,$.length+1,0,Q.inflate(),null)}getViewLinesData(J,X,Y,Z,Q,$,q,G){if(!q[$]){G[$]=null;return}G[$]=this.getViewLineData(J,X,0,Q)}getModelColumnOfViewPosition(J,X){return X}getViewPositionOfModelPosition(J,X){return new C(J,X)}getViewLineNumberOfModelPosition(J,X){return J}normalizePosition(J,X,Y){return X}getInjectedTextAt(J,X){return null}}class qw{static{this.INSTANCE=new qw}constructor(){}isVisible(){return!1}setVisible(J){if(!J)return this;return $w.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(J,X,Y){throw Error(\"Not supported\")}getViewLineLength(J,X,Y){throw Error(\"Not supported\")}getViewLineMinColumn(J,X,Y){throw Error(\"Not supported\")}getViewLineMaxColumn(J,X,Y){throw Error(\"Not supported\")}getViewLineData(J,X,Y,Z){throw Error(\"Not supported\")}getViewLinesData(J,X,Y,Z,Q,$,q,G){throw Error(\"Not supported\")}getModelColumnOfViewPosition(J,X){throw Error(\"Not supported\")}getViewPositionOfModelPosition(J,X){throw Error(\"Not supported\")}getViewLineNumberOfModelPosition(J,X){throw Error(\"Not supported\")}normalizePosition(J,X,Y){throw Error(\"Not supported\")}getInjectedTextAt(J,X){throw Error(\"Not supported\")}}var Tv=[\"\"];function K90(J){if(J>=Tv.length)for(let X=1;X<=J;X++)Tv[X]=dB0(X);return Tv[J]}function dB0(J){return Array(J+1).join(\" \")}class Lv{constructor(J){this._model=J}_validPosition(J){return this._model.validatePosition(J)}_validRange(J){return this._model.validateRange(J)}convertViewPositionToModelPosition(J){return this._validPosition(J)}convertViewRangeToModelRange(J){return this._validRange(J)}validateViewPosition(J,X){return this._validPosition(X)}validateViewRange(J,X){return this._validRange(X)}convertModelPositionToViewPosition(J){return this._validPosition(J)}convertModelRangeToViewRange(J){return this._validRange(J)}modelPositionIsVisible(J){let X=this._model.getLineCount();if(J.lineNumber<1||J.lineNumber>X)return!1;return!0}getModelLineViewLineCount(J){return 1}getViewLineNumberOfModelPosition(J,X){return J}}class Ev{constructor(J,X,Y,Z,Q,$,q,G,U,H,V){this._editorId=J,this.model=X,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=Y,this._monospaceLineBreaksComputerFactory=Z,this.fontInfo=Q,this.tabSize=$,this.wrappingStrategy=q,this.wrappingColumn=G,this.wrappingIndent=U,this.wordBreak=H,this.wrapOnEscapedLineFeeds=V,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new W90(this)}_constructLines(J,X){if(this.modelLineProjections=[],J)this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]);let Z=this.model.getLinesContent().length,Q=this.createLineBreaksComputer();for(let j=0;j<Z;j++)Q.addRequest(j+1,X?X[j]:null);let $=Q.finalize(),q=[],G=this.hiddenAreasDecorationIds.map((j)=>this.model.getDecorationRange(j)).sort(T.compareRangesUsingStarts),U=1,H=0,V=-1,K=V+1<G.length?H+1:Z+2;for(let j=0;j<Z;j++){let W=j+1;if(W===K)V++,U=G[V].startLineNumber,H=G[V].endLineNumber,K=V+1<G.length?H+1:Z+2;let z=W>=U&&W<=H,B=Qw($[j],!z);q[j]=B.getViewLineCount(),this.modelLineProjections[j]=B}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new WC(q),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((J)=>this.model.getDecorationRange(J))}setHiddenAreas(J){let X=J.map((K)=>this.model.validateRange(K)),Y=lB0(X),Z=this.hiddenAreasDecorationIds.map((K)=>this.model.getDecorationRange(K)).sort(T.compareRangesUsingStarts);if(Y.length===Z.length){let K=!1;for(let j=0;j<Y.length;j++)if(!Y[j].equalsRange(Z[j])){K=!0;break}if(!K)return!1}let Q=Y.map((K)=>({range:K,options:n0.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,Q);let $=Y,q=1,G=0,U=-1,H=U+1<$.length?G+1:this.modelLineProjections.length+2,V=!1;for(let K=0;K<this.modelLineProjections.length;K++){let j=K+1;if(j===H)U++,q=$[U].startLineNumber,G=$[U].endLineNumber,H=U+1<$.length?G+1:this.modelLineProjections.length+2;let W=!1;if(j>=q&&j<=G){if(this.modelLineProjections[K].isVisible())this.modelLineProjections[K]=this.modelLineProjections[K].setVisible(!1),W=!0}else if(V=!0,!this.modelLineProjections[K].isVisible())this.modelLineProjections[K]=this.modelLineProjections[K].setVisible(!0),W=!0;if(W){let z=this.modelLineProjections[K].getViewLineCount();this.projectedModelLineLineCounts.setValue(K,z)}}if(!V)this.setHiddenAreas([]);return!0}modelPositionIsVisible(J,X){if(J<1||J>this.modelLineProjections.length)return!1;return this.modelLineProjections[J-1].isVisible()}getModelLineViewLineCount(J){if(J<1||J>this.modelLineProjections.length)return 1;return this.modelLineProjections[J-1].getViewLineCount()}setTabSize(J){if(this.tabSize===J)return!1;return this.tabSize=J,this._constructLines(!1,null),!0}setWrappingSettings(J,X,Y,Z,Q){let $=this.fontInfo.equals(J),q=this.wrappingStrategy===X,G=this.wrappingColumn===Y,U=this.wrappingIndent===Z,H=this.wordBreak===Q;if($&&q&&G&&U&&H)return!1;let V=$&&q&&!G&&U&&H;this.fontInfo=J,this.wrappingStrategy=X,this.wrappingColumn=Y,this.wrappingIndent=Z,this.wordBreak=Q;let K=null;if(V){K=[];for(let j=0,W=this.modelLineProjections.length;j<W;j++)K[j]=this.modelLineProjections[j].getProjectionData()}return this._constructLines(!1,K),!0}createLineBreaksComputer(J){let X=this.wrappingStrategy===\"advanced\"?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,Y=J??{getLineContent:(Z)=>{return this.model.getLineContent(Z)},getLineInjectedText:(Z)=>{return this.model.getLineInjectedText(Z,this._editorId)}};return X.createLineBreaksComputer(Y,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(J,X,Y){if(!J||J<=this._validModelVersionId)return null;let Z=X===1?1:this.projectedModelLineLineCounts.getPrefixSum(X-1)+1,Q=this.projectedModelLineLineCounts.getPrefixSum(Y);return this.modelLineProjections.splice(X-1,Y-X+1),this.projectedModelLineLineCounts.removeValues(X-1,Y-X+1),new fB(Z,Q)}onModelLinesInserted(J,X,Y,Z){if(!J||J<=this._validModelVersionId)return null;let Q=X>2&&!this.modelLineProjections[X-2].isVisible(),$=X===1?1:this.projectedModelLineLineCounts.getPrefixSum(X-1)+1,q=0,G=[],U=[];for(let H=0,V=Z.length;H<V;H++){let K=Qw(Z[H],!Q);G.push(K);let j=K.getViewLineCount();q+=j,U[H]=j}return this.modelLineProjections=this.modelLineProjections.slice(0,X-1).concat(G).concat(this.modelLineProjections.slice(X-1)),this.projectedModelLineLineCounts.insertValues(X-1,U),new hB($,$+q-1)}onModelLineChanged(J,X,Y){if(J!==null&&J<=this._validModelVersionId)return[!1,null,null,null];let Z=X-1,Q=this.modelLineProjections[Z].getViewLineCount(),$=this.modelLineProjections[Z].isVisible(),q=Qw(Y,$);this.modelLineProjections[Z]=q;let G=this.modelLineProjections[Z].getViewLineCount(),U=!1,H=0,V=-1,K=0,j=-1,W=0,z=-1;if(Q>G)H=this.projectedModelLineLineCounts.getPrefixSum(X-1)+1,V=H+G-1,W=V+1,z=W+(Q-G)-1,U=!0;else if(Q<G)H=this.projectedModelLineLineCounts.getPrefixSum(X-1)+1,V=H+Q-1,K=V+1,j=K+(G-Q)-1,U=!0;else H=this.projectedModelLineLineCounts.getPrefixSum(X-1)+1,V=H+G-1;this.projectedModelLineLineCounts.setValue(Z,G);let B=H<=V?new Jw(H,V-H+1):null,P=K<=j?new hB(K,j):null,_=W<=z?new fB(W,z):null;return[U,B,P,_]}acceptVersionId(J){this._validModelVersionId=J,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){if(this.getViewLineCount()===0&&this.modelLineProjections.length>0)this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount())}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(J){if(J<1)return 1;let X=this.getViewLineCount();if(J>X)return X;return J|0}getActiveIndentGuide(J,X,Y){J=this._toValidViewLineNumber(J),X=this._toValidViewLineNumber(X),Y=this._toValidViewLineNumber(Y);let Z=this.convertViewPositionToModelPosition(J,this.getViewLineMinColumn(J)),Q=this.convertViewPositionToModelPosition(X,this.getViewLineMinColumn(X)),$=this.convertViewPositionToModelPosition(Y,this.getViewLineMinColumn(Y)),q=this.model.guides.getActiveIndentGuide(Z.lineNumber,Q.lineNumber,$.lineNumber),G=this.convertModelPositionToViewPosition(q.startLineNumber,1),U=this.convertModelPositionToViewPosition(q.endLineNumber,this.model.getLineMaxColumn(q.endLineNumber));return{startLineNumber:G.lineNumber,endLineNumber:U.lineNumber,indent:q.indent}}getViewLineInfo(J){J=this._toValidViewLineNumber(J);let X=this.projectedModelLineLineCounts.getIndexOf(J-1),Y=X.index,Z=X.remainder;return new Iv(Y+1,Z)}getMinColumnOfViewLine(J){return this.modelLineProjections[J.modelLineNumber-1].getViewLineMinColumn(this.model,J.modelLineNumber,J.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(J){return this.modelLineProjections[J.modelLineNumber-1].getViewLineMaxColumn(this.model,J.modelLineNumber,J.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(J){let X=this.modelLineProjections[J.modelLineNumber-1],Y=X.getViewLineMinColumn(this.model,J.modelLineNumber,J.modelLineWrappedLineIdx),Z=X.getModelColumnOfViewPosition(J.modelLineWrappedLineIdx,Y);return new C(J.modelLineNumber,Z)}getModelEndPositionOfViewLine(J){let X=this.modelLineProjections[J.modelLineNumber-1],Y=X.getViewLineMaxColumn(this.model,J.modelLineNumber,J.modelLineWrappedLineIdx),Z=X.getModelColumnOfViewPosition(J.modelLineWrappedLineIdx,Y);return new C(J.modelLineNumber,Z)}getViewLineInfosGroupedByModelRanges(J,X){let Y=this.getViewLineInfo(J),Z=this.getViewLineInfo(X),Q=[],$=this.getModelStartPositionOfViewLine(Y),q=[];for(let G=Y.modelLineNumber;G<=Z.modelLineNumber;G++){let U=this.modelLineProjections[G-1];if(U.isVisible()){let H=G===Y.modelLineNumber?Y.modelLineWrappedLineIdx:0,V=G===Z.modelLineNumber?Z.modelLineWrappedLineIdx+1:U.getViewLineCount();for(let K=H;K<V;K++)q.push(new Iv(G,K))}if(!U.isVisible()&&$){let H=new C(G-1,this.model.getLineMaxColumn(G-1)+1),V=T.fromPositions($,H);Q.push(new kv(V,q)),q=[],$=null}else if(U.isVisible()&&!$)$=new C(G,1)}if($){let G=T.fromPositions($,this.getModelEndPositionOfViewLine(Z));Q.push(new kv(G,q))}return Q}getViewLinesBracketGuides(J,X,Y,Z){let Q=Y?this.convertViewPositionToModelPosition(Y.lineNumber,Y.column):null,$=[];for(let q of this.getViewLineInfosGroupedByModelRanges(J,X)){let G=q.modelRange.startLineNumber,U=this.model.guides.getLinesBracketGuides(G,q.modelRange.endLineNumber,Q,Z);for(let H of q.viewLines){let K=U[H.modelLineNumber-G].map((j)=>{if(j.forWrappedLinesAfterColumn!==-1){if(this.modelLineProjections[H.modelLineNumber-1].getViewPositionOfModelPosition(0,j.forWrappedLinesAfterColumn).lineNumber>=H.modelLineWrappedLineIdx)return}if(j.forWrappedLinesBeforeOrAtColumn!==-1){if(this.modelLineProjections[H.modelLineNumber-1].getViewPositionOfModelPosition(0,j.forWrappedLinesBeforeOrAtColumn).lineNumber<H.modelLineWrappedLineIdx)return}if(!j.horizontalLine)return j;let W=-1;if(j.column!==-1){let P=this.modelLineProjections[H.modelLineNumber-1].getViewPositionOfModelPosition(0,j.column);if(P.lineNumber===H.modelLineWrappedLineIdx)W=P.column;else if(P.lineNumber<H.modelLineWrappedLineIdx)W=this.getMinColumnOfViewLine(H);else if(P.lineNumber>H.modelLineWrappedLineIdx)return}let z=this.convertModelPositionToViewPosition(H.modelLineNumber,j.horizontalLine.endColumn),B=this.modelLineProjections[H.modelLineNumber-1].getViewPositionOfModelPosition(0,j.horizontalLine.endColumn);if(B.lineNumber===H.modelLineWrappedLineIdx)return new yX(j.visibleColumn,W,j.className,new S2(j.horizontalLine.top,z.column),-1,-1);else if(B.lineNumber<H.modelLineWrappedLineIdx)return;else{if(j.visibleColumn!==-1)return;return new yX(j.visibleColumn,W,j.className,new S2(j.horizontalLine.top,this.getMaxColumnOfViewLine(H)),-1,-1)}});$.push(K.filter((j)=>!!j))}}return $}getViewLinesIndentGuides(J,X){J=this._toValidViewLineNumber(J),X=this._toValidViewLineNumber(X);let Y=this.convertViewPositionToModelPosition(J,this.getViewLineMinColumn(J)),Z=this.convertViewPositionToModelPosition(X,this.getViewLineMaxColumn(X)),Q=[],$=[],q=[],G=Y.lineNumber-1,U=Z.lineNumber-1,H=null;for(let W=G;W<=U;W++){let z=this.modelLineProjections[W];if(z.isVisible()){let B=z.getViewLineNumberOfModelPosition(0,W===G?Y.column:1),P=z.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(W+1)),_=P-B+1,A=0;if(_>1&&z.getViewLineMinColumn(this.model,W+1,P)===1)A=B===0?1:2;if($.push(_),q.push(A),H===null)H=new C(W+1,0)}else if(H!==null)Q=Q.concat(this.model.guides.getLinesIndentGuides(H.lineNumber,W)),H=null}if(H!==null)Q=Q.concat(this.model.guides.getLinesIndentGuides(H.lineNumber,Z.lineNumber)),H=null;let V=X-J+1,K=Array(V),j=0;for(let W=0,z=Q.length;W<z;W++){let B=Q[W],P=Math.min(V-j,$[W]),_=q[W],A;if(_===2)A=0;else if(_===1)A=1;else A=P;for(let O=0;O<P;O++){if(O===A)B=0;K[j++]=B}}return K}getViewLineContent(J){let X=this.getViewLineInfo(J);return this.modelLineProjections[X.modelLineNumber-1].getViewLineContent(this.model,X.modelLineNumber,X.modelLineWrappedLineIdx)}getViewLineLength(J){let X=this.getViewLineInfo(J);return this.modelLineProjections[X.modelLineNumber-1].getViewLineLength(this.model,X.modelLineNumber,X.modelLineWrappedLineIdx)}getViewLineMinColumn(J){let X=this.getViewLineInfo(J);return this.modelLineProjections[X.modelLineNumber-1].getViewLineMinColumn(this.model,X.modelLineNumber,X.modelLineWrappedLineIdx)}getViewLineMaxColumn(J){let X=this.getViewLineInfo(J);return this.modelLineProjections[X.modelLineNumber-1].getViewLineMaxColumn(this.model,X.modelLineNumber,X.modelLineWrappedLineIdx)}getViewLineData(J){let X=this.getViewLineInfo(J),Y=this.projectedModelLineLineCounts.getPrefixSum(X.modelLineNumber-1)+1;return this.modelLineProjections[X.modelLineNumber-1].getViewLineData(this.model,X.modelLineNumber,X.modelLineWrappedLineIdx,Y)}getViewLinesData(J,X,Y){J=this._toValidViewLineNumber(J),X=this._toValidViewLineNumber(X);let Z=this.projectedModelLineLineCounts.getIndexOf(J-1),Q=J,$=Z.index,q=Z.remainder,G=[];for(let U=$,H=this.model.getLineCount();U<H;U++){let V=this.modelLineProjections[U];if(!V.isVisible())continue;let K=U===$?q:0,j=V.getViewLineCount()-K,W=!1;if(Q+j>X)W=!0,j=X-Q+1;let z=this.projectedModelLineLineCounts.getPrefixSum(U)+1;if(V.getViewLinesData(this.model,U+1,K,j,z,Q-J,Y,G),Q+=j,W)break}return G}validateViewPosition(J,X,Y){J=this._toValidViewLineNumber(J);let Z=this.projectedModelLineLineCounts.getIndexOf(J-1),Q=Z.index,$=Z.remainder,q=this.modelLineProjections[Q],G=q.getViewLineMinColumn(this.model,Q+1,$),U=q.getViewLineMaxColumn(this.model,Q+1,$);if(X<G)X=G;if(X>U)X=U;let H=q.getModelColumnOfViewPosition($,X);if(this.model.validatePosition(new C(Q+1,H)).equals(Y))return new C(J,X);return this.convertModelPositionToViewPosition(Y.lineNumber,Y.column)}validateViewRange(J,X){let Y=this.validateViewPosition(J.startLineNumber,J.startColumn,X.getStartPosition()),Z=this.validateViewPosition(J.endLineNumber,J.endColumn,X.getEndPosition());return new T(Y.lineNumber,Y.column,Z.lineNumber,Z.column)}convertViewPositionToModelPosition(J,X){let Y=this.getViewLineInfo(J),Z=this.modelLineProjections[Y.modelLineNumber-1].getModelColumnOfViewPosition(Y.modelLineWrappedLineIdx,X);return this.model.validatePosition(new C(Y.modelLineNumber,Z))}convertViewRangeToModelRange(J){let X=this.convertViewPositionToModelPosition(J.startLineNumber,J.startColumn),Y=this.convertViewPositionToModelPosition(J.endLineNumber,J.endColumn);return new T(X.lineNumber,X.column,Y.lineNumber,Y.column)}convertModelPositionToViewPosition(J,X,Y=2,Z=!1,Q=!1){let $=this.model.validatePosition(new C(J,X)),q=$.lineNumber,G=$.column,U=q-1,H=!1;if(Q)while(U<this.modelLineProjections.length&&!this.modelLineProjections[U].isVisible())U++,H=!0;else while(U>0&&!this.modelLineProjections[U].isVisible())U--,H=!0;if(U===0&&!this.modelLineProjections[U].isVisible())return new C(Z?0:1,1);let V=1+this.projectedModelLineLineCounts.getPrefixSum(U),K;if(H)if(Q)K=this.modelLineProjections[U].getViewPositionOfModelPosition(V,1,Y);else K=this.modelLineProjections[U].getViewPositionOfModelPosition(V,this.model.getLineMaxColumn(U+1),Y);else K=this.modelLineProjections[q-1].getViewPositionOfModelPosition(V,G,Y);return K}convertModelRangeToViewRange(J,X=0){if(J.isEmpty()){let Y=this.convertModelPositionToViewPosition(J.startLineNumber,J.startColumn,X);return T.fromPositions(Y)}else{let Y=this.convertModelPositionToViewPosition(J.startLineNumber,J.startColumn,1),Z=this.convertModelPositionToViewPosition(J.endLineNumber,J.endColumn,0);return new T(Y.lineNumber,Y.column,Z.lineNumber,Z.column)}}getViewLineNumberOfModelPosition(J,X){let Y=J-1;if(this.modelLineProjections[Y].isVisible()){let Q=1+this.projectedModelLineLineCounts.getPrefixSum(Y);return this.modelLineProjections[Y].getViewLineNumberOfModelPosition(Q,X)}while(Y>0&&!this.modelLineProjections[Y].isVisible())Y--;if(Y===0&&!this.modelLineProjections[Y].isVisible())return 1;let Z=1+this.projectedModelLineLineCounts.getPrefixSum(Y);return this.modelLineProjections[Y].getViewLineNumberOfModelPosition(Z,this.model.getLineMaxColumn(Y+1))}getDecorationsInRange(J,X,Y,Z,Q,$){let q=this.convertViewPositionToModelPosition(J.startLineNumber,J.startColumn),G=this.convertViewPositionToModelPosition(J.endLineNumber,J.endColumn);if(G.lineNumber-q.lineNumber<=J.endLineNumber-J.startLineNumber)return this.model.getDecorationsInRange(new T(q.lineNumber,1,G.lineNumber,G.column),X,Y,Z,Q,$);let U=[],H=q.lineNumber-1,V=G.lineNumber-1,K=null;for(let B=H;B<=V;B++)if(this.modelLineProjections[B].isVisible()){if(K===null)K=new C(B+1,B===H?q.column:1)}else if(K!==null){let _=this.model.getLineMaxColumn(B);U=U.concat(this.model.getDecorationsInRange(new T(K.lineNumber,K.column,B,_),X,Y,Z,Q)),K=null}if(K!==null)U=U.concat(this.model.getDecorationsInRange(new T(K.lineNumber,K.column,G.lineNumber,G.column),X,Y,Z,Q)),K=null;U.sort((B,P)=>{let _=T.compareRangesUsingStarts(B.range,P.range);if(_===0){if(B.id<P.id)return-1;if(B.id>P.id)return 1;return 0}return _});let j=[],W=0,z=null;for(let B of U){let P=B.id;if(z===P)continue;z=P,j[W++]=B}return j}getInjectedTextAt(J){let X=this.getViewLineInfo(J.lineNumber);return this.modelLineProjections[X.modelLineNumber-1].getInjectedTextAt(X.modelLineWrappedLineIdx,J.column)}normalizePosition(J,X){let Y=this.getViewLineInfo(J.lineNumber);return this.modelLineProjections[Y.modelLineNumber-1].normalizePosition(Y.modelLineWrappedLineIdx,J,X)}getLineIndentColumn(J){let X=this.getViewLineInfo(J);if(X.modelLineWrappedLineIdx===0)return this.model.getLineIndentColumn(X.modelLineNumber);return 0}}function lB0(J){if(J.length===0)return[];let X=J.slice();X.sort(T.compareRangesUsingStarts);let Y=[],Z=X[0].startLineNumber,Q=X[0].endLineNumber;for(let $=1,q=X.length;$<q;$++){let G=X[$];if(G.startLineNumber>Q+1)Y.push(new T(Z,1,Q,1)),Z=G.startLineNumber,Q=G.endLineNumber;else if(G.endLineNumber>Q)Q=G.endLineNumber}return Y.push(new T(Z,1,Q,1)),Y}class Iv{constructor(J,X){this.modelLineNumber=J,this.modelLineWrappedLineIdx=X}}class kv{constructor(J,X){this.modelRange=J,this.viewLines=X}}class W90{constructor(J){this._lines=J}convertViewPositionToModelPosition(J){return this._lines.convertViewPositionToModelPosition(J.lineNumber,J.column)}convertViewRangeToModelRange(J){return this._lines.convertViewRangeToModelRange(J)}validateViewPosition(J,X){return this._lines.validateViewPosition(J.lineNumber,J.column,X)}validateViewRange(J,X){return this._lines.validateViewRange(J,X)}convertModelPositionToViewPosition(J,X,Y,Z){return this._lines.convertModelPositionToViewPosition(J.lineNumber,J.column,X,Y,Z)}convertModelRangeToViewRange(J,X){return this._lines.convertModelRangeToViewRange(J,X)}modelPositionIsVisible(J){return this._lines.modelPositionIsVisible(J.lineNumber,J.column)}getModelLineViewLineCount(J){return this._lines.getModelLineViewLineCount(J)}getViewLineNumberOfModelPosition(J,X){return this._lines.getViewLineNumberOfModelPosition(J,X)}}class yv{constructor(J){this.model=J}dispose(){}createCoordinatesConverter(){return new Lv(this.model)}getHiddenAreas(){return[]}setHiddenAreas(J){return!1}setTabSize(J){return!1}setWrappingSettings(J,X,Y,Z){return!1}createLineBreaksComputer(){let J=[];return{addRequest:(X,Y)=>{J.push(null)},finalize:()=>{return J}}}onModelFlushed(){}onModelLinesDeleted(J,X,Y){return new fB(X,Y)}onModelLinesInserted(J,X,Y,Z){return new hB(X,Y)}onModelLineChanged(J,X,Y){return[!1,new Jw(X,1),null,null]}acceptVersionId(J){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(J,X,Y){return{startLineNumber:J,endLineNumber:J,indent:0}}getViewLinesBracketGuides(J,X,Y){return Array(X-J+1).fill([])}getViewLinesIndentGuides(J,X){let Y=X-J+1,Z=Array(Y);for(let Q=0;Q<Y;Q++)Z[Q]=0;return Z}getViewLineContent(J){return this.model.getLineContent(J)}getViewLineLength(J){return this.model.getLineLength(J)}getViewLineMinColumn(J){return this.model.getLineMinColumn(J)}getViewLineMaxColumn(J){return this.model.getLineMaxColumn(J)}getViewLineData(J){let X=this.model.tokenization.getLineTokens(J),Y=X.getLineContent();return new NV(Y,!1,1,Y.length+1,0,X.inflate(),null)}getViewLinesData(J,X,Y){let Z=this.model.getLineCount();J=Math.min(Math.max(1,J),Z),X=Math.min(Math.max(1,X),Z);let Q=[];for(let $=J;$<=X;$++){let q=$-J;Q[q]=Y[q]?this.getViewLineData($):null}return Q}getDecorationsInRange(J,X,Y,Z,Q,$){return this.model.getDecorationsInRange(J,X,Y,Z,Q,$)}normalizePosition(J,X){return this.model.normalizePosition(J,X)}getLineIndentColumn(J){return this.model.getLineIndentColumn(J)}getInjectedTextAt(J){return null}}var hG=g9.Right;class xv{constructor(J){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((J+1)*hG/8))}reset(J){let X=Math.ceil((J+1)*hG/8);if(this.lanes.length<X)this.lanes=new Uint8Array(X);else this.lanes.fill(0);this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(J,X,Y){if(Y)this.persist|=1<<J-1;for(let Z=X.startLineNumber;Z<=X.endLineNumber;Z++){let Q=hG*Z+(J-1);this.lanes[Q>>>3]|=1<<Q%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(Z))}}getLanesAtLine(J){let X=[],Y=hG*J;for(let Z=0;Z<hG;Z++){if(this.persist&1<<Z||this.lanes[Y>>>3]&1<<Y%8)X.push(Z+1);Y++}return X.length?X:[g9.Center]}countAtLine(J){let X=hG*J,Y=0;for(let Z=0;Z<hG;Z++){if(this.persist&1<<Z||this.lanes[X>>>3]&1<<X%8)Y++;X++}return Y}}class Cv extends y{constructor(J,X,Y,Z,Q,$,q,G,U,H){super();if(this.languageConfigurationService=q,this._themeService=G,this._attachedView=U,this._transactionalTarget=H,this.hiddenAreasModel=new B90,this.previousHiddenAreas=[],this._editorId=J,this._configuration=X,this.model=Y,this._eventDispatcher=new Gv,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new x2(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new B1(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=Sv.create(this.model),this.glyphLanes=new xv(0),this.model.isTooLargeForTokenization())this._lines=new yv(this.model);else{let V=this._configuration.options,K=V.get(59),j=V.get(156),W=V.get(166),z=V.get(155),B=V.get(146),P=V.get(160);this._lines=new Ev(this._editorId,this.model,Z,Q,K,this.model.getOptions().tabSize,j,W.wrappingColumn,z,B,P)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Ov(Y,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Mv(this._configuration,this.getLineCount(),this._getCustomLineHeights(),$)),this._register(this.viewLayout.onDidScroll((V)=>{if(V.scrollTopChanged)this._handleVisibleLinesChanged();if(V.scrollTopChanged)this._viewportStart.invalidate();this._eventDispatcher.emitSingleViewEvent(new Yv(V)),this._eventDispatcher.emitOutgoingEvent(new Yw(V.oldScrollWidth,V.oldScrollLeft,V.oldScrollHeight,V.oldScrollTop,V.scrollWidth,V.scrollLeft,V.scrollHeight,V.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange((V)=>{this._eventDispatcher.emitOutgoingEvent(V)})),this._decorations=new wv(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((V)=>{try{let K=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(K,V)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(QK.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new $v)})),this._register(this._themeService.onDidColorThemeChange((V)=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new Zv(V))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(J){return this._configuration.options.get(J)}createLineBreaksComputer(J){return this._lines.createLineBreaksComputer(J)}addViewEventHandler(J){this._eventDispatcher.addViewEventHandler(J)}removeViewEventHandler(J){this._eventDispatcher.removeViewEventHandler(J)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];let X=this.model.getCustomLineHeightsDecorations(this._editorId);return cB.fromDecorations(X,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(J,X){if(!this._configuration.options.get(5))return[];let Z=new T(J,1,X,this.model.getLineMaxColumn(X)),Q=this.model.getCustomLineHeightsDecorationsInRange(Z,this._editorId);return cB.fromDecorations(Q,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let J=this.viewLayout.getLinesViewportData(),X=new T(J.startLineNumber,this.getLineMinColumn(J.startLineNumber),J.endLineNumber,this.getLineMaxColumn(J.endLineNumber));return this._toModelVisibleRanges(X)}visibleLinesStabilized(){let J=this.getModelVisibleRanges();this._attachedView.setVisibleLines(J,!0)}_handleVisibleLinesChanged(){let J=this.getModelVisibleRanges();this._attachedView.setVisibleLines(J,!1)}setHasFocus(J){this._hasFocus=J,this._cursor.setHasFocus(J),this._eventDispatcher.emitSingleViewEvent(new Jv(J)),this._eventDispatcher.emitOutgoingEvent(new gB(!J,J))}setHasWidgetFocus(J){this._eventDispatcher.emitOutgoingEvent(new Uv(!J,J))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new oh)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new nh)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let J=new C(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),X=this.coordinatesConverter.convertViewPositionToModelPosition(J);return new bv(X,this._viewportStart.startLineDelta)}return new bv(null,0)}_onConfigurationChanged(J,X){let Y=this._captureStableViewport(),Z=this._configuration.options,Q=Z.get(59),$=Z.get(156),q=Z.get(166),G=Z.get(155),U=Z.get(146);if(this._lines.setWrappingSettings(Q,$,q.wrappingColumn,G,U))J.emitViewEvent(new OK),J.emitViewEvent(new MK),J.emitViewEvent(new mQ(null)),this._cursor.onLineMappingChanged(J),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule();if(X.hasChanged(104))this._decorations.reset(),J.emitViewEvent(new mQ(null));if(X.hasChanged(112))this._decorations.reset(),J.emitViewEvent(new mQ(null));if(J.emitViewEvent(new th(X)),this.viewLayout.onConfigurationChanged(X),Y.recoverViewportStart(this.coordinatesConverter,this.viewLayout),x2.shouldRecreate(X))this.cursorConfig=new x2(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig)}onDidChangeContentOrInjectedText(J){try{let Y=this._eventDispatcher.beginEmitViewEvents(),Z=!1,Q=!1,$=J instanceof CQ?J.rawContentChangedEvent.changes:J.changes,q=J instanceof CQ?J.rawContentChangedEvent.versionId:null,G=this._lines.createLineBreaksComputer();for(let K of $)switch(K.changeType){case 4:{for(let j=0;j<K.count;j++)G.addRequest(K.fromLineNumberPostEdit+j,null);break}case 2:{G.addRequest(K.lineNumberPostEdit,null);break}}let U=G.finalize(),H=new AJ(U),V=[];for(let K of $)switch(K.changeType){case 1:{this._lines.onModelFlushed(),Y.emitViewEvent(new OK),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),Z=!0;break}case 3:{let j=this._lines.onModelLinesDeleted(q,K.fromLineNumber,K.toLineNumber);if(j!==null)Y.emitViewEvent(j),this.viewLayout.onLinesDeleted(j.fromLineNumber,j.toLineNumber),V.push({fromLineNumber:K.lastUntouchedLinePostEdit,toLineNumber:K.lastUntouchedLinePostEdit});Z=!0;break}case 4:{let j=H.takeCount(K.count),W=this._lines.onModelLinesInserted(q,K.fromLineNumber,K.toLineNumber,j);if(W!==null)Y.emitViewEvent(W),this.viewLayout.onLinesInserted(W.fromLineNumber,W.toLineNumber),V.push({fromLineNumber:K.fromLineNumberPostEdit,toLineNumber:K.toLineNumberPostEdit});Z=!0;break}case 2:{let j=H.dequeue(),[W,z,B,P]=this._lines.onModelLineChanged(q,K.lineNumber,j);if(Q=W,z)Y.emitViewEvent(z);if(B)Y.emitViewEvent(B),this.viewLayout.onLinesInserted(B.fromLineNumber,B.toLineNumber),V.push({fromLineNumber:K.lineNumberPostEdit,toLineNumber:K.lineNumberPostEdit});if(P)Y.emitViewEvent(P),this.viewLayout.onLinesDeleted(P.fromLineNumber,P.toLineNumber),V.push({fromLineNumber:K.lineNumberPostEdit,toLineNumber:K.lineNumberPostEdit});break}case 5:break}if(q!==null)this._lines.acceptVersionId(q);if(V.length>0)this.viewLayout.changeSpecialLineHeights((K)=>{for(let j of V){let W=this._getCustomLineHeightsForLines(j.fromLineNumber,j.toLineNumber);for(let z of W)K.insertOrChangeCustomLineHeight(z.decorationId,z.startLineNumber,z.endLineNumber,z.lineHeight)}});if(this.viewLayout.onHeightMaybeChanged(),!Z&&Q)Y.emitViewEvent(new MK),Y.emitViewEvent(new mQ(null)),this._cursor.onLineMappingChanged(Y),this._decorations.onLineMappingChanged()}finally{this._eventDispatcher.endEmitViewEvents()}let X=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&X){let Y=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(Y){let Z=this.coordinatesConverter.convertModelPositionToViewPosition(Y.getStartPosition()),Q=this.viewLayout.getVerticalOffsetForLineNumber(Z.lineNumber);this.viewLayout.setScrollPosition({scrollTop:Q+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(J){this._emitViewEvent((X)=>{if(J instanceof CQ)X.emitOutgoingEvent(new Fv(J.contentChangedEvent));this._cursor.onModelContentChanged(X,J)})}_registerModelEvents(){if(this._configuration.options.get(5))this._register(this.model.onDidChangeLineHeight((Y)=>{let Z=Y.changes.filter((Q)=>Q.ownerId===this._editorId||Q.ownerId===0);if(this.viewLayout.changeSpecialLineHeights((Q)=>{for(let $ of Z){let{decorationId:q,lineNumber:G,lineHeightMultiplier:U}=$,H=this.coordinatesConverter.convertModelRangeToViewRange(new T(G,1,G,this.model.getLineMaxColumn(G)));if(U!==null)Q.insertOrChangeCustomLineHeight(q,H.startLineNumber,H.endLineNumber,U*this._configuration.options.get(75));else Q.removeCustomLineHeight(q)}}),Z.length>0){let Q=new jB(Z);this._eventDispatcher.emitOutgoingEvent(new Av(Q))}}));if(this._configuration.options.get(172))this._register(this.model.onDidChangeFont((Y)=>{let Z=Y.changes.filter((Q)=>Q.ownerId===this._editorId||Q.ownerId===0);if(Z.length>0){let Q=new WB(Z);this._eventDispatcher.emitOutgoingEvent(new Pv(Q))}}));this._register(this.model.onDidChangeTokens((Y)=>{let Z=[];for(let Q=0,$=Y.ranges.length;Q<$;Q++){let q=Y.ranges[Q],G=this.coordinatesConverter.convertModelPositionToViewPosition(new C(q.fromLineNumber,1)).lineNumber,U=this.coordinatesConverter.convertModelPositionToViewPosition(new C(q.toLineNumber,this.model.getLineMaxColumn(q.toLineNumber))).lineNumber;Z[Q]={fromLineNumber:G,toLineNumber:U}}this._eventDispatcher.emitSingleViewEvent(new Qv(Z)),this._eventDispatcher.emitOutgoingEvent(new _v(Y))})),this._register(this.model.onDidChangeLanguageConfiguration((Y)=>{this._eventDispatcher.emitSingleViewEvent(new Xv),this.cursorConfig=new x2(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new zv(Y))})),this._register(this.model.onDidChangeLanguage((Y)=>{this.cursorConfig=new x2(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Wv(Y))})),this._register(this.model.onDidChangeOptions((Y)=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let Z=this._eventDispatcher.beginEmitViewEvents();Z.emitViewEvent(new OK),Z.emitViewEvent(new MK),Z.emitViewEvent(new mQ(null)),this._cursor.onLineMappingChanged(Z),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new x2(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Bv(Y))})),this._register(this.model.onDidChangeDecorations((Y)=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new mQ(Y)),this._eventDispatcher.emitOutgoingEvent(new jv(Y))}))}getFontSizeAtPosition(J){if(!this._configuration.options.get(172))return null;let Y=this.model.getFontDecorationsInRange(T.fromPositions(J),this._editorId),Z=this._configuration.options.get(59).fontSize+\"px\";for(let Q of Y)if(Q.options.fontSize){Z=Q.options.fontSize;break}return Z}setHiddenAreas(J,X,Y){this.hiddenAreasModel.setHiddenAreas(X,J);let Z=this.hiddenAreasModel.getMergedRanges();if(Z===this.previousHiddenAreas&&!Y)return;this.previousHiddenAreas=Z;let Q=this._captureStableViewport(),$=!1;try{let q=this._eventDispatcher.beginEmitViewEvents();if($=this._lines.setHiddenAreas(Z),$)q.emitViewEvent(new OK),q.emitViewEvent(new MK),q.emitViewEvent(new mQ(null)),this._cursor.onLineMappingChanged(q),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged();let G=Q.viewportStartModelPosition?.lineNumber;if(!(G&&Z.some((H)=>H.startLineNumber<=G&&G<=H.endLineNumber)))Q.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}if(this._updateConfigurationViewLineCount.schedule(),$)this._eventDispatcher.emitOutgoingEvent(new Vv)}getVisibleRangesPlusViewportAboveBelow(){let J=this._configuration.options.get(165),X=this._configuration.options.get(75),Y=Math.max(20,Math.round(J.height/X)),Z=this.viewLayout.getLinesViewportData(),Q=Math.max(1,Z.completelyVisibleStartLineNumber-Y),$=Math.min(this.getLineCount(),Z.completelyVisibleEndLineNumber+Y);return this._toModelVisibleRanges(new T(Q,this.getLineMinColumn(Q),$,this.getLineMaxColumn($)))}getVisibleRanges(){let J=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(J)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(J){let X=this.coordinatesConverter.convertViewRangeToModelRange(J),Y=this._lines.getHiddenAreas();if(Y.length===0)return[X];let Z=[],Q=0,$=X.startLineNumber,q=X.startColumn,G=X.endLineNumber,U=X.endColumn;for(let H=0,V=Y.length;H<V;H++){let K=Y[H].startLineNumber,j=Y[H].endLineNumber;if(j<$)continue;if(K>G)continue;if($<K)Z[Q++]=new T($,q,K-1,this.model.getLineMaxColumn(K-1));$=j+1,q=1}if($<G||$===G&&q<U)Z[Q++]=new T($,q,G,U);return Z}getCompletelyVisibleViewRange(){let J=this.viewLayout.getLinesViewportData(),X=J.completelyVisibleStartLineNumber,Y=J.completelyVisibleEndLineNumber;return new T(X,this.getLineMinColumn(X),Y,this.getLineMaxColumn(Y))}getCompletelyVisibleViewRangeAtScrollTop(J){let X=this.viewLayout.getLinesViewportDataAtScrollTop(J),Y=X.completelyVisibleStartLineNumber,Z=X.completelyVisibleEndLineNumber;return new T(Y,this.getLineMinColumn(Y),Z,this.getLineMaxColumn(Z))}getViewRangeWithCursorPadding(J){let X=this._configuration.options,Y=X.get(35),Z=X.get(131),{startLineNumber:Q,endLineNumber:$}=J,q=Math.min(Math.max(Y,Z.enabled?Z.maxLineCount:0),Math.floor(($-Q+1)/2));if(Q+=q,$-=Math.max(0,q-1),q===0||Q>$)return J;return new T(Q,this.getLineMinColumn(Q),$,this.getLineMaxColumn($))}saveState(){let J=this.viewLayout.saveState(),X=J.scrollTop,Y=this.viewLayout.getLineNumberAtVerticalOffset(X),Z=this.coordinatesConverter.convertViewPositionToModelPosition(new C(Y,this.getLineMinColumn(Y))),Q=this.viewLayout.getVerticalOffsetForLineNumber(Y)-X;return{scrollLeft:J.scrollLeft,firstPosition:Z,firstPositionDeltaTop:Q}}reduceRestoreState(J){if(typeof J.firstPosition>\"u\")return this._reduceRestoreStateCompatibility(J);let X=this.model.validatePosition(J.firstPosition),Y=this.coordinatesConverter.convertModelPositionToViewPosition(X),Z=this.viewLayout.getVerticalOffsetForLineNumber(Y.lineNumber)-J.firstPositionDeltaTop;return{scrollLeft:J.scrollLeft,scrollTop:Z}}_reduceRestoreStateCompatibility(J){return{scrollLeft:J.scrollLeft,scrollTop:J.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(J,X,Y){this._viewportStart.update(this,J)}getActiveIndentGuide(J,X,Y){return this._lines.getActiveIndentGuide(J,X,Y)}getLinesIndentGuides(J,X){return this._lines.getViewLinesIndentGuides(J,X)}getBracketGuidesInRangeByLine(J,X,Y,Z){return this._lines.getViewLinesBracketGuides(J,X,Y,Z)}getLineContent(J){return this._lines.getViewLineContent(J)}getLineLength(J){return this._lines.getViewLineLength(J)}getLineMinColumn(J){return this._lines.getViewLineMinColumn(J)}getLineMaxColumn(J){return this._lines.getViewLineMaxColumn(J)}getLineFirstNonWhitespaceColumn(J){let X=b6(this.getLineContent(J));if(X===-1)return 0;return X+1}getLineLastNonWhitespaceColumn(J){let X=T5(this.getLineContent(J));if(X===-1)return 0;return X+2}getMinimapDecorationsInRange(J){return this._decorations.getMinimapDecorationsInRange(J)}getDecorationsInViewport(J){return this._decorations.getDecorationsViewportData(J).decorations}getInjectedTextAt(J){return this._lines.getInjectedTextAt(J)}_getTextDirection(J,X){let Y=0;for(let Z of X){let Q=Z.range;if(Q.startLineNumber>J||Q.endLineNumber<J)continue;let $=Z.options.textDirection;if($===N8.RTL)Y++;else if($===N8.LTR)Y--}return Y>0?N8.RTL:N8.LTR}getTextDirection(J){let X=this._decorations.getDecorationsOnLine(J);return this._getTextDirection(J,X.decorations)}getViewportViewLineRenderingData(J,X){let Y=this._decorations.getDecorationsViewportData(J),Z=X-J.startLineNumber,Q=Y.inlineDecorations[Z],$=Y.hasVariableFonts[Z];return this._getViewLineRenderingData(X,Q,$,Y.decorations)}getViewLineRenderingData(J){let X=this._decorations.getDecorationsOnLine(J);return this._getViewLineRenderingData(J,X.inlineDecorations[0],X.hasVariableFonts[0],X.decorations)}_getViewLineRenderingData(J,X,Y,Z){let Q=this.model.mightContainRTL(),$=this.model.mightContainNonBasicASCII(),q=this.getTabSize(),G=this._lines.getViewLineData(J);if(G.inlineDecorations)X=[...X,...G.inlineDecorations];return new K7(G.minColumn,G.maxColumn,G.content,G.continuesWithWrappedLine,Q,$,G.tokens,X,q,G.startVisibleColumn,this._getTextDirection(J,Z),Y)}getViewLineData(J){return this._lines.getViewLineData(J)}getMinimapLinesRenderingData(J,X,Y){let Z=this._lines.getViewLinesData(J,X,Y);return new RC(this.getTabSize(),Z)}getAllOverviewRulerDecorations(J){let X=this.model.getOverviewRulerDecorations(this._editorId,zq(this._configuration.options),Fq(this._configuration.options)),Y=new F90;for(let Z of X){let Q=Z.options,$=Q.overviewRuler;if(!$)continue;let q=$.position;if(q===0)continue;let G=$.getColor(J.value),U=this.coordinatesConverter.getViewLineNumberOfModelPosition(Z.range.startLineNumber,Z.range.startColumn),H=this.coordinatesConverter.getViewLineNumberOfModelPosition(Z.range.endLineNumber,Z.range.endColumn);Y.accept(G,Q.zIndex,U,H,q)}return Y.asArray}_invalidateDecorationsColorCache(){let J=this.model.getOverviewRulerDecorations();for(let X of J)X.options.overviewRuler?.invalidateCachedColor(),X.options.minimap?.invalidateCachedColor()}getValueInRange(J,X){let Y=this.coordinatesConverter.convertViewRangeToModelRange(J);return this.model.getValueInRange(Y,X)}getValueLengthInRange(J,X){let Y=this.coordinatesConverter.convertViewRangeToModelRange(J);return this.model.getValueLengthInRange(Y,X)}modifyPosition(J,X){let Y=this.coordinatesConverter.convertViewPositionToModelPosition(J),Z=this.model.modifyPosition(Y,X);return this.coordinatesConverter.convertModelPositionToViewPosition(Z)}deduceModelPositionRelativeToViewPosition(J,X,Y){let Z=this.coordinatesConverter.convertViewPositionToModelPosition(J);if(this.model.getEOL().length===2)if(X<0)X-=Y;else X+=Y;let $=this.model.getOffsetAt(Z)+X;return this.model.getPositionAt($)}getPlainTextToCopy(J,X,Y){let Z=Y?`\\r\n`:this.model.getEOL();J=J.slice(0),J.sort(T.compareRangesUsingStarts);let Q=!1,$=!1;for(let H of J)if(H.isEmpty())Q=!0;else $=!0;if(!$&&!X)return{sourceRanges:[],sourceText:\"\"};let q=[],G=[],U=(H,V=\"\")=>{q.push(H),G.push(this.model.getValueInRange(H,Y?2:0)+V)};if(Q&&X){let H=0;for(let V of J){let K=V.startLineNumber;if(V.isEmpty()){if(K!==H)U(new T(K,this.model.getLineMinColumn(K),K,this.model.getLineMaxColumn(K)),Z)}else U(V);H=K}}else for(let H of J)if(!H.isEmpty())U(H);return{sourceRanges:q,sourceText:G.length===1?G[0]:G}}getRichTextToCopy(J,X){let Y=this.model.getLanguageId();if(Y===W5)return null;if(J.length!==1)return null;let Z=J[0];if(Z.isEmpty()){if(!X)return null;let H=Z.startLineNumber;Z=new T(H,this.model.getLineMinColumn(H),H,this.model.getLineMaxColumn(H))}let Q=this._configuration.options.get(59),$=this._getColorMap(),G=/[:;\\\\\\/<>]/.test(Q.fontFamily)||Q.fontFamily===J4.fontFamily,U;if(G)U=J4.fontFamily;else{if(U=Q.fontFamily,U=U.replace(/\"/g,\"'\"),!/[,']/.test(U)){if(/[+ ]/.test(U))U=`'${U}'`}U=`${U}, ${J4.fontFamily}`}return{mode:Y,html:`<div style=\"color: ${$[1]};background-color: ${$[2]};font-family: ${U};font-weight: ${Q.fontWeight};font-size: ${Q.fontSize}px;line-height: ${Q.lineHeight}px;white-space: pre;\">`+this._getHTMLToCopy(Z,$)+\"</div>\"}}_getHTMLToCopy(J,X){let{startLineNumber:Y,startColumn:Z,endLineNumber:Q,endColumn:$}=J,q=this.getTabSize(),G=\"\";for(let U=Y;U<=Q;U++){let H=this.model.tokenization.getLineTokens(U),V=H.getLineContent(),K=U===Y?Z-1:0,j=U===Q?$-1:V.length;if(V===\"\")G+=\"<br>\";else G+=q90(V,H.inflate(),X,K,j,q,z6)}return G}_getColorMap(){let J=f1.getColorMap(),X=[\"#000000\"];if(J)for(let Y=1,Z=J.length;Y<Z;Y++)X[Y]=c.Format.CSS.formatHex(J[Y]);return X}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(J,X,Y){return this._withViewEventsCollector((Z)=>this._cursor.setStates(Z,J,X,Y))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(J){this._cursor.setCursorColumnSelectData(J)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(J){this._cursor.setPrevEditOperationType(J)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(J,X,Y=0){this._withViewEventsCollector((Z)=>this._cursor.setSelections(Z,J,X,Y))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(J){this._withViewEventsCollector((X)=>this._cursor.restoreState(X,J))}_executeCursorEdit(J){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new Kv);return}this._withViewEventsCollector(J)}executeEdits(J,X,Y,Z){this._executeCursorEdit((Q)=>this._cursor.executeEdits(Q,J,X,Y,Z))}startComposition(){this._executeCursorEdit((J)=>this._cursor.startComposition(J))}endComposition(J){this._executeCursorEdit((X)=>this._cursor.endComposition(X,J))}type(J,X){this._executeCursorEdit((Y)=>this._cursor.type(Y,J,X))}compositionType(J,X,Y,Z,Q){this._executeCursorEdit(($)=>this._cursor.compositionType($,J,X,Y,Z,Q))}paste(J,X,Y,Z){this._executeCursorEdit((Q)=>this._cursor.paste(Q,J,X,Y,Z))}cut(J){this._executeCursorEdit((X)=>this._cursor.cut(X,J))}executeCommand(J,X){this._executeCursorEdit((Y)=>this._cursor.executeCommand(Y,J,X))}executeCommands(J,X){this._executeCursorEdit((Y)=>this._cursor.executeCommands(Y,J,X))}revealAllCursors(J,X,Y=!1){this._withViewEventsCollector((Z)=>this._cursor.revealAll(Z,J,Y,0,X,0))}revealPrimaryCursor(J,X,Y=!1){this._withViewEventsCollector((Z)=>this._cursor.revealPrimary(Z,J,Y,0,X,0))}revealTopMostCursor(J){let X=this._cursor.getTopMostViewPosition(),Y=new T(X.lineNumber,X.column,X.lineNumber,X.column);this._withViewEventsCollector((Z)=>Z.emitViewEvent(new o2(J,!1,Y,null,0,!0,0)))}revealBottomMostCursor(J){let X=this._cursor.getBottomMostViewPosition(),Y=new T(X.lineNumber,X.column,X.lineNumber,X.column);this._withViewEventsCollector((Z)=>Z.emitViewEvent(new o2(J,!1,Y,null,0,!0,0)))}revealRange(J,X,Y,Z,Q){this._withViewEventsCollector(($)=>$.emitViewEvent(new o2(J,!1,Y,null,Z,X,Q)))}changeWhitespace(J){if(this.viewLayout.changeWhitespace(J))this._eventDispatcher.emitSingleViewEvent(new qv),this._eventDispatcher.emitOutgoingEvent(new Hv)}_withViewEventsCollector(J){return this._transactionalTarget.batchChanges(()=>{return this._emitViewEvent(J)})}_emitViewEvent(J){try{let X=this._eventDispatcher.beginEmitViewEvents();return J(X)}finally{this._eventDispatcher.endEmitViewEvents()}}batchEvents(J){this._withViewEventsCollector(()=>{J()})}normalizePosition(J,X){return this._lines.normalizePosition(J,X)}getLineIndentColumn(J){return this._lines.getLineIndentColumn(J)}}class Sv{static create(J){let X=J._setTrackedRange(null,new T(1,1,1,1),1);return new Sv(J,1,!1,X,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(J,X,Y,Z,Q){this._model=J,this._viewLineNumber=X,this._isValid=Y,this._modelTrackedRange=Z,this._startLineDelta=Q}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(J,X){let Y=J.coordinatesConverter.convertViewPositionToModelPosition(new C(X,J.getLineMinColumn(X))),Z=J.model._setTrackedRange(this._modelTrackedRange,new T(Y.lineNumber,Y.column,Y.lineNumber,Y.column),1),Q=J.viewLayout.getVerticalOffsetForLineNumber(X),$=J.viewLayout.getCurrentScrollTop();this._viewLineNumber=X,this._isValid=!0,this._modelTrackedRange=Z,this._startLineDelta=$-Q}invalidate(){this._isValid=!1}}class F90{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(J,X,Y,Z,Q){let $=this._asMap[J];if($){let q=$.data,G=q[q.length-3],U=q[q.length-1];if(G===Q&&U+1>=Y){if(Z>U)q[q.length-1]=Z;return}q.push(Q,Y,Z)}else{let q=new QG(J,X,[Q,Y,Z]);this._asMap[J]=q,this.asArray.push(q)}}}class B90{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(J,X){let Y=this.hiddenAreas.get(J);if(Y&&z90(Y,X))return;this.hiddenAreas.set(J,X),this.shouldRecompute=!0}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;let J=Array.from(this.hiddenAreas.values()).reduce((X,Y)=>sB0(X,Y),[]);if(z90(this.ranges,J))return this.ranges;return this.ranges=J,this.ranges}}function sB0(J,X){let Y=[],Z=0,Q=0;while(Z<J.length&&Q<X.length){let $=J[Z],q=X[Q];if($.endLineNumber<q.startLineNumber-1)Y.push(J[Z++]);else if(q.endLineNumber<$.startLineNumber-1)Y.push(X[Q++]);else{let G=Math.min($.startLineNumber,q.startLineNumber),U=Math.max($.endLineNumber,q.endLineNumber);Y.push(new T(G,1,U,1)),Z++,Q++}}while(Z<J.length)Y.push(J[Z++]);while(Q<X.length)Y.push(X[Q++]);return Y}function z90(J,X){if(J.length!==X.length)return!1;for(let Y=0;Y<J.length;Y++)if(!J[Y].equalsRange(X[Y]))return!1;return!0}class bv{constructor(J,X){this.viewportStartModelPosition=J,this.startLineDelta=X}recoverViewportStart(J,X){if(!this.viewportStartModelPosition)return;let Y=J.convertModelPositionToViewPosition(this.viewportStartModelPosition),Z=X.getVerticalOffsetForLineNumber(Y.lineNumber);X.setScrollPosition({scrollTop:Z+this.startLineDelta},1)}}class i9{constructor(...J){this._entries=new Map;for(let[X,Y]of J)this.set(X,Y)}set(J,X){let Y=this._entries.get(J);return this._entries.set(J,X),Y}get(J){return this._entries.get(J)}}var aB0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},oY=function(J,X){return function(Y,Z){X(Y,Z,J)}},vG,wK=class extends y{static{vG=this}static{this.dropIntoEditorDecorationOptions=n0.register({description:\"workbench-dnd-target\",className:\"dnd-target\"})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}get contextKeyService(){return this._contextKeyService}constructor(X,Y,Z,Q,$,q,G,U,H,V,K,j,W){super();this.languageConfigurationService=K,this._deliveryQueue=Ro(),this._contributions=this._register(new sf),this._onDidDispose=this._register(new E),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeLineHeight=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeFont=this._onDidChangeFont.event,this._onDidChangeModelTokens=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new X5(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new fv({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new fv({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new X5(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new X5(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new X5(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new X5(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new X5(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onWillCopy=this._register(new X5(this._contributions,this._deliveryQueue)),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new X5(this._contributions,this._deliveryQueue)),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new X5(this._contributions,this._deliveryQueue)),this.onWillPaste=this._onWillPaste.event,this._onMouseUp=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new X5(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new X5(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new X5(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new X5(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new X5(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new E({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onWillTriggerEditorOperationEvent=this._register(new E),this._onBeginUpdate=this._register(new E),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new E),this.onEndUpdate=this._onEndUpdate.event,this._onBeforeExecuteEdit=this._register(new E),this.onBeforeExecuteEdit=this._onBeforeExecuteEdit.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),this.inComposition=!1,$.willCreateCodeEditor();let z={...Y};if(this._domElement=X,this._userInteractionService=W,this._overflowWidgetsDomNode=z.overflowWidgetsDomNode,delete z.overflowWidgetsDomNode,this._id=++iB0,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=Z.telemetryData,this._configuration=this._register(this._createConfiguration(Z.isSimpleWidget||!1,Z.contextMenuId??(Z.isSimpleWidget?b.SimpleEditorContext:b.EditorContext),z,V)),this._domElement.style?.setProperty(\"--editor-font-size\",this._configuration.options.get(61)+\"px\"),this._register(this._configuration.onDidChange((_)=>{this._onDidChangeConfiguration.fire(_);let A=this._configuration.options;if(_.hasChanged(165)){let O=A.get(165);this._onDidLayoutChange.fire(O)}if(_.hasChanged(61))this._domElement.style.setProperty(\"--editor-font-size\",A.get(61)+\"px\")})),this._contextKeyService=this._register(G.createScoped(this._domElement)),Z.contextKeyValues)for(let[_,A]of Object.entries(Z.contextKeyValues))this._contextKeyService.createKey(_,A);this._notificationService=H,this._codeEditorService=$,this._commandService=q,this._themeService=U,this._register(new P90(this,this._contextKeyService)),this._register(new D90(this,this._contextKeyService,j)),this._instantiationService=this._register(Q.createChild(new i9([E0,this._contextKeyService]))),this._modelData=null,this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let B;if(Array.isArray(Z.contributions))B=Z.contributions;else B=V2.getEditorContributions();this._contributions.initialize(this,B,this._instantiationService);for(let _ of V2.getEditorActions()){if(this._actions.has(_.id)){b0(Error(`Cannot have two actions with the same id ${_.id}`));continue}let A=new zB(_.id,_.label,_.alias,_.metadata,_.precondition??void 0,(O)=>{return this._instantiationService.invokeFunction((D)=>{return Promise.resolve(_.runEditorCommand(D,this,O))})},this._contextKeyService);this._actions.set(A.id,A)}let P=()=>{return!this._configuration.options.get(104)&&this._configuration.options.get(43).enabled};this._register(new nx(this._domElement,{onDragOver:(_)=>{if(!P())return;let A=this.getTargetAtClientPoint(_.clientX,_.clientY);if(A?.position)this.showDropIndicatorAt(A.position)},onDrop:async(_)=>{if(!P())return;if(this.removeDropIndicator(),!_.dataTransfer)return;let A=this.getTargetAtClientPoint(_.clientX,_.clientY);if(A?.position)this._onDropIntoEditor.fire({position:A.position,event:_})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(X){this._modelData?.view.writeScreenReaderContent(X)}_createConfiguration(X,Y,Z,Q){return new QR(X,Y,Z,this._domElement,Q)}getId(){return this.getEditorType()+\":\"+this._id}getEditorType(){return P2.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(X){return this._instantiationService.invokeFunction(X)}updateOptions(X){this._configuration.updateOptions(X||{})}getOptions(){return this._configuration.options}getOption(X){return this._configuration.options.get(X)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(X){if(!this._modelData)return null;return J6.getWordAtPosition(this._modelData.model,this._configuration.options.get(148),this._configuration.options.get(147),X)}getValue(X=null){if(!this._modelData)return\"\";let Y=X&&X.preserveBOM?!0:!1,Z=0;if(X&&X.lineEnding&&X.lineEnding===`\n`)Z=1;else if(X&&X.lineEnding&&X.lineEnding===`\\r\n`)Z=2;return this._modelData.model.getValue(Z,Y)}setValue(X){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(X)}finally{this._endUpdate()}}getModel(){if(!this._modelData)return null;return this._modelData.model}setModel(X=null){try{this._beginUpdate();let Y=X;if(this._modelData===null&&Y===null)return;if(this._modelData&&this._modelData.model===Y)return;let Z={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:Y?.uri||null};this._onWillChangeModel.fire(Z);let Q=this.hasTextFocus(),$=this._detachModel();if(this._attachModel(Y),this.hasModel()){if(Q)this.focus()}else this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1);this._removeDecorationTypes(),this._onDidChangeModel.fire(Z),this._postDetachModelCleanup($),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let X in this._decorationTypeSubtypes){let Y=this._decorationTypeSubtypes[X];for(let Z in Y)this._removeDecorationType(X+\"-\"+Z)}this._decorationTypeSubtypes={}}}getVisibleRanges(){if(!this._modelData)return[];return this._modelData.viewModel.getVisibleRanges()}getVisibleRangesPlusViewportAboveBelow(){if(!this._modelData)return[];return this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow()}getWhitespaces(){if(!this._modelData)return[];return this._modelData.viewModel.viewLayout.getWhitespaces()}static _getVerticalOffsetAfterPosition(X,Y,Z,Q){let $=X.model.validatePosition({lineNumber:Y,column:Z}),q=X.viewModel.coordinatesConverter.convertModelPositionToViewPosition($);return X.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(q.lineNumber,Q)}getTopForLineNumber(X,Y=!1){if(!this._modelData)return-1;return vG._getVerticalOffsetForPosition(this._modelData,X,1,Y)}getTopForPosition(X,Y){if(!this._modelData)return-1;return vG._getVerticalOffsetForPosition(this._modelData,X,Y,!1)}static _getVerticalOffsetForPosition(X,Y,Z,Q=!1){let $=X.model.validatePosition({lineNumber:Y,column:Z}),q=X.viewModel.coordinatesConverter.convertModelPositionToViewPosition($);return X.viewModel.viewLayout.getVerticalOffsetForLineNumber(q.lineNumber,Q)}getBottomForLineNumber(X,Y=!1){if(!this._modelData)return-1;return vG._getVerticalOffsetAfterPosition(this._modelData,X,Number.MAX_SAFE_INTEGER,Y)}getLineHeightForPosition(X){if(!this._modelData)return-1;let Y=this._modelData.viewModel,Z=Y.coordinatesConverter,Q=C.lift(X);if(Z.modelPositionIsVisible(Q)){let $=Z.convertModelPositionToViewPosition(Q);return Y.viewLayout.getLineHeightForLineNumber($.lineNumber)}return 0}setHiddenAreas(X,Y,Z){this._modelData?.viewModel.setHiddenAreas(X.map((Q)=>T.lift(Q)),Y,Z)}getVisibleColumnFromPosition(X){if(!this._modelData)return X.column;let Y=this._modelData.model.validatePosition(X),Z=this._modelData.model.getOptions().tabSize;return V1.visibleColumnFromColumn(this._modelData.model.getLineContent(Y.lineNumber),Y.column,Z)+1}getPosition(){if(!this._modelData)return null;return this._modelData.viewModel.getPosition()}setPosition(X,Y=\"api\"){if(!this._modelData)return;if(!C.isIPosition(X))throw Error(\"Invalid arguments\");this._modelData.viewModel.setSelections(Y,[{selectionStartLineNumber:X.lineNumber,selectionStartColumn:X.column,positionLineNumber:X.lineNumber,positionColumn:X.column}])}_sendRevealRange(X,Y,Z,Q){if(!this._modelData)return;if(!T.isIRange(X))throw Error(\"Invalid arguments\");let $=this._modelData.model.validateRange(X),q=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange($);this._modelData.viewModel.revealRange(\"api\",Z,q,Y,Q)}revealAllCursors(X,Y){if(!this._modelData)return;this._modelData.viewModel.revealAllCursors(\"api\",X,Y)}revealLine(X,Y=0){this._revealLine(X,0,Y)}revealLineInCenter(X,Y=0){this._revealLine(X,1,Y)}revealLineInCenterIfOutsideViewport(X,Y=0){this._revealLine(X,2,Y)}revealLineNearTop(X,Y=0){this._revealLine(X,5,Y)}_revealLine(X,Y,Z){if(typeof X!==\"number\")throw Error(\"Invalid arguments\");this._sendRevealRange(new T(X,1,X,1),Y,!1,Z)}revealPosition(X,Y=0){this._revealPosition(X,0,!0,Y)}revealPositionInCenter(X,Y=0){this._revealPosition(X,1,!0,Y)}revealPositionInCenterIfOutsideViewport(X,Y=0){this._revealPosition(X,2,!0,Y)}revealPositionNearTop(X,Y=0){this._revealPosition(X,5,!0,Y)}_revealPosition(X,Y,Z,Q){if(!C.isIPosition(X))throw Error(\"Invalid arguments\");this._sendRevealRange(new T(X.lineNumber,X.column,X.lineNumber,X.column),Y,Z,Q)}getSelection(){if(!this._modelData)return null;return this._modelData.viewModel.getSelection()}getSelections(){if(!this._modelData)return null;return this._modelData.viewModel.getSelections()}setSelection(X,Y=\"api\"){let Z=Y0.isISelection(X),Q=T.isIRange(X);if(!Z&&!Q)throw Error(\"Invalid arguments\");if(Z)this._setSelectionImpl(X,Y);else if(Q){let $={selectionStartLineNumber:X.startLineNumber,selectionStartColumn:X.startColumn,positionLineNumber:X.endLineNumber,positionColumn:X.endColumn};this._setSelectionImpl($,Y)}}_setSelectionImpl(X,Y){if(!this._modelData)return;let Z=new Y0(X.selectionStartLineNumber,X.selectionStartColumn,X.positionLineNumber,X.positionColumn);this._modelData.viewModel.setSelections(Y,[Z])}revealLines(X,Y,Z=0){this._revealLines(X,Y,0,Z)}revealLinesInCenter(X,Y,Z=0){this._revealLines(X,Y,1,Z)}revealLinesInCenterIfOutsideViewport(X,Y,Z=0){this._revealLines(X,Y,2,Z)}revealLinesNearTop(X,Y,Z=0){this._revealLines(X,Y,5,Z)}_revealLines(X,Y,Z,Q){if(typeof X!==\"number\"||typeof Y!==\"number\")throw Error(\"Invalid arguments\");this._sendRevealRange(new T(X,1,Y,1),Z,!1,Q)}revealRange(X,Y=0,Z=!1,Q=!0){this._revealRange(X,Z?1:0,Q,Y)}revealRangeInCenter(X,Y=0){this._revealRange(X,1,!0,Y)}revealRangeInCenterIfOutsideViewport(X,Y=0){this._revealRange(X,2,!0,Y)}revealRangeNearTop(X,Y=0){this._revealRange(X,5,!0,Y)}revealRangeNearTopIfOutsideViewport(X,Y=0){this._revealRange(X,6,!0,Y)}revealRangeAtTop(X,Y=0){this._revealRange(X,3,!0,Y)}_revealRange(X,Y,Z,Q){if(!T.isIRange(X))throw Error(\"Invalid arguments\");this._sendRevealRange(T.lift(X),Y,Z,Q)}setSelections(X,Y=\"api\",Z=0){if(!this._modelData)return;if(!X||X.length===0)throw Error(\"Invalid arguments\");for(let Q=0,$=X.length;Q<$;Q++)if(!Y0.isISelection(X[Q]))throw Error(\"Invalid arguments\");this._modelData.viewModel.setSelections(Y,X,Z)}getContentWidth(){if(!this._modelData)return-1;return this._modelData.viewModel.viewLayout.getContentWidth()}getScrollWidth(){if(!this._modelData)return-1;return this._modelData.viewModel.viewLayout.getScrollWidth()}getScrollLeft(){if(!this._modelData)return-1;return this._modelData.viewModel.viewLayout.getCurrentScrollLeft()}getContentHeight(){if(!this._modelData)return-1;return this._modelData.viewModel.viewLayout.getContentHeight()}getScrollHeight(){if(!this._modelData)return-1;return this._modelData.viewModel.viewLayout.getScrollHeight()}getScrollTop(){if(!this._modelData)return-1;return this._modelData.viewModel.viewLayout.getCurrentScrollTop()}setScrollLeft(X,Y=1){if(!this._modelData)return;if(typeof X!==\"number\")throw Error(\"Invalid arguments\");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:X},Y)}setScrollTop(X,Y=1){if(!this._modelData)return;if(typeof X!==\"number\")throw Error(\"Invalid arguments\");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:X},Y)}setScrollPosition(X,Y=1){if(!this._modelData)return;this._modelData.viewModel.viewLayout.setScrollPosition(X,Y)}hasPendingScrollAnimation(){if(!this._modelData)return!1;return this._modelData.viewModel.viewLayout.hasPendingScrollAnimation()}saveViewState(){if(!this._modelData)return null;let X=this._contributions.saveViewState(),Y=this._modelData.viewModel.saveCursorState(),Z=this._modelData.viewModel.saveState();return{cursorState:Y,viewState:Z,contributionsState:X}}restoreViewState(X){if(!this._modelData||!this._modelData.hasRealView)return;let Y=X;if(Y&&Y.cursorState&&Y.viewState){let Z=Y.cursorState;if(Array.isArray(Z)){if(Z.length>0)this._modelData.viewModel.restoreCursorState(Z)}else this._modelData.viewModel.restoreCursorState([Z]);this._contributions.restoreViewState(Y.contributionsState||{});let Q=this._modelData.viewModel.reduceRestoreState(Y.viewState);this._modelData.view.restoreState(Q)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(X){return this._contributions.get(X)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let X=this.getActions();return X=X.filter((Y)=>Y.isSupported()),X}getAction(X){return this._actions.get(X)||null}trigger(X,Y,Z){Z=Z||{};try{switch(this._onWillTriggerEditorOperationEvent.fire({source:X,handlerId:Y,payload:Z}),this._beginUpdate(),Y){case\"compositionStart\":this._startComposition();return;case\"compositionEnd\":this._endComposition(X);return;case\"type\":{let $=Z;this._type(X,$.text||\"\");return}case\"replacePreviousChar\":{let $=Z;this._compositionType(X,$.text||\"\",$.replaceCharCnt||0,0,0);return}case\"compositionType\":{let $=Z;this._compositionType(X,$.text||\"\",$.replacePrevCharCnt||0,$.replaceNextCharCnt||0,$.positionDelta||0);return}case\"paste\":{let $=Z;this._paste(X,$.text||\"\",$.pasteOnNewLine||!1,$.multicursorText||null,$.mode||null,$.clipboardEvent);return}case\"cut\":this._cut(X);return}let Q=this.getAction(Y);if(Q){Promise.resolve(Q.run(Z)).then(void 0,b0);return}if(!this._modelData)return;if(this._triggerEditorCommand(X,Y,Z))return;this._triggerCommand(Y,Z)}finally{this._endUpdate()}}_triggerCommand(X,Y){this._commandService.executeCommand(X,Y)}_startComposition(){if(!this._modelData)return;this.inComposition=!0,this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire()}_endComposition(X){if(!this._modelData)return;this.inComposition=!1,this._modelData.viewModel.endComposition(X),this._onDidCompositionEnd.fire()}_type(X,Y){if(!this._modelData||Y.length===0)return;if(X===\"keyboard\")this._onWillType.fire(Y);if(this._modelData.viewModel.type(Y,X),X===\"keyboard\")this._onDidType.fire(Y)}_compositionType(X,Y,Z,Q,$){if(!this._modelData)return;this._modelData.viewModel.compositionType(Y,Z,Q,$,X)}_paste(X,Y,Z,Q,$,q){if(!this._modelData)return;let G=this._modelData.viewModel,U=G.getSelection().getStartPosition();G.paste(Y,Z,Q,X);let H=G.getSelection().getStartPosition();if(X===\"keyboard\")this._onDidPaste.fire({clipboardEvent:q,range:new T(U.lineNumber,U.column,H.lineNumber,H.column),languageId:$})}_cut(X){if(!this._modelData)return;this._modelData.viewModel.cut(X)}_triggerEditorCommand(X,Y,Z){let Q=V2.getEditorCommand(Y);if(Q){if(Z=Z||{},E6(Z))Z.source=X;return this._instantiationService.invokeFunction(($)=>{Promise.resolve(Q.runEditorCommand($,this,Z)).then(void 0,b0)}),!0}return!1}_getViewModel(){if(!this._modelData)return null;return this._modelData.viewModel}pushUndoStop(){if(!this._modelData)return!1;if(this._configuration.options.get(104))return!1;return this._modelData.model.pushStackElement(),!0}popUndoStop(){if(!this._modelData)return!1;if(this._configuration.options.get(104))return!1;return this._modelData.model.popStackElement(),!0}edit(X,Y){return this.executeEdits(Y,X.replacements.map((Z)=>({range:Z.range,text:Z.text})),void 0)}executeEdits(X,Y,Z){if(!this._modelData)return!1;if(this._configuration.options.get(104))return!1;let Q;if(!Z)Q=()=>null;else if(Array.isArray(Z))Q=()=>Z;else Q=Z;let $,q;if(X instanceof wN)q=X,$=X.metadata.source;else q=W7.unknown({name:X}),$=X;return this._onBeforeExecuteEdit.fire({source:$??void 0}),this._modelData.viewModel.executeEdits($,Y,Q,q),!0}executeCommand(X,Y){if(!this._modelData)return;this._modelData.viewModel.executeCommand(Y,X)}executeCommands(X,Y){if(!this._modelData)return;this._modelData.viewModel.executeCommands(Y,X)}createDecorationsCollection(X){return new O90(this,X)}changeDecorations(X){if(!this._modelData)return null;return this._modelData.model.changeDecorations(X,this._id)}getLineDecorations(X){if(!this._modelData)return null;let Y=this._configuration.options;return this._modelData.model.getLineDecorations(X,this._id,zq(Y),Fq(Y))}getDecorationsInRange(X){if(!this._modelData)return null;let Y=this._configuration.options;return this._modelData.model.getDecorationsInRange(X,this._id,zq(Y),Fq(Y))}getFontSizeAtPosition(X){if(!this._modelData)return null;return this._modelData.viewModel.getFontSizeAtPosition(X)}deltaDecorations(X,Y){if(!this._modelData)return[];if(X.length===0&&Y.length===0)return X;return this._modelData.model.deltaDecorations(X,Y,this._id)}removeDecorations(X){if(!this._modelData||X.length===0)return;this._modelData.model.changeDecorations((Y)=>{Y.deltaDecorations(X,[])})}removeDecorationsByType(X){let Y=this._decorationTypeKeysToIds[X];if(Y)this.changeDecorations((Z)=>Z.deltaDecorations(Y,[]));if(this._decorationTypeKeysToIds.hasOwnProperty(X))delete this._decorationTypeKeysToIds[X];if(this._decorationTypeSubtypes.hasOwnProperty(X)){let Z=this._decorationTypeSubtypes[X];for(let Q of Object.keys(Z))this._removeDecorationType(X+\"-\"+Q);delete this._decorationTypeSubtypes[X]}}getLayoutInfo(){return this._configuration.options.get(165)}createOverviewRuler(X){if(!this._modelData||!this._modelData.hasRealView)return null;return this._modelData.view.createOverviewRuler(X)}getContainerDomNode(){return this._domElement}getDomNode(){if(!this._modelData||!this._modelData.hasRealView)return null;return this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(X){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.view.delegateVerticalScrollbarPointerDown(X)}delegateScrollFromMouseWheelEvent(X){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.view.delegateScrollFromMouseWheelEvent(X)}layout(X,Y=!1){if(this._configuration.observeContainer(X),!Y)this.render()}focus(){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.view.focus()}hasTextFocus(){if(!this._modelData||!this._modelData.hasRealView)return!1;return this._modelData.view.isFocused()}hasWidgetFocus(){if(!this._modelData||!this._modelData.hasRealView)return!1;return this._modelData.view.isWidgetFocused()}addContentWidget(X){let Y={widget:X,position:X.getPosition()};if(this._contentWidgets.hasOwnProperty(X.getId()))console.warn(\"Overwriting a content widget with the same id:\"+X.getId());if(this._contentWidgets[X.getId()]=Y,this._modelData&&this._modelData.hasRealView)this._modelData.view.addContentWidget(Y)}layoutContentWidget(X){let Y=X.getId();if(this._contentWidgets.hasOwnProperty(Y)){let Z=this._contentWidgets[Y];if(Z.position=X.getPosition(),this._modelData&&this._modelData.hasRealView)this._modelData.view.layoutContentWidget(Z)}}removeContentWidget(X){let Y=X.getId();if(this._contentWidgets.hasOwnProperty(Y)){let Z=this._contentWidgets[Y];if(delete this._contentWidgets[Y],this._modelData&&this._modelData.hasRealView)this._modelData.view.removeContentWidget(Z)}}addOverlayWidget(X){let Y={widget:X,position:X.getPosition()};if(this._overlayWidgets.hasOwnProperty(X.getId()))console.warn(\"Overwriting an overlay widget with the same id.\");if(this._overlayWidgets[X.getId()]=Y,this._modelData&&this._modelData.hasRealView)this._modelData.view.addOverlayWidget(Y)}layoutOverlayWidget(X){let Y=X.getId();if(this._overlayWidgets.hasOwnProperty(Y)){let Z=this._overlayWidgets[Y];if(Z.position=X.getPosition(),this._modelData&&this._modelData.hasRealView)this._modelData.view.layoutOverlayWidget(Z)}}removeOverlayWidget(X){let Y=X.getId();if(this._overlayWidgets.hasOwnProperty(Y)){let Z=this._overlayWidgets[Y];if(delete this._overlayWidgets[Y],this._modelData&&this._modelData.hasRealView)this._modelData.view.removeOverlayWidget(Z)}}addGlyphMarginWidget(X){let Y={widget:X,position:X.getPosition()};if(this._glyphMarginWidgets.hasOwnProperty(X.getId()))console.warn(\"Overwriting a glyph margin widget with the same id.\");if(this._glyphMarginWidgets[X.getId()]=Y,this._modelData&&this._modelData.hasRealView)this._modelData.view.addGlyphMarginWidget(Y)}layoutGlyphMarginWidget(X){let Y=X.getId();if(this._glyphMarginWidgets.hasOwnProperty(Y)){let Z=this._glyphMarginWidgets[Y];if(Z.position=X.getPosition(),this._modelData&&this._modelData.hasRealView)this._modelData.view.layoutGlyphMarginWidget(Z)}}removeGlyphMarginWidget(X){let Y=X.getId();if(this._glyphMarginWidgets.hasOwnProperty(Y)){let Z=this._glyphMarginWidgets[Y];if(delete this._glyphMarginWidgets[Y],this._modelData&&this._modelData.hasRealView)this._modelData.view.removeGlyphMarginWidget(Z)}}changeViewZones(X){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.view.change(X)}getTargetAtClientPoint(X,Y){if(!this._modelData||!this._modelData.hasRealView)return null;return this._modelData.view.getTargetAtClientPoint(X,Y)}getScrolledVisiblePosition(X){if(!this._modelData||!this._modelData.hasRealView)return null;let Y=this._modelData.model.validatePosition(X),Q=this._configuration.options.get(165),$=vG._getVerticalOffsetForPosition(this._modelData,Y.lineNumber,Y.column)-this.getScrollTop(),q=this._modelData.view.getOffsetForColumn(Y.lineNumber,Y.column)+Q.glyphMarginWidth+Q.lineNumbersWidth+Q.decorationsWidth-this.getScrollLeft(),G=this.getLineHeightForPosition(Y);return{top:$,left:q,height:G}}getOffsetForColumn(X,Y){if(!this._modelData||!this._modelData.hasRealView)return-1;return this._modelData.view.getOffsetForColumn(X,Y)}getWidthOfLine(X){if(!this._modelData||!this._modelData.hasRealView)return-1;return this._modelData.view.getLineWidth(X)}resetLineWidthCaches(){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.view.resetLineWidthCaches()}render(X=!1){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,X)})}renderAsync(X=!1){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!1,X)})}setAriaOptions(X){if(!this._modelData||!this._modelData.hasRealView)return;this._modelData.view.setAriaOptions(X)}applyFontInfo(X){B6(X,this._configuration.options.get(59))}setBanner(X,Y){if(this._bannerDomNode&&this._domElement.contains(this._bannerDomNode))this._bannerDomNode.remove();if(this._bannerDomNode=X,this._configuration.setReservedHeight(X?Y:0),this._bannerDomNode)this._domElement.prepend(this._bannerDomNode)}_attachModel(X){if(!X){this._modelData=null;return}let Y=[];this._domElement.setAttribute(\"data-mode-id\",X.getLanguageId()),this._configuration.setIsDominatedByLongLines(X.isDominatedByLongLines()),this._configuration.setModelLineCount(X.getLineCount());let Z=X.onBeforeAttached(),Q=new Cv(this._id,this._configuration,X,DN.create(Q0(this._domElement)),nN.create(this._configuration.options),(G)=>E8(Q0(this._domElement),G),this.languageConfigurationService,this._themeService,Z,{batchChanges:(G)=>{try{return this._beginUpdate(),G()}finally{this._endUpdate()}}});Y.push(X.onWillDispose(()=>this.setModel(null))),Y.push(Q.onEvent((G)=>{switch(G.kind){case 0:this._onDidContentSizeChange.fire(G);break;case 1:this._editorTextFocus.setValue(G.hasFocus);break;case 2:this._editorWidgetFocus.setValue(G.hasFocus);break;case 3:this._onDidScrollChange.fire(G);break;case 4:this._onDidChangeViewZones.fire();break;case 5:this._onDidChangeHiddenAreas.fire();break;case 6:this._onDidAttemptReadOnlyEdit.fire();break;case 7:{if(G.reachedMaxCursorCount){let K=this.getOption(89),j=F(99,\"The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.\",K);this._notificationService.prompt(HK.Warning,j,[{label:\"Find and Replace\",run:()=>{this._commandService.executeCommand(\"editor.action.startFindReplaceAction\")}},{label:F(100,\"Increase Multi Cursor Limit\"),run:()=>{this._commandService.executeCommand(\"workbench.action.openSettings2\",{query:\"editor.multiCursorLimit\"})}}])}let U=[];for(let K=0,j=G.selections.length;K<j;K++)U[K]=G.selections[K].getPosition();let H={position:U[0],secondaryPositions:U.slice(1),reason:G.reason,source:G.source};this._onDidChangeCursorPosition.fire(H);let V={selection:G.selections[0],secondarySelections:G.selections.slice(1),modelVersionId:G.modelVersionId,oldSelections:G.oldSelections,oldModelVersionId:G.oldModelVersionId,source:G.source,reason:G.reason};this._onDidChangeCursorSelection.fire(V);break}case 8:this._onDidChangeModelDecorations.fire(G.event);break;case 9:this._domElement.setAttribute(\"data-mode-id\",X.getLanguageId()),this._onDidChangeModelLanguage.fire(G.event);break;case 10:this._onDidChangeModelLanguageConfiguration.fire(G.event);break;case 11:this._onDidChangeModelContent.fire(G.event);break;case 12:this._onDidChangeModelOptions.fire(G.event);break;case 13:this._onDidChangeModelTokens.fire(G.event);break;case 14:this._onDidChangeLineHeight.fire(G.event);break;case 15:this._onDidChangeFont.fire(G.event);break}}));let[$,q]=this._createView(Q);if(q){this._domElement.appendChild($.domNode.domNode);let G=Object.keys(this._contentWidgets);for(let U=0,H=G.length;U<H;U++){let V=G[U];$.addContentWidget(this._contentWidgets[V])}G=Object.keys(this._overlayWidgets);for(let U=0,H=G.length;U<H;U++){let V=G[U];$.addOverlayWidget(this._overlayWidgets[V])}G=Object.keys(this._glyphMarginWidgets);for(let U=0,H=G.length;U<H;U++){let V=G[U];$.addGlyphMarginWidget(this._glyphMarginWidgets[V])}$.render(!1,!0),$.domNode.domNode.setAttribute(\"data-uri\",X.uri.toString()),Y.push($.onWillCopy((U)=>this._onWillCopy.fire(U))),Y.push($.onWillCut((U)=>this._onWillCut.fire(U))),Y.push($.onWillPaste((U)=>this._onWillPaste.fire(U)))}this._modelData=new A90(X,Q,$,q,Y,Z)}_createView(X){let Y;if(this.isSimpleWidget)Y={paste:($,q,G,U)=>{this._paste(\"keyboard\",$,q,G,U)},type:($)=>{this._type(\"keyboard\",$)},compositionType:($,q,G,U)=>{this._compositionType(\"keyboard\",$,q,G,U)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(\"keyboard\")},cut:()=>{this._cut(\"keyboard\")}};else Y={paste:($,q,G,U)=>{let H={text:$,pasteOnNewLine:q,multicursorText:G,mode:U};this._commandService.executeCommand(\"paste\",H)},type:($)=>{let q={text:$};this._commandService.executeCommand(\"type\",q)},compositionType:($,q,G,U)=>{if(G||U){let H={text:$,replacePrevCharCnt:q,replaceNextCharCnt:G,positionDelta:U};this._commandService.executeCommand(\"compositionType\",H)}else{let H={text:$,replaceCharCnt:q};this._commandService.executeCommand(\"replacePreviousChar\",H)}},startComposition:()=>{this._commandService.executeCommand(\"compositionStart\",{})},endComposition:()=>{this._commandService.executeCommand(\"compositionEnd\",{})},cut:()=>{this._commandService.executeCommand(\"cut\",{})}};let Z=new nV(X.coordinatesConverter);return Z.onKeyDown=($)=>this._onKeyDown.fire($),Z.onKeyUp=($)=>this._onKeyUp.fire($),Z.onContextMenu=($)=>this._onContextMenu.fire($),Z.onMouseMove=($)=>this._onMouseMove.fire($),Z.onMouseLeave=($)=>this._onMouseLeave.fire($),Z.onMouseDown=($)=>this._onMouseDown.fire($),Z.onMouseUp=($)=>this._onMouseUp.fire($),Z.onMouseDrag=($)=>this._onMouseDrag.fire($),Z.onMouseDrop=($)=>this._onMouseDrop.fire($),Z.onMouseDropCanceled=($)=>this._onMouseDropCanceled.fire($),Z.onMouseWheel=($)=>this._onMouseWheel.fire($),[new AN(this._domElement,this.getId(),Y,this._configuration,this._themeService.getColorTheme(),X,Z,this._overflowWidgetsDomNode,this._instantiationService,this._userInteractionService),!0]}_postDetachModelCleanup(X){X?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let X=this._modelData.model,Y=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;if(this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(\"data-mode-id\"),Y&&this._domElement.contains(Y))Y.remove();if(this._bannerDomNode&&this._domElement.contains(this._bannerDomNode))this._bannerDomNode.remove();return X}_removeDecorationType(X){this._codeEditorService.removeDecorationType(X)}hasModel(){return this._modelData!==null}showDropIndicatorAt(X){let Y=[{range:new T(X.lineNumber,X.column,X.lineNumber,X.column),options:vG.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(Y),this.revealPosition(X,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)this._onBeginUpdate.fire()}_endUpdate(){if(this._updateCounter--,this._updateCounter===0)this._onEndUpdate.fire()}};wK=vG=aB0([oY(3,w0),oY(4,l1),oY(5,h8),oY(6,E0),oY(7,L6),oY(8,d6),oY(9,c6),oY(10,u6),oY(11,$1),oY(12,CX)],wK);var iB0=0;class A90{constructor(J,X,Y,Z,Q,$){this.model=J,this.viewModel=X,this.view=Y,this.hasRealView=Z,this.listenersToRemove=Q,this.attachedView=$}dispose(){if(D1(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView)this.view.dispose();this.viewModel.dispose()}}class fv extends y{constructor(J){super();this._emitterOptions=J,this._onDidChangeToTrue=this._register(new E(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new E(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(J){let X=J?2:1;if(this._value===X)return;if(this._value=X,this._value===2)this._onDidChangeToTrue.fire();else if(this._value===1)this._onDidChangeToFalse.fire()}}class X5 extends E{constructor(J,X){super({deliveryQueue:X});this._contributions=J}fire(J){this._contributions.onBeforeInteractionEvent(),super.fire(J)}}class P90 extends y{constructor(J,X){super();this._editor=J,X.createKey(\"editorId\",J.getId()),this._editorSimpleInput=g.editorSimpleInput.bindTo(X),this._editorFocus=g.focus.bindTo(X),this._textInputFocus=g.textInputFocus.bindTo(X),this._editorTextFocus=g.editorTextFocus.bindTo(X),this._tabMovesFocus=g.tabMovesFocus.bindTo(X),this._editorReadonly=g.readOnly.bindTo(X),this._inDiffEditor=g.inDiffEditor.bindTo(X),this._editorColumnSelection=g.columnSelection.bindTo(X),this._hasMultipleSelections=g.hasMultipleSelections.bindTo(X),this._hasNonEmptySelection=g.hasNonEmptySelection.bindTo(X),this._canUndo=g.canUndo.bindTo(X),this._canRedo=g.canRedo.bindTo(X),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(LV.onDidChangeTabFocus((Y)=>this._tabMovesFocus.set(Y))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let J=this._editor.getOptions();this._tabMovesFocus.set(J.get(164)||LV.getTabFocusMode()),this._editorReadonly.set(J.get(104)),this._inDiffEditor.set(J.get(70)),this._editorColumnSelection.set(J.get(28))}_updateFromSelection(){let J=this._editor.getSelections();if(!J)this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset();else this._hasMultipleSelections.set(J.length>1),this._hasNonEmptySelection.set(J.some((X)=>!X.isEmpty()))}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let J=this._editor.getModel();this._canUndo.set(Boolean(J&&J.canUndo())),this._canRedo.set(Boolean(J&&J.canRedo()))}}class D90 extends y{constructor(J,X,Y){super();this._editor=J,this._contextKeyService=X,this._languageFeaturesService=Y,this._langId=g.languageId.bindTo(X),this._hasCompletionItemProvider=g.hasCompletionItemProvider.bindTo(X),this._hasCodeActionsProvider=g.hasCodeActionsProvider.bindTo(X),this._hasCodeLensProvider=g.hasCodeLensProvider.bindTo(X),this._hasDefinitionProvider=g.hasDefinitionProvider.bindTo(X),this._hasDeclarationProvider=g.hasDeclarationProvider.bindTo(X),this._hasImplementationProvider=g.hasImplementationProvider.bindTo(X),this._hasTypeDefinitionProvider=g.hasTypeDefinitionProvider.bindTo(X),this._hasHoverProvider=g.hasHoverProvider.bindTo(X),this._hasDocumentHighlightProvider=g.hasDocumentHighlightProvider.bindTo(X),this._hasDocumentSymbolProvider=g.hasDocumentSymbolProvider.bindTo(X),this._hasReferenceProvider=g.hasReferenceProvider.bindTo(X),this._hasRenameProvider=g.hasRenameProvider.bindTo(X),this._hasSignatureHelpProvider=g.hasSignatureHelpProvider.bindTo(X),this._hasInlayHintsProvider=g.hasInlayHintsProvider.bindTo(X),this._hasDocumentFormattingProvider=g.hasDocumentFormattingProvider.bindTo(X),this._hasDocumentSelectionFormattingProvider=g.hasDocumentSelectionFormattingProvider.bindTo(X),this._hasMultipleDocumentFormattingProvider=g.hasMultipleDocumentFormattingProvider.bindTo(X),this._hasMultipleDocumentSelectionFormattingProvider=g.hasMultipleDocumentSelectionFormattingProvider.bindTo(X),this._isInEmbeddedEditor=g.isInEmbeddedEditor.bindTo(X);let Z=()=>this._update();this._register(J.onDidChangeModel(Z)),this._register(J.onDidChangeModelLanguage(Z)),this._register(Y.completionProvider.onDidChange(Z)),this._register(Y.codeActionProvider.onDidChange(Z)),this._register(Y.codeLensProvider.onDidChange(Z)),this._register(Y.definitionProvider.onDidChange(Z)),this._register(Y.declarationProvider.onDidChange(Z)),this._register(Y.implementationProvider.onDidChange(Z)),this._register(Y.typeDefinitionProvider.onDidChange(Z)),this._register(Y.hoverProvider.onDidChange(Z)),this._register(Y.documentHighlightProvider.onDidChange(Z)),this._register(Y.documentSymbolProvider.onDidChange(Z)),this._register(Y.referenceProvider.onDidChange(Z)),this._register(Y.renameProvider.onDidChange(Z)),this._register(Y.documentFormattingEditProvider.onDidChange(Z)),this._register(Y.documentRangeFormattingEditProvider.onDidChange(Z)),this._register(Y.signatureHelpProvider.onDidChange(Z)),this._register(Y.inlayHintsProvider.onDidChange(Z)),Z()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){let J=this._editor.getModel();if(!J){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(J.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(J)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(J)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(J)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(J)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(J)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(J)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(J)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(J)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(J)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(J)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(J)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(J)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(J)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(J)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(J)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(J)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(J)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(J).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(J).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(J).length>1),this._isInEmbeddedEditor.set(J.uri.scheme===T0.walkThroughSnippet||J.uri.scheme===T0.vscodeChatCodeBlock)})}}class O90{get length(){return this._decorationIds.length}constructor(J,X){if(this._editor=J,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(X)&&X.length>0)this.set(X)}onDidChange(J,X,Y){return this._editor.onDidChangeModelDecorations((Z)=>{if(this._isChangingDecorations)return;J.call(X,Z)},Y)}getRange(J){if(!this._editor.hasModel())return null;if(J>=this._decorationIds.length)return null;return this._editor.getModel().getDecorationRange(this._decorationIds[J])}getRanges(){if(!this._editor.hasModel())return[];let J=this._editor.getModel(),X=[];for(let Y of this._decorationIds){let Z=J.getDecorationRange(Y);if(Z)X.push(Z)}return X}has(J){return this._decorationIds.includes(J.id)}clear(){if(this._decorationIds.length===0)return;this.set([])}set(J){try{this._isChangingDecorations=!0,this._editor.changeDecorations((X)=>{this._decorationIds=X.deltaDecorations(this._decorationIds,J)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(J){let X=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations((Y)=>{X=Y.deltaDecorations([],J),this._decorationIds=this._decorationIds.concat(X)})}finally{this._isChangingDecorations=!1}return X}}var rB0=encodeURIComponent(\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='\"),oB0=encodeURIComponent(\"'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>\");function NK(J){return rB0+encodeURIComponent(J.toString())+oB0}var nB0=encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"3\" width=\"12\"><g fill=\"'),tB0=encodeURIComponent('\"><circle cx=\"1\" cy=\"1\" r=\"1\"/><circle cx=\"5\" cy=\"1\" r=\"1\"/><circle cx=\"9\" cy=\"1\" r=\"1\"/></g></svg>');function _90(J){return nB0+encodeURIComponent(J.toString())+tB0}x8((J,X)=>{let Y=J.getColor(wF);if(Y)X.addRule(`.monaco-editor .squiggly-error { background: url(\"data:image/svg+xml,${NK(Y)}\") repeat-x bottom left; }`),X.addRule(`:root { --monaco-editor-error-decoration: url(\"data:image/svg+xml,${NK(Y)}\"); }`);let Z=J.getColor(vJ);if(Z)X.addRule(`.monaco-editor .squiggly-warning { background: url(\"data:image/svg+xml,${NK(Z)}\") repeat-x bottom left; }`),X.addRule(`:root { --monaco-editor-warning-decoration: url(\"data:image/svg+xml,${NK(Z)}\"); }`);let Q=J.getColor(IX);if(Q)X.addRule(`.monaco-editor .squiggly-info { background: url(\"data:image/svg+xml,${NK(Q)}\") repeat-x bottom left; }`),X.addRule(`:root { --monaco-editor-info-decoration: url(\"data:image/svg+xml,${NK(Q)}\"); }`);let $=J.getColor(g10);if($)X.addRule(`.monaco-editor .squiggly-hint { background: url(\"data:image/svg+xml,${_90($)}\") no-repeat bottom left; }`),X.addRule(`:root { --monaco-editor-hint-decoration: url(\"data:image/svg+xml,${_90($)}\"); }`);let q=J.getColor(w50);if(q)X.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${q.rgba.a}; }`),X.addRule(`:root { --monaco-editor-unnecessary-decoration-opacity: ${q.rgba.a}; }`)});var eB0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},M90=function(J,X){return function(Y,Z){X(Y,Z,J)}},fX=W0(\"hoverService\"),n2=class extends y{get delay(){if(this.isInstantlyHovering())return 0;if(this.hoverOptions?.dynamicDelay)return(X)=>this.hoverOptions?.dynamicDelay?.(X)??this._delay;return this._delay}constructor(X,Y,Z={},Q,$){super();this.placement=X,this.hoverOptions=Y,this.overrideOptions=Z,this.configurationService=Q,this.hoverService=$,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new a),this._delay=this.configurationService.getValue(\"workbench.hover.delay\"),this._register(this.configurationService.onDidChangeConfiguration((q)=>{if(q.affectsConfiguration(\"workbench.hover.delay\"))this._delay=this.configurationService.getValue(\"workbench.hover.delay\")}))}showHover(X,Y){let Z=typeof this.overrideOptions===\"function\"?this.overrideOptions(X,Y):this.overrideOptions;this.hoverDisposables.clear();let Q=a0(X.target)?[X.target]:X.target.targetElements;for(let q of Q)this.hoverDisposables.add(F6(q,\"keydown\",(G)=>{if(G.equals(9))this.hoverService.hideHover()}));let $=a0(X.content)?void 0:typeof X.content===\"string\"?X.content.toString():X.content.value;return this.hoverService.showInstantHover({...X,...Z,persistence:{hideOnKeyDown:!0,...Z.persistence},id:$,appearance:{...X.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...Z.appearance}},Y)}isInstantlyHovering(){return!!this.hoverOptions?.instantHover&&Date.now()-this.lastHoverHideTime<this.timeLimit}onDidHideHover(){if(this.hoverDisposables.clear(),this.hoverOptions?.instantHover)this.lastHoverHideTime=Date.now()}};n2=eB0([M90(3,o0),M90(4,fX)],n2);var h4=W0(\"contextViewService\"),Y5=W0(\"contextMenuService\");var Gw=$0;class hv extends y{constructor(J){super();this.containerDomNode=document.createElement(\"div\"),this.containerDomNode.className=\"monaco-hover\",this.containerDomNode.classList.toggle(\"fade-in\",!!J),this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute(\"role\",\"tooltip\"),this.contentsDomNode=document.createElement(\"div\"),this.contentsDomNode.className=\"monaco-hover-content\",this.scrollbar=this._register(new DG(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class Uw extends y{static render(J,X,Y){return new Uw(J,X,Y)}constructor(J,X,Y){super();if(this.actionLabel=X.label,this.actionKeybindingLabel=Y,this.actionContainer=q0(J,Gw(\"div.action-container\")),this.actionContainer.setAttribute(\"tabindex\",\"0\"),this.action=q0(this.actionContainer,Gw(\"a.action\")),this.action.setAttribute(\"role\",\"button\"),X.iconClass)q0(this.action,Gw(\"span.icon\")).classList.add(...X.iconClass.split(\" \"));this.actionRenderedLabel=Y?`${X.label} (${Y})`:X.label;let Z=q0(this.action,Gw(\"span\"));Z.textContent=this.actionRenderedLabel,this._store.add(new N90(this.actionContainer,X.run)),this._store.add(new w90(this.actionContainer,X.run,[3,10])),this.setEnabled(!0)}setEnabled(J){if(J)this.actionContainer.classList.remove(\"disabled\"),this.actionContainer.removeAttribute(\"aria-disabled\");else this.actionContainer.classList.add(\"disabled\"),this.actionContainer.setAttribute(\"aria-disabled\",\"true\")}}function R90(J,X){return J&&X?F(7,\"Inspect this in the accessible view with {0}.\",X):J?F(8,\"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\"):\"\"}class N90 extends y{constructor(J,X){super();this._register(f(J,r.CLICK,(Y)=>{Y.stopPropagation(),Y.preventDefault(),X(J)}))}}class w90 extends y{constructor(J,X,Y){super();this._register(f(J,r.KEY_DOWN,(Z)=>{let Q=new Y1(Z);if(Y.some(($)=>Q.equals($)))Z.stopPropagation(),Z.preventDefault(),X(J)}))}}var vG1=new Uint32Array(10);var gG1=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),pG1=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),mG1=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),uG1=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);new k4(1e4);var J_0=new k4(1e4);function X_0(J){return Z_0(J,\"NFD\",J_0)}var Y_0=/[^\\u0000-\\u0080]/;function Z_0(J,X,Y){if(!J)return J;let Z=Y.get(J);if(Z)return Z;let Q;if(Y_0.test(J))Q=J.normalize(X);else Q=J;return Y.set(J,Q),Q}var Q_0=function(){let J=new k4(1e4),X=/[\\u0300-\\u036f]/g;return function(Y){let Z=J.get(Y);if(Z)return Z;let Q=X_0(Y).replace(X,\"\"),$=(Q.length===Y.length?Q:Y).toLowerCase();return J.set(Y,$),$}}();function I90(...J){return function(X,Y){for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z](X,Y);if($)return $}return null}}k90.bind(void 0,!1);var lB=k90.bind(void 0,!0);function k90(J,X,Y){if(!Y||Y.length<X.length)return null;let Z;if(J)Z=aH(Y,X);else Z=Y.indexOf(X)===0;if(!Z)return null;return X.length>0?[{start:0,end:X.length}]:[]}function $_0(J,X){if(J.length>X.length)return null;let Y=X.toLowerCase().indexOf(J.toLowerCase());if(Y===-1)return null;return[{start:Y,end:Y+J.length}]}function q_0(J,X){if(J.length>X.length)return null;return vv(J.toLowerCase(),X.toLowerCase(),0,0)}function vv(J,X,Y,Z){if(Y===J.length)return[];else if(Z===X.length)return null;else{if(J[Y]===X[Z]){let Q=null;if(Q=vv(J,X,Y+1,Z+1))return y90({start:Z,end:Z+1},Q);return null}return vv(J,X,Y,Z+1)}}function mv(J){return 97<=J&&J<=122}function jw(J){return 65<=J&&J<=90}function uv(J){return 48<=J&&J<=57}function G_0(J){return J===32||J===9||J===10||J===13}var U_0=new Set;\"()[]{}<>`'\\\"-/;:,.?!\".split(\"\").forEach((J)=>U_0.add(J.charCodeAt(0)));function E90(J){return mv(J)||jw(J)||uv(J)}function y90(J,X){if(X.length===0)X=[J];else if(J.end===X[0].start)X[0].start=J.start;else X.unshift(J);return X}function x90(J,X){for(let Y=X;Y<J.length;Y++){let Z=J.charCodeAt(Y);if(jw(Z)||uv(Z)||Y>0&&!E90(J.charCodeAt(Y-1)))return Y}return J.length}function gv(J,X,Y,Z){if(Y===J.length)return[];else if(Z===X.length)return null;else if(J[Y]!==X[Z].toLowerCase())return null;else{let Q=null,$=Z+1;Q=gv(J,X,Y+1,Z+1);while(!Q&&($=x90(X,$))<X.length)Q=gv(J,X,Y+1,$),$++;return Q===null?null:y90({start:Z,end:Z+1},Q)}}function H_0(J){let X=0,Y=0,Z=0,Q=0,$=0;for(let V=0;V<J.length;V++){if($=J.charCodeAt(V),jw($))X++;if(mv($))Y++;if(E90($))Z++;if(uv($))Q++}let q=X/J.length,G=Y/J.length,U=Z/J.length,H=Q/J.length;return{upperPercent:q,lowerPercent:G,alphaPercent:U,numericPercent:H}}function V_0(J){let{upperPercent:X,lowerPercent:Y}=J;return Y===0&&X>0.6}function K_0(J){let{upperPercent:X,lowerPercent:Y,alphaPercent:Z,numericPercent:Q}=J;return Y>0.2&&X<0.8&&Z>0.6&&Q<0.2}function j_0(J){let X=0,Y=0,Z=0,Q=0;for(let $=0;$<J.length;$++){if(Z=J.charCodeAt($),jw(Z))X++;if(mv(Z))Y++;if(G_0(Z))Q++}if((X===0||Y===0)&&Q===0)return J.length<=30;else return X<=5}function b90(J,X){if(!X)return null;if(X=X.trim(),X.length===0)return null;if(!j_0(J))return null;if(X.length>60)X=X.substring(0,60);let Y=H_0(X);if(!K_0(Y)){if(!V_0(Y))return null;X=X.toLowerCase()}let Z=null,Q=0;J=J.toLowerCase();while(Q<X.length&&(Z=gv(J,X,0,Q))===null)Q=x90(X,Q+1);return Z}var W_0=I90(lB,b90,$_0),z_0=I90(lB,b90,q_0),T90=new k4(1e4);function cv(J,X,Y=!1){if(typeof J!==\"string\"||typeof X!==\"string\")return null;let Z=T90.get(J);if(!Z)Z=new RegExp(ln(J),\"i\"),T90.set(J,Z);let Q=Z.exec(X);if(Q)return[{start:Q.index,end:Q.index+Q[0].length}];return Y?z_0(J,X):W_0(J,X)}function C90(J,X){let Y=lv(J,J.toLowerCase(),0,X,X.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return Y?F_0(Y):null}function F_0(J){if(typeof J>\"u\")return[];let X=[],Y=J[1];for(let Z=J.length-1;Z>1;Z--){let Q=J[Z]+Y,$=X[X.length-1];if($&&$.end===Q)$.end=Q+1;else X.push({start:Q,end:Q+1})}return X}var t2=128;function dv(){let J=[],X=[];for(let Y=0;Y<=t2;Y++)X[Y]=0;for(let Y=0;Y<=t2;Y++)J.push(X.slice(0));return J}function S90(J){let X=[];for(let Y=0;Y<=J;Y++)X[Y]=0;return X}var f90=S90(2*t2),pv=S90(2*t2),uQ=dv(),gG=dv(),Hw=dv();function Vw(J,X){if(X<0||X>=J.length)return!1;let Y=J.codePointAt(X);switch(Y){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:if(wz(Y))return!0;return!1}}function L90(J,X){if(X<0||X>=J.length)return!1;switch(J.charCodeAt(X)){case 32:case 9:return!0;default:return!1}}function Kw(J,X,Y){return X[J]!==Y[J]}function B_0(J,X,Y,Z,Q,$,q=!1){while(X<Y&&Q<$){if(J[X]===Z[Q]){if(q)f90[X]=Q;X+=1}Q+=1}return X===Y}var cQ;(function(J){J.Default=[-100,0];function X(Y){return!Y||Y.length===2&&Y[0]===-100&&Y[1]===0}J.isDefault=X})(cQ||(cQ={}));class h90{static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}constructor(J,X){this.firstMatchCanBeWeak=J,this.boostFullMatch=X}}function lv(J,X,Y,Z,Q,$,q=h90.default){let G=J.length>t2?t2:J.length,U=Z.length>t2?t2:Z.length;if(Y>=G||$>=U||G-Y>U-$)return;if(!B_0(X,Y,G,Q,$,U,!0))return;__0(G,U,Y,$,X,Q);let H=1,V=1,K=Y,j=$,W=[!1];for(H=1,K=Y;K<G;H++,K++){let A=f90[K],O=pv[K],D=K+1<G?pv[K+1]:U;for(V=A-$+1,j=A;j<D;V++,j++){let R=Number.MIN_SAFE_INTEGER,N=!1;if(j<=O)R=A_0(J,X,K,Y,Z,Q,j,U,$,uQ[H-1][V-1]===0,W);let w=0;if(R!==Number.MIN_SAFE_INTEGER)N=!0,w=R+gG[H-1][V-1];let k=j>A,I=k?gG[H][V-1]+(uQ[H][V-1]>0?-5:0):0,S=j>A+1&&uQ[H][V-1]>0,h=S?gG[H][V-2]+(uQ[H][V-2]>0?-5:0):0;if(S&&(!k||h>=I)&&(!N||h>=w))gG[H][V]=h,Hw[H][V]=3,uQ[H][V]=0;else if(k&&(!N||I>=w))gG[H][V]=I,Hw[H][V]=2,uQ[H][V]=0;else if(N)gG[H][V]=w,Hw[H][V]=1,uQ[H][V]=uQ[H-1][V-1]+1;else throw Error(\"not possible\")}}if(!W[0]&&!q.firstMatchCanBeWeak)return;H--,V--;let z=[gG[H][V],$],B=0,P=0;while(H>=1){let A=V;do{let O=Hw[H][A];if(O===3)A=A-2;else if(O===2)A=A-1;else break}while(A>=1);if(B>1&&X[Y+H-1]===Q[$+V-1]&&!Kw(A+$-1,Z,Q)&&B+1>uQ[H][A])A=V;if(A===V)B++;else B=1;if(!P)P=A;H--,V=A-1,z.push(V)}if(U-$===G&&q.boostFullMatch)z[0]+=2;let _=P-G;return z[0]-=_,z}function __0(J,X,Y,Z,Q,$){let q=J-1,G=X-1;while(q>=Y&&G>=Z){if(Q[q]===$[G])pv[q]=G,q--;G--}}function A_0(J,X,Y,Z,Q,$,q,G,U,H,V){if(X[Y]!==$[q])return Number.MIN_SAFE_INTEGER;let K=1,j=!1;if(q===Y-Z)K=J[Y]===Q[q]?7:5;else if(Kw(q,Q,$)&&(q===0||!Kw(q-1,Q,$)))K=J[Y]===Q[q]?7:5,j=!0;else if(Vw($,q)&&(q===0||!Vw($,q-1)))K=5;else if(Vw($,q-1)||L90($,q-1))K=5,j=!0;if(K>1&&Y===Z)V[0]=!0;if(!j)j=Kw(q,Q,$)||Vw($,q-1)||L90($,q-1);if(Y===Z){if(q>U)K-=j?3:5}else if(H)K+=j?2:0;else K+=j?0:1;if(q+1===G)K-=j?3:5;return K}var P_0=\"$(\",av=new RegExp(`\\\\$\\\\(${M0.iconNameExpression}(?:${M0.iconModifierExpression})?\\\\)`,\"g\"),D_0=new RegExp(`(\\\\\\\\)?${av.source}`,\"g\");function v90(J){return J.replace(D_0,(X,Y)=>Y?X:`\\\\${X}`)}var O_0=new RegExp(`\\\\\\\\${av.source}`,\"g\");function g90(J){return J.replace(O_0,(X)=>`\\\\${X}`)}var M_0=new RegExp(`(\\\\s)?(\\\\\\\\)?${av.source}(\\\\s)?`,\"g\");function TK(J){if(J.indexOf(P_0)===-1)return J;return J.replace(M_0,(X,Y,Z,Q)=>Z?X:Y||Q||\"\")}function LK(J){if(!J)return\"\";return J.replace(/\\$\\((.*?)\\)/g,(X,Y)=>` ${Y} `).trim()}var sv=new RegExp(`\\\\$\\\\(${M0.iconNameCharacter}+\\\\)`,\"g\");function dQ(J){sv.lastIndex=0;let X=\"\",Y=[],Z=0;while(!0){let Q=sv.lastIndex,$=sv.exec(J),q=J.substring(Q,$?.index);if(q.length>0){X+=q;for(let G=0;G<q.length;G++)Y.push(Z)}if(!$)break;Z+=$[0].length}return{text:X,iconOffsets:Y}}function pG(J,X,Y=!1){let{text:Z,iconOffsets:Q}=X;if(!Q||Q.length===0)return cv(J,Z,Y);let $=r$(Z,\" \"),q=Z.length-$.length,G=cv(J,$,Y);if(G)for(let U of G){let H=Q[U.start+q]+q;U.start+=H,U.end+=H}return G}class lQ{constructor(J=\"\",X=!1){if(this.value=J,typeof this.value!==\"string\")throw HX(\"value\");if(typeof X===\"boolean\")this.isTrusted=X,this.supportThemeIcons=!1,this.supportHtml=!1,this.supportAlertSyntax=!1;else this.isTrusted=X.isTrusted??void 0,this.supportThemeIcons=X.supportThemeIcons??!1,this.supportHtml=X.supportHtml??!1,this.supportAlertSyntax=X.supportAlertSyntax??!1}appendText(J,X=0){return this.value+=R_0(this.supportThemeIcons?v90(J):J).replace(/([ \\t]+)/g,(Y,Z)=>\"&nbsp;\".repeat(Z.length)).replace(/\\>/gm,\"\\\\>\").replace(/\\n/g,X===1?\"\\\\\\n\":`\n\n`),this}appendMarkdown(J){return this.value+=J,this}appendCodeblock(J,X){return this.value+=`\n${N_0(X,J)}\n`,this}appendLink(J,X,Y){if(this.value+=\"[\",this.value+=this._escape(X,\"]\"),this.value+=\"](\",this.value+=this._escape(String(J),\")\"),Y)this.value+=` \"${this._escape(this._escape(Y,'\"'),\")\")}\"`;return this.value+=\")\",this}_escape(J,X){let Y=new RegExp(a8(X),\"g\");return J.replace(Y,(Z,Q)=>{if(J.charAt(Q-1)!==\"\\\\\")return`\\\\${Z}`;else return Z})}}function W4(J){if(J instanceof lQ)return!0;else if(J&&typeof J===\"object\")return typeof J.value===\"string\"&&(typeof J.isTrusted===\"boolean\"||typeof J.isTrusted===\"object\"||J.isTrusted===void 0)&&(typeof J.supportThemeIcons===\"boolean\"||J.supportThemeIcons===void 0)&&(typeof J.supportAlertSyntax===\"boolean\"||J.supportAlertSyntax===void 0);return!1}function p90(J,X){if(J===X)return!0;else if(!J||!X)return!1;else return J.value===X.value&&J.isTrusted===X.isTrusted&&J.supportThemeIcons===X.supportThemeIcons&&J.supportHtml===X.supportHtml&&J.supportAlertSyntax===X.supportAlertSyntax&&(J.baseUri===X.baseUri||!!J.baseUri&&!!X.baseUri&&Ae(R0.from(J.baseUri),R0.from(X.baseUri)))}function R_0(J){return J.replace(/[\\\\`*_{}[\\]()#+!~]/g,\"\\\\$&\").replace(/^([ \\t]*)-/gm,\"$1\\\\-\")}function N_0(J,X){let Y=J.match(/^`+/gm)?.reduce((Q,$)=>Q.length>$.length?Q:$).length??0,Z=Y>=3?Y+1:3;return[`${\"`\".repeat(Z)}${X}`,J,`${\"`\".repeat(Z)}`].join(`\n`)}function IK(J){return J.replace(/\"/g,\"&quot;\")}function Ww(J){if(!J)return J;return J.replace(/\\\\([\\\\`*_{}[\\]()#+\\-.!~])/g,\"$1\")}function m90(J){let X=[],Y=J.split(\"|\").map((Q)=>Q.trim());J=Y[0];let Z=Y[1];if(Z){let Q=/height=(\\d+)/.exec(Z),$=/width=(\\d+)/.exec(Z),q=Q?Q[1]:\"\",G=$?$[1]:\"\",U=isFinite(parseInt(G)),H=isFinite(parseInt(q));if(U)X.push(`width=\"${G}\"`);if(H)X.push(`height=\"${q}\"`)}return{href:J,dimensions:X}}class zw{constructor(J){this._prefix=J,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}var iv=new zw(\"id#\");function ov(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var cG=ov();function a90(J){cG=J}var i90=/[&<>\"']/,w_0=new RegExp(i90.source,\"g\"),r90=/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,T_0=new RegExp(r90.source,\"g\"),L_0={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},u90=(J)=>L_0[J];function r9(J,X){if(X){if(i90.test(J))return J.replace(w_0,u90)}else if(r90.test(J))return J.replace(T_0,u90);return J}var I_0=/(^|[^\\[])\\^/g;function t6(J,X){let Y=typeof J===\"string\"?J:J.source;X=X||\"\";let Z={replace:(Q,$)=>{let q=typeof $===\"string\"?$:$.source;return q=q.replace(I_0,\"$1\"),Y=Y.replace(Q,q),Z},getRegex:()=>{return new RegExp(Y,X)}};return Z}function c90(J){try{J=encodeURI(J).replace(/%25/g,\"%\")}catch{return null}return J}var iB={exec:()=>null};function d90(J,X){let Y=J.replace(/\\|/g,($,q,G)=>{let U=!1,H=q;while(--H>=0&&G[H]===\"\\\\\")U=!U;if(U)return\"|\";else return\" |\"}),Z=Y.split(/ \\|/),Q=0;if(!Z[0].trim())Z.shift();if(Z.length>0&&!Z[Z.length-1].trim())Z.pop();if(X)if(Z.length>X)Z.splice(X);else while(Z.length<X)Z.push(\"\");for(;Q<Z.length;Q++)Z[Q]=Z[Q].trim().replace(/\\\\\\|/g,\"|\");return Z}function sB(J,X,Y){let Z=J.length;if(Z===0)return\"\";let Q=0;while(Q<Z)if(J.charAt(Z-Q-1)===X)Q++;else break;return J.slice(0,Z-Q)}function k_0(J,X){if(J.indexOf(X[1])===-1)return-1;let Y=0;for(let Z=0;Z<J.length;Z++)if(J[Z]===\"\\\\\")Z++;else if(J[Z]===X[0])Y++;else if(J[Z]===X[1]){if(Y--,Y<0)return Z}return-1}function l90(J,X,Y,Z){let Q=X.href,$=X.title?r9(X.title):null,q=J[1].replace(/\\\\([\\[\\]])/g,\"$1\");if(J[0].charAt(0)!==\"!\"){Z.state.inLink=!0;let G={type:\"link\",raw:Y,href:Q,title:$,text:q,tokens:Z.inlineTokens(q)};return Z.state.inLink=!1,G}return{type:\"image\",raw:Y,href:Q,title:$,text:r9(q)}}function E_0(J,X){let Y=J.match(/^(\\s+)(?:```)/);if(Y===null)return X;let Z=Y[1];return X.split(`\n`).map((Q)=>{let $=Q.match(/^\\s+/);if($===null)return Q;let[q]=$;if(q.length>=Z.length)return Q.slice(Z.length);return Q}).join(`\n`)}class oB{options;rules;lexer;constructor(J){this.options=J||cG}space(J){let X=this.rules.block.newline.exec(J);if(X&&X[0].length>0)return{type:\"space\",raw:X[0]}}code(J){let X=this.rules.block.code.exec(J);if(X){let Y=X[0].replace(/^ {1,4}/gm,\"\");return{type:\"code\",raw:X[0],codeBlockStyle:\"indented\",text:!this.options.pedantic?sB(Y,`\n`):Y}}}fences(J){let X=this.rules.block.fences.exec(J);if(X){let Y=X[0],Z=E_0(Y,X[3]||\"\");return{type:\"code\",raw:Y,lang:X[2]?X[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):X[2],text:Z}}}heading(J){let X=this.rules.block.heading.exec(J);if(X){let Y=X[2].trim();if(/#$/.test(Y)){let Z=sB(Y,\"#\");if(this.options.pedantic)Y=Z.trim();else if(!Z||/ $/.test(Z))Y=Z.trim()}return{type:\"heading\",raw:X[0],depth:X[1].length,text:Y,tokens:this.lexer.inline(Y)}}}hr(J){let X=this.rules.block.hr.exec(J);if(X)return{type:\"hr\",raw:sB(X[0],`\n`)}}blockquote(J){let X=this.rules.block.blockquote.exec(J);if(X){let Y=sB(X[0],`\n`).split(`\n`),Z=\"\",Q=\"\",$=[];while(Y.length>0){let q=!1,G=[],U;for(U=0;U<Y.length;U++)if(/^ {0,3}>/.test(Y[U]))G.push(Y[U]),q=!0;else if(!q)G.push(Y[U]);else break;Y=Y.slice(U);let H=G.join(`\n`),V=H.replace(/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,`\n    $1`).replace(/^ {0,3}>[ \\t]?/gm,\"\");Z=Z?`${Z}\n${H}`:H,Q=Q?`${Q}\n${V}`:V;let K=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(V,$,!0),this.lexer.state.top=K,Y.length===0)break;let j=$[$.length-1];if(j?.type===\"code\")break;else if(j?.type===\"blockquote\"){let W=j,z=W.raw+`\n`+Y.join(`\n`),B=this.blockquote(z);$[$.length-1]=B,Z=Z.substring(0,Z.length-W.raw.length)+B.raw,Q=Q.substring(0,Q.length-W.text.length)+B.text;break}else if(j?.type===\"list\"){let W=j,z=W.raw+`\n`+Y.join(`\n`),B=this.list(z);$[$.length-1]=B,Z=Z.substring(0,Z.length-j.raw.length)+B.raw,Q=Q.substring(0,Q.length-W.raw.length)+B.raw,Y=z.substring($[$.length-1].raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:Z,tokens:$,text:Q}}}list(J){let X=this.rules.block.list.exec(J);if(X){let Y=X[1].trim(),Z=Y.length>1,Q={type:\"list\",raw:\"\",ordered:Z,start:Z?+Y.slice(0,-1):\"\",loose:!1,items:[]};if(Y=Z?`\\\\d{1,9}\\\\${Y.slice(-1)}`:`\\\\${Y}`,this.options.pedantic)Y=Z?Y:\"[*+-]\";let $=new RegExp(`^( {0,3}${Y})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),q=!1;while(J){let G=!1,U=\"\",H=\"\";if(!(X=$.exec(J)))break;if(this.rules.block.hr.test(J))break;U=X[0],J=J.substring(U.length);let V=X[2].split(`\n`,1)[0].replace(/^\\t+/,(P)=>\" \".repeat(3*P.length)),K=J.split(`\n`,1)[0],j=!V.trim(),W=0;if(this.options.pedantic)W=2,H=V.trimStart();else if(j)W=X[1].length+1;else W=X[2].search(/[^ ]/),W=W>4?1:W,H=V.slice(W),W+=X[1].length;if(j&&/^ *$/.test(K))U+=K+`\n`,J=J.substring(K.length+1),G=!0;if(!G){let P=new RegExp(`^ {0,${Math.min(3,W-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),_=new RegExp(`^ {0,${Math.min(3,W-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),A=new RegExp(`^ {0,${Math.min(3,W-1)}}(?:\\`\\`\\`|~~~)`),O=new RegExp(`^ {0,${Math.min(3,W-1)}}#`);while(J){let D=J.split(`\n`,1)[0];if(K=D,this.options.pedantic)K=K.replace(/^ {1,4}(?=( {4})*[^ ])/g,\"  \");if(A.test(K))break;if(O.test(K))break;if(P.test(K))break;if(_.test(J))break;if(K.search(/[^ ]/)>=W||!K.trim())H+=`\n`+K.slice(W);else{if(j)break;if(V.search(/[^ ]/)>=4)break;if(A.test(V))break;if(O.test(V))break;if(_.test(V))break;H+=`\n`+K}if(!j&&!K.trim())j=!0;U+=D+`\n`,J=J.substring(D.length+1),V=K.slice(W)}}if(!Q.loose){if(q)Q.loose=!0;else if(/\\n *\\n *$/.test(U))q=!0}let z=null,B;if(this.options.gfm){if(z=/^\\[[ xX]\\] /.exec(H),z)B=z[0]!==\"[ ] \",H=H.replace(/^\\[[ xX]\\] +/,\"\")}Q.items.push({type:\"list_item\",raw:U,task:!!z,checked:B,loose:!1,text:H,tokens:[]}),Q.raw+=U}Q.items[Q.items.length-1].raw=Q.items[Q.items.length-1].raw.trimEnd(),Q.items[Q.items.length-1].text=Q.items[Q.items.length-1].text.trimEnd(),Q.raw=Q.raw.trimEnd();for(let G=0;G<Q.items.length;G++)if(this.lexer.state.top=!1,Q.items[G].tokens=this.lexer.blockTokens(Q.items[G].text,[]),!Q.loose){let U=Q.items[G].tokens.filter((V)=>V.type===\"space\"),H=U.length>0&&U.some((V)=>/\\n.*\\n/.test(V.raw));Q.loose=H}if(Q.loose)for(let G=0;G<Q.items.length;G++)Q.items[G].loose=!0;return Q}}html(J){let X=this.rules.block.html.exec(J);if(X)return{type:\"html\",block:!0,raw:X[0],pre:X[1]===\"pre\"||X[1]===\"script\"||X[1]===\"style\",text:X[0]}}def(J){let X=this.rules.block.def.exec(J);if(X){let Y=X[1].toLowerCase().replace(/\\s+/g,\" \"),Z=X[2]?X[2].replace(/^<(.*)>$/,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",Q=X[3]?X[3].substring(1,X[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):X[3];return{type:\"def\",tag:Y,raw:X[0],href:Z,title:Q}}}table(J){let X=this.rules.block.table.exec(J);if(!X)return;if(!/[:|]/.test(X[2]))return;let Y=d90(X[1]),Z=X[2].replace(/^\\||\\| *$/g,\"\").split(\"|\"),Q=X[3]&&X[3].trim()?X[3].replace(/\\n[ \\t]*$/,\"\").split(`\n`):[],$={type:\"table\",raw:X[0],header:[],align:[],rows:[]};if(Y.length!==Z.length)return;for(let q of Z)if(/^ *-+: *$/.test(q))$.align.push(\"right\");else if(/^ *:-+: *$/.test(q))$.align.push(\"center\");else if(/^ *:-+ *$/.test(q))$.align.push(\"left\");else $.align.push(null);for(let q=0;q<Y.length;q++)$.header.push({text:Y[q],tokens:this.lexer.inline(Y[q]),header:!0,align:$.align[q]});for(let q of Q)$.rows.push(d90(q,$.header.length).map((G,U)=>{return{text:G,tokens:this.lexer.inline(G),header:!1,align:$.align[U]}}));return $}lheading(J){let X=this.rules.block.lheading.exec(J);if(X)return{type:\"heading\",raw:X[0],depth:X[2].charAt(0)===\"=\"?1:2,text:X[1],tokens:this.lexer.inline(X[1])}}paragraph(J){let X=this.rules.block.paragraph.exec(J);if(X){let Y=X[1].charAt(X[1].length-1)===`\n`?X[1].slice(0,-1):X[1];return{type:\"paragraph\",raw:X[0],text:Y,tokens:this.lexer.inline(Y)}}}text(J){let X=this.rules.block.text.exec(J);if(X)return{type:\"text\",raw:X[0],text:X[0],tokens:this.lexer.inline(X[0])}}escape(J){let X=this.rules.inline.escape.exec(J);if(X)return{type:\"escape\",raw:X[0],text:r9(X[1])}}tag(J){let X=this.rules.inline.tag.exec(J);if(X){if(!this.lexer.state.inLink&&/^<a /i.test(X[0]))this.lexer.state.inLink=!0;else if(this.lexer.state.inLink&&/^<\\/a>/i.test(X[0]))this.lexer.state.inLink=!1;if(!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\\s|>)/i.test(X[0]))this.lexer.state.inRawBlock=!0;else if(this.lexer.state.inRawBlock&&/^<\\/(pre|code|kbd|script)(\\s|>)/i.test(X[0]))this.lexer.state.inRawBlock=!1;return{type:\"html\",raw:X[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:X[0]}}}link(J){let X=this.rules.inline.link.exec(J);if(X){let Y=X[2].trim();if(!this.options.pedantic&&/^</.test(Y)){if(!/>$/.test(Y))return;let $=sB(Y.slice(0,-1),\"\\\\\");if((Y.length-$.length)%2===0)return}else{let $=k_0(X[2],\"()\");if($>-1){let G=(X[0].indexOf(\"!\")===0?5:4)+X[1].length+$;X[2]=X[2].substring(0,$),X[0]=X[0].substring(0,G).trim(),X[3]=\"\"}}let Z=X[2],Q=\"\";if(this.options.pedantic){let $=/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(Z);if($)Z=$[1],Q=$[3]}else Q=X[3]?X[3].slice(1,-1):\"\";if(Z=Z.trim(),/^</.test(Z))if(this.options.pedantic&&!/>$/.test(Y))Z=Z.slice(1);else Z=Z.slice(1,-1);return l90(X,{href:Z?Z.replace(this.rules.inline.anyPunctuation,\"$1\"):Z,title:Q?Q.replace(this.rules.inline.anyPunctuation,\"$1\"):Q},X[0],this.lexer)}}reflink(J,X){let Y;if((Y=this.rules.inline.reflink.exec(J))||(Y=this.rules.inline.nolink.exec(J))){let Z=(Y[2]||Y[1]).replace(/\\s+/g,\" \"),Q=X[Z.toLowerCase()];if(!Q){let $=Y[0].charAt(0);return{type:\"text\",raw:$,text:$}}return l90(Y,Q,Y[0],this.lexer)}}emStrong(J,X,Y=\"\"){let Z=this.rules.inline.emStrongLDelim.exec(J);if(!Z)return;if(Z[3]&&Y.match(/[\\p{L}\\p{N}]/u))return;if(!(Z[1]||Z[2])||!Y||this.rules.inline.punctuation.exec(Y)){let $=[...Z[0]].length-1,q,G,U=$,H=0,V=Z[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;V.lastIndex=0,X=X.slice(-1*J.length+$);while((Z=V.exec(X))!=null){if(q=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6],!q)continue;if(G=[...q].length,Z[3]||Z[4]){U+=G;continue}else if(Z[5]||Z[6]){if($%3&&!(($+G)%3)){H+=G;continue}}if(U-=G,U>0)continue;G=Math.min(G,G+U+H);let K=[...Z[0]][0].length,j=J.slice(0,$+Z.index+K+G);if(Math.min($,G)%2){let z=j.slice(1,-1);return{type:\"em\",raw:j,text:z,tokens:this.lexer.inlineTokens(z)}}let W=j.slice(2,-2);return{type:\"strong\",raw:j,text:W,tokens:this.lexer.inlineTokens(W)}}}}codespan(J){let X=this.rules.inline.code.exec(J);if(X){let Y=X[2].replace(/\\n/g,\" \"),Z=/[^ ]/.test(Y),Q=/^ /.test(Y)&&/ $/.test(Y);if(Z&&Q)Y=Y.substring(1,Y.length-1);return Y=r9(Y,!0),{type:\"codespan\",raw:X[0],text:Y}}}br(J){let X=this.rules.inline.br.exec(J);if(X)return{type:\"br\",raw:X[0]}}del(J){let X=this.rules.inline.del.exec(J);if(X)return{type:\"del\",raw:X[0],text:X[2],tokens:this.lexer.inlineTokens(X[2])}}autolink(J){let X=this.rules.inline.autolink.exec(J);if(X){let Y,Z;if(X[2]===\"@\")Y=r9(X[1]),Z=\"mailto:\"+Y;else Y=r9(X[1]),Z=Y;return{type:\"link\",raw:X[0],text:Y,href:Z,tokens:[{type:\"text\",raw:Y,text:Y}]}}}url(J){let X;if(X=this.rules.inline.url.exec(J)){let Y,Z;if(X[2]===\"@\")Y=r9(X[0]),Z=\"mailto:\"+Y;else{let Q;do Q=X[0],X[0]=this.rules.inline._backpedal.exec(X[0])?.[0]??\"\";while(Q!==X[0]);if(Y=r9(X[0]),X[1]===\"www.\")Z=\"http://\"+X[0];else Z=X[0]}return{type:\"link\",raw:X[0],text:Y,href:Z,tokens:[{type:\"text\",raw:Y,text:Y}]}}}inlineText(J){let X=this.rules.inline.text.exec(J);if(X){let Y;if(this.lexer.state.inRawBlock)Y=X[0];else Y=r9(X[0]);return{type:\"text\",raw:X[0],text:Y}}}}var y_0=/^(?: *(?:\\n|$))+/,x_0=/^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,b_0=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,nB=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,C_0=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,o90=/(?:[*+-]|\\d{1,9}[.)])/,n90=t6(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/).replace(/bull/g,o90).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).getRegex(),nv=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,S_0=/^[^\\n]+/,tv=/(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/,f_0=t6(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/).replace(\"label\",tv).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),h_0=t6(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,o90).getRegex(),_w=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",ev=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,v_0=t6(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$))\",\"i\").replace(\"comment\",ev).replace(\"tag\",_w).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),t90=t6(nv).replace(\"hr\",nB).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",_w).getRegex(),g_0=t6(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",t90).getRegex(),Jg={blockquote:g_0,code:x_0,def:f_0,fences:b_0,heading:C_0,hr:nB,html:v_0,lheading:n90,list:h_0,newline:y_0,paragraph:t90,table:iB,text:S_0},s90=t6(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",nB).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\" {4}[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",_w).getRegex(),p_0={...Jg,table:s90,paragraph:t6(nv).replace(\"hr\",nB).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",s90).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",_w).getRegex()},m_0={...Jg,html:t6(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",ev).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:iB,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:t6(nv).replace(\"hr\",nB).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",n90).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},e90=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,u_0=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,JJ0=/^( {2,}|\\\\)\\n(?!\\s*$)/,c_0=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,tB=\"\\\\p{P}\\\\p{S}\",d_0=t6(/^((?![*_])[\\spunctuation])/,\"u\").replace(/punctuation/g,tB).getRegex(),l_0=/\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g,s_0=t6(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/,\"u\").replace(/punct/g,tB).getRegex(),a_0=t6(\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])\",\"gu\").replace(/punct/g,tB).getRegex(),i_0=t6(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\\\s]|$)|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])|[\\\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])\",\"gu\").replace(/punct/g,tB).getRegex(),r_0=t6(/\\\\([punct])/,\"gu\").replace(/punct/g,tB).getRegex(),o_0=t6(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),n_0=t6(ev).replace(\"(?:-->|$)\",\"-->\").getRegex(),t_0=t6(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",n_0).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),Bw=/(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/,e_0=t6(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/).replace(\"label\",Bw).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),XJ0=t6(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",Bw).replace(\"ref\",tv).getRegex(),YJ0=t6(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",tv).getRegex(),JA0=t6(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",XJ0).replace(\"nolink\",YJ0).getRegex(),Xg={_backpedal:iB,anyPunctuation:r_0,autolink:o_0,blockSkip:l_0,br:JJ0,code:u_0,del:iB,emStrongLDelim:s_0,emStrongRDelimAst:a_0,emStrongRDelimUnd:i_0,escape:e90,link:e_0,nolink:YJ0,punctuation:d_0,reflink:XJ0,reflinkSearch:JA0,tag:t_0,text:c_0,url:iB},XA0={...Xg,link:t6(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",Bw).getRegex(),reflink:t6(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",Bw).getRegex()},rv={...Xg,escape:t6(e90).replace(\"])\",\"~|])\").getRegex(),url:t6(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\"i\").replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/},YA0={...rv,br:t6(JJ0).replace(\"{2,}\",\"*\").getRegex(),text:t6(rv.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},Fw={normal:Jg,gfm:p_0,pedantic:m_0},aB={normal:Xg,gfm:rv,breaks:YA0,pedantic:XA0};class nY{tokens;options;state;tokenizer;inlineQueue;constructor(J){this.tokens=[],this.tokens.links=Object.create(null),this.options=J||cG,this.options.tokenizer=this.options.tokenizer||new oB,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let X={block:Fw.normal,inline:aB.normal};if(this.options.pedantic)X.block=Fw.pedantic,X.inline=aB.pedantic;else if(this.options.gfm)if(X.block=Fw.gfm,this.options.breaks)X.inline=aB.breaks;else X.inline=aB.gfm;this.tokenizer.rules=X}static get rules(){return{block:Fw,inline:aB}}static lex(J,X){return new nY(X).lex(J)}static lexInline(J,X){return new nY(X).inlineTokens(J)}lex(J){J=J.replace(/\\r\\n|\\r/g,`\n`),this.blockTokens(J,this.tokens);for(let X=0;X<this.inlineQueue.length;X++){let Y=this.inlineQueue[X];this.inlineTokens(Y.src,Y.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(J,X=[],Y=!1){if(this.options.pedantic)J=J.replace(/\\t/g,\"    \").replace(/^ +$/gm,\"\");else J=J.replace(/^( *)(\\t+)/gm,(q,G,U)=>{return G+\"    \".repeat(U.length)});let Z,Q,$;while(J){if(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((q)=>{if(Z=q.call({lexer:this},J,X))return J=J.substring(Z.raw.length),X.push(Z),!0;return!1}))continue;if(Z=this.tokenizer.space(J)){if(J=J.substring(Z.raw.length),Z.raw.length===1&&X.length>0)X[X.length-1].raw+=`\n`;else X.push(Z);continue}if(Z=this.tokenizer.code(J)){if(J=J.substring(Z.raw.length),Q=X[X.length-1],Q&&(Q.type===\"paragraph\"||Q.type===\"text\"))Q.raw+=`\n`+Z.raw,Q.text+=`\n`+Z.text,this.inlineQueue[this.inlineQueue.length-1].src=Q.text;else X.push(Z);continue}if(Z=this.tokenizer.fences(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if(Z=this.tokenizer.heading(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if(Z=this.tokenizer.hr(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if(Z=this.tokenizer.blockquote(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if(Z=this.tokenizer.list(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if(Z=this.tokenizer.html(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if(Z=this.tokenizer.def(J)){if(J=J.substring(Z.raw.length),Q=X[X.length-1],Q&&(Q.type===\"paragraph\"||Q.type===\"text\"))Q.raw+=`\n`+Z.raw,Q.text+=`\n`+Z.raw,this.inlineQueue[this.inlineQueue.length-1].src=Q.text;else if(!this.tokens.links[Z.tag])this.tokens.links[Z.tag]={href:Z.href,title:Z.title};continue}if(Z=this.tokenizer.table(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if(Z=this.tokenizer.lheading(J)){J=J.substring(Z.raw.length),X.push(Z);continue}if($=J,this.options.extensions&&this.options.extensions.startBlock){let q=1/0,G=J.slice(1),U;if(this.options.extensions.startBlock.forEach((H)=>{if(U=H.call({lexer:this},G),typeof U===\"number\"&&U>=0)q=Math.min(q,U)}),q<1/0&&q>=0)$=J.substring(0,q+1)}if(this.state.top&&(Z=this.tokenizer.paragraph($))){if(Q=X[X.length-1],Y&&Q?.type===\"paragraph\")Q.raw+=`\n`+Z.raw,Q.text+=`\n`+Z.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Q.text;else X.push(Z);Y=$.length!==J.length,J=J.substring(Z.raw.length);continue}if(Z=this.tokenizer.text(J)){if(J=J.substring(Z.raw.length),Q=X[X.length-1],Q&&Q.type===\"text\")Q.raw+=`\n`+Z.raw,Q.text+=`\n`+Z.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Q.text;else X.push(Z);continue}if(J){let q=\"Infinite loop on byte: \"+J.charCodeAt(0);if(this.options.silent){console.error(q);break}else throw Error(q)}}return this.state.top=!0,X}inline(J,X=[]){return this.inlineQueue.push({src:J,tokens:X}),X}inlineTokens(J,X=[]){let Y,Z,Q,$=J,q,G,U;if(this.tokens.links){let H=Object.keys(this.tokens.links);if(H.length>0){while((q=this.tokenizer.rules.inline.reflinkSearch.exec($))!=null)if(H.includes(q[0].slice(q[0].lastIndexOf(\"[\")+1,-1)))$=$.slice(0,q.index)+\"[\"+\"a\".repeat(q[0].length-2)+\"]\"+$.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)}}while((q=this.tokenizer.rules.inline.blockSkip.exec($))!=null)$=$.slice(0,q.index)+\"[\"+\"a\".repeat(q[0].length-2)+\"]\"+$.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);while((q=this.tokenizer.rules.inline.anyPunctuation.exec($))!=null)$=$.slice(0,q.index)+\"++\"+$.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);while(J){if(!G)U=\"\";if(G=!1,this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((H)=>{if(Y=H.call({lexer:this},J,X))return J=J.substring(Y.raw.length),X.push(Y),!0;return!1}))continue;if(Y=this.tokenizer.escape(J)){J=J.substring(Y.raw.length),X.push(Y);continue}if(Y=this.tokenizer.tag(J)){if(J=J.substring(Y.raw.length),Z=X[X.length-1],Z&&Y.type===\"text\"&&Z.type===\"text\")Z.raw+=Y.raw,Z.text+=Y.text;else X.push(Y);continue}if(Y=this.tokenizer.link(J)){J=J.substring(Y.raw.length),X.push(Y);continue}if(Y=this.tokenizer.reflink(J,this.tokens.links)){if(J=J.substring(Y.raw.length),Z=X[X.length-1],Z&&Y.type===\"text\"&&Z.type===\"text\")Z.raw+=Y.raw,Z.text+=Y.text;else X.push(Y);continue}if(Y=this.tokenizer.emStrong(J,$,U)){J=J.substring(Y.raw.length),X.push(Y);continue}if(Y=this.tokenizer.codespan(J)){J=J.substring(Y.raw.length),X.push(Y);continue}if(Y=this.tokenizer.br(J)){J=J.substring(Y.raw.length),X.push(Y);continue}if(Y=this.tokenizer.del(J)){J=J.substring(Y.raw.length),X.push(Y);continue}if(Y=this.tokenizer.autolink(J)){J=J.substring(Y.raw.length),X.push(Y);continue}if(!this.state.inLink&&(Y=this.tokenizer.url(J))){J=J.substring(Y.raw.length),X.push(Y);continue}if(Q=J,this.options.extensions&&this.options.extensions.startInline){let H=1/0,V=J.slice(1),K;if(this.options.extensions.startInline.forEach((j)=>{if(K=j.call({lexer:this},V),typeof K===\"number\"&&K>=0)H=Math.min(H,K)}),H<1/0&&H>=0)Q=J.substring(0,H+1)}if(Y=this.tokenizer.inlineText(Q)){if(J=J.substring(Y.raw.length),Y.raw.slice(-1)!==\"_\")U=Y.raw.slice(-1);if(G=!0,Z=X[X.length-1],Z&&Z.type===\"text\")Z.raw+=Y.raw,Z.text+=Y.text;else X.push(Y);continue}if(J){let H=\"Infinite loop on byte: \"+J.charCodeAt(0);if(this.options.silent){console.error(H);break}else throw Error(H)}}return X}}class mG{options;parser;constructor(J){this.options=J||cG}space(J){return\"\"}code({text:J,lang:X,escaped:Y}){let Z=(X||\"\").match(/^\\S*/)?.[0],Q=J.replace(/\\n$/,\"\")+`\n`;if(!Z)return\"<pre><code>\"+(Y?Q:r9(Q,!0))+`</code></pre>\n`;return'<pre><code class=\"language-'+r9(Z)+'\">'+(Y?Q:r9(Q,!0))+`</code></pre>\n`}blockquote({tokens:J}){return`<blockquote>\n${this.parser.parse(J)}</blockquote>\n`}html({text:J}){return J}heading({tokens:J,depth:X}){return`<h${X}>${this.parser.parseInline(J)}</h${X}>\n`}hr(J){return`<hr>\n`}list(J){let{ordered:X,start:Y}=J,Z=\"\";for(let q=0;q<J.items.length;q++){let G=J.items[q];Z+=this.listitem(G)}let Q=X?\"ol\":\"ul\",$=X&&Y!==1?' start=\"'+Y+'\"':\"\";return\"<\"+Q+$+`>\n`+Z+\"</\"+Q+`>\n`}listitem(J){let X=\"\";if(J.task){let Y=this.checkbox({checked:!!J.checked});if(J.loose)if(J.tokens.length>0&&J.tokens[0].type===\"paragraph\"){if(J.tokens[0].text=Y+\" \"+J.tokens[0].text,J.tokens[0].tokens&&J.tokens[0].tokens.length>0&&J.tokens[0].tokens[0].type===\"text\")J.tokens[0].tokens[0].text=Y+\" \"+J.tokens[0].tokens[0].text}else J.tokens.unshift({type:\"text\",raw:Y+\" \",text:Y+\" \"});else X+=Y+\" \"}return X+=this.parser.parse(J.tokens,!!J.loose),`<li>${X}</li>\n`}checkbox({checked:J}){return\"<input \"+(J?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\">'}paragraph({tokens:J}){return`<p>${this.parser.parseInline(J)}</p>\n`}table(J){let X=\"\",Y=\"\";for(let Q=0;Q<J.header.length;Q++)Y+=this.tablecell(J.header[Q]);X+=this.tablerow({text:Y});let Z=\"\";for(let Q=0;Q<J.rows.length;Q++){let $=J.rows[Q];Y=\"\";for(let q=0;q<$.length;q++)Y+=this.tablecell($[q]);Z+=this.tablerow({text:Y})}if(Z)Z=`<tbody>${Z}</tbody>`;return`<table>\n<thead>\n`+X+`</thead>\n`+Z+`</table>\n`}tablerow({text:J}){return`<tr>\n${J}</tr>\n`}tablecell(J){let X=this.parser.parseInline(J.tokens),Y=J.header?\"th\":\"td\";return(J.align?`<${Y} align=\"${J.align}\">`:`<${Y}>`)+X+`</${Y}>\n`}strong({tokens:J}){return`<strong>${this.parser.parseInline(J)}</strong>`}em({tokens:J}){return`<em>${this.parser.parseInline(J)}</em>`}codespan({text:J}){return`<code>${J}</code>`}br(J){return\"<br>\"}del({tokens:J}){return`<del>${this.parser.parseInline(J)}</del>`}link({href:J,title:X,tokens:Y}){let Z=this.parser.parseInline(Y),Q=c90(J);if(Q===null)return Z;J=Q;let $='<a href=\"'+J+'\"';if(X)$+=' title=\"'+X+'\"';return $+=\">\"+Z+\"</a>\",$}image({href:J,title:X,text:Y}){let Z=c90(J);if(Z===null)return Y;J=Z;let Q=`<img src=\"${J}\" alt=\"${Y}\"`;if(X)Q+=` title=\"${X}\"`;return Q+=\">\",Q}text(J){return\"tokens\"in J&&J.tokens?this.parser.parseInline(J.tokens):J.text}}class Aw{strong({text:J}){return J}em({text:J}){return J}codespan({text:J}){return J}del({text:J}){return J}html({text:J}){return J}text({text:J}){return J}link({text:J}){return\"\"+J}image({text:J}){return\"\"+J}br(){return\"\"}}class tY{options;renderer;textRenderer;constructor(J){this.options=J||cG,this.options.renderer=this.options.renderer||new mG,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Aw}static parse(J,X){return new tY(X).parse(J)}static parseInline(J,X){return new tY(X).parseInline(J)}parse(J,X=!0){let Y=\"\";for(let Z=0;Z<J.length;Z++){let Q=J[Z];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[Q.type]){let q=Q,G=this.options.extensions.renderers[q.type].call({parser:this},q);if(G!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"paragraph\",\"text\"].includes(q.type)){Y+=G||\"\";continue}}let $=Q;switch($.type){case\"space\":{Y+=this.renderer.space($);continue}case\"hr\":{Y+=this.renderer.hr($);continue}case\"heading\":{Y+=this.renderer.heading($);continue}case\"code\":{Y+=this.renderer.code($);continue}case\"table\":{Y+=this.renderer.table($);continue}case\"blockquote\":{Y+=this.renderer.blockquote($);continue}case\"list\":{Y+=this.renderer.list($);continue}case\"html\":{Y+=this.renderer.html($);continue}case\"paragraph\":{Y+=this.renderer.paragraph($);continue}case\"text\":{let q=$,G=this.renderer.text(q);while(Z+1<J.length&&J[Z+1].type===\"text\")q=J[++Z],G+=`\n`+this.renderer.text(q);if(X)Y+=this.renderer.paragraph({type:\"paragraph\",raw:G,text:G,tokens:[{type:\"text\",raw:G,text:G}]});else Y+=G;continue}default:{let q='Token with \"'+$.type+'\" type was not found.';if(this.options.silent)return console.error(q),\"\";else throw Error(q)}}}return Y}parseInline(J,X){X=X||this.renderer;let Y=\"\";for(let Z=0;Z<J.length;Z++){let Q=J[Z];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[Q.type]){let q=this.options.extensions.renderers[Q.type].call({parser:this},Q);if(q!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(Q.type)){Y+=q||\"\";continue}}let $=Q;switch($.type){case\"escape\":{Y+=X.text($);break}case\"html\":{Y+=X.html($);break}case\"link\":{Y+=X.link($);break}case\"image\":{Y+=X.image($);break}case\"strong\":{Y+=X.strong($);break}case\"em\":{Y+=X.em($);break}case\"codespan\":{Y+=X.codespan($);break}case\"br\":{Y+=X.br($);break}case\"del\":{Y+=X.del($);break}case\"text\":{Y+=X.text($);break}default:{let q='Token with \"'+$.type+'\" type was not found.';if(this.options.silent)return console.error(q),\"\";else throw Error(q)}}}return Y}}class rB{options;constructor(J){this.options=J||cG}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(J){return J}postprocess(J){return J}processAllTokens(J){return J}}class Pw{defaults=ov();options=this.setOptions;parse=this.parseMarkdown(nY.lex,tY.parse);parseInline=this.parseMarkdown(nY.lexInline,tY.parseInline);Parser=tY;Renderer=mG;TextRenderer=Aw;Lexer=nY;Tokenizer=oB;Hooks=rB;constructor(...J){this.use(...J)}walkTokens(J,X){let Y=[];for(let Z of J)switch(Y=Y.concat(X.call(this,Z)),Z.type){case\"table\":{let Q=Z;for(let $ of Q.header)Y=Y.concat(this.walkTokens($.tokens,X));for(let $ of Q.rows)for(let q of $)Y=Y.concat(this.walkTokens(q.tokens,X));break}case\"list\":{let Q=Z;Y=Y.concat(this.walkTokens(Q.items,X));break}default:{let Q=Z;if(this.defaults.extensions?.childTokens?.[Q.type])this.defaults.extensions.childTokens[Q.type].forEach(($)=>{let q=Q[$].flat(1/0);Y=Y.concat(this.walkTokens(q,X))});else if(Q.tokens)Y=Y.concat(this.walkTokens(Q.tokens,X))}}return Y}use(...J){let X=this.defaults.extensions||{renderers:{},childTokens:{}};return J.forEach((Y)=>{let Z={...Y};if(Z.async=this.defaults.async||Z.async||!1,Y.extensions)Y.extensions.forEach((Q)=>{if(!Q.name)throw Error(\"extension name required\");if(\"renderer\"in Q){let $=X.renderers[Q.name];if($)X.renderers[Q.name]=function(...q){let G=Q.renderer.apply(this,q);if(G===!1)G=$.apply(this,q);return G};else X.renderers[Q.name]=Q.renderer}if(\"tokenizer\"in Q){if(!Q.level||Q.level!==\"block\"&&Q.level!==\"inline\")throw Error(\"extension level must be 'block' or 'inline'\");let $=X[Q.level];if($)$.unshift(Q.tokenizer);else X[Q.level]=[Q.tokenizer];if(Q.start){if(Q.level===\"block\")if(X.startBlock)X.startBlock.push(Q.start);else X.startBlock=[Q.start];else if(Q.level===\"inline\")if(X.startInline)X.startInline.push(Q.start);else X.startInline=[Q.start]}}if(\"childTokens\"in Q&&Q.childTokens)X.childTokens[Q.name]=Q.childTokens}),Z.extensions=X;if(Y.renderer){let Q=this.defaults.renderer||new mG(this.defaults);for(let $ in Y.renderer){if(!($ in Q))throw Error(`renderer '${$}' does not exist`);if([\"options\",\"parser\"].includes($))continue;let q=$,G=Y.renderer[q],U=Q[q];Q[q]=(...H)=>{let V=G.apply(Q,H);if(V===!1)V=U.apply(Q,H);return V||\"\"}}Z.renderer=Q}if(Y.tokenizer){let Q=this.defaults.tokenizer||new oB(this.defaults);for(let $ in Y.tokenizer){if(!($ in Q))throw Error(`tokenizer '${$}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes($))continue;let q=$,G=Y.tokenizer[q],U=Q[q];Q[q]=(...H)=>{let V=G.apply(Q,H);if(V===!1)V=U.apply(Q,H);return V}}Z.tokenizer=Q}if(Y.hooks){let Q=this.defaults.hooks||new rB;for(let $ in Y.hooks){if(!($ in Q))throw Error(`hook '${$}' does not exist`);if($===\"options\")continue;let q=$,G=Y.hooks[q],U=Q[q];if(rB.passThroughHooks.has($))Q[q]=(H)=>{if(this.defaults.async)return Promise.resolve(G.call(Q,H)).then((K)=>{return U.call(Q,K)});let V=G.call(Q,H);return U.call(Q,V)};else Q[q]=(...H)=>{let V=G.apply(Q,H);if(V===!1)V=U.apply(Q,H);return V}}Z.hooks=Q}if(Y.walkTokens){let Q=this.defaults.walkTokens,$=Y.walkTokens;Z.walkTokens=function(q){let G=[];if(G.push($.call(this,q)),Q)G=G.concat(Q.call(this,q));return G}}this.defaults={...this.defaults,...Z}}),this}setOptions(J){return this.defaults={...this.defaults,...J},this}lexer(J,X){return nY.lex(J,X??this.defaults)}parser(J,X){return tY.parse(J,X??this.defaults)}parseMarkdown(J,X){return(Z,Q)=>{let $={...Q},q={...this.defaults,...$},G=this.onError(!!q.silent,!!q.async);if(this.defaults.async===!0&&$.async===!1)return G(Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof Z>\"u\"||Z===null)return G(Error(\"marked(): input parameter is undefined or null\"));if(typeof Z!==\"string\")return G(Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(Z)+\", string expected\"));if(q.hooks)q.hooks.options=q;if(q.async)return Promise.resolve(q.hooks?q.hooks.preprocess(Z):Z).then((U)=>J(U,q)).then((U)=>q.hooks?q.hooks.processAllTokens(U):U).then((U)=>q.walkTokens?Promise.all(this.walkTokens(U,q.walkTokens)).then(()=>U):U).then((U)=>X(U,q)).then((U)=>q.hooks?q.hooks.postprocess(U):U).catch(G);try{if(q.hooks)Z=q.hooks.preprocess(Z);let U=J(Z,q);if(q.hooks)U=q.hooks.processAllTokens(U);if(q.walkTokens)this.walkTokens(U,q.walkTokens);let H=X(U,q);if(q.hooks)H=q.hooks.postprocess(H);return H}catch(U){return G(U)}}}onError(J,X){return(Y)=>{if(Y.message+=`\nPlease report this to https://github.com/markedjs/marked.`,J){let Z=\"<p>An error occurred:</p><pre>\"+r9(Y.message+\"\",!0)+\"</pre>\";if(X)return Promise.resolve(Z);return Z}if(X)return Promise.reject(Y);throw Y}}}var uG=new Pw;function l6(J,X){return uG.parse(J,X)}l6.options=l6.setOptions=function(J){return uG.setOptions(J),l6.defaults=uG.defaults,a90(l6.defaults),l6};l6.getDefaults=ov;l6.defaults=cG;l6.use=function(...J){return uG.use(...J),l6.defaults=uG.defaults,a90(l6.defaults),l6};l6.walkTokens=function(J,X){return uG.walkTokens(J,X)};l6.parseInline=uG.parseInline;l6.Parser=tY;l6.parser=tY.parse;l6.Renderer=mG;l6.TextRenderer=Aw;l6.Lexer=nY;l6.lexer=nY.lex;l6.Tokenizer=oB;l6.Hooks=rB;l6.parse=l6;l6.options;l6.setOptions;l6.use;l6.walkTokens;l6.parseInline;var ZJ0=l6;tY.parse;var kK=nY.lex;function QJ0(J){return JSON.stringify(J,ZA0)}function eB(J){let X=JSON.parse(J);return X=Yg(X),X}function ZA0(J,X){if(X instanceof RegExp)return{$mid:2,source:X.source,flags:X.flags};return X}function Yg(J,X=0){if(!J||X>200)return J;if(typeof J===\"object\"){switch(J.$mid){case 1:return R0.revive(J);case 2:return new RegExp(J.source,J.flags);case 17:return new Date(J.source)}if(J instanceof JV||J instanceof Uint8Array)return J;if(Array.isArray(J))for(let Y=0;Y<J.length;++Y)J[Y]=Yg(J[Y],X+1);else for(let Y in J)if(Object.hasOwnProperty.call(J,Y))J[Y]=Yg(J[Y],X+1)}return J}/*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */function $J0(J,X){(X==null||X>J.length)&&(X=J.length);for(var Y=0,Z=Array(X);Y<X;Y++)Z[Y]=J[Y];return Z}function QA0(J){if(Array.isArray(J))return J}function $A0(J,X){var Y=J==null?null:typeof Symbol<\"u\"&&J[Symbol.iterator]||J[\"@@iterator\"];if(Y!=null){var Z,Q,$,q,G=[],U=!0,H=!1;try{if($=(Y=Y.call(J)).next,X===0);else for(;!(U=(Z=$.call(Y)).done)&&(G.push(Z.value),G.length!==X);U=!0);}catch(V){H=!0,Q=V}finally{try{if(!U&&Y.return!=null&&(q=Y.return(),Object(q)!==q))return}finally{if(H)throw Q}}return G}}function qA0(){throw TypeError(`Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function GA0(J,X){return QA0(J)||$A0(J,X)||UA0(J,X)||qA0()}function UA0(J,X){if(J){if(typeof J==\"string\")return $J0(J,X);var Y={}.toString.call(J).slice(8,-1);return Y===\"Object\"&&J.constructor&&(Y=J.constructor.name),Y===\"Map\"||Y===\"Set\"?Array.from(J):Y===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Y)?$J0(J,X):void 0}}var{entries:AJ0,setPrototypeOf:qJ0,isFrozen:HA0,getPrototypeOf:VA0,getOwnPropertyDescriptor:KA0,freeze:g4,seal:lJ,create:bK}=Object,PJ0=typeof Reflect<\"u\"&&Reflect,Ug=PJ0.apply,Hg=PJ0.construct;if(!g4)g4=function(X){return X};if(!lJ)lJ=function(X){return X};if(!Ug)Ug=function(X,Y){for(var Z=arguments.length,Q=Array(Z>2?Z-2:0),$=2;$<Z;$++)Q[$-2]=arguments[$];return X.apply(Y,Q)};if(!Hg)Hg=function(X){for(var Y=arguments.length,Z=Array(Y>1?Y-1:0),Q=1;Q<Y;Q++)Z[Q-1]=arguments[Q];return new X(...Z)};var dG=x5(Array.prototype.forEach),jA0=x5(Array.prototype.lastIndexOf),GJ0=x5(Array.prototype.pop),EK=x5(Array.prototype.push),WA0=x5(Array.prototype.splice),v4=Array.isArray,X_=x5(String.prototype.toLowerCase),Zg=x5(String.prototype.toString),UJ0=x5(String.prototype.match),yK=x5(String.prototype.replace),HJ0=x5(String.prototype.indexOf),zA0=x5(String.prototype.trim),FA0=x5(Number.prototype.toString),BA0=x5(Boolean.prototype.toString),VJ0=typeof BigInt>\"u\"?null:x5(BigInt.prototype.toString),KJ0=typeof Symbol>\"u\"?null:x5(Symbol.prototype.toString),Z5=x5(Object.prototype.hasOwnProperty),J_=x5(Object.prototype.toString),v7=x5(RegExp.prototype.test),xK=_A0(TypeError);function x5(J){return function(X){if(X instanceof RegExp)X.lastIndex=0;for(var Y=arguments.length,Z=Array(Y>1?Y-1:0),Q=1;Q<Y;Q++)Z[Q-1]=arguments[Q];return Ug(J,X,Z)}}function _A0(J){return function(){for(var X=arguments.length,Y=Array(X),Z=0;Z<X;Z++)Y[Z]=arguments[Z];return Hg(J,Y)}}function L1(J,X){let Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:X_;if(qJ0)qJ0(J,null);if(!v4(X))return J;let Z=X.length;while(Z--){let Q=X[Z];if(typeof Q===\"string\"){let $=Y(Q);if($!==Q){if(!HA0(X))X[Z]=$;Q=$}}J[Q]=!0}return J}function AA0(J){for(let X=0;X<J.length;X++)if(!Z5(J,X))J[X]=null;return J}function z4(J){let X=bK(null);for(let Z of AJ0(J)){var Y=GA0(Z,2);let Q=Y[0],$=Y[1];if(Z5(J,Q))if(v4($))X[Q]=AA0($);else if($&&typeof $===\"object\"&&$.constructor===Object)X[Q]=z4($);else X[Q]=$}return X}function PA0(J){switch(typeof J){case\"string\":return J;case\"number\":return FA0(J);case\"boolean\":return BA0(J);case\"bigint\":return VJ0?VJ0(J):\"0\";case\"symbol\":return KJ0?KJ0(J):\"Symbol()\";case\"undefined\":return J_(J);case\"function\":case\"object\":{if(J===null)return J_(J);let X=J,Y=JZ(X,\"toString\");if(typeof Y===\"function\"){let Z=Y(X);return typeof Z===\"string\"?Z:J_(Z)}return J_(J)}default:return J_(J)}}function JZ(J,X){while(J!==null){let Z=KA0(J,X);if(Z){if(Z.get)return x5(Z.get);if(typeof Z.value===\"function\")return x5(Z.value)}J=VA0(J)}function Y(){return null}return Y}function DA0(J){try{return v7(J,\"\"),!0}catch(X){return!1}}var jJ0=g4([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"search\",\"section\",\"select\",\"shadow\",\"slot\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),Qg=g4([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"enterkeyhint\",\"exportparts\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"inputmode\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"part\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]),$g=g4([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]),OA0=g4([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]),qg=g4([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\",\"mprescripts\"]),MA0=g4([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]),WJ0=g4([\"#text\"]),zJ0=g4([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"command\",\"commandfor\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"exportparts\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inert\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"part\",\"pattern\",\"placeholder\",\"playsinline\",\"popover\",\"popovertarget\",\"popovertargetaction\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"slot\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"wrap\",\"xmlns\"]),Gg=g4([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"amplitude\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"exponent\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"intercept\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"mask-type\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"slope\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"tablevalues\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]),FJ0=g4([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnalign\",\"columnlines\",\"columnspacing\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lquote\",\"lspace\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]),Dw=g4([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]),RA0=lJ(/{{[\\w\\W]*|^[\\w\\W]*}}/g),NA0=lJ(/<%[\\w\\W]*|^[\\w\\W]*%>/g),wA0=lJ(/\\${[\\w\\W]*/g),TA0=lJ(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/),LA0=lJ(/^aria-[\\-\\w]+$/),BJ0=lJ(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),IA0=lJ(/^(?:\\w+script|data):/i),kA0=lJ(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),EA0=lJ(/^html$/i),yA0=lJ(/^[a-z][.\\w]*(-[.\\w]+)+$/i),eY={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},xA0=function(){return typeof window>\"u\"?null:window},bA0=function(X,Y){if(typeof X!==\"object\"||typeof X.createPolicy!==\"function\")return null;let Z=null,Q=\"data-tt-policy-suffix\";if(Y&&Y.hasAttribute(Q))Z=Y.getAttribute(Q);let $=\"dompurify\"+(Z?\"#\"+Z:\"\");try{return X.createPolicy($,{createHTML(q){return q},createScriptURL(q){return q}})}catch(q){return console.warn(\"TrustedTypes policy \"+$+\" could not be created.\"),null}},_J0=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function DJ0(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xA0(),X=(r0)=>DJ0(r0);if(X.version=\"3.4.8\",X.removed=[],!J||!J.document||J.document.nodeType!==eY.document||!J.Element)return X.isSupported=!1,X;let Y=J.document,Z=Y,Q=Z.currentScript;J.DocumentFragment;let{HTMLTemplateElement:$,Node:q,Element:G,NodeFilter:U,NamedNodeMap:H}=J;H===void 0&&(J.NamedNodeMap||J.MozNamedAttrMap),J.HTMLFormElement;let{DOMParser:V,trustedTypes:K}=J,j=G.prototype,W=JZ(j,\"cloneNode\"),z=JZ(j,\"remove\"),B=JZ(j,\"nextSibling\"),P=JZ(j,\"childNodes\"),_=JZ(j,\"parentNode\"),A=JZ(j,\"shadowRoot\"),O=JZ(j,\"attributes\"),D=q&&q.prototype?JZ(q.prototype,\"nodeType\"):null,R=q&&q.prototype?JZ(q.prototype,\"nodeName\"):null;if(typeof $===\"function\"){let r0=Y.createElement(\"template\");if(r0.content&&r0.content.ownerDocument)Y=r0.content.ownerDocument}let N,w=\"\",k=0,I=function(v){if(k>0)throw xK('The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.');k++;try{return N.createHTML(v)}finally{k--}},S=Y,h=S.implementation,u=S.createNodeIterator,p=S.createDocumentFragment,s=S.getElementsByTagName,l=Z.importNode,n=_J0();X.isSupported=typeof AJ0===\"function\"&&typeof _===\"function\"&&h&&h.createHTMLDocument!==void 0;let X0=RA0,V0=NA0,e=wA0,L0=TA0,k0=LA0,N0=IA0,u0=kA0,z1=yA0,F1=BJ0,e0=null,v6=L1({},[...jJ0,...Qg,...$g,...qg,...WJ0]),q1=null,C5=L1({},[...zJ0,...Gg,...FJ0,...Dw]),Z6=Object.seal(bK(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),r5=null,EU=null,tX=Object.seal(bK(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),uj=!0,yU=!0,xU=!1,cj=!0,eX=!1,L3=!0,RZ=!1,I3=!1,k3=!1,NZ=!1,bU=!1,CU=!1,kA=!0,EA=!1,dj=\"user-content-\",lj=!0,S0=!1,p1={},P6=null,a7=L1({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]),JX=null,wZ=L1({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]),sj=null,Ud=L1({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),yA=\"http://www.w3.org/1998/Math/MathML\",xA=\"http://www.w3.org/2000/svg\",JY=\"http://www.w3.org/1999/xhtml\",SU=JY,AI=!1,PI=null,cq0=L1({},[yA,xA,JY],Zg),DI=L1({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),OI=L1({},[\"annotation-xml\"]),dq0=L1({},[\"title\",\"style\",\"font\",\"a\",\"script\"]),aj=null,lq0=[\"application/xhtml+xml\",\"text/html\"],sq0=\"text/html\",q5=null,fU=null,aq0=Y.createElement(\"form\"),Hd=function(v){return v instanceof RegExp||v instanceof Function},MI=function(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(fU&&fU===v)return;if(!v||typeof v!==\"object\")v={};v=z4(v),aj=lq0.indexOf(v.PARSER_MEDIA_TYPE)===-1?sq0:v.PARSER_MEDIA_TYPE,q5=aj===\"application/xhtml+xml\"?Zg:X_,e0=Z5(v,\"ALLOWED_TAGS\")&&v4(v.ALLOWED_TAGS)?L1({},v.ALLOWED_TAGS,q5):v6,q1=Z5(v,\"ALLOWED_ATTR\")&&v4(v.ALLOWED_ATTR)?L1({},v.ALLOWED_ATTR,q5):C5,PI=Z5(v,\"ALLOWED_NAMESPACES\")&&v4(v.ALLOWED_NAMESPACES)?L1({},v.ALLOWED_NAMESPACES,Zg):cq0,sj=Z5(v,\"ADD_URI_SAFE_ATTR\")&&v4(v.ADD_URI_SAFE_ATTR)?L1(z4(Ud),v.ADD_URI_SAFE_ATTR,q5):Ud,JX=Z5(v,\"ADD_DATA_URI_TAGS\")&&v4(v.ADD_DATA_URI_TAGS)?L1(z4(wZ),v.ADD_DATA_URI_TAGS,q5):wZ,P6=Z5(v,\"FORBID_CONTENTS\")&&v4(v.FORBID_CONTENTS)?L1({},v.FORBID_CONTENTS,q5):a7,r5=Z5(v,\"FORBID_TAGS\")&&v4(v.FORBID_TAGS)?L1({},v.FORBID_TAGS,q5):z4({}),EU=Z5(v,\"FORBID_ATTR\")&&v4(v.FORBID_ATTR)?L1({},v.FORBID_ATTR,q5):z4({}),p1=Z5(v,\"USE_PROFILES\")?v.USE_PROFILES&&typeof v.USE_PROFILES===\"object\"?z4(v.USE_PROFILES):v.USE_PROFILES:!1,uj=v.ALLOW_ARIA_ATTR!==!1,yU=v.ALLOW_DATA_ATTR!==!1,xU=v.ALLOW_UNKNOWN_PROTOCOLS||!1,cj=v.ALLOW_SELF_CLOSE_IN_ATTR!==!1,eX=v.SAFE_FOR_TEMPLATES||!1,L3=v.SAFE_FOR_XML!==!1,RZ=v.WHOLE_DOCUMENT||!1,NZ=v.RETURN_DOM||!1,bU=v.RETURN_DOM_FRAGMENT||!1,CU=v.RETURN_TRUSTED_TYPE||!1,k3=v.FORCE_BODY||!1,kA=v.SANITIZE_DOM!==!1,EA=v.SANITIZE_NAMED_PROPS||!1,lj=v.KEEP_CONTENT!==!1,S0=v.IN_PLACE||!1,F1=DA0(v.ALLOWED_URI_REGEXP)?v.ALLOWED_URI_REGEXP:BJ0,SU=typeof v.NAMESPACE===\"string\"?v.NAMESPACE:JY,DI=Z5(v,\"MATHML_TEXT_INTEGRATION_POINTS\")&&v.MATHML_TEXT_INTEGRATION_POINTS&&typeof v.MATHML_TEXT_INTEGRATION_POINTS===\"object\"?z4(v.MATHML_TEXT_INTEGRATION_POINTS):L1({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),OI=Z5(v,\"HTML_INTEGRATION_POINTS\")&&v.HTML_INTEGRATION_POINTS&&typeof v.HTML_INTEGRATION_POINTS===\"object\"?z4(v.HTML_INTEGRATION_POINTS):L1({},[\"annotation-xml\"]);let U0=Z5(v,\"CUSTOM_ELEMENT_HANDLING\")&&v.CUSTOM_ELEMENT_HANDLING&&typeof v.CUSTOM_ELEMENT_HANDLING===\"object\"?z4(v.CUSTOM_ELEMENT_HANDLING):bK(null);if(Z6=bK(null),Z5(U0,\"tagNameCheck\")&&Hd(U0.tagNameCheck))Z6.tagNameCheck=U0.tagNameCheck;if(Z5(U0,\"attributeNameCheck\")&&Hd(U0.attributeNameCheck))Z6.attributeNameCheck=U0.attributeNameCheck;if(Z5(U0,\"allowCustomizedBuiltInElements\")&&typeof U0.allowCustomizedBuiltInElements===\"boolean\")Z6.allowCustomizedBuiltInElements=U0.allowCustomizedBuiltInElements;if(eX)yU=!1;if(bU)NZ=!0;if(p1){if(e0=L1({},WJ0),q1=bK(null),p1.html===!0)L1(e0,jJ0),L1(q1,zJ0);if(p1.svg===!0)L1(e0,Qg),L1(q1,Gg),L1(q1,Dw);if(p1.svgFilters===!0)L1(e0,$g),L1(q1,Gg),L1(q1,Dw);if(p1.mathMl===!0)L1(e0,qg),L1(q1,FJ0),L1(q1,Dw)}if(tX.tagCheck=null,tX.attributeCheck=null,Z5(v,\"ADD_TAGS\")){if(typeof v.ADD_TAGS===\"function\")tX.tagCheck=v.ADD_TAGS;else if(v4(v.ADD_TAGS)){if(e0===v6)e0=z4(e0);L1(e0,v.ADD_TAGS,q5)}}if(Z5(v,\"ADD_ATTR\")){if(typeof v.ADD_ATTR===\"function\")tX.attributeCheck=v.ADD_ATTR;else if(v4(v.ADD_ATTR)){if(q1===C5)q1=z4(q1);L1(q1,v.ADD_ATTR,q5)}}if(Z5(v,\"ADD_URI_SAFE_ATTR\")&&v4(v.ADD_URI_SAFE_ATTR))L1(sj,v.ADD_URI_SAFE_ATTR,q5);if(Z5(v,\"FORBID_CONTENTS\")&&v4(v.FORBID_CONTENTS)){if(P6===a7)P6=z4(P6);L1(P6,v.FORBID_CONTENTS,q5)}if(Z5(v,\"ADD_FORBID_CONTENTS\")&&v4(v.ADD_FORBID_CONTENTS)){if(P6===a7)P6=z4(P6);L1(P6,v.ADD_FORBID_CONTENTS,q5)}if(lj)e0[\"#text\"]=!0;if(RZ)L1(e0,[\"html\",\"head\",\"body\"]);if(e0.table)L1(e0,[\"tbody\"]),delete r5.tbody;if(v.TRUSTED_TYPES_POLICY){if(typeof v.TRUSTED_TYPES_POLICY.createHTML!==\"function\")throw xK('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(typeof v.TRUSTED_TYPES_POLICY.createScriptURL!==\"function\")throw xK('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');let h0=N;N=v.TRUSTED_TYPES_POLICY;try{w=I(\"\")}catch(D6){throw N=h0,D6}}else{if(N===void 0&&v.TRUSTED_TYPES_POLICY!==null)N=bA0(K,Q);if(N&&typeof w===\"string\")w=I(\"\")}if((n.uponSanitizeElement.length>0||n.uponSanitizeAttribute.length>0)&&e0===v6)e0=z4(e0);if(n.uponSanitizeAttribute.length>0&&q1===C5)q1=z4(q1);if(g4)g4(v);fU=v},Vd=L1({},[...Qg,...$g,...OA0]),Kd=L1({},[...qg,...MA0]),iq0=function(v){let U0=_(v);if(!U0||!U0.tagName)U0={namespaceURI:SU,tagName:\"template\"};let h0=X_(v.tagName),D6=X_(U0.tagName);if(!PI[v.namespaceURI])return!1;if(v.namespaceURI===xA){if(U0.namespaceURI===JY)return h0===\"svg\";if(U0.namespaceURI===yA)return h0===\"svg\"&&(D6===\"annotation-xml\"||DI[D6]);return Boolean(Vd[h0])}if(v.namespaceURI===yA){if(U0.namespaceURI===JY)return h0===\"math\";if(U0.namespaceURI===xA)return h0===\"math\"&&OI[D6];return Boolean(Kd[h0])}if(v.namespaceURI===JY){if(U0.namespaceURI===xA&&!OI[D6])return!1;if(U0.namespaceURI===yA&&!DI[D6])return!1;return!Kd[h0]&&(dq0[h0]||!Vd[h0])}if(aj===\"application/xhtml+xml\"&&PI[v.namespaceURI])return!0;return!1},XX=function(v){EK(X.removed,{element:v});try{_(v).removeChild(v)}catch(U0){z(v)}},E3=function(v,U0){try{EK(X.removed,{attribute:U0.getAttributeNode(v),from:U0})}catch(h0){EK(X.removed,{attribute:null,from:U0})}if(U0.removeAttribute(v),v===\"is\")if(NZ||bU)try{XX(U0)}catch(h0){}else try{U0.setAttribute(v,\"\")}catch(h0){}},jd=function(v){let U0=null,h0=null;if(k3)v=\"<remove></remove>\"+v;else{let J8=UJ0(v,/^[\\r\\n\\t ]+/);h0=J8&&J8[0]}if(aj===\"application/xhtml+xml\"&&SU===JY)v='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>'+v+\"</body></html>\";let D6=N?I(v):v;if(SU===JY)try{U0=new V().parseFromString(D6,aj)}catch(J8){}if(!U0||!U0.documentElement){U0=h.createDocument(SU,\"template\",null);try{U0.documentElement.innerHTML=AI?w:D6}catch(J8){}}let I1=U0.body||U0.documentElement;if(v&&h0)I1.insertBefore(Y.createTextNode(h0),I1.childNodes[0]||null);if(SU===JY)return s.call(U0,RZ?\"html\":\"body\")[0];return RZ?U0.documentElement:I1},Wd=function(v){return u.call(v.ownerDocument||v,v,U.SHOW_ELEMENT|U.SHOW_COMMENT|U.SHOW_TEXT|U.SHOW_PROCESSING_INSTRUCTION|U.SHOW_CDATA_SECTION,null)},RI=function(v){var U0,h0;v.normalize();let D6=u.call(v.ownerDocument||v,v,U.SHOW_TEXT|U.SHOW_COMMENT|U.SHOW_CDATA_SECTION|U.SHOW_PROCESSING_INSTRUCTION,null),I1=D6.nextNode();while(I1){let S5=I1.data;dG([X0,V0,e],(ZJ)=>{S5=yK(S5,ZJ,\" \")}),I1.data=S5,I1=D6.nextNode()}let J8=(U0=(h0=v.querySelectorAll)===null||h0===void 0?void 0:h0.call(v,\"template\"))!==null&&U0!==void 0?U0:[];dG(Array.from(J8),(S5)=>{if(hU(S5.content))RI(S5.content)})},bA=function(v){let U0=R?R(v):null;if(typeof U0!==\"string\")return!1;if(q5(U0)!==\"form\")return!1;return typeof v.nodeName!==\"string\"||typeof v.textContent!==\"string\"||typeof v.removeChild!==\"function\"||v.attributes!==O(v)||typeof v.removeAttribute!==\"function\"||typeof v.setAttribute!==\"function\"||typeof v.namespaceURI!==\"string\"||typeof v.insertBefore!==\"function\"||typeof v.hasChildNodes!==\"function\"||v.nodeType!==D(v)||v.childNodes!==P(v)},hU=function(v){if(!D||typeof v!==\"object\"||v===null)return!1;try{return D(v)===eY.documentFragment}catch(U0){return!1}},CA=function(v){if(!D||typeof v!==\"object\"||v===null)return!1;try{return typeof D(v)===\"number\"}catch(U0){return!1}};function TZ(r0,v,U0){dG(r0,(h0)=>{h0.call(X,v,U0,fU)})}let zd=function(v){let U0=null;if(TZ(n.beforeSanitizeElements,v,null),bA(v))return XX(v),!0;let h0=q5(R?R(v):v.nodeName);if(TZ(n.uponSanitizeElement,v,{tagName:h0,allowedTags:e0}),L3&&v.hasChildNodes()&&!CA(v.firstElementChild)&&v7(/<[/\\w!]/g,v.innerHTML)&&v7(/<[/\\w!]/g,v.textContent))return XX(v),!0;if(L3&&v.namespaceURI===JY&&h0===\"style\"&&CA(v.firstElementChild))return XX(v),!0;if(v.nodeType===eY.progressingInstruction)return XX(v),!0;if(L3&&v.nodeType===eY.comment&&v7(/<[/\\w]/g,v.data))return XX(v),!0;if(r5[h0]||!(tX.tagCheck instanceof Function&&tX.tagCheck(h0))&&!e0[h0]){if(!r5[h0]&&Bd(h0)){if(Z6.tagNameCheck instanceof RegExp&&v7(Z6.tagNameCheck,h0))return!1;if(Z6.tagNameCheck instanceof Function&&Z6.tagNameCheck(h0))return!1}if(lj&&!P6[h0]){let I1=_(v),J8=P(v);if(J8&&I1){let S5=J8.length;for(let ZJ=S5-1;ZJ>=0;--ZJ){let YX=W(J8[ZJ],!0);I1.insertBefore(YX,B(v))}}}return XX(v),!0}if((D?D(v):v.nodeType)===eY.element&&!iq0(v))return XX(v),!0;if((h0===\"noscript\"||h0===\"noembed\"||h0===\"noframes\")&&v7(/<\\/no(script|embed|frames)/i,v.innerHTML))return XX(v),!0;if(eX&&v.nodeType===eY.text){if(U0=v.textContent,dG([X0,V0,e],(I1)=>{U0=yK(U0,I1,\" \")}),v.textContent!==U0)EK(X.removed,{element:v.cloneNode()}),v.textContent=U0}return TZ(n.afterSanitizeElements,v,null),!1},Fd=function(v,U0,h0){if(EU[U0])return!1;if(kA&&(U0===\"id\"||U0===\"name\")&&((h0 in Y)||(h0 in aq0)))return!1;let D6=q1[U0]||tX.attributeCheck instanceof Function&&tX.attributeCheck(U0,v);if(yU&&!EU[U0]&&v7(L0,U0));else if(uj&&v7(k0,U0));else if(!D6||EU[U0])if(Bd(v)&&(Z6.tagNameCheck instanceof RegExp&&v7(Z6.tagNameCheck,v)||Z6.tagNameCheck instanceof Function&&Z6.tagNameCheck(v))&&(Z6.attributeNameCheck instanceof RegExp&&v7(Z6.attributeNameCheck,U0)||Z6.attributeNameCheck instanceof Function&&Z6.attributeNameCheck(U0,v))||U0===\"is\"&&Z6.allowCustomizedBuiltInElements&&(Z6.tagNameCheck instanceof RegExp&&v7(Z6.tagNameCheck,h0)||Z6.tagNameCheck instanceof Function&&Z6.tagNameCheck(h0)));else return!1;else if(sj[U0]);else if(v7(F1,yK(h0,u0,\"\")));else if((U0===\"src\"||U0===\"xlink:href\"||U0===\"href\")&&v!==\"script\"&&HJ0(h0,\"data:\")===0&&JX[v]);else if(xU&&!v7(N0,yK(h0,u0,\"\")));else if(h0)return!1;return!0},rq0=L1({},[\"annotation-xml\",\"color-profile\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"missing-glyph\"]),Bd=function(v){return!rq0[X_(v)]&&v7(z1,v)},_d=function(v){TZ(n.beforeSanitizeAttributes,v,null);let U0=v.attributes;if(!U0||bA(v))return;let h0={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:q1,forceKeepAttr:void 0},D6=U0.length;while(D6--){let I1=U0[D6],J8=I1.name,S5=I1.namespaceURI,ZJ=I1.value,YX=q5(J8),NI=ZJ,o5=J8===\"value\"?NI:zA0(NI);if(h0.attrName=YX,h0.attrValue=o5,h0.keepAttr=!0,h0.forceKeepAttr=void 0,TZ(n.uponSanitizeAttribute,v,h0),o5=h0.attrValue,EA&&(YX===\"id\"||YX===\"name\")&&HJ0(o5,dj)!==0)E3(J8,v),o5=dj+o5;if(L3&&v7(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,o5)){E3(J8,v);continue}if(YX===\"attributename\"&&UJ0(o5,\"href\")){E3(J8,v);continue}if(h0.forceKeepAttr)continue;if(!h0.keepAttr){E3(J8,v);continue}if(!cj&&v7(/\\/>/i,o5)){E3(J8,v);continue}if(eX)dG([X0,V0,e],(Pd)=>{o5=yK(o5,Pd,\" \")});let Ad=q5(v.nodeName);if(!Fd(Ad,YX,o5)){E3(J8,v);continue}if(N&&typeof K===\"object\"&&typeof K.getAttributeType===\"function\")if(S5);else switch(K.getAttributeType(Ad,YX)){case\"TrustedHTML\":{o5=I(o5);break}case\"TrustedScriptURL\":{o5=N.createScriptURL(o5);break}}if(o5!==NI)try{if(S5)v.setAttributeNS(S5,J8,o5);else v.setAttribute(J8,o5);if(bA(v))XX(v);else GJ0(X.removed)}catch(Pd){E3(J8,v)}}TZ(n.afterSanitizeAttributes,v,null)},SA=function(v){let U0=null,h0=Wd(v);TZ(n.beforeSanitizeShadowDOM,v,null);while(U0=h0.nextNode()){if(TZ(n.uponSanitizeShadowNode,U0,null),zd(U0),_d(U0),hU(U0.content))SA(U0.content);if((D?D(U0):U0.nodeType)===eY.element){let I1=A?A(U0):U0.shadowRoot;if(hU(I1))vU(I1),SA(I1)}}TZ(n.afterSanitizeShadowDOM,v,null)},vU=function(v){let U0=D?D(v):v.nodeType;if(U0===eY.element){let I1=A?A(v):v.shadowRoot;if(hU(I1))vU(I1),SA(I1)}let h0=P?P(v):v.childNodes;if(!h0)return;let D6=[];dG(h0,(I1)=>{EK(D6,I1)});for(let I1 of D6)vU(I1);if(U0===eY.element){let I1=R?R(v):null;if(typeof I1===\"string\"&&q5(I1)===\"template\"){let J8=v.content;if(hU(J8))vU(J8)}}};return X.sanitize=function(r0){let v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},U0=null,h0=null,D6=null,I1=null;if(AI=!r0,AI)r0=\"<!-->\";if(typeof r0!==\"string\"&&!CA(r0)){if(r0=PA0(r0),typeof r0!==\"string\")throw xK(\"dirty is not a string, aborting\")}if(!X.isSupported)return r0;if(!I3)MI(v);if(X.removed=[],typeof r0===\"string\")S0=!1;if(S0){let ZJ=R?R(r0):r0.nodeName;if(typeof ZJ===\"string\"){let YX=q5(ZJ);if(!e0[YX]||r5[YX])throw xK(\"root node is forbidden and cannot be sanitized in-place\")}if(bA(r0))throw xK(\"root node is clobbered and cannot be sanitized in-place\");vU(r0)}else if(CA(r0)){if(U0=jd(\"<!---->\"),h0=U0.ownerDocument.importNode(r0,!0),h0.nodeType===eY.element&&h0.nodeName===\"BODY\")U0=h0;else if(h0.nodeName===\"HTML\")U0=h0;else U0.appendChild(h0);vU(h0)}else{if(!NZ&&!eX&&!RZ&&r0.indexOf(\"<\")===-1)return N&&CU?I(r0):r0;if(U0=jd(r0),!U0)return NZ?null:CU?w:\"\"}if(U0&&k3)XX(U0.firstChild);let J8=Wd(S0?r0:U0);while(D6=J8.nextNode())if(zd(D6),_d(D6),hU(D6.content))SA(D6.content);if(S0){if(eX)RI(r0);return r0}if(NZ){if(eX)RI(U0);if(bU){I1=p.call(U0.ownerDocument);while(U0.firstChild)I1.appendChild(U0.firstChild)}else I1=U0;if(q1.shadowroot||q1.shadowrootmode)I1=l.call(Z,I1,!0);return I1}let S5=RZ?U0.outerHTML:U0.innerHTML;if(RZ&&e0[\"!doctype\"]&&U0.ownerDocument&&U0.ownerDocument.doctype&&U0.ownerDocument.doctype.name&&v7(EA0,U0.ownerDocument.doctype.name))S5=\"<!DOCTYPE \"+U0.ownerDocument.doctype.name+`>\n`+S5;if(eX)dG([X0,V0,e],(ZJ)=>{S5=yK(S5,ZJ,\" \")});return N&&CU?I(S5):S5},X.setConfig=function(){let r0=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};MI(r0),I3=!0},X.clearConfig=function(){fU=null,I3=!1},X.isValidAttribute=function(r0,v,U0){if(!fU)MI({});let h0=q5(r0),D6=q5(v);return Fd(h0,D6,U0)},X.addHook=function(r0,v){if(typeof v!==\"function\")return;EK(n[r0],v)},X.removeHook=function(r0,v){if(v!==void 0){let U0=jA0(n[r0],v);return U0===-1?void 0:WA0(n[r0],U0,1)[0]}return GJ0(n[r0])},X.removeHooks=function(r0){n[r0]=[]},X.removeAllHooks=function(){n=_J0()},X}var lG=DJ0();var Kg=Object.freeze([\"a\",\"abbr\",\"b\",\"bdo\",\"blockquote\",\"br\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"dd\",\"del\",\"details\",\"dfn\",\"div\",\"dl\",\"dt\",\"em\",\"figcaption\",\"figure\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"hr\",\"i\",\"img\",\"ins\",\"kbd\",\"label\",\"li\",\"mark\",\"ol\",\"p\",\"pre\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"small\",\"small\",\"source\",\"span\",\"strike\",\"strong\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),MJ0=Object.freeze([\"href\",\"target\",\"src\",\"alt\",\"title\",\"for\",\"name\",\"role\",\"tabindex\",\"x-dispatch\",\"required\",\"checked\",\"placeholder\",\"type\",\"start\",\"width\",\"height\",\"align\"]),Vg=\"vscode-relative-path\";function OJ0(J,X){if(X.override===\"*\")return!0;try{let Y=new URL(J,Vg+\"://\");if(X.override.includes(Y.protocol.replace(/:$/,\"\")))return!0;if(X.allowRelativePaths&&Y.protocol===Vg+\":\"&&!J.trim().toLowerCase().startsWith(Vg))return!0;return!1}catch(Y){return!1}}function CA0(J,X){lG.addHook(\"afterSanitizeAttributes\",(Y)=>{for(let Z of[\"href\",\"src\"])if(Y.hasAttribute(Z)){let Q=Y.getAttribute(Z);if(Z===\"href\"){if(!Q.startsWith(\"#\")&&!OJ0(Q,J))Y.removeAttribute(Z)}else if(!OJ0(Q,X))Y.removeAttribute(Z)}})}var SA0=Object.freeze({ALLOWED_TAGS:[...Kg],ALLOWED_ATTR:[...MJ0],ALLOW_UNKNOWN_PROTOCOLS:!0});function RJ0(J,X){return NJ0(J,X,\"trusted\")}function NJ0(J,X,Y){try{let Z={...SA0};if(X?.allowedTags){if(X.allowedTags.override)Z.ALLOWED_TAGS=[...X.allowedTags.override];if(X.allowedTags.augment)Z.ALLOWED_TAGS=[...Z.ALLOWED_TAGS??[],...X.allowedTags.augment]}let Q=[...MJ0];if(X?.allowedAttributes){if(X.allowedAttributes.override)Q=[...X.allowedAttributes.override];if(X.allowedAttributes.augment)Q=[...Q,...X.allowedAttributes.augment]}Q=Q.map((G)=>{if(typeof G===\"string\")return G.toLowerCase();return{attributeName:G.attributeName.toLowerCase(),shouldKeep:G.shouldKeep}});let $=new Set(Q.map((G)=>typeof G===\"string\"?G:G.attributeName)),q=new Map;for(let G of Q)if(typeof G===\"string\")q.delete(G);else q.set(G.attributeName,G);if(Z.ALLOWED_ATTR=Array.from($),CA0({override:X?.allowedLinkProtocols?.override??[T0.http,T0.https],allowRelativePaths:X?.allowRelativeLinkPaths??!1},{override:X?.allowedMediaProtocols?.override??[T0.http,T0.https],allowRelativePaths:X?.allowRelativeMediaPaths??!1}),X?.replaceWithPlaintext)lG.addHook(\"uponSanitizeElement\",hA0);if(q.size)lG.addHook(\"uponSanitizeAttribute\",(G,U)=>{let H=q.get(U.attrName);if(H){let V=H.shouldKeep(G,U);if(typeof V===\"string\")U.keepAttr=!0,U.attrValue=V;else U.keepAttr=V}else U.keepAttr=$.has(U.attrName)});if(Y===\"dom\")return lG.sanitize(J,{...Z,RETURN_DOM_FRAGMENT:!0});else return lG.sanitize(J,{...Z,RETURN_TRUSTED_TYPE:!0})}finally{lG.removeAllHooks()}}var fA0=[\"area\",\"base\",\"br\",\"col\",\"command\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],hA0=(J,X,Y)=>{if(!X.allowedTags[X.tagName]&&X.tagName!==\"body\"){let Z=jg(J);if(Z)if(J.nodeType===Node.COMMENT_NODE)J.parentElement?.insertBefore(Z,J);else J.parentElement?.replaceChild(Z,J)}};function jg(J){if(!J.ownerDocument)return;let X,Y;if(J.nodeType===Node.COMMENT_NODE)X=`<!--${J.textContent}-->`;else if(J instanceof Element){let q=J.tagName.toLowerCase(),G=fA0.includes(q),U=J.attributes.length?\" \"+Array.from(J.attributes).map((H)=>`${H.name}=\"${H.value}\"`).join(\" \"):\"\";if(X=`<${q}${U}>`,!G)Y=`</${q}>`}else return;let Z=document.createDocumentFragment(),Q=J.ownerDocument.createTextNode(X);Z.appendChild(Q);while(J.firstChild)Z.appendChild(J.firstChild);let $=Y?J.ownerDocument.createTextNode(Y):void 0;if($)Z.appendChild($);return Z}function Ow(J,X,Y){let Z=NJ0(X,Y,\"dom\");$8(J,Z)}var vA0=new RegExp(`(\\\\\\\\)?\\\\$\\\\((${M0.iconNameExpression}(?:${M0.iconModifierExpression})?)\\\\)`,\"g\");function sJ(J,X){let Y=[],Z,Q=0,$=0;while((Z=vA0.exec(J))!==null){if($=Z.index||0,Q<$)Y.push(J.substring(Q,$));Q=(Z.index||0)+Z[0].length;let[,q,G]=Z;Y.push(q?`$(${G})`:e2({id:G},X))}if(Q<J.length)Y.push(J.substring(Q));return Y}function e2(J,X){let Y=$0(\"span\"),Z=M0.asClassNameArray(J);if(X)Z.push(\"codicon-colored\");return Y.classList.add(...Z),Y}function gA0(J){try{let X=R0.parse(J);if(X.scheme===T0.file){let{fsPath:Y,fragment:Z}=X;return IK(Z?`${Y}#${Z}`:Y)}}catch{}return\"\"}var Wg=Object.freeze({image:({href:J,title:X,text:Y})=>{let Z=[],Q=[];if(J)({href:J,dimensions:Z}=m90(J)),Q.push(`src=\"${IK(J)}\"`);if(Y)Q.push(`alt=\"${IK(Y)}\"`);if(X)Q.push(`title=\"${IK(X)}\"`);if(Z.length)Q=Q.concat(Z);return\"<img \"+Q.join(\" \")+\">\"},paragraph({tokens:J}){return`<p>${this.parser.parseInline(J)}</p>`},link({href:J,title:X,tokens:Y}){let Z=this.parser.parseInline(Y);if(typeof J!==\"string\")return\"\";if(J===Z)Z=Ww(Z);if(X=typeof X===\"string\"?IK(Ww(X)):\"\",J=Ww(J),!X&&J.startsWith(`${T0.file}:`))X=gA0(J);let Q=J.startsWith(`${T0.command}:`);return J=J.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\"),`<a href=\"${J}\" title=\"${X||(Q?\"\":J)}\" draggable=\"false\">${Z}</a>`}});function pA0(J){return function(X){let{tokens:Y}=X,Z=Y[0];if(Z?.type!==\"paragraph\")return J.call(this,X);let Q=Z.tokens;if(!Q||Q.length===0)return J.call(this,X);let $=Q[0];if($?.type!==\"text\")return J.call(this,X);let q=/^\\s*\\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\\]\\s*?\\n*/i,G=$.raw.match(q);if(!G)return J.call(this,X);$.raw=$.raw.replace(q,\"\"),$.text=$.text.replace(q,\"\");let U={note:\"info\",tip:\"light-bulb\",important:\"comment\",warning:\"alert\",caution:\"stop\"},H=G[1],V=H.charAt(0).toUpperCase()+H.slice(1).toLowerCase(),K=H.toLowerCase(),j=e2({id:U[K]}).outerHTML,W=this.parser.parse(Y);return`<blockquote data-severity=\"${K}\"><p><span>${j}${V}</span>${W.substring(3)}</blockquote>\n`}}function hX(J,X={},Y){let Z=new a,Q=!1,$=new Pw(...X.markedExtensions??[]),{renderer:q,codeBlocks:G,syncCodeBlocks:U}=uA0($,X,J),H=cA0(J),V;if(X.fillInIncompleteTokens){let z={...$.defaults,...X.markedOptions,renderer:q},B=$.lexer(H,z),P=XP0(B);V=$.parser(P,z)}else V=$.parse(H,{...X?.markedOptions,renderer:q,async:!1});if(J.supportThemeIcons)V=sJ(V).map((B)=>typeof B===\"string\"?B:B.outerHTML).join(\"\");let K=document.createElement(\"div\"),j=IJ0(J,X.sanitizerConfig??{});Ow(K,V,j),mA0(J,X,K);let W;if(Y)W=Y,$8(Y,...K.childNodes);else W=K;if(G.length>0)Promise.all(G).then((z)=>{if(Q)return;let B=new Map(z),P=W.querySelectorAll(\"div[data-code]\");for(let _ of P){let A=B.get(_.dataset.code??\"\");if(A)$8(_,A)}X.asyncRenderCallback?.()});else if(U.length>0){let z=new Map(U),B=W.querySelectorAll(\"div[data-code]\");for(let P of B){let _=z.get(P.dataset.code??\"\");if(_)$8(P,_)}}if(X.asyncRenderCallback)for(let z of W.getElementsByTagName(\"img\")){let B=Z.add(f(z,\"load\",()=>{B.dispose(),X.asyncRenderCallback()}))}if(X.actionHandler){let z=(B)=>{let P=new k8(Q0(W),B);if(!P.leftButton&&!P.middleButton)return;wJ0(J,X,P)};Z.add(f(W,\"click\",z)),Z.add(f(W,\"auxclick\",z)),Z.add(f(W,\"keydown\",(B)=>{let P=new Y1(B);if(!P.equals(10)&&!P.equals(3))return;wJ0(J,X,P)}))}for(let z of[...W.getElementsByTagName(\"input\")])if(z.attributes.getNamedItem(\"type\")?.value===\"checkbox\")z.setAttribute(\"disabled\",\"\");else if(X.sanitizerConfig?.replaceWithPlaintext){let B=jg(z);if(B)z.parentElement?.replaceChild(B,z);else z.remove()}else z.remove();return{element:W,dispose:()=>{Q=!0,Z.dispose()}}}function mA0(J,X,Y){for(let Z of Y.querySelectorAll(\"img, audio, video, source\")){let Q=Z.getAttribute(\"src\");if(Q){let $=Q;try{if(J.baseUri)$=zg(R0.from(J.baseUri),$)}catch(q){}if(Z.setAttribute(\"src\",TJ0(J,$,!0)),X.sanitizerConfig?.remoteImageIsAllowed){let q=R0.parse($);if(q.scheme!==T0.file&&q.scheme!==T0.data&&!X.sanitizerConfig.remoteImageIsAllowed(q))Z.replaceWith($0(\"\",void 0,Z.outerHTML))}}}for(let Z of Y.querySelectorAll(\"a\")){let Q=Z.getAttribute(\"href\");if(Z.setAttribute(\"href\",\"\"),!Q||/^data:|javascript:/i.test(Q)||/^command:/i.test(Q)&&!J.isTrusted||/^command:(\\/\\/\\/)?_workbench\\.downloadResource/i.test(Q))Z.replaceWith(...Z.childNodes);else{let $=TJ0(J,Q,!1);if(J.baseUri)$=zg(R0.from(J.baseUri),Q);Z.dataset.href=$}}}function uA0(J,X,Y){let Z=new J.Renderer(X.markedOptions);if(Z.image=Wg.image,Z.link=Wg.link,Z.paragraph=Wg.paragraph,Y.supportAlertSyntax)Z.blockquote=pA0(Z.blockquote);let Q=[],$=[];if(X.codeBlockRendererSync)Z.code=({text:q,lang:G,raw:U})=>{let H=iv.nextId(),V=X.codeBlockRendererSync(LJ0(G),q,U);return $.push([H,V]),`<div class=\"code\" data-code=\"${H}\">${w4(q)}</div>`};else if(X.codeBlockRenderer)Z.code=({text:q,lang:G})=>{let U=iv.nextId(),H=X.codeBlockRenderer(LJ0(G),q);return Q.push(H.then((V)=>[U,V])),`<div class=\"code\" data-code=\"${U}\">${w4(q)}</div>`};if(!Y.supportHtml)Z.html=({text:q})=>{if(X.sanitizerConfig?.replaceWithPlaintext)return w4(q);return(Y.isTrusted?q.match(/^(<span[^>]+>)|(<\\/\\s*span>)$/):void 0)?q:\"\"};return{renderer:Z,codeBlocks:Q,syncCodeBlocks:$}}function cA0(J){let X=J.value;if(X.length>1e5)X=`${X.substr(0,1e5)}…`;if(J.supportThemeIcons)X=g90(X);return X}function wJ0(J,X,Y){let Z=Y.target.closest(\"a[data-href]\");if(!a0(Z))return;try{let Q=Z.dataset.href;if(Q){if(J.baseUri)Q=zg(R0.from(J.baseUri),Q);X.actionHandler?.(Q,J)}}catch(Q){b0(Q)}finally{Y.preventDefault(),Y.stopPropagation()}}function dA0(J,X){let Y;try{Y=eB(decodeURIComponent(X))}catch(Z){}if(!Y)return X;return Y=ND(Y,(Z)=>{if(J.uris&&J.uris[Z])return R0.revive(J.uris[Z]);else return}),encodeURIComponent(JSON.stringify(Y))}function TJ0(J,X,Y){let Z=J.uris&&J.uris[X],Q=R0.revive(Z);if(Y){if(X.startsWith(T0.data+\":\"))return X;if(!Q)Q=R0.parse(X);return n$.uriToBrowserUri(Q).toString(!0)}if(!Q)return X;if(R0.parse(X).toString()===Q.toString())return X;if(Q.query)Q=Q.with({query:dA0(J,Q.query)});return Q.toString()}function LJ0(J){if(!J)return\"\";let X=J.split(/[\\s+|:|,|\\{|\\?]/,1);if(X.length)return X[0];return J}function zg(J,X){if(/^\\w[\\w\\d+.-]*:/.test(X))return X;if(J.path.endsWith(\"/\"))return Ub(J,X).toString();else return Ub(Pe(J),X).toString()}function lA0(J,X,Y={}){let Z=IJ0(X,Y);return RJ0(J,Z)}var sA0=Object.freeze([...Kg,\"input\"]),aA0=Object.freeze([\"align\",\"autoplay\",\"alt\",\"colspan\",\"controls\",\"draggable\",\"height\",\"href\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"rowspan\",\"src\",\"target\",\"title\",\"type\",\"width\",\"start\",\"checked\",\"disabled\",\"value\",\"data-code\",\"data-href\",\"data-severity\",{attributeName:\"style\",shouldKeep:(J,X)=>{if(J.tagName===\"SPAN\"){if(X.attrName===\"style\")return/^(color\\:(#[0-9a-fA-F]+|var\\(--vscode(-[a-zA-Z0-9]+)+\\));)?(background-color\\:(#[0-9a-fA-F]+|var\\(--vscode(-[a-zA-Z0-9]+)+\\));)?(border-radius:[0-9]+px;)?$/.test(X.attrValue)}return!1}},{attributeName:\"class\",shouldKeep:(J,X)=>{if(J.tagName===\"SPAN\"){if(X.attrName===\"class\")return/^codicon codicon-[a-z\\-]+( codicon-modifier-[a-z\\-]+)?$/.test(X.attrValue)}return!1}}]);function IJ0(J,X){let Y=J.isTrusted??!1,Z=[T0.http,T0.https,T0.mailto,T0.file,T0.vscodeFileResource,T0.vscodeRemote,T0.vscodeRemoteResource,T0.vscodeNotebookCell,T0.internal];if(Y)Z.push(T0.command);if(X.allowedLinkSchemes?.augment)Z.push(...X.allowedLinkSchemes.augment);return{allowedTags:{override:X.allowedTags?.override??sA0},allowedAttributes:{override:X.allowedAttributes?.override??aA0},allowedLinkProtocols:{override:Z},allowRelativeLinkPaths:!!J.baseUri,allowedMediaProtocols:{override:[T0.http,T0.https,T0.data,T0.file,T0.vscodeFileResource,T0.vscodeRemote,T0.vscodeRemoteResource]},allowRelativeMediaPaths:!!J.baseUri,replaceWithPlaintext:X.replaceWithPlaintext}}function kJ0(J,X){if(typeof J===\"string\")return J;let Y=J.value??\"\";if(Y.length>1e5)Y=`${Y.substr(0,1e5)}…`;let Z=rA0(),Q=ZJ0(Y,{async:!1,renderer:Z});return lA0(Q,{isTrusted:!1},{}).toString().replace(/&(#\\d+|[a-zA-Z]+);/g,($)=>iA0.get($)??$).trim()}var iA0=new Map([[\"&quot;\",'\"'],[\"&nbsp;\",\" \"],[\"&amp;\",\"&\"],[\"&#39;\",\"'\"],[\"&lt;\",\"<\"],[\"&gt;\",\">\"]]);function rA0(){let J=new mG;return J.code=({text:X})=>{return w4(X)},J.blockquote=({text:X})=>{return X+`\n`},J.html=(X)=>{return\"\"},J.heading=function({tokens:X}){return this.parser.parseInline(X)+`\n`},J.hr=()=>{return\"\"},J.list=function({items:X}){return X.map((Y)=>this.listitem(Y)).join(`\n`)+`\n`},J.listitem=({text:X})=>{return X+`\n`},J.paragraph=function({tokens:X}){return this.parser.parseInline(X)+`\n`},J.table=function({header:X,rows:Y}){return X.map((Z)=>this.tablecell(Z)).join(\" \")+`\n`+Y.map((Z)=>Z.map((Q)=>this.tablecell(Q)).join(\" \")).join(`\n`)+`\n`},J.tablerow=({text:X})=>{return X},J.tablecell=function({tokens:X}){return this.parser.parseInline(X)},J.strong=({text:X})=>{return X},J.em=({text:X})=>{return X},J.codespan=({text:X})=>{return X},J.br=(X)=>{return`\n`},J.del=({text:X})=>{return X},J.image=(X)=>{return\"\"},J.text=({text:X})=>{return X},J.link=({text:X})=>{return X},J}function Y_(J){let X=\"\";return J.forEach((Y)=>{X+=Y.raw}),X}function EJ0(J){if(!J.tokens)return;for(let X=J.tokens.length-1;X>=0;X--){let Y=J.tokens[X];if(Y.type===\"text\"){let Z=Y.raw.split(`\n`),Q=Z[Z.length-1];if(Q.includes(\"`\"))return ZP0(J);else if(Q.includes(\"**\"))return HP0(J);else if(Q.match(/\\*\\w/))return QP0(J);else if(Q.match(/(^|\\s)__\\w/))return VP0(J);else if(Q.match(/(^|\\s)_\\w/))return $P0(J);else if(oA0(Q)||nA0(Q)&&J.tokens.slice(0,X).some(($)=>$.type===\"text\"&&$.raw.match(/\\[[^\\]]*$/))){let $=J.tokens.slice(X+1);if($[0]?.type===\"link\"&&$[1]?.type===\"text\"&&$[1].raw.match(/^ *\"[^\"]*$/)||Q.match(/^[^\"]* +\"[^\"]*$/))return GP0(J);return qP0(J)}else if(Q.match(/(^|\\s)\\[\\w*[^\\]]*$/))return UP0(J)}}return}function oA0(J){return!!J.match(/(^|\\s)\\[.*\\]\\(\\w*/)}function nA0(J){return!!J.match(/^[^\\[]*\\]\\([^\\)]*$/)}function tA0(J){let X=J.items[J.items.length-1],Y=X.tokens?X.tokens[X.tokens.length-1]:void 0,Z=(H)=>{let K=H.items.at(-1)?.tokens.at(-1);return K?.type===\"heading\"||K?.type===\"list\"&&Z(K)},Q;if(Y?.type===\"text\"&&!(\"inRawBlock\"in X))Q=EJ0(Y);else if(Z(J)){let H=kK(J.raw.trim()+\" &nbsp;\")[0];if(H.type!==\"list\")return;return H}if(!Q||Q.type!==\"paragraph\")return;let $=Y_(J.items.slice(0,-1)),q=X.raw.match(/^(\\s*(-|\\d+\\.|\\*) +)/)?.[0];if(!q)return;let G=q+Y_(X.tokens.slice(0,-1))+Q.raw,U=kK($+G)[0];if(U.type!==\"list\")return;return U}function eA0(J,X){if(J.raw.match(/-\\s*$/))return kK(X+\" &nbsp;\")}var JP0=3;function XP0(J){for(let X=0;X<JP0;X++){let Y=YP0(J);if(Y)J=Y;else break}return J}function YP0(J){let X,Y;for(X=0;X<J.length;X++){let G=J[X];if(G.type===\"paragraph\"&&G.raw.match(/(\\n|^)\\|/)){Y=KP0(J.slice(X));break}}let Z=J.length-1;while(Z>=0&&(J[Z].type===\"space\"||J[Z].type===\"html\"))Z--;let Q=Z>=0?J[Z]:void 0,$=J.slice(Z+1);if(!Y&&Q?.type===\"list\"){let G=tA0(Q);if(G)Y=[G,...$],X=Z}if(!Y&&Q?.type===\"paragraph\"){let G=EJ0(Q);if(G)Y=[G,...$],X=Z}if(Y){let G=[...J.slice(0,X),...Y];return G.links=J.links,G}let q=J.at(-1);if(q?.type===\"heading\"){let G=eA0(q,Y_(J));if(G)return G}return null}function ZP0(J){return J3(J,\"`\")}function QP0(J){return J3(J,\"*\")}function $P0(J){return J3(J,\"_\")}function qP0(J){return J3(J,\")\",!1)}function GP0(J){return J3(J,'\")',!1)}function UP0(J){return J3(J,\"](https://microsoft.com)\",!1)}function HP0(J){return J3(J,\"**\")}function VP0(J){return J3(J,\"__\")}function J3(J,X,Y=!0){let Z=Y_(Array.isArray(J)?J:[J]),Q=Y?Z.trimEnd():Z;return kK(Q+X)[0]}function KP0(J){let X=Y_(J),Y=X.split(`\n`),Z,Q=!1;for(let $=0;$<Y.length;$++){let q=Y[$].trim();if(typeof Z>\"u\"&&q.match(/^\\s*\\|/)){let G=q.match(/(\\|[^\\|]+)(?=\\||$)/g);if(G)Z=G.length}else if(typeof Z===\"number\")if(q.match(/^\\s*\\|/)){if($!==Y.length-1)return;Q=!0}else return}if(typeof Z===\"number\"&&Z>0){let $=Q?Y.slice(0,-1).join(`\n`):X,q=!!$.match(/\\|\\s*$/),G=$+(q?\"\":\"|\")+`\n|${\" --- |\".repeat(Z)}`;return kK(G)}return}var p4=W0(\"openerService\");function yJ0(J){let X=void 0,Y=/^L?(\\d+)(?:,(\\d+))?(-L?(\\d+)(?:,(\\d+))?)?/.exec(J.fragment);if(Y)X={startLineNumber:parseInt(Y[1]),startColumn:Y[2]?parseInt(Y[2]):1,endLineNumber:Y[4]?parseInt(Y[4]):void 0,endColumn:Y[4]?Y[5]?parseInt(Y[5]):1:void 0},J=J.with({fragment:\"\"});return{selection:X,uri:J}}var jP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},WP0=function(J,X){return function(Y,Z){X(Y,Z,J)}},CK=W0(\"markdownRendererService\"),Fg=class{constructor(X){this._openerService=X}render(X,Y,Z){let Q={...Y};if(!Q.actionHandler)Q.actionHandler=(q,G)=>{return Bg(this._openerService,q,G.isTrusted)};if(!Q.codeBlockRenderer)Q.codeBlockRenderer=(q,G)=>{return this._defaultCodeBlockRenderer?.renderCodeBlock(q,G,Q??{})??Promise.resolve(document.createElement(\"span\"))};let $=hX(X,Q,Z);return $.element.classList.add(\"rendered-markdown\"),$}setDefaultCodeBlockRenderer(X){this._defaultCodeBlockRenderer=X}};Fg=jP0([WP0(0,p4)],Fg);async function Bg(J,X,Y,Z){try{return await J.open(X,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:zP0(Y),skipValidation:Z})}catch(Q){return b0(Q),!1}}function zP0(J){if(J===!0)return!0;if(J&&Array.isArray(J.enabledCommands))return J.enabledCommands;return!1}f0(CK,Fg,1);var FP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Mw=function(J,X){return function(Y,Z){X(Y,Z,J)}},XZ=$0,Rw=class extends F8{get _targetWindow(){return Q0(this._target.targetElements[0])}get _targetDocumentElement(){return Q0(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(X){if(this._isLocked===X)return;this._isLocked=X,this._hoverContainer.classList.toggle(\"locked\",this._isLocked)}addMouseTrackingElement(X){return this._lockMouseTracker.addElement(X)}constructor(X,Y,Z,Q,$){super();if(this._keybindingService=Y,this._configurationService=Z,this._markdownRenderer=Q,this._accessibilityService=$,this._messageListeners=new a,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._maxHeightRatioRelativeToWindow=0.5,this._onDispose=this._register(new E),this._onRequestLayout=this._register(new E),this._linkHandler=X.linkHandler,this._target=\"targetElements\"in X.target?X.target:new xJ0(X.target),X.style)switch(X.style){case 1:{X.appearance??={},X.appearance.compact??=!0,X.appearance.showPointer??=!0;break}case 2:{X.appearance??={},X.appearance.compact??=!0;break}}if(this._hoverPointer=X.appearance?.showPointer?XZ(\"div.workbench-hover-pointer\"):void 0,this._hover=this._register(new hv(!X.appearance?.skipFadeInAnimation)),this._hover.containerDomNode.classList.add(\"workbench-hover\"),X.appearance?.compact)this._hover.containerDomNode.classList.add(\"workbench-hover\",\"compact\");if(this._hoverPointer)this._hover.containerDomNode.classList.add(\"with-pointer\");if(X.additionalClasses)this._hover.containerDomNode.classList.add(...X.additionalClasses);if(X.position?.forcePosition)this._forcePosition=!0;if(X.trapFocus)this._enableFocusTraps=!0;let q=X.appearance?.maxHeightRatio;if(q!==void 0&&q>0&&q<=1)this._maxHeightRatioRelativeToWindow=q;this._hoverPosition=X.position?.hoverPosition===void 0?3:r7(X.position.hoverPosition)?X.position.hoverPosition:2,this.onmousedown(this._hover.containerDomNode,(j)=>j.stopPropagation()),this.onkeydown(this._hover.containerDomNode,(j)=>{if(j.equals(9))this.dispose()}),this._register(f(this._targetWindow,\"blur\",()=>this.dispose()));let G=XZ(\"div.hover-row.markdown-hover\"),U=XZ(\"div.hover-contents\");if(typeof X.content===\"string\")U.textContent=X.content,U.style.whiteSpace=\"pre-wrap\";else if(a0(X.content)){U.appendChild(X.content),U.classList.add(\"html-hover-contents\");let j=new ResizeObserver(()=>{this.layout(),this._onRequestLayout.fire()});j.observe(U),this._register(J0(()=>j.disconnect()))}else{let j=X.content,{element:W}=this._register(this._markdownRenderer.render(j,{actionHandler:this._linkHandler,asyncRenderCallback:()=>{U.classList.add(\"code-hover-contents\"),this.layout(),this._onRequestLayout.fire()}}));U.appendChild(W)}if(G.appendChild(U),this._hover.contentsDomNode.appendChild(G),X.actions&&X.actions.length>0){let j=XZ(\"div.hover-row.status-bar\"),W=XZ(\"div.actions\");X.actions.forEach((z)=>{let B=this._keybindingService.lookupKeybinding(z.commandId),P=B?B.getLabel():null;this._register(Uw.render(W,{label:z.label,commandId:z.commandId,run:(_)=>{z.run(_),this.dispose()},iconClass:z.iconClass},P))}),j.appendChild(W),this._hover.containerDomNode.appendChild(j)}if(this._hoverContainer=XZ(\"div.workbench-hover-container\"),this._hoverPointer)this._hoverContainer.appendChild(this._hoverPointer);this._hoverContainer.appendChild(this._hover.containerDomNode);let H;if(X.actions&&X.actions.length>0)H=!1;else if(X.persistence?.hideOnHover===void 0)H=typeof X.content===\"string\"||W4(X.content)&&!X.content.value.includes(\"](\")&&!X.content.value.includes(\"</a>\");else H=X.persistence.hideOnHover;if(X.appearance?.showHoverHint){let j=XZ(\"div.hover-row.status-bar\"),W=XZ(\"div.info\");W.textContent=F(1761,\"Hold {0} key to mouse over\",I0?\"Option\":\"Alt\"),j.appendChild(W),this._hover.containerDomNode.appendChild(j)}let V=[...this._target.targetElements];if(!H)V.push(this._hoverContainer);let K=this._mouseTracker=this._register(new _g(V));if(this._register(K.onMouseOut(()=>{if(!this._isLocked)this.dispose()})),H){let j=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new _g(j)),this._register(this._lockMouseTracker.onMouseOut(()=>{if(!this._isLocked)this.dispose()}))}else this._lockMouseTracker=K}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;let X=this._hover.containerDomNode,Y=this.findLastFocusableChild(this._hover.containerDomNode);if(Y){let Z=G2(this._hoverContainer,XZ(\"div\")),Q=q0(this._hoverContainer,XZ(\"div\"));Z.tabIndex=0,Q.tabIndex=0,this._register(f(Q,\"focus\",($)=>{X.focus(),$.preventDefault()})),this._register(f(Z,\"focus\",($)=>{Y.focus(),$.preventDefault()}))}}findLastFocusableChild(X){if(X.hasChildNodes())for(let Y=0;Y<X.childNodes.length;Y++){let Z=X.childNodes.item(X.childNodes.length-Y-1);if(Z.nodeType===Z.ELEMENT_NODE){let $=Z;if(typeof $.tabIndex===\"number\"&&$.tabIndex>=0)return $}let Q=this.findLastFocusableChild(Z);if(Q)return Q}return}render(X){X.appendChild(this._hoverContainer);let Z=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&R90(this._configurationService.getValue(\"accessibility.verbosity.hover\")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(\"editor.action.accessibleView\")?.getAriaLabel());if(Z)MQ(Z);this.layout(),this.addFocusTrap()}layout(){if(this._mouseTracker?.suppressPendingMouseOut(),this._lockMouseTracker!==this._mouseTracker)this._lockMouseTracker?.suppressPendingMouseOut();this._hover.containerDomNode.classList.remove(\"right-aligned\"),this._hover.contentsDomNode.style.maxHeight=\"\";let X=(V)=>{let K=KM(V),j=V.getBoundingClientRect();return{top:j.top*K,bottom:j.bottom*K,right:j.right*K,left:j.left*K}},Y=this._target.targetElements.map((V)=>X(V)),{top:Z,right:Q,bottom:$,left:q}=Y[0],G=Q-q,U=$-Z,H={top:Z,right:Q,bottom:$,left:q,width:G,height:U,center:{x:q+G/2,y:Z+U/2}};if(this.adjustHorizontalHoverPosition(H),this.adjustVerticalHoverPosition(H),this.adjustHoverMaxHeight(H),this._hoverContainer.style.padding=\"\",this._hoverContainer.style.margin=\"\",this._hoverPointer){switch(this._hoverPosition){case 1:H.left+=3,H.right+=3,this._hoverContainer.style.paddingLeft=\"3px\",this._hoverContainer.style.marginLeft=\"-3px\";break;case 0:H.left-=3,H.right-=3,this._hoverContainer.style.paddingRight=\"3px\",this._hoverContainer.style.marginRight=\"-3px\";break;case 2:H.top+=3,H.bottom+=3,this._hoverContainer.style.paddingTop=\"3px\",this._hoverContainer.style.marginTop=\"-3px\";break;case 3:H.top-=3,H.bottom-=3,this._hoverContainer.style.paddingBottom=\"3px\",this._hoverContainer.style.marginBottom=\"-3px\";break}H.center.x=H.left+G/2,H.center.y=H.top+U/2}if(this.computeXCordinate(H),this.computeYCordinate(H),this._hoverPointer)this._hoverPointer.classList.remove(\"top\"),this._hoverPointer.classList.remove(\"left\"),this._hoverPointer.classList.remove(\"right\"),this._hoverPointer.classList.remove(\"bottom\"),this.setHoverPointerPosition(H);this._hover.onContentsChanged()}computeXCordinate(X){let Y=this._hover.containerDomNode.clientWidth+2;if(this._target.x!==void 0)this._x=this._target.x;else if(this._hoverPosition===1)this._x=X.right;else if(this._hoverPosition===0)this._x=X.left-Y;else{if(this._hoverPointer)this._x=X.center.x-this._hover.containerDomNode.clientWidth/2;else this._x=X.left;if(this._x+Y>=this._targetDocumentElement.clientWidth)this._hover.containerDomNode.classList.add(\"right-aligned\"),this._x=Math.max(this._targetDocumentElement.clientWidth-Y-2,this._targetDocumentElement.clientLeft)}if(this._x<this._targetDocumentElement.clientLeft)this._x=X.left+2}computeYCordinate(X){if(this._target.y!==void 0)this._y=this._target.y;else if(this._hoverPosition===3)this._y=X.top;else if(this._hoverPosition===2)this._y=X.bottom-2;else if(this._hoverPointer)this._y=X.center.y+this._hover.containerDomNode.clientHeight/2;else this._y=X.bottom;if(this._y>this._targetWindow.innerHeight)this._y=X.bottom}adjustHorizontalHoverPosition(X){if(this._target.x!==void 0)return;let Y=this._hoverPointer?3:0;if(this._forcePosition){let Z=Y+2;if(this._hoverPosition===1)this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-X.right-Z}px`;else if(this._hoverPosition===0)this._hover.containerDomNode.style.maxWidth=`${X.left-Z}px`;return}if(this._hoverPosition===1){if(this._targetDocumentElement.clientWidth-X.right<this._hover.containerDomNode.clientWidth+Y)if(X.left>=this._hover.containerDomNode.clientWidth+Y)this._hoverPosition=0;else this._hoverPosition=2}else if(this._hoverPosition===0){if(X.left<this._hover.containerDomNode.clientWidth+Y)if(this._targetDocumentElement.clientWidth-X.right>=this._hover.containerDomNode.clientWidth+Y)this._hoverPosition=1;else this._hoverPosition=2;if(X.left-this._hover.containerDomNode.clientWidth-Y<=this._targetDocumentElement.clientLeft)this._hoverPosition=1}}adjustVerticalHoverPosition(X){if(this._target.y!==void 0||this._forcePosition)return;let Y=this._hoverPointer?3:0;if(this._hoverPosition===3){if(X.top-this._hover.containerDomNode.clientHeight-Y<0)this._hoverPosition=2}else if(this._hoverPosition===2){if(X.bottom+this._hover.containerDomNode.offsetHeight+Y>this._targetWindow.innerHeight)this._hoverPosition=3}}adjustHoverMaxHeight(X){let Y=this._targetWindow.innerHeight*this._maxHeightRatioRelativeToWindow;if(this._forcePosition){let Z=(this._hoverPointer?3:0)+2;if(this._hoverPosition===3)Y=Math.min(Y,X.top-Z);else if(this._hoverPosition===2)Y=Math.min(Y,this._targetWindow.innerHeight-X.bottom-Z)}if(this._hover.containerDomNode.style.maxHeight=`${Y}px`,this._hover.contentsDomNode.clientHeight<this._hover.contentsDomNode.scrollHeight){let Z=`${this._hover.scrollbar.options.verticalScrollbarSize}px`;if(this._hover.contentsDomNode.style.paddingRight!==Z)this._hover.contentsDomNode.style.paddingRight=Z}}setHoverPointerPosition(X){if(!this._hoverPointer)return;switch(this._hoverPosition){case 0:case 1:{this._hoverPointer.classList.add(this._hoverPosition===0?\"right\":\"left\");let Y=this._hover.containerDomNode.clientHeight;if(Y>X.height)this._hoverPointer.style.top=`${X.center.y-(this._y-Y)-3}px`;else this._hoverPointer.style.top=`${Math.round(Y/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?\"bottom\":\"top\");let Y=this._hover.containerDomNode.clientWidth,Z=Math.round(Y/2)-3,Q=this._x+Z;if(Q<X.left||Q>X.right)Z=X.center.x-this._x-3;this._hoverPointer.style.left=`${Z}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){if(!this._isDisposed)this._onDispose.fire(),this._target.dispose?.(),this._hoverContainer.remove(),this._messageListeners.dispose(),super.dispose();this._isDisposed=!0}};Rw=FP0([Mw(1,T1),Mw(2,o0),Mw(3,CK),Mw(4,c6)],Rw);class _g extends F8{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(J,X=200){super();this._elements=J,this._eventDebounceDelay=X,this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer=this._register(new Q1),this._onMouseOut=this._register(new E);for(let Y of this._elements)this.onmouseover(Y,()=>this._onTargetMouseOver()),this.onmouseleave(Y,()=>this._onTargetMouseLeave())}_onTargetMouseOver(){this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer.clear()}_onTargetMouseLeave(){this._isMouseIn=!1,this._mouseTimer.value=new i8(()=>this._fireIfMouseOutside(),this._eventDebounceDelay)}_fireIfMouseOutside(){if(!this._isMouseIn&&!this._suppressNextMouseOut)this._onMouseOut.fire()}suppressPendingMouseOut(){if(!this._isMouseIn)this._suppressNextMouseOut=!0}addElement(J){if(this._elements.includes(J))return y.None;this._elements.push(J);let X=new a;return X.add(f(J,r.MOUSE_OVER,()=>this._onTargetMouseOver())),X.add(f(J,r.MOUSE_LEAVE,()=>this._onTargetMouseLeave())),X.add(J0(()=>{let Y=this._elements.indexOf(J);if(Y>=0)this._elements.splice(Y,1)})),X}}class xJ0{constructor(J){this._element=J,this.targetElements=[this._element]}dispose(){}}var m8;(function(J){function X($,q){if($.start>=q.end||q.start>=$.end)return{start:0,end:0};let G=Math.max($.start,q.start),U=Math.min($.end,q.end);if(U-G<=0)return{start:0,end:0};return{start:G,end:U}}J.intersect=X;function Y($){return $.end-$.start<=0}J.isEmpty=Y;function Z($,q){return!Y(X($,q))}J.intersects=Z;function Q($,q){let G=[],U={start:$.start,end:Math.min(q.start,$.end)},H={start:Math.max(q.end,$.start),end:$.end};if(!Y(U))G.push(U);if(!Y(H))G.push(H);return G}J.relativeComplement=Q})(m8||(m8={}));var X3;(function(J){J[J.AVOID=0]=\"AVOID\",J[J.ALIGN=1]=\"ALIGN\"})(X3||(X3={}));function sG(J,X,Y){let Z=Y.mode===X3.ALIGN?Y.offset:Y.offset+Y.size,Q=Y.mode===X3.ALIGN?Y.offset+Y.size:Y.offset;if(Y.position===0){if(X<=J-Z)return{position:Z,result:\"ok\"};if(X<=Q)return{position:Q-X,result:\"flipped\"};return{position:Math.max(J-X,0),result:\"overlap\"}}else{if(X<=Q)return{position:Q-X,result:\"ok\"};if(X<=J-Z&&Q<X/2)return{position:Z,result:\"flipped\"};return{position:0,result:\"overlap\"}}}function Nw(J,X,Y,Z){let Q=Z?.anchorAlignment??0,$=Z?.anchorPosition??0,q=Z?.anchorAxisAlignment??0,G,U;if(q===0){let K={offset:Y.top-J.top,size:Y.height,position:$===0?0:1},j={offset:Y.left,size:Y.width,position:Q===0?0:1,mode:X3.ALIGN},W=sG(J.height,X.height,K);if(G=W.position+J.top,W.result===\"flipped\")$=$===0?1:0;if(m8.intersects({start:G,end:G+X.height},{start:K.offset,end:K.offset+K.size}))j.mode=X3.AVOID;let z=sG(J.width,X.width,j);if(U=z.position,z.result===\"flipped\")Q=Q===0?1:0}else{let K={offset:Y.left,size:Y.width,position:Q===0?0:1},j={offset:Y.top,size:Y.height,position:$===0?0:1,mode:X3.ALIGN},W=sG(J.width,X.width,K);if(U=W.position,W.result===\"flipped\")Q=Q===0?1:0;if(m8.intersects({start:U,end:U+X.width},{start:K.offset,end:K.offset+K.size}))j.mode=X3.AVOID;let z=sG(J.height,X.height,j);if(G=z.position+J.top,z.result===\"flipped\")$=$===0?1:0}let H=J.width-(U+X.width),V=J.height-(G+X.height);return{top:G,left:U,bottom:V,right:H,anchorAlignment:Q,anchorPosition:$}}function BP0(J){let X=J;return!!X&&typeof X.x===\"number\"&&typeof X.y===\"number\"}function Z_(J){if(a0(J)){let X=R8(J),Y=KM(J);return{top:X.top*Y,left:X.left*Y,width:X.width*Y,height:X.height*Y}}else if(BP0(J))return{top:J.y,left:J.x,width:J.width||1,height:J.height||2};else return{top:J.posy,left:J.posx,width:2,height:2}}class aG extends y{static{this.BUBBLE_UP_EVENTS=[\"click\",\"keydown\",\"focus\",\"blur\"]}static{this.BUBBLE_DOWN_EVENTS=[\"click\"]}constructor(J,X){super();this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=y.None,this.toDisposeOnSetContainer=y.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=$0(\".context-view\"),zM(this.view),this.setContainer(J,X),this._register(J0(()=>this.setContainer(null,1)))}setContainer(J,X){this.useFixedPosition=X!==1;let Y=this.useShadowDOM;if(this.useShadowDOM=X===3,J===this.container&&Y===this.useShadowDOM)return;if(this.container){if(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot)this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null;this.container=null}if(J){if(this.container=J,this.useShadowDOM){this.shadowRootHostElement=$0(\".shadow-root-host\"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:\"open\"});let Q=document.createElement(\"style\");Q.textContent=_P0,this.shadowRoot.appendChild(Q),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild($0(\"slot\"))}else this.container.appendChild(this.view);let Z=new a;aG.BUBBLE_UP_EVENTS.forEach((Q)=>{Z.add(F6(this.container,Q,($)=>{this.onDOMEvent($,!1)}))}),aG.BUBBLE_DOWN_EVENTS.forEach((Q)=>{Z.add(F6(this.container,Q,($)=>{this.onDOMEvent($,!0)},!0))}),this.toDisposeOnSetContainer=Z}}show(J){if(this.isVisible())this.hide();r8(this.view),this.view.className=\"context-view monaco-component\",this.view.style.top=\"0px\",this.view.style.left=\"0px\",this.view.style.zIndex=`${2575+(J.layer??0)}`,this.view.style.position=this.useFixedPosition?\"fixed\":\"absolute\",mz(this.view),this.toDisposeOnClean=J.render(this.view)||y.None,this.delegate=J,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){if(!this.isVisible())return;if(this.delegate.canRelayout===!1&&!(n7&&qQ.pointerEvents)){this.hide();return}this.delegate?.layout?.(),this.doLayout()}doLayout(){if(!this.isVisible())return;let J=Z_(this.delegate.getAnchor()),X=this.container?Q0(this.container):i0(),Y={top:X.pageYOffset,left:X.pageXOffset,width:X.innerWidth,height:X.innerHeight},Z={width:Z4(this.view),height:pz(this.view)},Q=this.delegate.anchorPosition,$=this.delegate.anchorAlignment,q=this.delegate.anchorAxisAlignment,{top:G,left:U}=Nw(Y,Z,J,{anchorAlignment:$,anchorPosition:Q,anchorAxisAlignment:q});this.view.classList.remove(\"top\",\"bottom\",\"left\",\"right\"),this.view.classList.add(Q===0?\"bottom\":\"top\"),this.view.classList.add($===0?\"left\":\"right\"),this.view.classList.toggle(\"fixed\",this.useFixedPosition);let H=R8(this.container),V=this.container.scrollTop||0,K=this.container.scrollLeft||0;this.view.style.top=`${G-(this.useFixedPosition?R8(this.view).top:H.top)+V}px`,this.view.style.left=`${U-(this.useFixedPosition?R8(this.view).left:H.left)+K}px`,this.view.style.width=\"initial\"}hide(J){let X=this.delegate;if(this.delegate=null,X?.onHide)X.onHide(J);let Y=this.toDisposeOnClean;this.toDisposeOnClean=y.None,Y.dispose(),zM(this.view)}isVisible(){return!!this.delegate}onDOMEvent(J,X){if(this.delegate){if(this.delegate.onDOMEvent)this.delegate.onDOMEvent(J,Q0(J).document.activeElement);else if(X&&!d1(J.target,this.container))this.hide()}}dispose(){this.hide(),super.dispose()}}var _P0=`\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*='codicon-'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe WPC\", \"Segoe UI\", \"HelveticaNeue-Light\", system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang SC\", \"Hiragino Sans GB\", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang TC\", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, \"Hiragino Kaku Gothic Pro\", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, \"Apple SD Gothic Neo\", \"Nanum Gothic\", \"AppleGothic\", sans-serif; }\n\n\t:host-context(.windows) { font-family: \"Segoe WPC\", \"Segoe UI\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft YaHei\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft Jhenghei\", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Yu Gothic UI\", \"Meiryo UI\", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Malgun Gothic\", \"Dotom\", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans SC\", \"Source Han Sans CN\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans TC\", \"Source Han Sans TW\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans J\", \"Source Han Sans JP\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans K\", \"Source Han Sans JR\", \"Source Han Sans\", \"UnDotum\", \"FBaekmuk Gulim\", sans-serif; }\n`;var l5=W0(\"layoutService\");function ww(J){let X=J;return typeof X===\"object\"&&\"markdown\"in X&&\"markdownNotSupportedFallback\"in X}class Ag{constructor(J,X,Y){this.hoverDelegate=J,this.target=X,this.fadeInAnimation=Y}async update(J,X,Y){if(this._cancellationTokenSource)this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0;if(this.isDisposed)return;let Z;if(t1(J)||a0(J)||J===void 0)Z=J;else{this._cancellationTokenSource=new S8;let Q=this._cancellationTokenSource.token,$;if(ww(J))if(KY(J.markdown))$=J.markdown(Q).then((q)=>q??J.markdownNotSupportedFallback);else $=J.markdown??J.markdownNotSupportedFallback;else $=J.element(Q);if($ instanceof Promise){if(!this._hoverWidget)this.show(F(1762,\"Loading...\"),X,Y);Z=await $}else Z=$;if(this.isDisposed||Q.isCancellationRequested)return}this.show(Z,X,Y)}show(J,X,Y){let Z=this._hoverWidget;if(this.hasContent(J)){let Q={content:J,target:this.target,actions:Y?.actions,linkHandler:Y?.linkHandler,trapFocus:Y?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement===\"element\",skipFadeInAnimation:!this.fadeInAnimation||!!Z,showHoverHint:Y?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(Q,X)}Z?.dispose()}hasContent(J){if(!J)return!1;if(W4(J))return!!J.value;return!0}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var AP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},SK=function(J,X){return function(Y,Z){X(Y,Z,J)}},PP0=3,Dg=class extends y{get _currentHover(){return this._hoverStack.at(-1)?.hover}get _currentHoverOptions(){return this._hoverStack.at(-1)?.options}_getContainingHoverIndex(X){let Y=a0(X)?[X]:X.targetElements;for(let Z=this._hoverStack.length-1;Z>=0;Z--)for(let Q of Y)if(d1(Q,this._hoverStack[Z].hover.domNode))return Z;return-1}constructor(X,Y,Z,Q,$,q){super();this._instantiationService=X,this._configurationService=Y,this._keybindingService=Q,this._layoutService=$,this._accessibilityService=q,this._hoverStack=[],this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(Z.onDidShowContextMenu(()=>this.hideHover())),this._register(p5.registerCommandAndKeybindingRule({id:\"workbench.action.showHover\",weight:0,primary:H8(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(X,Y,Z,Q){let $=this._createHover(X,Z);if(!$)return;return this._showHover($,X,Y),$.hover}showDelayedHover(X,Y){if(X.id===void 0)X.id=bJ0(X.content);if(!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked&&this._getContainingHoverIndex(X.target)<0)return;if(fK(this._currentHoverOptions)===fK(X))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===Y?.groupId)return this.showInstantHover({...X,appearance:{...X.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&fK(this._currentHoverOptions)===fK(X))return this._currentDelayedHover;let Z=this._createHover(X,void 0);if(!Z){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}this._currentDelayedHover=Z.hover,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=Y?.groupId;let Q=Y?.reducedDelay?this._configurationService.getValue(\"workbench.hover.reducedDelay\"):this._configurationService.getValue(\"workbench.hover.delay\");return PY(Q).then(()=>{if(Z.hover&&!Z.hover.isDisposed)this._currentDelayedHoverWasShown=!0,this._showHover(Z,X)}),Z.hover}setupDelayedHover(X,Y,Z){let Q=($)=>{let q={...typeof Y===\"function\"?Y():Y,target:X};if(q.style===2&&$)q.target=SJ0(X,$);return q};return this._setupDelayedHover(X,Q,Z)}setupDelayedHoverAtMouse(X,Y,Z){let Q=($)=>({...typeof Y===\"function\"?Y():Y,target:$?SJ0(X,$):X});return this._setupDelayedHover(X,Q,Z)}_setupDelayedHover(X,Y,Z){let Q=new a;if(Q.add(f(X,r.MOUSE_OVER,($)=>{this.showDelayedHover(Y($),{groupId:Z?.groupId,reducedDelay:Z?.reducedDelay})})),Z?.setupKeyboardEvents)Q.add(f(X,r.KEY_DOWN,($)=>{let q=new Y1($);if(q.equals(10)||q.equals(3))this.showInstantHover(Y(),!0)}));return this._delayedHovers.set(X,{show:($)=>{this.showInstantHover(Y(),$)}}),Q.add(J0(()=>this._delayedHovers.delete(X))),Q}_createHover(X,Y){if(this._currentDelayedHover?.dispose(),this._currentDelayedHover=void 0,X.content===\"\")return;if(X.id===void 0)X.id=bJ0(X.content);if(this._getContainingHoverIndex(X.target)>=0){if(this._hoverStack.length>=PP0)return}else{if(this._currentHover?.isLocked)return;if(fK(this._currentHoverOptions)===fK(X))return}this._lastHoverOptions=X;let $=X.trapFocus||this._accessibilityService.isScreenReaderOptimized(),q=E1(),G;if(!Y){if($&&q){if(!q.classList.contains(\"monaco-hover\"))G=q}}let U=new a,H=this._instantiationService.createInstance(Rw,X);if(X.persistence?.sticky)H.isLocked=!0;if(X.position?.hoverPosition&&!r7(X.position.hoverPosition))X.target={targetElements:a0(X.target)?[X.target]:X.target.targetElements,x:X.position.hoverPosition.x+10};if(H.onDispose(()=>{let V=this._hoverStack.findIndex((K)=>K.hover===H);if(V>=0){let K=this._hoverStack[V];if(Q2(H.domNode)&&K.lastFocusedElementBeforeOpen)K.lastFocusedElementBeforeOpen.focus();while(this._hoverStack.length>V+1){let W=this._hoverStack.pop();W.contextView.dispose(),W.hover.dispose()}this._hoverStack.splice(V,1),K.contextView.dispose()}U.dispose()},void 0,U),!X.container){let V=a0(X.target)?X.target:X.target.targetElements[0];X.container=this._layoutService.getContainer(Q0(V))}if(U.add(f(Q0(X.container).document,r.MOUSE_DOWN,(V)=>{if(!d1(V.target,H.domNode))this._hideHoverAndDescendants(H)})),!X.persistence?.sticky){if(\"targetElements\"in X.target)for(let K of X.target.targetElements)U.add(f(K,r.CLICK,()=>this._hideHoverAndDescendants(H)));else U.add(f(X.target,r.CLICK,()=>this._hideHoverAndDescendants(H)));let V=E1();if(V){let K=Q0(V).document;U.add(f(V,r.KEY_DOWN,(j)=>this._keyDown(j,H,!!X.persistence?.hideOnKeyDown))),U.add(f(K,r.KEY_DOWN,(j)=>this._keyDown(j,H,!!X.persistence?.hideOnKeyDown))),U.add(f(V,r.KEY_UP,(j)=>this._keyUp(j,H))),U.add(f(K,r.KEY_UP,(j)=>this._keyUp(j,H)))}}if(\"IntersectionObserver\"in X1){let V=new IntersectionObserver((j)=>this._intersectionChange(j,H),{threshold:0}),K=\"targetElements\"in X.target?X.target.targetElements[0]:X.target;V.observe(K),U.add(J0(()=>V.disconnect()))}return{hover:H,lastFocusedElementBeforeOpen:G,store:U}}_showHover(X,Y,Z){let{hover:Q,lastFocusedElementBeforeOpen:$,store:q}=X,G=this._getContainingHoverIndex(Y.target),U=G>=0;if(!U)this._hideAllHovers();else{for(let W=this._hoverStack.length-1;W>G;W--)this._hoverStack[W].hover.dispose();this._hoverStack.length=G+1}if(U)for(let W=0;W<=G;W++)q.add(this._hoverStack[W].hover.addMouseTrackingElement(Q.domNode));let H=Y.container??this._layoutService.getContainer(Q0(a0(Y.target)?Y.target:Y.target.targetElements[0])),V=new aG(H,1),K={hover:Q,options:Y,contextView:V,lastFocusedElementBeforeOpen:$};this._hoverStack.push(K);let j=new fJ0(Q,Z,this._hoverStack.length);if(V.show(j),q.add(Q.onRequestLayout(()=>V.layout())),Z||Y.persistence?.sticky){let W=Q0(H);q.add(f(W,r.RESIZE,()=>V.layout()))}if(Y.onDidHide){let W=Y.onDidHide;q.add(J0(()=>W()))}Y.onDidShow?.()}_hideHoverAndDescendants(X){let Y=this._hoverStack.findIndex((Z)=>Z.hover===X);if(Y<0)return;for(let Z=this._hoverStack.length-1;Z>=Y;Z--)this._hoverStack[Z].hover.dispose();this._hoverStack.length=Y}_hideAllHovers(){for(let X=this._hoverStack.length-1;X>=0;X--)this._hoverStack[X].hover.dispose();this._hoverStack.length=0}hideHover(X){if(this._hoverStack.length===0)return;if(!X&&this._currentHover?.isLocked)return;this.doHideHover()}doHideHover(){let X=this._hoverStack.length;this._hoverStack[X-1]?.hover.dispose(),this._hoverStack.length=X-1}_intersectionChange(X,Y){if(!X[X.length-1].isIntersecting)Y.dispose()}showAndFocusLastHover(){if(!this._lastHoverOptions)return;this.showInstantHover(this._lastHoverOptions,!0,!0)}_showAndFocusHoverForActiveElement(){let X=E1();while(X){let Y=this._delayedHovers.get(X)??this._managedHovers.get(X);if(Y){Y.show(!0);return}X=X.parentElement}}_keyDown(X,Y,Z){if(X.key===\"Alt\"){for(let q of this._hoverStack)q.hover.isLocked=!0;return}let Q=new Y1(X);if(this._keybindingService.resolveKeyboardEvent(Q).getSingleModifierDispatchChords().some((q)=>!!q)||this._keybindingService.softDispatch(Q,Q.target).kind!==0)return;if(Z&&(!this._currentHoverOptions?.trapFocus||X.key!==\"Tab\")){let q=this._hoverStack.find((G)=>G.hover===Y);this._hideHoverAndDescendants(Y),q?.lastFocusedElementBeforeOpen?.focus()}}_keyUp(X,Y){if(X.key===\"Alt\"){for(let Q of this._hoverStack)if(!Q.options.persistence?.sticky)Q.hover.isLocked=!1;if(!this._hoverStack.some((Q)=>Q.hover.isMouseIn)){let Q=this._hoverStack[this._hoverStack.length-1];this._hideAllHovers(),Q?.lastFocusedElementBeforeOpen?.focus()}}}setupManagedHover(X,Y,Z,Q){if(X.showNativeHover)return DP0(Y,Z);if(Y.setAttribute(\"custom-hover\",\"true\"),Y.title!==\"\")console.warn(\"HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute.\"),Y.title=\"\";let $,q,G=(W,z)=>{let B=q!==void 0;if(W)q?.dispose(),q=void 0;if(z)$?.dispose(),$=void 0;if(B)X.onDidHideHover?.(),q=void 0},U=(W,z,B,P)=>{return new i8(async()=>{if(!q||q.isDisposed)q=new Ag(X,B||Y,W>0),await q.update(typeof Z===\"function\"?Z():Z,z,{...Q,trapFocus:P})},W)},H=new a,V=!1;H.add(f(Y,r.MOUSE_DOWN,()=>{V=!0,G(!0,!0)},!0)),H.add(f(Y,r.MOUSE_UP,()=>{V=!1},!0)),H.add(f(Y,r.MOUSE_LEAVE,(W)=>{V=!1,G(!1,W.fromElement===Y)},!0)),H.add(f(Y,r.MOUSE_OVER,(W)=>{if($)return;let z=new a,B={targetElements:[Y],dispose:()=>{}};if(X.placement===void 0||X.placement===\"mouse\"){let P=(_)=>{if(B.x=_.x+10,!Pg(_,Y))G(!0,!0)};z.add(f(Y,r.MOUSE_MOVE,P,!0))}if($=z,!Pg(W,Y))return;z.add(U(typeof X.delay===\"function\"?X.delay(Z):X.delay,!1,B))},!0));let K=(W)=>{if(V||$)return;if(q?.isDisposed)q=void 0;if(a0(W.relatedTarget)&&W.relatedTarget.closest(\".monaco-hover\")||!W.relatedTarget)return;if(!Pg(W,Y))return;let B={targetElements:[Y],dispose:()=>{}},P=new a,_=()=>G(!0,!0);P.add(f(Y,r.BLUR,_,!0)),P.add(U(typeof X.delay===\"function\"?X.delay(Z):X.delay,!1,B)),$=P};if(!Q4(Y))H.add(f(Y,r.FOCUS,K,!0));let j={show:(W)=>{G(!1,!0),U(0,W,void 0,W)},hide:()=>{G(!0,!0)},update:async(W,z)=>{Z=W,await q?.update(Z,void 0,z)},dispose:()=>{this._managedHovers.delete(Y),H.dispose(),G(!0,!0)}};return this._managedHovers.set(Y,j),j}showManagedHover(X){let Y=this._managedHovers.get(X);if(Y)Y.show(!0)}dispose(){this._managedHovers.forEach((X)=>X.dispose()),super.dispose()}};Dg=AP0([SK(0,w0),SK(1,o0),SK(2,Y5),SK(3,T1),SK(4,l5),SK(5,c6)],Dg);function fK(J){if(J===void 0)return;return J?.id??J}function bJ0(J){if(a0(J))return;if(typeof J===\"string\")return J.toString();return J.value}function CJ0(J){let X=typeof J===\"function\"?J():J;if(t1(X))return TK(X);if(ww(X))return X.markdownNotSupportedFallback;return}function DP0(J,X){function Y(Z){if(Z)J.setAttribute(\"title\",Z);else J.removeAttribute(\"title\")}return Y(CJ0(X)),{update:(Z)=>Y(CJ0(Z)),show:()=>{},hide:()=>{},dispose:()=>Y(void 0)}}class fJ0{get anchorPosition(){return this._hover.anchor}constructor(J,X=!1,Y=1){this._hover=J,this._focus=X,this.layer=Y}render(J){if(this._hover.render(J),this._focus)this._hover.focus();return this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function Pg(J,X){return a0(J.target)&&OP0(J.target,X)===X}function OP0(J,X){X=X??Q0(J).document.body;while(!J.hasAttribute(\"custom-hover\")&&J!==X)J=J.parentElement;return J}function SJ0(J,X){return{targetElements:[J],x:X.x+10}}f0(fX,Dg,1);x8((J,X)=>{let Y=J.getColor(d10);if(Y)X.addRule(`.monaco-hover.workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${Y.transparent(0.5)}; }`),X.addRule(`.monaco-hover.workbench-hover hr { border-top: 1px solid ${Y.transparent(0.5)}; }`)});var Tw=W0(\"dialogService\");var MP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},hJ0=function(J,X){return function(Y,Z){X(Y,Z,J)}};function Lw(J){return J.scheme===T0.file?J.fsPath:J.path}var vJ0=0;class Q_{constructor(J,X,Y,Z,Q,$,q){this.id=++vJ0,this.type=0,this.actual=J,this.label=J.label,this.confirmBeforeUndo=J.confirmBeforeUndo||!1,this.resourceLabel=X,this.strResource=Y,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=Z,this.groupOrder=Q,this.sourceId=$,this.sourceOrder=q,this.isValid=!0}setValid(J){this.isValid=J}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?\"  VALID\":\"INVALID\"}] ${this.actual.constructor.name} - ${this.actual}`}}class Og{constructor(J,X){this.resourceLabel=J,this.reason=X}}class Mg{constructor(){this.elements=new Map}createMessage(){let J=[],X=[];for(let[,Z]of this.elements)(Z.reason===0?J:X).push(Z.resourceLabel);let Y=[];if(J.length>0)Y.push(F(2099,\"The following files have been closed and modified on disk: {0}.\",J.join(\", \")));if(X.length>0)Y.push(F(2100,\"The following files have been modified in an incompatible way: {0}.\",X.join(\", \")));return Y.join(`\n`)}get size(){return this.elements.size}has(J){return this.elements.has(J)}set(J,X){this.elements.set(J,X)}delete(J){return this.elements.delete(J)}}class gJ0{constructor(J,X,Y,Z,Q,$,q){this.id=++vJ0,this.type=1,this.actual=J,this.label=J.label,this.confirmBeforeUndo=J.confirmBeforeUndo||!1,this.resourceLabels=X,this.strResources=Y,this.groupId=Z,this.groupOrder=Q,this.sourceId=$,this.sourceOrder=q,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split===\"function\"}removeResource(J,X,Y){if(!this.removedResources)this.removedResources=new Mg;if(!this.removedResources.has(X))this.removedResources.set(X,new Og(J,Y))}setValid(J,X,Y){if(Y){if(this.invalidatedResources){if(this.invalidatedResources.delete(X),this.invalidatedResources.size===0)this.invalidatedResources=null}}else{if(!this.invalidatedResources)this.invalidatedResources=new Mg;if(!this.invalidatedResources.has(X))this.invalidatedResources.set(X,new Og(J,0))}}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?\"INVALID\":\"  VALID\"}] ${this.actual.constructor.name} - ${this.actual}`}}class Ng{constructor(J,X){this.resourceLabel=J,this.strResource=X,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(let J of this._past)if(J.type===1)J.removeResource(this.resourceLabel,this.strResource,0);for(let J of this._future)if(J.type===1)J.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let J=[];J.push(`* ${this.strResource}:`);for(let X=0;X<this._past.length;X++)J.push(`   * [UNDO] ${this._past[X]}`);for(let X=this._future.length-1;X>=0;X--)J.push(`   * [REDO] ${this._future[X]}`);return J.join(`\n`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(J,X){if(J.type===1)J.setValid(this.resourceLabel,this.strResource,X);else J.setValid(X)}setElementsValidFlag(J,X){for(let Y of this._past)if(X(Y.actual))this._setElementValidFlag(Y,J);for(let Y of this._future)if(X(Y.actual))this._setElementValidFlag(Y,J)}pushElement(J){for(let X of this._future)if(X.type===1)X.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(J),this.versionId++}createSnapshot(J){let X=[];for(let Y=0,Z=this._past.length;Y<Z;Y++)X.push(this._past[Y].id);for(let Y=this._future.length-1;Y>=0;Y--)X.push(this._future[Y].id);return new RN(J,X)}restoreSnapshot(J){let X=J.elements.length,Y=!0,Z=0,Q=-1;for(let q=0,G=this._past.length;q<G;q++,Z++){let U=this._past[q];if(Y&&(Z>=X||U.id!==J.elements[Z]))Y=!1,Q=q;if(!Y&&U.type===1)U.removeResource(this.resourceLabel,this.strResource,0)}let $=-1;for(let q=this._future.length-1;q>=0;q--,Z++){let G=this._future[q];if(Y&&(Z>=X||G.id!==J.elements[Z]))Y=!1,$=q;if(!Y&&G.type===1)G.removeResource(this.resourceLabel,this.strResource,0)}if(Q!==-1)this._past=this._past.slice(0,Q);if($!==-1)this._future=this._future.slice($+1);this.versionId++}getElements(){let J=[],X=[];for(let Y of this._past)J.push(Y.actual);for(let Y of this._future)X.push(Y.actual);return{past:J,future:X}}getClosestPastElement(){if(this._past.length===0)return null;return this._past[this._past.length-1]}getSecondClosestPastElement(){if(this._past.length<2)return null;return this._past[this._past.length-2]}getClosestFutureElement(){if(this._future.length===0)return null;return this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(J,X){for(let Y=this._past.length-1;Y>=0;Y--)if(this._past[Y]===J){if(X.has(this.strResource))this._past[Y]=X.get(this.strResource);else this._past.splice(Y,1);break}this.versionId++}splitFutureWorkspaceElement(J,X){for(let Y=this._future.length-1;Y>=0;Y--)if(this._future[Y]===J){if(X.has(this.strResource))this._future[Y]=X.get(this.strResource);else this._future.splice(Y,1);break}this.versionId++}moveBackward(J){this._past.pop(),this._future.push(J),this.versionId++}moveForward(J){this._future.pop(),this._past.push(J),this.versionId++}}class Iw{constructor(J){this.editStacks=J,this._versionIds=[];for(let X=0,Y=this.editStacks.length;X<Y;X++)this._versionIds[X]=this.editStacks[X].versionId}isValid(){for(let J=0,X=this.editStacks.length;J<X;J++)if(this._versionIds[J]!==this.editStacks[J].versionId)return!1;return!0}}var pJ0=new Ng(\"\",\"\");pJ0.locked=!0;var Rg=class{constructor(X,Y){this._dialogService=X,this._notificationService=Y,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(X){for(let Y of this._uriComparisonKeyComputers)if(Y[0]===X.scheme)return Y[1].getComparisonKey(X);return X.toString()}_print(X){console.log(\"------------------------------------\"),console.log(`AFTER ${X}: `);let Y=[];for(let Z of this._editStacks)Y.push(Z[1].toString());console.log(Y.join(`\n`))}pushElement(X,Y=FB.None,Z=SQ.None){if(X.type===0){let Q=Lw(X.resource),$=this.getUriComparisonKey(X.resource);this._pushElement(new Q_(X,Q,$,Y.id,Y.nextOrder(),Z.id,Z.nextOrder()))}else{let Q=new Set,$=[],q=[];for(let G of X.resources){let U=Lw(G),H=this.getUriComparisonKey(G);if(Q.has(H))continue;Q.add(H),$.push(U),q.push(H)}if($.length===1)this._pushElement(new Q_(X,$[0],q[0],Y.id,Y.nextOrder(),Z.id,Z.nextOrder()));else this._pushElement(new gJ0(X,$,q,Y.id,Y.nextOrder(),Z.id,Z.nextOrder()))}}_pushElement(X){for(let Y=0,Z=X.strResources.length;Y<Z;Y++){let Q=X.resourceLabels[Y],$=X.strResources[Y],q;if(this._editStacks.has($))q=this._editStacks.get($);else q=new Ng(Q,$),this._editStacks.set($,q);q.pushElement(X)}}getLastElement(X){let Y=this.getUriComparisonKey(X);if(this._editStacks.has(Y)){let Z=this._editStacks.get(Y);if(Z.hasFutureElements())return null;let Q=Z.getClosestPastElement();return Q?Q.actual:null}return null}_splitPastWorkspaceElement(X,Y){let Z=X.actual.split(),Q=new Map;for(let $ of Z){let q=Lw($.resource),G=this.getUriComparisonKey($.resource),U=new Q_($,q,G,0,0,0,0);Q.set(U.strResource,U)}for(let $ of X.strResources){if(Y&&Y.has($))continue;this._editStacks.get($).splitPastWorkspaceElement(X,Q)}}_splitFutureWorkspaceElement(X,Y){let Z=X.actual.split(),Q=new Map;for(let $ of Z){let q=Lw($.resource),G=this.getUriComparisonKey($.resource),U=new Q_($,q,G,0,0,0,0);Q.set(U.strResource,U)}for(let $ of X.strResources){if(Y&&Y.has($))continue;this._editStacks.get($).splitFutureWorkspaceElement(X,Q)}}removeElements(X){let Y=typeof X===\"string\"?X:this.getUriComparisonKey(X);if(this._editStacks.has(Y))this._editStacks.get(Y).dispose(),this._editStacks.delete(Y)}setElementsValidFlag(X,Y,Z){let Q=this.getUriComparisonKey(X);if(this._editStacks.has(Q))this._editStacks.get(Q).setElementsValidFlag(Y,Z)}createSnapshot(X){let Y=this.getUriComparisonKey(X);if(this._editStacks.has(Y))return this._editStacks.get(Y).createSnapshot(X);return new RN(X,[])}restoreSnapshot(X){let Y=this.getUriComparisonKey(X.resource);if(this._editStacks.has(Y)){let Z=this._editStacks.get(Y);if(Z.restoreSnapshot(X),!Z.hasPastElements()&&!Z.hasFutureElements())Z.dispose(),this._editStacks.delete(Y)}}getElements(X){let Y=this.getUriComparisonKey(X);if(this._editStacks.has(Y))return this._editStacks.get(Y).getElements();return{past:[],future:[]}}_findClosestUndoElementWithSource(X){if(!X)return[null,null];let Y=null,Z=null;for(let[Q,$]of this._editStacks){let q=$.getClosestPastElement();if(!q)continue;if(q.sourceId===X){if(!Y||q.sourceOrder>Y.sourceOrder)Y=q,Z=Q}}return[Y,Z]}canUndo(X){if(X instanceof SQ){let[,Z]=this._findClosestUndoElementWithSource(X.id);return Z?!0:!1}let Y=this.getUriComparisonKey(X);if(this._editStacks.has(Y))return this._editStacks.get(Y).hasPastElements();return!1}_onError(X,Y){b0(X);for(let Z of Y.strResources)this.removeElements(Z);this._notificationService.error(X)}_acquireLocks(X){for(let Y of X.editStacks)if(Y.locked)throw Error(\"Cannot acquire edit stack lock\");for(let Y of X.editStacks)Y.locked=!0;return()=>{for(let Y of X.editStacks)Y.locked=!1}}_safeInvokeWithLocks(X,Y,Z,Q,$){let q=this._acquireLocks(Z),G;try{G=Y()}catch(U){return q(),Q.dispose(),this._onError(U,X)}if(G)return G.then(()=>{return q(),Q.dispose(),$()},(U)=>{return q(),Q.dispose(),this._onError(U,X)});else return q(),Q.dispose(),$()}async _invokeWorkspacePrepare(X){if(typeof X.actual.prepareUndoRedo>\"u\")return y.None;let Y=X.actual.prepareUndoRedo();if(typeof Y>\"u\")return y.None;return Y}_invokeResourcePrepare(X,Y){if(X.actual.type!==1||typeof X.actual.prepareUndoRedo>\"u\")return Y(y.None);let Z=X.actual.prepareUndoRedo();if(!Z)return Y(y.None);if(WY(Z))return Y(Z);return Z.then((Q)=>{return Y(Q)})}_getAffectedEditStacks(X){let Y=[];for(let Z of X.strResources)Y.push(this._editStacks.get(Z)||pJ0);return new Iw(Y)}_tryToSplitAndUndo(X,Y,Z,Q){if(Y.canSplit())return this._splitPastWorkspaceElement(Y,Z),this._notificationService.warn(Q),new $_(this._undo(X,0,!0));else{for(let $ of Y.strResources)this.removeElements($);return this._notificationService.warn(Q),new $_}}_checkWorkspaceUndo(X,Y,Z,Q){if(Y.removedResources)return this._tryToSplitAndUndo(X,Y,Y.removedResources,F(2101,\"Could not undo '{0}' across all files. {1}\",Y.label,Y.removedResources.createMessage()));if(Q&&Y.invalidatedResources)return this._tryToSplitAndUndo(X,Y,Y.invalidatedResources,F(2102,\"Could not undo '{0}' across all files. {1}\",Y.label,Y.invalidatedResources.createMessage()));let $=[];for(let G of Z.editStacks)if(G.getClosestPastElement()!==Y)$.push(G.resourceLabel);if($.length>0)return this._tryToSplitAndUndo(X,Y,null,F(2103,\"Could not undo '{0}' across all files because changes were made to {1}\",Y.label,$.join(\", \")));let q=[];for(let G of Z.editStacks)if(G.locked)q.push(G.resourceLabel);if(q.length>0)return this._tryToSplitAndUndo(X,Y,null,F(2104,\"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}\",Y.label,q.join(\", \")));if(!Z.isValid())return this._tryToSplitAndUndo(X,Y,null,F(2105,\"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime\",Y.label));return null}_workspaceUndo(X,Y,Z){let Q=this._getAffectedEditStacks(Y),$=this._checkWorkspaceUndo(X,Y,Q,!1);if($)return $.returnValue;return this._confirmAndExecuteWorkspaceUndo(X,Y,Q,Z)}_isPartOfUndoGroup(X){if(!X.groupId)return!1;for(let[,Y]of this._editStacks){let Z=Y.getClosestPastElement();if(!Z)continue;if(Z===X){let Q=Y.getSecondClosestPastElement();if(Q&&Q.groupId===X.groupId)return!0}if(Z.groupId===X.groupId)return!0}return!1}async _confirmAndExecuteWorkspaceUndo(X,Y,Z,Q){if(Y.canSplit()&&!this._isPartOfUndoGroup(Y)){let G;(function(V){V[V.All=0]=\"All\",V[V.This=1]=\"This\",V[V.Cancel=2]=\"Cancel\"})(G||(G={}));let{result:U}=await this._dialogService.prompt({type:U6.Info,message:F(2106,\"Would you like to undo '{0}' across all files?\",Y.label),buttons:[{label:F(2107,\"&&Undo in {0} Files\",Z.editStacks.length),run:()=>G.All},{label:F(2108,\"Undo this &&File\"),run:()=>G.This}],cancelButton:{run:()=>G.Cancel}});if(U===G.Cancel)return;if(U===G.This)return this._splitPastWorkspaceElement(Y,null),this._undo(X,0,!0);let H=this._checkWorkspaceUndo(X,Y,Z,!1);if(H)return H.returnValue;Q=!0}let $;try{$=await this._invokeWorkspacePrepare(Y)}catch(G){return this._onError(G,Y)}let q=this._checkWorkspaceUndo(X,Y,Z,!0);if(q)return $.dispose(),q.returnValue;for(let G of Z.editStacks)G.moveBackward(Y);return this._safeInvokeWithLocks(Y,()=>Y.actual.undo(),Z,$,()=>this._continueUndoInGroup(Y.groupId,Q))}_resourceUndo(X,Y,Z){if(!Y.isValid){X.flushAllElements();return}if(X.locked){let Q=F(2109,\"Could not undo '{0}' because there is already an undo or redo operation running.\",Y.label);this._notificationService.warn(Q);return}return this._invokeResourcePrepare(Y,(Q)=>{return X.moveBackward(Y),this._safeInvokeWithLocks(Y,()=>Y.actual.undo(),new Iw([X]),Q,()=>this._continueUndoInGroup(Y.groupId,Z))})}_findClosestUndoElementInGroup(X){if(!X)return[null,null];let Y=null,Z=null;for(let[Q,$]of this._editStacks){let q=$.getClosestPastElement();if(!q)continue;if(q.groupId===X){if(!Y||q.groupOrder>Y.groupOrder)Y=q,Z=Q}}return[Y,Z]}_continueUndoInGroup(X,Y){if(!X)return;let[,Z]=this._findClosestUndoElementInGroup(X);if(Z)return this._undo(Z,0,Y)}undo(X){if(X instanceof SQ){let[,Y]=this._findClosestUndoElementWithSource(X.id);return Y?this._undo(Y,X.id,!1):void 0}if(typeof X===\"string\")return this._undo(X,0,!1);return this._undo(this.getUriComparisonKey(X),0,!1)}_undo(X,Y=0,Z){if(!this._editStacks.has(X))return;let Q=this._editStacks.get(X),$=Q.getClosestPastElement();if(!$)return;if($.groupId){let[G,U]=this._findClosestUndoElementInGroup($.groupId);if($!==G&&U)return this._undo(U,Y,Z)}if(($.sourceId!==Y||$.confirmBeforeUndo)&&!Z)return this._confirmAndContinueUndo(X,Y,$);try{if($.type===1)return this._workspaceUndo(X,$,Z);else return this._resourceUndo(Q,$,Z)}finally{}}async _confirmAndContinueUndo(X,Y,Z){if(!(await this._dialogService.confirm({message:F(2110,\"Would you like to undo '{0}'?\",Z.label),primaryButton:F(2111,\"&&Yes\"),cancelButton:F(2112,\"No\")})).confirmed)return;return this._undo(X,Y,!0)}_findClosestRedoElementWithSource(X){if(!X)return[null,null];let Y=null,Z=null;for(let[Q,$]of this._editStacks){let q=$.getClosestFutureElement();if(!q)continue;if(q.sourceId===X){if(!Y||q.sourceOrder<Y.sourceOrder)Y=q,Z=Q}}return[Y,Z]}canRedo(X){if(X instanceof SQ){let[,Z]=this._findClosestRedoElementWithSource(X.id);return Z?!0:!1}let Y=this.getUriComparisonKey(X);if(this._editStacks.has(Y))return this._editStacks.get(Y).hasFutureElements();return!1}_tryToSplitAndRedo(X,Y,Z,Q){if(Y.canSplit())return this._splitFutureWorkspaceElement(Y,Z),this._notificationService.warn(Q),new $_(this._redo(X));else{for(let $ of Y.strResources)this.removeElements($);return this._notificationService.warn(Q),new $_}}_checkWorkspaceRedo(X,Y,Z,Q){if(Y.removedResources)return this._tryToSplitAndRedo(X,Y,Y.removedResources,F(2113,\"Could not redo '{0}' across all files. {1}\",Y.label,Y.removedResources.createMessage()));if(Q&&Y.invalidatedResources)return this._tryToSplitAndRedo(X,Y,Y.invalidatedResources,F(2114,\"Could not redo '{0}' across all files. {1}\",Y.label,Y.invalidatedResources.createMessage()));let $=[];for(let G of Z.editStacks)if(G.getClosestFutureElement()!==Y)$.push(G.resourceLabel);if($.length>0)return this._tryToSplitAndRedo(X,Y,null,F(2115,\"Could not redo '{0}' across all files because changes were made to {1}\",Y.label,$.join(\", \")));let q=[];for(let G of Z.editStacks)if(G.locked)q.push(G.resourceLabel);if(q.length>0)return this._tryToSplitAndRedo(X,Y,null,F(2116,\"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}\",Y.label,q.join(\", \")));if(!Z.isValid())return this._tryToSplitAndRedo(X,Y,null,F(2117,\"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime\",Y.label));return null}_workspaceRedo(X,Y){let Z=this._getAffectedEditStacks(Y),Q=this._checkWorkspaceRedo(X,Y,Z,!1);if(Q)return Q.returnValue;return this._executeWorkspaceRedo(X,Y,Z)}async _executeWorkspaceRedo(X,Y,Z){let Q;try{Q=await this._invokeWorkspacePrepare(Y)}catch(q){return this._onError(q,Y)}let $=this._checkWorkspaceRedo(X,Y,Z,!0);if($)return Q.dispose(),$.returnValue;for(let q of Z.editStacks)q.moveForward(Y);return this._safeInvokeWithLocks(Y,()=>Y.actual.redo(),Z,Q,()=>this._continueRedoInGroup(Y.groupId))}_resourceRedo(X,Y){if(!Y.isValid){X.flushAllElements();return}if(X.locked){let Z=F(2118,\"Could not redo '{0}' because there is already an undo or redo operation running.\",Y.label);this._notificationService.warn(Z);return}return this._invokeResourcePrepare(Y,(Z)=>{return X.moveForward(Y),this._safeInvokeWithLocks(Y,()=>Y.actual.redo(),new Iw([X]),Z,()=>this._continueRedoInGroup(Y.groupId))})}_findClosestRedoElementInGroup(X){if(!X)return[null,null];let Y=null,Z=null;for(let[Q,$]of this._editStacks){let q=$.getClosestFutureElement();if(!q)continue;if(q.groupId===X){if(!Y||q.groupOrder<Y.groupOrder)Y=q,Z=Q}}return[Y,Z]}_continueRedoInGroup(X){if(!X)return;let[,Y]=this._findClosestRedoElementInGroup(X);if(Y)return this._redo(Y)}redo(X){if(X instanceof SQ){let[,Y]=this._findClosestRedoElementWithSource(X.id);return Y?this._redo(Y):void 0}if(typeof X===\"string\")return this._redo(X);return this._redo(this.getUriComparisonKey(X))}_redo(X){if(!this._editStacks.has(X))return;let Y=this._editStacks.get(X),Z=Y.getClosestFutureElement();if(!Z)return;if(Z.groupId){let[Q,$]=this._findClosestRedoElementInGroup(Z.groupId);if(Z!==Q&&$)return this._redo($)}try{if(Z.type===1)return this._workspaceRedo(X,Z);else return this._resourceRedo(Y,Z)}finally{}}};Rg=MP0([hJ0(0,Tw),hJ0(1,d6)],Rg);class $_{constructor(J){this.returnValue=J}}f0(KK,Rg,1);var mJ0={ctrlCmd:!1,alt:!1,shift:!1},iG;(function(J){J[J.Blur=1]=\"Blur\",J[J.Gesture=2]=\"Gesture\",J[J.Other=3]=\"Other\"})(iG||(iG={}));var aJ;(function(J){J[J.NONE=0]=\"NONE\",J[J.FIRST=1]=\"FIRST\",J[J.SECOND=2]=\"SECOND\",J[J.LAST=3]=\"LAST\"})(aJ||(aJ={}));var W1;(function(J){J[J.First=1]=\"First\",J[J.Second=2]=\"Second\",J[J.Last=3]=\"Last\",J[J.Next=4]=\"Next\",J[J.Previous=5]=\"Previous\",J[J.NextPage=6]=\"NextPage\",J[J.PreviousPage=7]=\"PreviousPage\",J[J.NextSeparator=8]=\"NextSeparator\",J[J.PreviousSeparator=9]=\"PreviousSeparator\"})(W1||(W1={}));var q_;(function(J){J[J.Title=1]=\"Title\",J[J.Inline=2]=\"Inline\",J[J.Input=3]=\"Input\"})(q_||(q_={}));var g7=W0(\"quickInputService\");var Y3;(function(J){J[J.STORAGE_DOES_NOT_EXIST=0]=\"STORAGE_DOES_NOT_EXIST\",J[J.STORAGE_IN_MEMORY=1]=\"STORAGE_IN_MEMORY\"})(Y3||(Y3={}));var rG;(function(J){J[J.None=0]=\"None\",J[J.Initialized=1]=\"Initialized\",J[J.Closed=2]=\"Closed\"})(rG||(rG={}));class oG extends y{static{this.DEFAULT_FLUSH_DELAY=100}constructor(J,X=Object.create(null)){super();this.database=J,this.options=X,this._onDidChangeStorage=this._register(new tZ),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=rG.None,this.cache=new Map,this.flushDelayer=this._register(new Iz(oG.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.pendingClose=void 0,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((J)=>this.onDidChangeItemsExternal(J)))}onDidChangeItemsExternal(J){this._onDidChangeStorage.pause();try{J.changed?.forEach((X,Y)=>this.acceptExternal(Y,X)),J.deleted?.forEach((X)=>this.acceptExternal(X,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(J,X){if(this.state===rG.Closed)return;let Y=!1;if(Z7(X))Y=this.cache.delete(J);else if(this.cache.get(J)!==X)this.cache.set(J,X),Y=!0;if(Y)this._onDidChangeStorage.fire({key:J,external:!0})}get(J,X){let Y=this.cache.get(J);if(Z7(Y))return X;return Y}getBoolean(J,X){let Y=this.get(J);if(Z7(Y))return X;return Y===\"true\"}getNumber(J,X){let Y=this.get(J);if(Z7(Y))return X;return parseInt(Y,10)}async set(J,X,Y=!1){if(this.state===rG.Closed)return;if(Z7(X))return this.delete(J,Y);let Z=E6(X)||Array.isArray(X)?QJ0(X):String(X);if(this.cache.get(J)===Z)return;return this.cache.set(J,Z),this.pendingInserts.set(J,Z),this.pendingDeletes.delete(J),this._onDidChangeStorage.fire({key:J,external:Y}),this.doFlush()}async delete(J,X=!1){if(this.state===rG.Closed)return;if(!this.cache.delete(J))return;if(!this.pendingDeletes.has(J))this.pendingDeletes.add(J);return this.pendingInserts.delete(J),this._onDidChangeStorage.fire({key:J,external:X}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;let J={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(J).finally(()=>{if(!this.hasPending)while(this.whenFlushedCallbacks.length)this.whenFlushedCallbacks.pop()?.()})}async flush(J){if(this.state===rG.Closed||this.pendingClose)return;return this.doFlush(J)}async doFlush(J){if(this.options.hint===Y3.STORAGE_IN_MEMORY)return this.flushPending();return this.flushDelayer.trigger(()=>this.flushPending(),J)}async whenFlushed(){if(!this.hasPending)return;return new Promise((J)=>this.whenFlushedCallbacks.push(J))}}class hK{constructor(){this.onDidChangeItemsExternal=i.None,this.items=new Map}async updateItems(J){J.insert?.forEach((X,Y)=>this.items.set(Y,X)),J.delete?.forEach((X)=>this.items.delete(X))}}var kw=\"__$__targetStorageMarker\",z7=W0(\"storageService\"),G_;(function(J){J[J.NONE=0]=\"NONE\",J[J.SHUTDOWN=1]=\"SHUTDOWN\"})(G_||(G_={}));function RP0(J){let X=J.get(kw);if(X)try{return JSON.parse(X)}catch(Y){}return Object.create(null)}class wg extends y{static{this.DEFAULT_FLUSH_INTERVAL=60000}constructor(J={flushInterval:wg.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new tZ),this._onDidChangeTarget=this._register(new tZ),this._onWillSaveState=this._register(new E),this.onWillSaveState=this._onWillSaveState.event,this.runFlushWhenIdle=this._register(new Q1),this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0,this._applicationSharedKeyTargets=void 0,this.flushWhenIdleScheduler=this._register(new B1(()=>this.doFlushWhenIdle(),J.flushInterval))}onDidChangeValue(J,X,Y){return i.filter(this._onDidChangeValue.event,(Z)=>Z.scope===J&&(X===void 0||Z.key===X),Y)}doFlushWhenIdle(){this.runFlushWhenIdle.value=kz(()=>{if(this.shouldFlushWhenIdle())this.flush();this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}emitDidChangeValue(J,X){let{key:Y,external:Z}=X;if(Y===kw){switch(J){case-2:this._applicationSharedKeyTargets=void 0;break;case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:J})}else this._onDidChangeValue.fire({scope:J,key:Y,target:this.getKeyTargets(J)[Y],external:Z})}get(J,X,Y){return this.getStorage(X)?.get(J,Y)}getBoolean(J,X,Y){return this.getStorage(X)?.getBoolean(J,Y)}getNumber(J,X,Y){return this.getStorage(X)?.getNumber(J,Y)}store(J,X,Y,Z,Q=!1){if(Z7(X)){this.remove(J,Y,Q);return}this.withPausedEmitters(()=>{this.updateKeyTarget(J,Y,Z),this.getStorage(Y)?.set(J,X,Q)})}remove(J,X,Y=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(J,X,void 0),this.getStorage(X)?.delete(J,Y)})}withPausedEmitters(J){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{J()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(J,X,Y,Z=!1){let Q=this.getKeyTargets(X);if(typeof Y===\"number\"){if(Q[J]!==Y)Q[J]=Y,this.getStorage(X)?.set(kw,JSON.stringify(Q),Z)}else if(typeof Q[J]===\"number\")delete Q[J],this.getStorage(X)?.set(kw,JSON.stringify(Q),Z)}get workspaceKeyTargets(){if(!this._workspaceKeyTargets)this._workspaceKeyTargets=this.loadKeyTargets(1);return this._workspaceKeyTargets}get profileKeyTargets(){if(!this._profileKeyTargets)this._profileKeyTargets=this.loadKeyTargets(0);return this._profileKeyTargets}get applicationKeyTargets(){if(!this._applicationKeyTargets)this._applicationKeyTargets=this.loadKeyTargets(-1);return this._applicationKeyTargets}get applicationSharedKeyTargets(){if(!this._applicationSharedKeyTargets)this._applicationSharedKeyTargets=this.loadKeyTargets(-2);return this._applicationSharedKeyTargets}getKeyTargets(J){switch(J){case-2:return this.applicationSharedKeyTargets;case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(J){let X=this.getStorage(J);return X?RP0(X):Object.create(null)}async flush(J=G_.NONE){this._onWillSaveState.fire({reason:J});let X=this.getStorage(-1),Y=this.getStorage(-2),Z=this.getStorage(0),Q=this.getStorage(1);switch(J){case G_.NONE:await Lq.settled([X?.whenFlushed()??Promise.resolve(),Y?.whenFlushed()??Promise.resolve(),Z?.whenFlushed()??Promise.resolve(),Q?.whenFlushed()??Promise.resolve()]);break;case G_.SHUTDOWN:await Lq.settled([X?.flush(0)??Promise.resolve(),Y?.flush(0)??Promise.resolve(),Z?.flush(0)??Promise.resolve(),Q?.flush(0)??Promise.resolve()]);break}}}class Tg extends wg{constructor(){super();this.applicationStorage=this._register(new oG(new hK,{hint:Y3.STORAGE_IN_MEMORY})),this.applicationSharedStorage=this._register(new oG(new hK,{hint:Y3.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new oG(new hK,{hint:Y3.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new oG(new hK,{hint:Y3.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((J)=>this.emitDidChangeValue(1,J))),this._register(this.profileStorage.onDidChangeStorage((J)=>this.emitDidChangeValue(0,J))),this._register(this.applicationStorage.onDidChangeStorage((J)=>this.emitDidChangeValue(-1,J))),this._register(this.applicationSharedStorage.onDidChangeStorage((J)=>this.emitDidChangeValue(-2,J)))}getStorage(J){switch(J){case-2:return this.applicationSharedStorage;case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}shouldFlushWhenIdle(){return!1}}var NP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},uJ0=function(J,X){return function(Y,Z){X(Y,Z,J)}},kg=W0(\"IInlineCompletionsService\"),cJ0=new G0(\"inlineCompletions.snoozed\",!1,F(83,\"Whether inline completions are currently snoozed\")),Ig=class extends y{get snoozeTimeLeft(){if(this._snoozeTimeEnd===void 0)return 0;return Math.max(0,this._snoozeTimeEnd-Date.now())}constructor(X,Y){super();this._contextKeyService=X,this._telemetryService=Y,this._onDidChangeIsSnoozing=this._register(new E),this.onDidChangeIsSnoozing=this._onDidChangeIsSnoozing.event,this._snoozeTimeEnd=void 0,this._recentCompletionIds=[],this._timer=this._register(new i8);let Z=cJ0.bindTo(this._contextKeyService);this._register(this.onDidChangeIsSnoozing(()=>Z.set(this.isSnoozing())))}setSnoozeDuration(X){if(X<0)throw new j0(`Invalid snooze duration: ${X}. Duration must be non-negative.`);if(X===0){this.cancelSnooze();return}let Y=this.isSnoozing(),Z=this.snoozeTimeLeft;if(this._snoozeTimeEnd=Date.now()+X,!Y)this._onDidChangeIsSnoozing.fire(!0);this._timer.cancelAndSet(()=>{if(!this.isSnoozing())this._onDidChangeIsSnoozing.fire(!1);else throw new j0(\"Snooze timer did not fire as expected\")},this.snoozeTimeLeft+1),this._reportSnooze(X-Z,X)}isSnoozing(){return this.snoozeTimeLeft>0}cancelSnooze(){if(this.isSnoozing())this._reportSnooze(-this.snoozeTimeLeft,0),this._snoozeTimeEnd=void 0,this._timer.cancel(),this._onDidChangeIsSnoozing.fire(!1)}reportNewCompletion(X){if(this._lastCompletionId=X,this._recentCompletionIds.unshift(X),this._recentCompletionIds.length>5)this._recentCompletionIds.pop()}_reportSnooze(X,Y){let Z=Math.round(X/1000),Q=Math.round(Y/1000);this._telemetryService.publicLog2(\"inlineCompletions.snooze\",{deltaSeconds:Z,totalSeconds:Q,lastCompletionId:this._lastCompletionId,recentCompletionIds:this._recentCompletionIds})}};Ig=NP0([uJ0(0,E0),uJ0(1,k7)],Ig);f0(kg,Ig,1);var wP0=\"editor.action.inlineSuggest.snooze\",TP0=\"editor.action.inlineSuggest.cancelSnooze\",Lg=\"inlineCompletions.lastSnoozeDuration\";class dJ0 extends I4{static{this.ID=wP0}constructor(){super({id:dJ0.ID,title:B0(97,\"Snooze Inline Suggestions\"),precondition:P0.true(),f1:!0})}async run(J,...X){let Y=J.get(g7),Z=J.get(kg),Q=J.get(z7),$;if(X.length>0&&typeof X[0]===\"number\")$=X[0]*60000;if(!$)$=await this.getDurationFromUser(Y,Q);if($)Z.setSnoozeDuration($)}async getDurationFromUser(J,X){let Y=X.getNumber(Lg,0,300000),Z=[{label:F(84,\"1 minute\"),id:\"1\",value:60000},{label:F(85,\"5 minutes\"),id:\"5\",value:300000},{label:F(86,\"10 minutes\"),id:\"10\",value:600000},{label:F(87,\"15 minutes\"),id:\"15\",value:900000},{label:F(88,\"30 minutes\"),id:\"30\",value:1800000},{label:F(89,\"60 minutes\"),id:\"60\",value:3600000}],Q=Z;if(Y>0&&!Z.some((q)=>q.value===Y)){let q=Y/60000,G={label:F(90,\"{0} minutes (Last used)\",q),id:\"last-custom\",value:Y,description:F(91,\"Last used custom duration\")},U=Z.findIndex((H)=>H.value>Y);if(U===-1)Q=[...Z,G];else Q=[...Z.slice(0,U),G,...Z.slice(U)]}Q.push({label:F(92,\"Custom...\"),id:\"custom\",value:-1});let $=await J.pick(Q,{placeHolder:F(93,\"Select snooze duration for Inline Suggestions\"),activeItem:Q.find((q)=>q.value===Y)});if($){if($.id===\"custom\")return this.getCustomDurationFromUser(J,X);return X.store(Lg,$.value,0,0),$.value}return}async getCustomDurationFromUser(J,X){let Y=await J.input({placeHolder:F(94,\"Duration in minutes (e.g. 90)\"),prompt:F(95,\"Enter snooze duration in minutes\"),validateInput:async(Z)=>{let Q=Number(Z);if(isNaN(Q)||Q<=0||!Number.isFinite(Q))return F(96,\"Please enter a positive number\");return}});if(Y){let Z=Number(Y)*60000;return X.store(Lg,Z,0,0),Z}return}}class lJ0 extends I4{static{this.ID=TP0}constructor(){super({id:lJ0.ID,title:B0(98,\"Cancel Snooze Inline Suggestions\"),precondition:cJ0,f1:!0})}async run(J){J.get(kg).cancelSnooze()}}function _5(J,X,Y){return Math.min(Math.max(J,X),Y)}class Ew{constructor(){this._n=1,this._val=0}update(J){return this._val=this._val+(J-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class Eg{constructor(J){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=Array(J),this._values.fill(0,0,J)}update(J){let X=this._values[this._index];if(this._values[this._index]=J,this._index=(this._index+1)%this._values.length,this._sum-=X,this._sum+=J,this._n<this._values.length)this._n+=1;return this._val=this._sum/this._n,this._val}get value(){return this._val}}var yw=W0(\"environmentService\");var LP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},sJ0=function(J,X){return function(Y,Z){X(Y,Z,J)}},U_=W0(\"ILanguageFeatureDebounceService\"),xw;(function(J){let X=new WeakMap,Y=0;function Z(Q){let $=X.get(Q);if($===void 0)$=++Y,X.set(Q,$);return $}J.of=Z})(xw||(xw={}));class aJ0{constructor(J){this._default=J}get(J){return this._default}update(J,X){return this._default}default(){return this._default}}class iJ0{constructor(J,X,Y,Z,Q,$){this._logService=J,this._name=X,this._registry=Y,this._default=Z,this._min=Q,this._max=$,this._cache=new k4(50,0.7)}_key(J){return J.id+this._registry.all(J).reduce((X,Y)=>xz(xw.of(Y),X),0)}get(J){let X=this._key(J),Y=this._cache.get(X);return Y?_5(Y.value,this._min,this._max):this.default()}update(J,X){let Y=this._key(J),Z=this._cache.get(Y);if(!Z)Z=new Eg(6),this._cache.set(Y,Z);let Q=_5(Z.update(X),this._min,this._max);if(!Ez(J.uri,\"output\"))this._logService.trace(`[DEBOUNCE: ${this._name}] for ${J.uri.toString()} is ${Q}ms`);return Q}_overall(){let J=new Ew;for(let[,X]of this._cache)J.update(X.value);return J.value}default(){let J=this._overall()|0||this._default;return _5(J,this._min,this._max)}}var yg=class{constructor(X,Y){this._logService=X,this._data=new Map,this._isDev=Y.isExtensionDevelopment||!Y.isBuilt}for(X,Y,Z){let Q=Z?.min??50,$=Z?.max??Q**2,q=Z?.key??void 0,G=`${xw.of(X)},${Q}${q?\",\"+q:\"\"}`,U=this._data.get(G);if(!U){if(this._isDev)this._logService.debug(`[DEBOUNCE: ${Y}] is disabled in developed mode`),U=new aJ0(Q*1.5);else U=new iJ0(this._logService,Y,X,this._overallAverage()|0||Q*1.5,Q,$);this._data.set(G,U)}return U}_overallAverage(){let X=new Ew;for(let Y of this._data.values())X.update(Y.default());return X.value}};yg=LP0([sJ0(0,x1),sJ0(1,yw)],yg);f0(U_,yg,1);var bw=\"**\",rJ0=\"/\",Cw=\"[/\\\\\\\\]\",Sw=\"[^/\\\\\\\\]\",IP0=/\\//g;function oJ0(J,X){switch(J){case 0:return\"\";case 1:return`${Sw}*?`;default:return`(?:${Cw}|${Sw}+${Cw}${X?`|${Cw}${Sw}+`:\"\"})*?`}}function nJ0(J,X){if(!J)return[];let Y=[],Z=!1,Q=!1,$=\"\";for(let q of J){switch(q){case X:if(!Z&&!Q){Y.push($),$=\"\";continue}break;case\"{\":Z=!0;break;case\"}\":Z=!1;break;case\"[\":Q=!0;break;case\"]\":Q=!1;break}$+=q}if($)Y.push($);return Y}function YX0(J){if(!J)return\"\";let X=\"\",Y=nJ0(J,rJ0);if(Y.every((Z)=>Z===bw))X=\".*\";else{let Z=!1;Y.forEach((Q,$)=>{if(Q===bw){if(Z)return;X+=oJ0(2,$===Y.length-1)}else{let q=!1,G=\"\",U=!1,H=\"\";for(let V of Q){if(V!==\"}\"&&q){G+=V;continue}if(U&&(V!==\"]\"||!H)){let K;if(V===\"-\")K=V;else if((V===\"^\"||V===\"!\")&&!H)K=\"^\";else if(V===rJ0)K=\"\";else K=a8(V);H+=K;continue}switch(V){case\"{\":q=!0;continue;case\"[\":U=!0;continue;case\"}\":{let j=`(?:${nJ0(G,\",\").map((W)=>YX0(W)).join(\"|\")})`;X+=j,q=!1,G=\"\";break}case\"]\":{X+=\"[\"+H+\"]\",U=!1,H=\"\";break}case\"?\":X+=Sw;continue;case\"*\":X+=oJ0(1);continue;default:X+=a8(V)}}if($<Y.length-1&&(Y[$+1]!==bw||$+2<Y.length))X+=Cw}Z=Q===bw})}return X}var kP0=/^\\*\\*\\/\\*\\.[\\w\\.-]+$/,EP0=/^\\*\\*\\/([\\w\\.-]+)\\/?$/,yP0=/^{\\*\\*\\/\\*?[\\w\\.-]+\\/?(,\\*\\*\\/\\*?[\\w\\.-]+\\/?)*}$/,xP0=/^{\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?(,\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?)*}$/,bP0=/^\\*\\*((\\/[\\w\\.-]+)+)\\/?$/,CP0=/^([\\w\\.-]+(\\/[\\w\\.-]+)*)\\/?$/,tJ0=new k4(1e4),eJ0=function(){return!1},YZ=function(){return null};function bg(J,X){if(!J)return YZ;let Y;if(typeof J!==\"string\")Y=J.pattern;else Y=J;Y=Y.trim();let Z=X.ignoreCase??!1,Q={...X,equals:Z?wJ:(U,H)=>U===H,endsWith:Z?cO:(U,H)=>U.endsWith(H),isEqualOrParent:(U,H)=>az(U,H,X.ignoreCase??!y6)},$=`${Z?Y.toLowerCase():Y}_${!!X.trimForExclusions}_${Z}`,q=tJ0.get($);if(q)return JX0(q,J,Q);let G;if(kP0.test(Y))q=SP0(Y.substring(4),Y,Q);else if(G=EP0.exec(xg(Y,Q)))q=fP0(G[1],Y,Q);else if((X.trimForExclusions?xP0:yP0).test(Y))q=hP0(Y,Q);else if(G=bP0.exec(xg(Y,Q)))q=XX0(G[1].substring(1),Y,!0,Q);else if(G=CP0.exec(xg(Y,Q)))q=XX0(G[1],Y,!1,Q);else q=vP0(Y,Q);return tJ0.set($,q),JX0(q,J,Q)}function JX0(J,X,Y){if(typeof X===\"string\")return J;let Z=function(Q,$){if(!Y.isEqualOrParent(Q,X.base))return null;return J(r$(Q.substring(X.base.length),FX),$)};return Z.allBasenames=J.allBasenames,Z.allPaths=J.allPaths,Z.basenames=J.basenames,Z.patterns=J.patterns,Z}function xg(J,X){return X.trimForExclusions&&J.endsWith(\"/**\")?J.substring(0,J.length-2):J}function SP0(J,X,Y){return function(Z,Q){return typeof Z===\"string\"&&Y.endsWith(Z,J)?X:null}}function fP0(J,X,Y){let Z=`/${J}`,Q=`\\\\${J}`,$=function(G,U){if(typeof G!==\"string\")return null;if(U)return Y.equals(U,J)?X:null;return Y.equals(G,J)||Y.endsWith(G,Z)||Y.endsWith(G,Q)?X:null},q=[J];return $.basenames=q,$.patterns=[X],$.allBasenames=q,$}function hP0(J,X){let Y=QX0(J.slice(1,-1).split(\",\").map((G)=>bg(G,X)).filter((G)=>G!==YZ),J),Z=Y.length;if(!Z)return YZ;if(Z===1)return Y[0];let Q=function(G,U){for(let H=0,V=Y.length;H<V;H++)if(Y[H](G,U))return J;return null},$=Y.find((G)=>!!G.allBasenames);if($)Q.allBasenames=$.allBasenames;let q=Y.reduce((G,U)=>U.allPaths?G.concat(U.allPaths):G,[]);if(q.length)Q.allPaths=q;return Q}function XX0(J,X,Y,Z){let Q=FX===r1.sep,$=Q?J:J.replace(IP0,FX),q=FX+$,G=r1.sep+J,U;if(Y)U=function(H,V){return typeof H===\"string\"&&(Z.equals(H,$)||Z.endsWith(H,q)||!Q&&(Z.equals(H,J)||Z.endsWith(H,G)))?X:null};else U=function(H,V){return typeof H===\"string\"&&(Z.equals(H,$)||!Q&&Z.equals(H,J))?X:null};return U.allPaths=[(Y?\"*/\":\"./\")+J],U}function vP0(J,X){try{let Y=new RegExp(`^${YX0(J)}$`,X.ignoreCase?\"i\":void 0);return function(Z){return Y.lastIndex=0,typeof Z===\"string\"&&Y.test(Z)?J:null}}catch{return YZ}}function ZX0(J,X,Y){if(!J||typeof X!==\"string\")return!1;return Cg(J,Y)(X)}function Cg(J,X={}){if(!J)return eJ0;if(typeof J===\"string\"||gP0(J)){let Y=bg(J,X);if(Y===YZ)return eJ0;let Z=function(Q,$){return!!Y(Q,$)};if(Y.allBasenames)Z.allBasenames=Y.allBasenames;if(Y.allPaths)Z.allPaths=Y.allPaths;return Z}return pP0(J,X)}function gP0(J){let X=J;if(!X)return!1;return typeof X.base===\"string\"&&typeof X.pattern===\"string\"}function pP0(J,X){let Y=QX0(Object.getOwnPropertyNames(J).map((G)=>mP0(G,J[G],X)).filter((G)=>G!==YZ)),Z=Y.length;if(!Z)return YZ;if(!Y.some((G)=>!!G.requiresSiblings)){if(Z===1)return Y[0];let G=function(V,K){let j=void 0;for(let W=0,z=Y.length;W<z;W++){let B=Y[W](V,K);if(typeof B===\"string\")return B;if(tO(B)){if(!j)j=[];j.push(B)}}if(j)return(async()=>{for(let W of j){let z=await W;if(typeof z===\"string\")return z}return null})();return null},U=Y.find((V)=>!!V.allBasenames);if(U)G.allBasenames=U.allBasenames;let H=Y.reduce((V,K)=>K.allPaths?V.concat(K.allPaths):V,[]);if(H.length)G.allPaths=H;return G}let Q=function(G,U,H){let V=void 0,K=void 0;for(let j=0,W=Y.length;j<W;j++){let z=Y[j];if(z.requiresSiblings&&H){if(!U)U=Dz(G);if(!V)V=U.substring(0,U.length-Dn(G).length)}let B=z(G,U,V,H);if(typeof B===\"string\")return B;if(tO(B)){if(!K)K=[];K.push(B)}}if(K)return(async()=>{for(let j of K){let W=await j;if(typeof W===\"string\")return W}return null})();return null},$=Y.find((G)=>!!G.allBasenames);if($)Q.allBasenames=$.allBasenames;let q=Y.reduce((G,U)=>U.allPaths?G.concat(U.allPaths):G,[]);if(q.length)Q.allPaths=q;return Q}function mP0(J,X,Y){if(X===!1)return YZ;let Z=bg(J,Y);if(Z===YZ)return YZ;if(typeof X===\"boolean\")return Z;if(X){let Q=X.when;if(typeof Q===\"string\"){let $=(q,G,U,H)=>{if(!H||!Z(q,G))return null;let V=Q.replace(\"$(basename)\",()=>U),K=H(V);return tO(K)?K.then((j)=>j?J:null):K?J:null};return $.requiresSiblings=!0,$}}return Z}function QX0(J,X){let Y=J.filter((G)=>!!G.basenames);if(Y.length<2)return J;let Z=Y.reduce((G,U)=>{let H=U.basenames;return H?G.concat(H):G},[]),Q;if(X){Q=[];for(let G=0,U=Z.length;G<U;G++)Q.push(X)}else Q=Y.reduce((G,U)=>{let H=U.patterns;return H?G.concat(H):G},[]);let $=function(G,U){if(typeof G!==\"string\")return null;if(!U){let V;for(V=G.length;V>0;V--){let K=G.charCodeAt(V-1);if(K===47||K===92)break}U=G.substring(V)}let H=Z.indexOf(U);return H!==-1?Q[H]:null};$.basenames=Z,$.patterns=Q,$.allBasenames=Z;let q=J.filter((G)=>!G.basenames);return q.push($),q}function Sg(J,X,Y,Z,Q,$){if(Array.isArray(J)){let q=0;for(let G of J){let U=Sg(G,X,Y,Z,Q,$);if(U===10)return U;if(U>q)q=U}return q}else if(typeof J===\"string\"){if(!Z)return 0;if(J===\"*\")return 5;else if(J===Y)return 10;else return 0}else if(J){let{language:q,pattern:G,scheme:U,hasAccessToAllModels:H,notebookType:V}=J;if(!Z&&!H)return 0;if(V&&Q)X=Q;let K=0;if(U)if(U===X.scheme)K=10;else if(U===\"*\")K=5;else return 0;if(q)if(q===Y)K=10;else if(q===\"*\")K=Math.max(K,5);else return 0;if(V)if(V===$)K=10;else if(V===\"*\"&&$!==void 0)K=Math.max(K,5);else return 0;if(G){let j;if(typeof G===\"string\")j=G;else j={...G,base:_q(G.base)};if(j===X.fsPath||ZX0(j,X.fsPath))K=10;else return 0}return K}else return 0}function $X0(J){if(typeof J===\"string\")return!1;else if(Array.isArray(J))return J.every($X0);else return!!J.exclusive}class fg{constructor(J,X,Y,Z,Q){this.uri=J,this.languageId=X,this.notebookUri=Y,this.notebookType=Z,this.recursive=Q}equals(J){return this.notebookType===J.notebookType&&this.languageId===J.languageId&&this.uri.toString()===J.uri.toString()&&this.notebookUri?.toString()===J.notebookUri?.toString()&&this.recursive===J.recursive}}class A6{get onDidChange(){return this._onDidChange.event}constructor(J){this._notebookInfoResolver=J,this._clock=0,this._entries=[],this._onDidChange=new E}register(J,X){let Y={selector:J,provider:X,_score:-1,_time:this._clock++};return this._entries.push(Y),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),J0(()=>{if(Y){let Z=this._entries.indexOf(Y);if(Z>=0)this._entries.splice(Z,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Y=void 0}})}has(J){return this.all(J).length>0}all(J){if(!J)return[];this._updateScores(J,!1);let X=[];for(let Y of this._entries)if(Y._score>0)X.push(Y.provider);return X}allNoModel(){return this._entries.map((J)=>J.provider)}ordered(J,X=!1){let Y=[];return this._orderedForEach(J,X,(Z)=>Y.push(Z.provider)),Y}orderedGroups(J){let X=[],Y,Z;return this._orderedForEach(J,!1,(Q)=>{if(Y&&Z===Q._score)Y.push(Q.provider);else Z=Q._score,Y=[Q.provider],X.push(Y)}),X}_orderedForEach(J,X,Y){this._updateScores(J,X);for(let Z of this._entries)if(Z._score>0)Y(Z)}_updateScores(J,X){let Y=this._notebookInfoResolver?.(J.uri),Z=Y?new fg(J.uri,J.getLanguageId(),Y.uri,Y.type,X):new fg(J.uri,J.getLanguageId(),void 0,void 0,X);if(this._lastCandidate?.equals(Z))return;this._lastCandidate=Z;for(let Q of this._entries)if(Q._score=Sg(Q.selector,Z.uri,Z.languageId,W00(J),Z.notebookUri,Z.notebookType),$X0(Q.selector)&&Q._score>0)if(X)Q._score=0;else{for(let $ of this._entries)$._score=0;Q._score=1000;break}this._entries.sort(A6._compareByScoreAndTime)}static _compareByScoreAndTime(J,X){if(J._score<X._score)return 1;else if(J._score>X._score)return-1;if(H_(J.selector)&&!H_(X.selector))return 1;else if(!H_(J.selector)&&H_(X.selector))return-1;if(J._time<X._time)return 1;else if(J._time>X._time)return-1;else return 0}}function H_(J){if(typeof J===\"string\")return!1;if(Array.isArray(J))return J.some(H_);return Boolean(J.isBuiltin)}class qX0{constructor(){this.referenceProvider=new A6(this._score.bind(this)),this.renameProvider=new A6(this._score.bind(this)),this.newSymbolNamesProvider=new A6(this._score.bind(this)),this.codeActionProvider=new A6(this._score.bind(this)),this.definitionProvider=new A6(this._score.bind(this)),this.typeDefinitionProvider=new A6(this._score.bind(this)),this.declarationProvider=new A6(this._score.bind(this)),this.implementationProvider=new A6(this._score.bind(this)),this.documentSymbolProvider=new A6(this._score.bind(this)),this.inlayHintsProvider=new A6(this._score.bind(this)),this.colorProvider=new A6(this._score.bind(this)),this.codeLensProvider=new A6(this._score.bind(this)),this.documentFormattingEditProvider=new A6(this._score.bind(this)),this.documentRangeFormattingEditProvider=new A6(this._score.bind(this)),this.onTypeFormattingEditProvider=new A6(this._score.bind(this)),this.signatureHelpProvider=new A6(this._score.bind(this)),this.hoverProvider=new A6(this._score.bind(this)),this.documentHighlightProvider=new A6(this._score.bind(this)),this.multiDocumentHighlightProvider=new A6(this._score.bind(this)),this.selectionRangeProvider=new A6(this._score.bind(this)),this.foldingRangeProvider=new A6(this._score.bind(this)),this.linkProvider=new A6(this._score.bind(this)),this.inlineCompletionsProvider=new A6(this._score.bind(this)),this.completionProvider=new A6(this._score.bind(this)),this.linkedEditingRangeProvider=new A6(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new A6(this._score.bind(this)),this.documentSemanticTokensProvider=new A6(this._score.bind(this)),this.documentDropEditProvider=new A6(this._score.bind(this)),this.documentPasteEditProvider=new A6(this._score.bind(this))}_score(J){return this._notebookTypeResolver?.(J)}}f0($1,qX0,1);class hg{constructor(J=5){this.timesPerSecond=J,this._lastRun=0,this._minimumTimeBetweenRuns=1000/J}runIfNotLimited(J){let X=Date.now();if(X-this._lastRun>=this._minimumTimeBetweenRuns)this._lastRun=X,J()}}class vK{constructor(J){this._tokens=J,this._tokenCount=J.length/4}toString(J){let X=[];for(let Y=0;Y<this._tokenCount;Y++)X.push(`(${this._getDeltaLine(Y)+J},${this._getStartCharacter(Y)}-${this._getEndCharacter(Y)})`);return`[${X.join(\",\")}]`}getMaxDeltaLine(){let J=this._getTokenCount();if(J===0)return-1;return this._getDeltaLine(J-1)}getRange(){let J=this._getTokenCount();if(J===0)return null;let X=this._getStartCharacter(0),Y=this._getDeltaLine(J-1),Z=this._getEndCharacter(J-1);return new T(0,X+1,Y,Z+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(J){return this._tokens[4*J]}_getStartCharacter(J){return this._tokens[4*J+1]}_getEndCharacter(J){return this._tokens[4*J+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(J){let X=0,Y=this._getTokenCount()-1;while(X<Y){let Z=X+Math.floor((Y-X)/2),Q=this._getDeltaLine(Z);if(Q<J)X=Z+1;else if(Q>J)Y=Z-1;else{let $=Z;while($>X&&this._getDeltaLine($-1)===J)$--;let q=Z;while(q<Y&&this._getDeltaLine(q+1)===J)q++;return new vg(this._tokens.subarray(4*$,4*q+4))}}if(this._getDeltaLine(X)===J)return new vg(this._tokens.subarray(4*X,4*X+4));return null}clear(){this._tokenCount=0}removeTokens(J,X,Y,Z){let Q=this._tokens,$=this._tokenCount,q=0,G=!1,U=0;for(let H=0;H<$;H++){let V=4*H,K=Q[V],j=Q[V+1],W=Q[V+2],z=Q[V+3];if((K>J||K===J&&W>=X)&&(K<Y||K===Y&&j<=Z))G=!0;else{if(q===0)U=K;if(G){let B=4*q;Q[B]=K-U,Q[B+1]=j,Q[B+2]=W,Q[B+3]=z}else if(U!==0)Q[V]=K-U;q++}}return this._tokenCount=q,U}split(J,X,Y,Z){let Q=this._tokens,$=this._tokenCount,q=[],G=[],U=q,H=0,V=0;for(let K=0;K<$;K++){let j=4*K,W=Q[j],z=Q[j+1],B=Q[j+2],P=Q[j+3];if(W>J||W===J&&B>=X){if(W<Y||W===Y&&z<=Z)continue;else if(U!==G)U=G,H=0,V=W}U[H++]=W-V,U[H++]=z,U[H++]=B,U[H++]=P}return[new vK(new Uint32Array(q)),new vK(new Uint32Array(G)),V]}acceptDeleteRange(J,X,Y,Z,Q){let $=this._tokens,q=this._tokenCount,G=Z-X,U=0,H=!1;for(let V=0;V<q;V++){let K=4*V,j=$[K],W=$[K+1],z=$[K+2],B=$[K+3];if(j<X||j===X&&z<=Y){U++;continue}else if(j===X&&W<Y)if(j===Z&&z>Q)z-=Q-Y;else z=Y;else if(j===X&&W===Y)if(j===Z&&z>Q)z-=Q-Y;else{H=!0;continue}else if(j<Z||j===Z&&W<Q)if(j===Z&&z>Q)j=X,W=Y,z=W+(z-Q);else{H=!0;continue}else if(j>Z){if(G===0&&!H){U=q;break}j-=G}else if(j===Z&&W>=Q){if(J&&j===0)W+=J,z+=J;j-=G,W-=Q-Y,z-=Q-Y}else throw Error(\"Not possible!\");let P=4*U;$[P]=j,$[P+1]=W,$[P+2]=z,$[P+3]=B,U++}this._tokenCount=U}acceptInsertText(J,X,Y,Z,Q,$){let q=Y===0&&Z===1&&($>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122),G=this._tokens,U=this._tokenCount;for(let H=0;H<U;H++){let V=4*H,K=G[V],j=G[V+1],W=G[V+2];if(K<J||K===J&&W<X)continue;else if(K===J&&W===X)if(q)W+=1;else continue;else if(K===J&&j<X&&X<W)if(Y===0)W+=Z;else W=X;else{if(K===J&&j===X){if(q)continue}if(K===J)if(K+=Y,Y===0)j+=Z,W+=Z;else{let z=W-j;j=Q+(j-X),W=j+z}else K+=Y}G[V]=K,G[V+1]=j,G[V+2]=W}}static{this._rateLimiter=new hg(0.16666666666666666)}reportIfInvalid(J,X){for(let Y=0;Y<this._tokenCount;Y++){let Z=this._getDeltaLine(Y)+X;if(Z<1)vK._rateLimiter.runIfNotLimited(()=>{console.error(\"Invalid Semantic Tokens Data From Extension: lineNumber < 1\")});else if(Z>J.getLineCount())vK._rateLimiter.runIfNotLimited(()=>{console.error(\"Invalid Semantic Tokens Data From Extension: lineNumber > model.getLineCount()\")});else if(this._getEndCharacter(Y)>J.getLineLength(Z))vK._rateLimiter.runIfNotLimited(()=>{console.error(\"Invalid Semantic Tokens Data From Extension: end character > model.getLineLength(lineNumber)\")})}}}class vg{constructor(J){this._tokens=J}getCount(){return this._tokens.length/4}getStartCharacter(J){return this._tokens[4*J+1]}getEndCharacter(J){return this._tokens[4*J+2]}getMetadata(J){return this._tokens[4*J+3]}}var uP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},gg=function(J,X){return function(Y,Z){X(Y,Z,J)}},fw=class{constructor(X,Y,Z,Q){this._legend=X,this._themeService=Y,this._languageService=Z,this._logService=Q,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new Z3}getMetadata(X,Y,Z){let Q=this._languageService.languageIdCodec.encodeLanguageId(Z),$=this._hashTable.get(X,Y,Q),q;if($)q=$.metadata;else{let G=this._legend.tokenTypes[X],U=[];if(G){let H=Y;for(let K=0;H>0&&K<this._legend.tokenModifiers.length;K++){if(H&1)U.push(this._legend.tokenModifiers[K]);H=H>>1}let V=this._themeService.getColorTheme().getTokenStyleMetadata(G,U,Z);if(typeof V>\"u\")q=2147483647;else{if(q=0,typeof V.italic<\"u\"){let K=(V.italic?1:0)<<11;q|=K|1}if(typeof V.bold<\"u\"){let K=(V.bold?2:0)<<11;q|=K|2}if(typeof V.underline<\"u\"){let K=(V.underline?4:0)<<11;q|=K|4}if(typeof V.strikethrough<\"u\"){let K=(V.strikethrough?8:0)<<11;q|=K|8}if(V.foreground){let K=V.foreground<<15;q|=K|16}if(q===0)q=2147483647}}else q=2147483647,G=\"not-in-legend\";this._hashTable.add(X,Y,Q,q)}return q}warnOverlappingSemanticTokens(X,Y){if(!this._hasWarnedOverlappingTokens)this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${X}, column ${Y}`)}warnInvalidLengthSemanticTokens(X,Y){if(!this._hasWarnedInvalidLengthTokens)this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${X}, column ${Y}`)}warnInvalidEditStart(X,Y,Z,Q,$){if(!this._hasWarnedInvalidEditStart)this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${X}, resultId: ${Y}) at edit #${Z}: The provided start offset ${Q} is outside the previous data (length ${$}).`)}};fw=uP0([gg(1,L6),gg(2,j6),gg(3,x1)],fw);class GX0{constructor(J,X,Y,Z){this.tokenTypeIndex=J,this.tokenModifierSet=X,this.languageId=Y,this.metadata=Z,this.next=null}}class Z3{static{this._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=Z3._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<Z3._SIZES.length?0.6666666666666666*this._currentLength:0),this._elements=[],Z3._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(J,X){for(let Y=0;Y<X;Y++)J[Y]=null}_hash2(J,X){return(J<<5)-J+X|0}_hashFunc(J,X,Y){return this._hash2(this._hash2(J,X),Y)%this._currentLength}get(J,X,Y){let Z=this._hashFunc(J,X,Y),Q=this._elements[Z];while(Q){if(Q.tokenTypeIndex===J&&Q.tokenModifierSet===X&&Q.languageId===Y)return Q;Q=Q.next}return null}add(J,X,Y,Z){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){let Q=this._elements;this._currentLengthIndex++,this._currentLength=Z3._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<Z3._SIZES.length?0.6666666666666666*this._currentLength:0),this._elements=[],Z3._nullOutEntries(this._elements,this._currentLength);for(let $ of Q){let q=$;while(q){let G=q.next;q.next=null,this._add(q),q=G}}}this._add(new GX0(J,X,Y,Z))}_add(J){let X=this._hashFunc(J.tokenTypeIndex,J.tokenModifierSet,J.languageId);J.next=this._elements[X],this._elements[X]=J}}var UX0=W0(\"semanticTokensStylingService\");var cP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},pg=function(J,X){return function(Y,Z){X(Y,Z,J)}},mg=class extends y{constructor(X,Y,Z){super();this._themeService=X,this._logService=Y,this._languageService=Z,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(X){if(!this._caches.has(X))this._caches.set(X,new fw(X.getLegend(),this._themeService,this._languageService,this._logService));return this._caches.get(X)}};mg=cP0([pg(0,L6),pg(1,x1),pg(2,j6)],mg);f0(UX0,mg,1);var dP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},lP0=function(J,X){return function(Y,Z){X(Y,Z,J)}},hw=class extends y{constructor(X){super();this._themeService=X,this._onWillCreateCodeEditor=this._register(new E),this._onCodeEditorAdd=this._register(new E),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new E),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new E),this._onDiffEditorAdd=this._register(new E),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new E),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new x6,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(X){this._codeEditors[X.getId()]=X,this._onCodeEditorAdd.fire(X)}removeCodeEditor(X){if(delete this._codeEditors[X.getId()])this._onCodeEditorRemove.fire(X)}listCodeEditors(){return Object.keys(this._codeEditors).map((X)=>this._codeEditors[X])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(X){this._diffEditors[X.getId()]=X,this._onDiffEditorAdd.fire(X)}removeDiffEditor(X){if(delete this._diffEditors[X.getId()])this._onDiffEditorRemove.fire(X)}listDiffEditors(){return Object.keys(this._diffEditors).map((X)=>this._diffEditors[X])}getFocusedCodeEditor(){let X=null,Y=this.listCodeEditors();for(let Z of Y){if(Z.hasTextFocus())return Z;if(Z.hasWidgetFocus())X=Z}return X}removeDecorationType(X){let Y=this._decorationOptionProviders.get(X);if(Y){if(Y.refCount--,Y.refCount<=0)this._decorationOptionProviders.delete(X),Y.dispose(),this.listCodeEditors().forEach((Z)=>Z.removeDecorationsByType(X))}}setModelProperty(X,Y,Z){let Q=X.toString(),$;if(this._modelProperties.has(Q))$=this._modelProperties.get(Q);else $=new Map,this._modelProperties.set(Q,$);$.set(Y,Z)}getModelProperty(X,Y){let Z=X.toString();if(this._modelProperties.has(Z))return this._modelProperties.get(Z).get(Y);return}async openCodeEditor(X,Y,Z){for(let Q of this._codeEditorOpenHandlers){let $=await Q(X,Y,Z);if($!==null)return $}return null}registerCodeEditorOpenHandler(X){let Y=this._codeEditorOpenHandlers.unshift(X);return J0(Y)}};hw=dP0([lP0(0,L6)],hw);var sP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},HX0=function(J,X){return function(Y,Z){X(Y,Z,J)}},V_=class extends hw{constructor(X,Y){super(Y);this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=X.createKey(\"editorIsOpen\",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(Z,Q,$)=>{if(!Q)return null;return this.doOpenEditor(Q,Z)}))}_checkContextKey(){let X=!1;for(let Y of this.listCodeEditors())if(!Y.isSimpleWidget){X=!0;break}this._editorIsOpen.set(X)}setActiveCodeEditor(X){this._activeCodeEditor=X}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(X,Y){if(!this.findModel(X,Y.resource)){if(Y.resource){let $=Y.resource.scheme;if($===T0.http||$===T0.https)return FM(Y.resource.toString()),X}return null}let Q=Y.options?Y.options.selection:null;if(Q)if(typeof Q.endLineNumber===\"number\"&&typeof Q.endColumn===\"number\")X.setSelection(Q),X.revealRangeInCenter(Q,1);else{let $={lineNumber:Q.startLineNumber,column:Q.startColumn};X.setPosition($),X.revealPositionInCenter($,1)}return X}findModel(X,Y){let Z=X.getModel();if(Z&&Z.uri.toString()!==Y.toString())return null;return Z}};V_=sP0([HX0(0,E0),HX0(1,L6)],V_);f0(l1,V_,0);var VX0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},KX0=function(J,X){return function(Y,Z){X(Y,Z,J)}},vw=class{get mainContainer(){return this._codeEditorService.listCodeEditors().at(0)?.getContainerDomNode()??X1.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return gz(this.mainContainer)}get activeContainerDimension(){return gz(this.activeContainer)}get containers(){return r4(this._codeEditorService.listCodeEditors().map((X)=>X.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){return}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(X){this._codeEditorService=X,this.onDidLayoutMainContainer=i.None,this.onDidLayoutActiveContainer=i.None,this.onDidLayoutContainer=i.None,this.onDidChangeActiveContainer=i.None,this.onDidAddContainer=i.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};vw=VX0([KX0(0,l1)],vw);var gw=class extends vw{get mainContainer(){return this._container}constructor(X,Y){super(Y);this._container=X}};gw=VX0([KX0(1,l1)],gw);f0(l5,vw,1);var aP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},ug=function(J,X){return function(Y,Z){X(Y,Z,J)}},pw=class extends y{constructor(X,Y,Z){super();this._contextKeyService=X,this._layoutService=Y,this._configurationService=Z,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=this._register(new E),this._onDidChangeReducedMotion=this._register(new E),this._onDidChangeReducedTransparency=this._register(new E),this._onDidChangeLinkUnderline=this._register(new E),this._accessibilityModeEnabledContext=UG.bindTo(this._contextKeyService);let Q=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((G)=>{if(G.affectsConfiguration(\"editor.accessibilitySupport\"))Q(),this._onDidChangeScreenReaderOptimized.fire();if(G.affectsConfiguration(\"workbench.reduceMotion\"))this._configMotionReduced=this._configurationService.getValue(\"workbench.reduceMotion\"),this._onDidChangeReducedMotion.fire();if(G.affectsConfiguration(\"workbench.reduceTransparency\"))this._configTransparencyReduced=this._configurationService.getValue(\"workbench.reduceTransparency\"),this._onDidChangeReducedTransparency.fire()})),Q(),this._register(this.onDidChangeScreenReaderOptimized(()=>Q()));let $=X1.matchMedia(\"(prefers-reduced-motion: reduce)\");this._systemMotionReduced=$.matches,this._configMotionReduced=this._configurationService.getValue(\"workbench.reduceMotion\");let q=X1.matchMedia(\"(prefers-reduced-transparency: reduce)\");this._systemTransparencyReduced=q.matches,this._configTransparencyReduced=this._configurationService.getValue(\"workbench.reduceTransparency\"),this._linkUnderlinesEnabled=this._configurationService.getValue(\"accessibility.underlineLinks\"),this.initReducedMotionListeners($),this.initReducedTransparencyListeners(q),this.initLinkUnderlineListeners()}initReducedMotionListeners(X){this._register(f(X,\"change\",()=>{if(this._systemMotionReduced=X.matches,this._configMotionReduced===\"auto\")this._onDidChangeReducedMotion.fire()}));let Y=()=>{let Z=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle(\"monaco-reduce-motion\",Z),this._layoutService.mainContainer.classList.toggle(\"monaco-enable-motion\",!Z)};Y(),this._register(this.onDidChangeReducedMotion(()=>Y()))}initReducedTransparencyListeners(X){this._register(f(X,\"change\",()=>{if(this._systemTransparencyReduced=X.matches,this._configTransparencyReduced===\"auto\")this._onDidChangeReducedTransparency.fire()}));let Y=()=>{let Z=this.isTransparencyReduced();this._layoutService.mainContainer.classList.toggle(\"monaco-reduce-transparency\",Z)};Y(),this._register(this.onDidChangeReducedTransparency(()=>Y()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration((Y)=>{if(Y.affectsConfiguration(\"accessibility.underlineLinks\")){let Z=this._configurationService.getValue(\"accessibility.underlineLinks\");this._linkUnderlinesEnabled=Z,this._onDidChangeLinkUnderline.fire()}}));let X=()=>{let Y=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle(\"underline-links\",Y)};X(),this._register(this.onDidChangeLinkUnderlines(()=>X()))}onDidChangeLinkUnderlines(X){return this._onDidChangeLinkUnderline.event(X)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){let X=this.getAccessibilitySupportConfigurationValue();return X===\"on\"||X===\"auto\"&&this._accessibilitySupport===2}getAccessibilitySupportConfigurationValue(){let X=this._configurationService.inspect(\"editor.accessibilitySupport\");return X.policyValue??X.memoryValue??X.workspaceFolderValue??X.workspaceValue??X.userValue??X.applicationValue??X.defaultValue??\"auto\"}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){let X=this._configMotionReduced;return X===\"on\"||X===\"auto\"&&this._systemMotionReduced}get onDidChangeReducedTransparency(){return this._onDidChangeReducedTransparency.event}isTransparencyReduced(){let X=this._configTransparencyReduced;return X===\"on\"||X===\"auto\"&&this._systemTransparencyReduced}getAccessibilitySupport(){return this._accessibilitySupport}};pw=aP0([ug(0,E0),ug(1,l5),ug(2,o0)],pw);var sQ=W0(\"accessibilitySignalService\");class v0{static register(J){return new v0(J.fileName)}static{this.error=v0.register({fileName:\"error.mp3\"})}static{this.warning=v0.register({fileName:\"warning.mp3\"})}static{this.success=v0.register({fileName:\"success.mp3\"})}static{this.foldedArea=v0.register({fileName:\"foldedAreas.mp3\"})}static{this.break=v0.register({fileName:\"break.mp3\"})}static{this.quickFixes=v0.register({fileName:\"quickFixes.mp3\"})}static{this.taskCompleted=v0.register({fileName:\"taskCompleted.mp3\"})}static{this.taskFailed=v0.register({fileName:\"taskFailed.mp3\"})}static{this.terminalBell=v0.register({fileName:\"terminalBell.mp3\"})}static{this.diffLineInserted=v0.register({fileName:\"diffLineInserted.mp3\"})}static{this.diffLineDeleted=v0.register({fileName:\"diffLineDeleted.mp3\"})}static{this.diffLineModified=v0.register({fileName:\"diffLineModified.mp3\"})}static{this.requestSent=v0.register({fileName:\"requestSent.mp3\"})}static{this.responseReceived1=v0.register({fileName:\"responseReceived1.mp3\"})}static{this.responseReceived2=v0.register({fileName:\"responseReceived2.mp3\"})}static{this.responseReceived3=v0.register({fileName:\"responseReceived3.mp3\"})}static{this.responseReceived4=v0.register({fileName:\"responseReceived4.mp3\"})}static{this.clear=v0.register({fileName:\"clear.mp3\"})}static{this.save=v0.register({fileName:\"save.mp3\"})}static{this.format=v0.register({fileName:\"format.mp3\"})}static{this.voiceRecordingStarted=v0.register({fileName:\"voiceRecordingStarted.mp3\"})}static{this.voiceRecordingStopped=v0.register({fileName:\"voiceRecordingStopped.mp3\"})}static{this.progress=v0.register({fileName:\"progress.mp3\"})}static{this.chatEditModifiedFile=v0.register({fileName:\"chatEditModifiedFile.mp3\"})}static{this.editsKept=v0.register({fileName:\"editsKept.mp3\"})}static{this.editsUndone=v0.register({fileName:\"editsUndone.mp3\"})}static{this.nextEditSuggestion=v0.register({fileName:\"nextEditSuggestion.mp3\"})}static{this.terminalCommandSucceeded=v0.register({fileName:\"terminalCommandSucceeded.mp3\"})}static{this.chatUserActionRequired=v0.register({fileName:\"chatUserActionRequired.mp3\"})}static{this.codeActionTriggered=v0.register({fileName:\"codeActionTriggered.mp3\"})}static{this.codeActionApplied=v0.register({fileName:\"codeActionApplied.mp3\"})}constructor(J){this.fileName=J}}class jX0{constructor(J){this.randomOneOf=J}}class K1{constructor(J,X,Y,Z,Q,$,q=!1){this.sound=J,this.name=X,this.legacySoundSettingsKey=Y,this.settingsKey=Z,this.legacyAnnouncementSettingsKey=Q,this.announcementMessage=$,this.managesOwnEnablement=q}static{this._signals=new Set}static register(J){let X=new jX0(\"randomOneOf\"in J.sound?J.sound.randomOneOf:[J.sound]),Y=new K1(X,J.name,J.legacySoundSettingsKey,J.settingsKey,J.legacyAnnouncementSettingsKey,J.announcementMessage,J.managesOwnEnablement);return K1._signals.add(Y),Y}static{this.errorAtPosition=K1.register({name:F(1630,\"Error at Position\"),sound:v0.error,announcementMessage:F(1631,\"Error\"),settingsKey:\"accessibility.signals.positionHasError\",delaySettingsKey:\"accessibility.signalOptions.delays.errorAtPosition\"})}static{this.warningAtPosition=K1.register({name:F(1632,\"Warning at Position\"),sound:v0.warning,announcementMessage:F(1633,\"Warning\"),settingsKey:\"accessibility.signals.positionHasWarning\",delaySettingsKey:\"accessibility.signalOptions.delays.warningAtPosition\"})}static{this.errorOnLine=K1.register({name:F(1634,\"Error on Line\"),sound:v0.error,legacySoundSettingsKey:\"audioCues.lineHasError\",legacyAnnouncementSettingsKey:\"accessibility.alert.error\",announcementMessage:F(1635,\"Error on Line\"),settingsKey:\"accessibility.signals.lineHasError\"})}static{this.warningOnLine=K1.register({name:F(1636,\"Warning on Line\"),sound:v0.warning,legacySoundSettingsKey:\"audioCues.lineHasWarning\",legacyAnnouncementSettingsKey:\"accessibility.alert.warning\",announcementMessage:F(1637,\"Warning on Line\"),settingsKey:\"accessibility.signals.lineHasWarning\"})}static{this.foldedArea=K1.register({name:F(1638,\"Folded Area on Line\"),sound:v0.foldedArea,legacySoundSettingsKey:\"audioCues.lineHasFoldedArea\",legacyAnnouncementSettingsKey:\"accessibility.alert.foldedArea\",announcementMessage:F(1639,\"Folded\"),settingsKey:\"accessibility.signals.lineHasFoldedArea\"})}static{this.break=K1.register({name:F(1640,\"Breakpoint on Line\"),sound:v0.break,legacySoundSettingsKey:\"audioCues.lineHasBreakpoint\",legacyAnnouncementSettingsKey:\"accessibility.alert.breakpoint\",announcementMessage:F(1641,\"Breakpoint\"),settingsKey:\"accessibility.signals.lineHasBreakpoint\"})}static{this.inlineSuggestion=K1.register({name:F(1642,\"Inline Suggestion on Line\"),sound:v0.quickFixes,legacySoundSettingsKey:\"audioCues.lineHasInlineSuggestion\",settingsKey:\"accessibility.signals.lineHasInlineSuggestion\"})}static{this.nextEditSuggestion=K1.register({name:F(1643,\"Next Edit Suggestion on Line\"),sound:v0.nextEditSuggestion,legacySoundSettingsKey:\"audioCues.nextEditSuggestion\",settingsKey:\"accessibility.signals.nextEditSuggestion\",announcementMessage:F(1644,\"Next Edit Suggestion\")})}static{this.terminalQuickFix=K1.register({name:F(1645,\"Terminal Quick Fix\"),sound:v0.quickFixes,legacySoundSettingsKey:\"audioCues.terminalQuickFix\",legacyAnnouncementSettingsKey:\"accessibility.alert.terminalQuickFix\",announcementMessage:F(1646,\"Quick Fix\"),settingsKey:\"accessibility.signals.terminalQuickFix\"})}static{this.onDebugBreak=K1.register({name:F(1647,\"Debugger Stopped on Breakpoint\"),sound:v0.break,legacySoundSettingsKey:\"audioCues.onDebugBreak\",legacyAnnouncementSettingsKey:\"accessibility.alert.onDebugBreak\",announcementMessage:F(1648,\"Breakpoint\"),settingsKey:\"accessibility.signals.onDebugBreak\"})}static{this.noInlayHints=K1.register({name:F(1649,\"No Inlay Hints on Line\"),sound:v0.error,legacySoundSettingsKey:\"audioCues.noInlayHints\",legacyAnnouncementSettingsKey:\"accessibility.alert.noInlayHints\",announcementMessage:F(1650,\"No Inlay Hints\"),settingsKey:\"accessibility.signals.noInlayHints\"})}static{this.taskCompleted=K1.register({name:F(1651,\"Task Completed\"),sound:v0.taskCompleted,legacySoundSettingsKey:\"audioCues.taskCompleted\",legacyAnnouncementSettingsKey:\"accessibility.alert.taskCompleted\",announcementMessage:F(1652,\"Task Completed\"),settingsKey:\"accessibility.signals.taskCompleted\"})}static{this.taskFailed=K1.register({name:F(1653,\"Task Failed\"),sound:v0.taskFailed,legacySoundSettingsKey:\"audioCues.taskFailed\",legacyAnnouncementSettingsKey:\"accessibility.alert.taskFailed\",announcementMessage:F(1654,\"Task Failed\"),settingsKey:\"accessibility.signals.taskFailed\"})}static{this.terminalCommandFailed=K1.register({name:F(1655,\"Terminal Command Failed\"),sound:v0.error,legacySoundSettingsKey:\"audioCues.terminalCommandFailed\",legacyAnnouncementSettingsKey:\"accessibility.alert.terminalCommandFailed\",announcementMessage:F(1656,\"Command Failed\"),settingsKey:\"accessibility.signals.terminalCommandFailed\"})}static{this.terminalCommandSucceeded=K1.register({name:F(1657,\"Terminal Command Succeeded\"),sound:v0.terminalCommandSucceeded,announcementMessage:F(1658,\"Command Succeeded\"),settingsKey:\"accessibility.signals.terminalCommandSucceeded\"})}static{this.terminalBell=K1.register({name:F(1659,\"Terminal Bell\"),sound:v0.terminalBell,legacySoundSettingsKey:\"audioCues.terminalBell\",legacyAnnouncementSettingsKey:\"accessibility.alert.terminalBell\",announcementMessage:F(1660,\"Terminal Bell\"),settingsKey:\"accessibility.signals.terminalBell\"})}static{this.notebookCellCompleted=K1.register({name:F(1661,\"Notebook Cell Completed\"),sound:v0.taskCompleted,legacySoundSettingsKey:\"audioCues.notebookCellCompleted\",legacyAnnouncementSettingsKey:\"accessibility.alert.notebookCellCompleted\",announcementMessage:F(1662,\"Notebook Cell Completed\"),settingsKey:\"accessibility.signals.notebookCellCompleted\"})}static{this.notebookCellFailed=K1.register({name:F(1663,\"Notebook Cell Failed\"),sound:v0.taskFailed,legacySoundSettingsKey:\"audioCues.notebookCellFailed\",legacyAnnouncementSettingsKey:\"accessibility.alert.notebookCellFailed\",announcementMessage:F(1664,\"Notebook Cell Failed\"),settingsKey:\"accessibility.signals.notebookCellFailed\"})}static{this.diffLineInserted=K1.register({name:F(1665,\"Diff Line Inserted\"),sound:v0.diffLineInserted,legacySoundSettingsKey:\"audioCues.diffLineInserted\",settingsKey:\"accessibility.signals.diffLineInserted\"})}static{this.diffLineDeleted=K1.register({name:F(1666,\"Diff Line Deleted\"),sound:v0.diffLineDeleted,legacySoundSettingsKey:\"audioCues.diffLineDeleted\",settingsKey:\"accessibility.signals.diffLineDeleted\"})}static{this.diffLineModified=K1.register({name:F(1667,\"Diff Line Modified\"),sound:v0.diffLineModified,legacySoundSettingsKey:\"audioCues.diffLineModified\",settingsKey:\"accessibility.signals.diffLineModified\"})}static{this.chatEditModifiedFile=K1.register({name:F(1668,\"Chat Edit Modified File\"),sound:v0.chatEditModifiedFile,announcementMessage:F(1669,\"File Modified from Chat Edits\"),settingsKey:\"accessibility.signals.chatEditModifiedFile\"})}static{this.chatRequestSent=K1.register({name:F(1670,\"Chat Request Sent\"),sound:v0.requestSent,legacySoundSettingsKey:\"audioCues.chatRequestSent\",legacyAnnouncementSettingsKey:\"accessibility.alert.chatRequestSent\",announcementMessage:F(1671,\"Chat Request Sent\"),settingsKey:\"accessibility.signals.chatRequestSent\"})}static{this.chatResponseReceived=K1.register({name:F(1672,\"Chat Response Received\"),legacySoundSettingsKey:\"audioCues.chatResponseReceived\",sound:{randomOneOf:[v0.responseReceived1,v0.responseReceived2,v0.responseReceived3,v0.responseReceived4]},settingsKey:\"accessibility.signals.chatResponseReceived\"})}static{this.codeActionTriggered=K1.register({name:F(1673,\"Code Action Request Triggered\"),sound:v0.codeActionTriggered,legacySoundSettingsKey:\"audioCues.codeActionRequestTriggered\",legacyAnnouncementSettingsKey:\"accessibility.alert.codeActionRequestTriggered\",announcementMessage:F(1674,\"Code Action Request Triggered\"),settingsKey:\"accessibility.signals.codeActionTriggered\"})}static{this.codeActionApplied=K1.register({name:F(1675,\"Code Action Applied\"),legacySoundSettingsKey:\"audioCues.codeActionApplied\",sound:v0.codeActionApplied,settingsKey:\"accessibility.signals.codeActionApplied\"})}static{this.progress=K1.register({name:F(1676,\"Progress\"),sound:v0.progress,legacySoundSettingsKey:\"audioCues.chatResponsePending\",legacyAnnouncementSettingsKey:\"accessibility.alert.progress\",announcementMessage:F(1677,\"Progress\"),settingsKey:\"accessibility.signals.progress\"})}static{this.clear=K1.register({name:F(1678,\"Clear\"),sound:v0.clear,legacySoundSettingsKey:\"audioCues.clear\",legacyAnnouncementSettingsKey:\"accessibility.alert.clear\",announcementMessage:F(1679,\"Clear\"),settingsKey:\"accessibility.signals.clear\"})}static{this.save=K1.register({name:F(1680,\"Save\"),sound:v0.save,legacySoundSettingsKey:\"audioCues.save\",legacyAnnouncementSettingsKey:\"accessibility.alert.save\",announcementMessage:F(1681,\"Save\"),settingsKey:\"accessibility.signals.save\"})}static{this.format=K1.register({name:F(1682,\"Format\"),sound:v0.format,legacySoundSettingsKey:\"audioCues.format\",legacyAnnouncementSettingsKey:\"accessibility.alert.format\",announcementMessage:F(1683,\"Format\"),settingsKey:\"accessibility.signals.format\"})}static{this.voiceRecordingStarted=K1.register({name:F(1684,\"Voice Recording Started\"),sound:v0.voiceRecordingStarted,legacySoundSettingsKey:\"audioCues.voiceRecordingStarted\",settingsKey:\"accessibility.signals.voiceRecordingStarted\"})}static{this.voiceRecordingStopped=K1.register({name:F(1685,\"Voice Recording Stopped\"),sound:v0.voiceRecordingStopped,legacySoundSettingsKey:\"audioCues.voiceRecordingStopped\",settingsKey:\"accessibility.signals.voiceRecordingStopped\"})}static{this.editsKept=K1.register({name:F(1686,\"Edits Kept\"),sound:v0.editsKept,announcementMessage:F(1687,\"Edits Kept\"),settingsKey:\"accessibility.signals.editsKept\"})}static{this.editsUndone=K1.register({name:F(1688,\"Undo Edits\"),sound:v0.editsUndone,announcementMessage:F(1689,\"Edits Undone\"),settingsKey:\"accessibility.signals.editsUndone\"})}static{this.chatUserActionRequired=K1.register({name:F(1690,\"Chat User Action Required\"),sound:v0.chatUserActionRequired,announcementMessage:F(1691,\"Chat User Action Required\"),settingsKey:\"accessibility.signals.chatUserActionRequired\"})}}var cw=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},ZZ=function(J,X){return function(Y,Z){X(Y,Z,J)}},gK,K_,mw=class extends y{constructor(X,Y,Z){super();this._commandService=X,this._keybindingService=Y,this._hiddenStates=this._register(new cg(Z))}createMenu(X,Y,Z){return new uw(X,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...Z},this._commandService,this._keybindingService,Y)}getMenuActions(X,Y,Z){let Q=new uw(X,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...Z},this._commandService,this._keybindingService,Y),$=Q.getActions(Z);return Q.dispose(),$}resetHiddenStates(X){this._hiddenStates.reset(X)}};mw=cw([ZZ(0,h8),ZZ(1,T1),ZZ(2,z7)],mw);var cg=class{static{gK=this}static{this._key=\"menu.hiddenCommands\"}constructor(X){this._storageService=X,this._disposables=new a,this._onDidChange=new E,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{let Y=X.get(gK._key,0,\"{}\");this._data=JSON.parse(Y)}catch(Y){this._data=Object.create(null)}this._disposables.add(X.onDidChangeValue(0,gK._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{let Y=X.get(gK._key,0,\"{}\");this._data=JSON.parse(Y)}catch(Y){console.log(\"FAILED to read storage after UPDATE\",Y)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(X,Y){return this._hiddenByDefaultCache.get(`${X.id}/${Y}`)??!1}setDefaultState(X,Y,Z){this._hiddenByDefaultCache.set(`${X.id}/${Y}`,Z)}isHidden(X,Y){let Z=this._isHiddenByDefault(X,Y),Q=this._data[X.id]?.includes(Y)??!1;return Z?!Q:Q}updateHidden(X,Y,Z){if(this._isHiddenByDefault(X,Y))Z=!Z;let $=this._data[X.id];if(!Z){if($){let q=$.indexOf(Y);if(q>=0)lr($,q);if($.length===0)delete this._data[X.id]}}else if(!$)this._data[X.id]=[Y];else if($.indexOf(Y)<0)$.push(Y);this._persist()}reset(X){if(X===void 0)this._data=Object.create(null),this._persist();else{for(let{id:Y}of X)if(this._data[Y])delete this._data[Y];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;let X=JSON.stringify(this._data);this._storageService.store(gK._key,X,0,0)}finally{this._ignoreChangeEvent=!1}}};cg=gK=cw([ZZ(0,z7)],cg);class j_{constructor(J,X){this._id=J,this._collectContextKeysForSubmenus=X,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();let J=this._sort(K5.getMenuItems(this._id)),X;for(let Y of J){let Z=Y.group||\"\";if(!X||X[0]!==Z)X=[Z,[]],this._menuGroups.push(X);X[1].push(Y),this._collectContextKeysAndSubmenuIds(Y)}this._allMenuIds.add(this._id)}_sort(J){return J}_collectContextKeysAndSubmenuIds(J){if(j_._fillInKbExprKeys(J.when,this._structureContextKeys),qV(J)){if(J.command.precondition)j_._fillInKbExprKeys(J.command.precondition,this._preconditionContextKeys);if(J.command.toggled){let X=J.command.toggled.condition||J.command.toggled;j_._fillInKbExprKeys(X,this._toggledContextKeys)}}else if(this._collectContextKeysForSubmenus)K5.getMenuItems(J.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(J.submenu)}static _fillInKbExprKeys(J,X){if(J)for(let Y of J.keys())X.add(Y)}}var dg=K_=class extends j_{constructor(X,Y,Z,Q,$,q){super(X,Z);this._hiddenStates=Y,this._commandService=Q,this._keybindingService=$,this._contextKeyService=q,this.refresh()}createActionGroups(X){let Y=[];for(let Z of this._menuGroups){let[Q,$]=Z,q;for(let G of $)if(this._contextKeyService.contextMatchesRules(G.when)){let U=qV(G);if(U)this._hiddenStates.setDefaultState(this._id,G.command.id,!!G.isHiddenByDefault);let H=iP0(this._id,U?G.command:G,this._hiddenStates);if(U){let V=lg(this._commandService,this._keybindingService,G.command.id,G.when);(q??=[]).push(new CJ(G.command,G.alt,X,H,V,this._contextKeyService,this._commandService))}else{let V=new K_(G.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(X),K=h1.join(...V.map((j)=>j[1]));if(K.length>0)(q??=[]).push(new RY(G,H,K))}}if(q&&q.length>0)Y.push([Q,q])}return Y}_sort(X){return X.sort(K_._compareMenuItems)}static _compareMenuItems(X,Y){let Z=X.group,Q=Y.group;if(Z!==Q){if(!Z)return 1;else if(!Q)return-1;if(Z===\"navigation\")return-1;else if(Q===\"navigation\")return 1;let G=Z.localeCompare(Q);if(G!==0)return G}let $=X.order||0,q=Y.order||0;if($<q)return-1;else if($>q)return 1;return K_._compareTitles(qV(X)?X.command.title:X.title,qV(Y)?Y.command.title:Y.title)}static _compareTitles(X,Y){let Z=typeof X===\"string\"?X:X.original,Q=typeof Y===\"string\"?Y:Y.original;return Z.localeCompare(Q)}};dg=K_=cw([ZZ(3,h8),ZZ(4,T1),ZZ(5,E0)],dg);var uw=class{constructor(X,Y,Z,Q,$,q){this._disposables=new a,this._menuInfo=new dg(X,Y,Z.emitEventsForSubmenuChanges,Q,$,q);let G=new B1(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},Z.eventDebounceDelay);this._disposables.add(G),this._disposables.add(K5.onDidChangeMenu((K)=>{for(let j of this._menuInfo.allMenuIds)if(K.has(j)){G.schedule();break}}));let U=this._disposables.add(new a),H=(K)=>{let j=!1,W=!1,z=!1;for(let B of K)if(j=j||B.isStructuralChange,W=W||B.isEnablementChange,z=z||B.isToggleChange,j&&W&&z)break;return{menu:this,isStructuralChange:j,isEnablementChange:W,isToggleChange:z}},V=()=>{U.add(q.onDidChangeContext((K)=>{let j=K.affectsSome(this._menuInfo.structureContextKeys),W=K.affectsSome(this._menuInfo.preconditionContextKeys),z=K.affectsSome(this._menuInfo.toggledContextKeys);if(j||W||z)this._onDidChange.fire({menu:this,isStructuralChange:j,isEnablementChange:W,isToggleChange:z})})),U.add(Y.onDidChange((K)=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new ly({onWillAddFirstListener:V,onDidRemoveLastListener:U.clear.bind(U),delay:Z.eventDebounceDelay,merge:H}),this.onDidChange=this._onDidChange.event}getActions(X){return this._menuInfo.createActionGroups(X)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};uw=cw([ZZ(3,h8),ZZ(4,T1),ZZ(5,E0)],uw);function iP0(J,X,Y){let Z=Ge(X)?X.submenu.id:X.id,Q=typeof X.title===\"string\"?X.title:X.title.value,$=bJ({id:`hide/${J.id}/${Z}`,label:F(1703,\"Hide '{0}'\",Q),run(){Y.updateHidden(J,Z,!0)}}),q=bJ({id:`toggle/${J.id}/${Z}`,label:Q,get checked(){return!Y.isHidden(J,Z)},run(){Y.updateHidden(J,Z,!!this.checked)}});return{hide:$,toggle:q,get isHidden(){return!q.checked}}}function lg(J,X,Y,Z=void 0,Q=!0){return bJ({id:`configureKeybinding/${Y}`,label:F(1704,\"Configure Keybinding\"),enabled:Q,run(){let q=!X.lookupKeybinding(Y)&&Z?Z.serialize():void 0;J.executeCommand(\"workbench.action.openGlobalKeybindings\",`@command:${Y}`+(q?` +when:${q}`:\"\"))}})}var rP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},WX0=function(J,X){return function(Y,Z){X(Y,Z,J)}},sg,zX0=\"application/vnd.code.resources\",dw=class extends y{static{sg=this}constructor(X,Y){super();if(this.layoutService=X,this.logService=Y,this.mapTextToType=new Map,this.findText=\"\",this.resources=[],this.resourcesStateHash=void 0,TJ||iO)this.installWebKitWriteTextWorkaround();this._register(i.runAndSubscribe(KQ,({window:Z,disposables:Q})=>{Q.add(f(Z.document,\"copy\",()=>this.clearResourcesState()))},{window:X1,disposables:this._store}))}triggerPaste(){this.logService.trace(\"BrowserClipboardService#triggerPaste\");return}installWebKitWriteTextWorkaround(){let X=()=>{let Y=new DY;if(this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled)this.webKitPendingClipboardWritePromise.cancel();this.webKitPendingClipboardWritePromise=Y,i0().navigator.clipboard.write([new ClipboardItem({\"text/plain\":Y.p})]).catch(async(Z)=>{if(!(Z instanceof Error)||Z.name!==\"NotAllowedError\"||!Y.isRejected)this.logService.error(Z)})};this._register(i.runAndSubscribe(this.layoutService.onDidAddContainer,({container:Y,disposables:Z})=>{Z.add(f(Y,\"click\",X)),Z.add(f(Y,\"keydown\",X))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(X,Y){if(this.logService.trace(\"BrowserClipboardService#writeText called with type:\",Y,\" text.length:\",X.length),this.clearResourcesState(),Y){this.mapTextToType.set(Y,X),this.logService.trace(\"BrowserClipboardService#writeText\");return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(X);try{return this.logService.trace(\"before navigator.clipboard.writeText\"),await i0().navigator.clipboard.writeText(X)}catch(Z){console.error(Z)}this.fallbackWriteText(X)}fallbackWriteText(X){this.logService.trace(\"BrowserClipboardService#fallbackWriteText\");let Y=$2(),Z=Y.activeElement,Q=Y.body.appendChild($0(\"textarea\",{\"aria-hidden\":!0}));if(Q.style.height=\"1px\",Q.style.width=\"1px\",Q.style.position=\"absolute\",Q.value=X,Q.focus(),Q.select(),Y.execCommand(\"copy\"),a0(Z))Z.focus();Q.remove()}async readText(X){if(this.logService.trace(\"BrowserClipboardService#readText called with type:\",X),X){let Y=this.mapTextToType.get(X)||\"\";return this.logService.trace(\"BrowserClipboardService#readText text.length:\",Y.length),Y}try{let Y=await i0().navigator.clipboard.readText();return this.logService.trace(\"BrowserClipboardService#readText text.length:\",Y.length),Y}catch(Y){console.error(Y)}return\"\"}async readFindText(){return this.findText}async writeFindText(X){this.findText=X}static{this.MAX_RESOURCE_STATE_SOURCE_LENGTH=1000}async readResources(){try{let Y=await i0().navigator.clipboard.read();for(let Z of Y)if(Z.types.includes(`web ${zX0}`)){let Q=await Z.getType(`web ${zX0}`);return JSON.parse(await Q.text()).map((q)=>R0.from(q))}}catch(Y){}let X=await this.computeResourcesStateHash();if(this.resourcesStateHash!==X)this.clearResourcesState();return this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;let X=await this.readText();return t$(X.substring(0,sg.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}};dw=sg=rP0([WX0(0,l5),WX0(1,x1)],dw);var F4=W0(\"clipboardService\");function lw(J){return Object.isFrozen(J)?J:Qo(J)}class b8{static createEmptyModel(J){return new b8({},[],[],void 0,J)}constructor(J,X,Y,Z,Q){this._contents=J,this._keys=X,this._overrides=Y,this._raw=Z,this.logService=Q,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){let J=(Array.isArray(this._raw)?this._raw:[this._raw]).map((X)=>{if(X instanceof b8)return X;let Y=new FX0(\"\",this.logService);return Y.parseRaw(X),Y.configurationModel});this._rawConfiguration=J.reduce((X,Y)=>Y===X?Y:X.merge(Y),J[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(!this._raw)return;if(Array.isArray(this._raw)&&this._raw.every((J)=>J instanceof b8))return;return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(J){return J?kb(this.contents,J):this.contents}inspect(J,X){let Y=this;return{get value(){return lw(Y.rawConfiguration.getValue(J))},get override(){return X?lw(Y.rawConfiguration.getOverrideValue(J,X)):void 0},get merged(){return lw(X?Y.rawConfiguration.override(X).getValue(J):Y.rawConfiguration.getValue(J))},get overrides(){let Z=[];for(let{contents:Q,identifiers:$,keys:q}of Y.rawConfiguration.overrides){let G=new b8(Q,q,[],void 0,Y.logService).getValue(J);if(G!==void 0)Z.push({identifiers:$,value:G})}return Z.length?lw(Z):void 0}}}getOverrideValue(J,X){let Y=this.getContentsForOverrideIdentifer(X);return Y?J?kb(Y,J):Y:void 0}override(J){let X=this.overrideConfigurations.get(J);if(!X)X=this.createOverrideConfigurationModel(J),this.overrideConfigurations.set(J,X);return X}merge(...J){let X=DJ(this.contents),Y=DJ(this.overrides),Z=[...this.keys],Q=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let $ of J){if(Q.push(...$._raw?Array.isArray($._raw)?$._raw:[$._raw]:[$]),$.isEmpty())continue;this.mergeContents(X,$.contents);for(let q of $.overrides){let[G]=Y.filter((U)=>w1(U.identifiers,q.identifiers));if(G)this.mergeContents(G.contents,q.contents),G.keys.push(...q.keys),G.keys=o4(G.keys);else Y.push(DJ(q))}for(let q of $.keys)if(Z.indexOf(q)===-1)Z.push(q)}return new b8(X,Z,Y,!Q.length||Q.every(($)=>$ instanceof b8)?void 0:Q,this.logService)}createOverrideConfigurationModel(J){let X=this.getContentsForOverrideIdentifer(J);if(!X||typeof X!==\"object\"||!Object.keys(X).length)return this;let Y={};for(let Z of o4([...Object.keys(this.contents),...Object.keys(X)])){let Q=this.contents[Z],$=X[Z];if($)if(typeof Q===\"object\"&&typeof $===\"object\")Q=DJ(Q),this.mergeContents(Q,$);else Q=$;Y[Z]=Q}return new b8(Y,this.keys,this.overrides,void 0,this.logService)}mergeContents(J,X){for(let Y of Object.keys(X)){if(Y in J){if(E6(J[Y])&&E6(X[Y])){this.mergeContents(J[Y],X[Y]);continue}}J[Y]=DJ(X[Y])}}getContentsForOverrideIdentifer(J){let X=null,Y=null,Z=(Q)=>{if(Q)if(Y)this.mergeContents(Y,Q);else Y=DJ(Q)};for(let Q of this.overrides)if(Q.identifiers.length===1&&Q.identifiers[0]===J)X=Q.contents;else if(Q.identifiers.includes(J))Z(Q.contents);return Z(X),Y}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(J,X){this.updateValue(J,X,!1)}removeValue(J){let X=this.keys.indexOf(J);if(X===-1)return;if(this.keys.splice(X,1),ue(this.contents,J),FQ.test(J))this.overrides.splice(this.overrides.findIndex((Y)=>w1(Y.identifiers,XF(J))),1)}updateValue(J,X,Y){if(Ib(this.contents,J,X,(Z)=>this.logService.error(Z)),Y=Y||this.keys.indexOf(J)===-1,Y)this.keys.push(J);if(FQ.test(J)){let Z=this.contents[J],Q=XF(J),$={identifiers:Q,keys:Object.keys(Z),contents:bM(Z,(G)=>this.logService.error(G))},q=this.overrides.findIndex((G)=>w1(G.identifiers,Q));if(q!==-1)this.overrides[q]=$;else this.overrides.push($)}}}class FX0{constructor(J,X){this._name=J,this.logService=X,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||b8.createEmptyModel(this.logService)}parseRaw(J,X){this._raw=J;let{contents:Y,keys:Z,overrides:Q,restricted:$,hasExcludedProperties:q}=this.doParseRaw(J,X);this._configurationModel=new b8(Y,Z,Q,q?[J]:void 0,this.logService),this._restrictedConfigurations=$||[]}doParseRaw(J,X){let Y=y1.as(v9.Configuration),Z=Y.getConfigurationProperties(),Q=Y.getExcludedConfigurationProperties(),$=this.filter(J,Z,Q,!0,X);J=$.raw;let q=bM(J,(H)=>this.logService.error(`Conflict in settings file ${this._name}: ${H}`)),G=Object.keys(J),U=this.toOverrides(J,(H)=>this.logService.error(`Conflict in settings file ${this._name}: ${H}`));return{contents:q,keys:G,overrides:U,restricted:$.restricted,hasExcludedProperties:$.hasExcludedProperties}}filter(J,X,Y,Z,Q){let $=!1;if(!Q?.scopes&&!Q?.skipRestricted&&!Q?.skipUnregistered&&!Q?.exclude?.length)return{raw:J,restricted:[],hasExcludedProperties:$};let q={},G=[];for(let U in J)if(FQ.test(U)&&Z){let H=this.filter(J[U],X,Y,!1,Q);q[U]=H.raw,$=$||H.hasExcludedProperties,G.push(...H.restricted)}else{let H=X[U];if(H?.restricted)G.push(U);if(this.shouldInclude(U,H,Y,Q))q[U]=J[U];else $=!0}return{raw:q,restricted:G,hasExcludedProperties:$}}shouldInclude(J,X,Y,Z){if(Z.exclude?.includes(J))return!1;if(Z.include?.includes(J))return!0;if(Z.skipRestricted&&X?.restricted)return!1;if(Z.skipUnregistered&&!X)return!1;let Q=X??Y[J],$=Q?typeof Q.scope<\"u\"?Q.scope:4:void 0;if($===void 0||Z.scopes===void 0)return!0;return Z.scopes.includes($)}toOverrides(J,X){let Y=[];for(let Z of Object.keys(J))if(FQ.test(Z)){let Q={},$=J[Z];for(let q in $)Q[q]=$[q];Y.push({identifiers:XF(Z),keys:Object.keys(Q),contents:bM(Q,X)})}return Y}}class BX0{constructor(J,X,Y,Z,Q,$,q,G,U,H,V,K,j){this.key=J,this.overrides=X,this._value=Y,this.overrideIdentifiers=Z,this.defaultConfiguration=Q,this.policyConfiguration=$,this.applicationConfiguration=q,this.userConfiguration=G,this.localUserConfiguration=U,this.remoteUserConfiguration=H,this.workspaceConfiguration=V,this.folderConfigurationModel=K,this.memoryConfigurationModel=j}toInspectValue(J){return J?.value!==void 0||J?.override!==void 0||J?.overrides!==void 0?J:void 0}get defaultInspectValue(){if(!this._defaultInspectValue)this._defaultInspectValue=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier);return this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get policyInspectValue(){if(this._policyInspectValue===void 0)this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null;return this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get applicationInspectValue(){if(this._applicationInspectValue===void 0)this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null;return this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get userInspectValue(){if(!this._userInspectValue)this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier);return this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get workspaceInspectValue(){if(this._workspaceInspectValue===void 0)this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null;return this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspaceFolderInspectValue(){if(this._workspaceFolderInspectValue===void 0)this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null;return this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get memoryInspectValue(){if(this._memoryInspectValue===void 0)this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier);return this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}}class W_{constructor(J,X,Y,Z,Q,$,q,G,U,H){this._defaultConfiguration=J,this._policyConfiguration=X,this._applicationConfiguration=Y,this._localUserConfiguration=Z,this._remoteUserConfiguration=Q,this._workspaceConfiguration=$,this._folderConfigurations=q,this._memoryConfiguration=G,this._memoryConfigurationByResource=U,this.logService=H,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new r6,this._userConfiguration=null}getValue(J,X,Y){return this.getConsolidatedConfigurationModel(J,X,Y).getValue(J)}updateValue(J,X,Y={}){let Z;if(Y.resource){if(Z=this._memoryConfigurationByResource.get(Y.resource),!Z)Z=b8.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(Y.resource,Z)}else Z=this._memoryConfiguration;if(X===void 0)Z.removeValue(J);else Z.setValue(J,X);if(!Y.resource)this._workspaceConsolidatedConfiguration=null}inspect(J,X,Y){let Z=this.getConsolidatedConfigurationModel(J,X,Y),Q=this.getFolderConfigurationModelForResource(X.resource,Y),$=X.resource?this._memoryConfigurationByResource.get(X.resource)||this._memoryConfiguration:this._memoryConfiguration,q=new Set;for(let G of Z.overrides)for(let U of G.identifiers)if(Z.getOverrideValue(J,U)!==void 0)q.add(U);return new BX0(J,X,Z.getValue(J),q.size?[...q]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,Y?this._workspaceConfiguration:void 0,Q?Q:void 0,$)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration)if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{let J=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new b8(J.contents,J.keys,J.overrides,void 0,this.logService)}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(J,X,Y){let Z=this.getConsolidatedConfigurationModelForResource(X,Y);if(X.overrideIdentifier)Z=Z.override(X.overrideIdentifier);if(!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(J)!==void 0){Z=Z.merge();for(let Q of this._policyConfiguration.keys)Z.setValue(Q,this._policyConfiguration.getValue(Q))}return Z}getConsolidatedConfigurationModelForResource({resource:J},X){let Y=this.getWorkspaceConsolidatedConfiguration();if(X&&J){let Z=X.getFolder(J);if(Z)Y=this.getFolderConsolidatedConfiguration(Z.uri)||Y;let Q=this._memoryConfigurationByResource.get(J);if(Q)Y=Y.merge(Q)}return Y}getWorkspaceConsolidatedConfiguration(){if(!this._workspaceConsolidatedConfiguration)this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration);return this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(J){let X=this._foldersConsolidatedConfigurations.get(J);if(!X){let Y=this.getWorkspaceConsolidatedConfiguration(),Z=this._folderConfigurations.get(J);if(Z)X=Y.merge(Z),this._foldersConsolidatedConfigurations.set(J,X);else X=Y}return X}getFolderConfigurationModelForResource(J,X){if(X&&J){let Y=X.getFolder(J);if(Y)return this._folderConfigurations.get(Y.uri)}return}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((J,X)=>{let{contents:Y,overrides:Z,keys:Q}=this._folderConfigurations.get(X);return J.push([X,{contents:Y,overrides:Z,keys:Q}]),J},[])}}static parse(J,X){let Y=this.parseConfigurationModel(J.defaults,X),Z=this.parseConfigurationModel(J.policy,X),Q=this.parseConfigurationModel(J.application,X),$=this.parseConfigurationModel(J.userLocal,X),q=this.parseConfigurationModel(J.userRemote,X),G=this.parseConfigurationModel(J.workspace,X),U=J.folders.reduce((H,V)=>{return H.set(R0.revive(V[0]),this.parseConfigurationModel(V[1],X)),H},new r6);return new W_(Y,Z,Q,$,q,G,U,b8.createEmptyModel(X),new r6,X)}static parseConfigurationModel(J,X){return new b8(J.contents,J.keys,J.overrides,J.raw,X)}}class ag{constructor(J,X,Y,Z,Q){this.change=J,this.previous=X,this.currentConfiguraiton=Y,this.currentWorkspace=Z,this.logService=Q,this._marker=`\n`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(let $ of J.keys)this.affectedKeys.add($);for(let[,$]of J.overrides)for(let q of $)this.affectedKeys.add(q);this._affectsConfigStr=this._marker;for(let $ of this.affectedKeys)this._affectsConfigStr+=$+this._marker}get previousConfiguration(){if(!this._previousConfiguration&&this.previous)this._previousConfiguration=W_.parse(this.previous.data,this.logService);return this._previousConfiguration}affectsConfiguration(J,X){let Y=this._marker+J,Z=this._affectsConfigStr.indexOf(Y);if(Z<0)return!1;let Q=Z+Y.length;if(Q>=this._affectsConfigStr.length)return!1;let $=this._affectsConfigStr.charCodeAt(Q);if($!==this._markerCode1&&$!==this._markerCode2)return!1;if(X){let q=this.previousConfiguration?this.previousConfiguration.getValue(J,X,this.previous?.workspace):void 0,G=this.currentConfiguraiton.getValue(J,X,this.currentWorkspace);return!O8(q,G)}return!0}}class ig extends y{get configurationModel(){return this._configurationModel}constructor(J){super();this.logService=J,this._configurationModel=b8.createEmptyModel(J)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=b8.createEmptyModel(this.logService);let J=y1.as(v9.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(J),J)}updateConfigurationModel(J,X){let Y=this.getConfigurationDefaultOverrides();for(let Z of J){let Q=Y[Z],$=X[Z];if(Q!==void 0)this._configurationModel.setValue(Z,Q);else if($)this._configurationModel.setValue(Z,this.getDefaultValue(Z,$));else this._configurationModel.removeValue(Z)}}getDefaultValue(J,X){return DJ(X.default)}}class _X0{constructor(){this._value=\"\",this._pos=0}reset(J){return this._value=J,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(J){let X=J.charCodeAt(0),Y=this._value.charCodeAt(this._pos);return X-Y}value(){return this._value[this._pos]}}class AX0{constructor(J=!0){this._caseSensitive=J}reset(J){return this._value=J,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let J=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(J)this._from++;else break;else J=!1;return this}cmp(J){return this._caseSensitive?uO(J,this._value,0,J.length,this._from,this._to):Nq(J,this._value,0,J.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class PX0{constructor(J=!0,X=!0){this._splitOnBackslash=J,this._caseSensitive=X}reset(J){this._from=0,this._to=0,this._value=J,this._valueLen=J.length;for(let X=J.length-1;X>=0;X--,this._valueLen--){let Y=this._value.charCodeAt(X);if(!(Y===47||this._splitOnBackslash&&Y===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let J=!0;for(;this._to<this._valueLen;this._to++){let X=this._value.charCodeAt(this._to);if(X===47||this._splitOnBackslash&&X===92)if(J)this._from++;else break;else J=!1}return this}cmp(J){return this._caseSensitive?uO(J,this._value,0,J.length,this._from,this._to):Nq(J,this._value,0,J.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class DX0{constructor(J,X){this._ignorePathCasing=J,this._ignoreQueryAndFragment=X,this._states=[],this._stateIdx=0}reset(J){if(this._value=J,this._states=[],this._value.scheme)this._states.push(1);if(this._value.authority)this._states.push(2);if(this._value.path){if(this._pathIterator=new PX0(!1,!this._ignorePathCasing(J)),this._pathIterator.reset(J.path),this._pathIterator.value())this._states.push(3)}if(!this._ignoreQueryAndFragment(J)){if(this._value.query)this._states.push(4);if(this._value.fragment)this._states.push(5)}return this._stateIdx=0,this}next(){if(this._states[this._stateIdx]===3&&this._pathIterator.hasNext())this._pathIterator.next();else this._stateIdx+=1;return this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(J){if(this._states[this._stateIdx]===1)return Vx(J,this._value.scheme);else if(this._states[this._stateIdx]===2)return Vx(J,this._value.authority);else if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(J);else if(this._states[this._stateIdx]===4)return Mz(J,this._value.query);else if(this._states[this._stateIdx]===5)return Mz(J,this._value.fragment);throw Error()}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;else if(this._states[this._stateIdx]===2)return this._value.authority;else if(this._states[this._stateIdx]===3)return this._pathIterator.value();else if(this._states[this._stateIdx]===4)return this._value.query;else if(this._states[this._stateIdx]===5)return this._value.fragment;throw Error()}}class QZ{static{this.Val=Symbol(\"undefined_placeholder\")}static wrap(J){return J===void 0?QZ.Val:J}static unwrap(J){return J===QZ.Val?void 0:J}}class z_{constructor(){this.height=1,this.value=void 0,this.key=void 0,this.left=void 0,this.mid=void 0,this.right=void 0}rotateLeft(){let J=this.right;return this.right=J.left,J.left=this,this.updateHeight(),J.updateHeight(),J}rotateRight(){let J=this.left;return this.left=J.right,J.right=this,this.updateHeight(),J.updateHeight(),J}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){return this.left?.height??0}get heightRight(){return this.right?.height??0}}class pK{static forUris(J=()=>!1,X=()=>!1){return new pK(new DX0(J,X))}static forStrings(){return new pK(new _X0)}static forConfigKeys(){return new pK(new AX0)}constructor(J){this._iter=J}clear(){this._root=void 0}set(J,X){let Y=this._iter.reset(J),Z;if(!this._root)this._root=new z_,this._root.segment=Y.value();let Q=[];Z=this._root;while(!0){let q=Y.cmp(Z.segment);if(q>0){if(!Z.left)Z.left=new z_,Z.left.segment=Y.value();Q.push([-1,Z]),Z=Z.left}else if(q<0){if(!Z.right)Z.right=new z_,Z.right.segment=Y.value();Q.push([1,Z]),Z=Z.right}else if(Y.hasNext()){if(Y.next(),!Z.mid)Z.mid=new z_,Z.mid.segment=Y.value();Q.push([0,Z]),Z=Z.mid}else break}let $=QZ.unwrap(Z.value);Z.value=QZ.wrap(X),Z.key=J;for(let q=Q.length-1;q>=0;q--){let G=Q[q][1];G.updateHeight();let U=G.balanceFactor();if(U<-1||U>1){let H=Q[q][0],V=Q[q+1][0];if(H===1&&V===1)Q[q][1]=G.rotateLeft();else if(H===-1&&V===-1)Q[q][1]=G.rotateRight();else if(H===1&&V===-1)G.right=Q[q+1][1]=Q[q+1][1].rotateRight(),Q[q][1]=G.rotateLeft();else if(H===-1&&V===1)G.left=Q[q+1][1]=Q[q+1][1].rotateLeft(),Q[q][1]=G.rotateRight();else throw Error();if(q>0)switch(Q[q-1][0]){case-1:Q[q-1][1].left=Q[q][1];break;case 1:Q[q-1][1].right=Q[q][1];break;case 0:Q[q-1][1].mid=Q[q][1];break}else this._root=Q[0][1]}}return $}get(J){return QZ.unwrap(this._getNode(J)?.value)}_getNode(J){let X=this._iter.reset(J),Y=this._root;while(Y){let Z=X.cmp(Y.segment);if(Z>0)Y=Y.left;else if(Z<0)Y=Y.right;else if(X.hasNext())X.next(),Y=Y.mid;else break}return Y}has(J){let X=this._getNode(J);return!(X?.value===void 0&&X?.mid===void 0)}delete(J){return this._delete(J,!1)}deleteSuperstr(J){return this._delete(J,!0)}_delete(J,X){let Y=this._iter.reset(J),Z=[],Q=this._root;while(Q){let $=Y.cmp(Q.segment);if($>0)Z.push([-1,Q]),Q=Q.left;else if($<0)Z.push([1,Q]),Q=Q.right;else if(Y.hasNext())Y.next(),Z.push([0,Q]),Q=Q.mid;else break}if(!Q)return;if(X)Q.left=void 0,Q.mid=void 0,Q.right=void 0,Q.height=1;else Q.key=void 0,Q.value=void 0;if(!Q.mid&&!Q.value)if(Q.left&&Q.right){let $=[[1,Q]],q=this._min(Q.right,$);if(q.key){Q.key=q.key,Q.value=q.value,Q.segment=q.segment;let G=q.right;if($.length>1){let[H,V]=$[$.length-1];switch(H){case-1:V.left=G;break;case 0:$q(!1);case 1:$q(!1)}}else Q.right=G;let U=this._balanceByStack($);if(Z.length>0){let[H,V]=Z[Z.length-1];switch(H){case-1:V.left=U;break;case 0:V.mid=U;break;case 1:V.right=U;break}}else this._root=U}}else{let $=Q.left??Q.right;if(Z.length>0){let[q,G]=Z[Z.length-1];switch(q){case-1:G.left=$;break;case 0:G.mid=$;break;case 1:G.right=$;break}}else this._root=$}this._root=this._balanceByStack(Z)??this._root}_min(J,X){while(J.left)X.push([-1,J]),J=J.left;return J}_balanceByStack(J){for(let X=J.length-1;X>=0;X--){let Y=J[X][1];Y.updateHeight();let Z=Y.balanceFactor();if(Z>1)if(Y.right.balanceFactor()>=0)J[X][1]=Y.rotateLeft();else Y.right=Y.right.rotateRight(),J[X][1]=Y.rotateLeft();else if(Z<-1)if(Y.left.balanceFactor()<=0)J[X][1]=Y.rotateRight();else Y.left=Y.left.rotateLeft(),J[X][1]=Y.rotateRight();if(X>0)switch(J[X-1][0]){case-1:J[X-1][1].left=J[X][1];break;case 1:J[X-1][1].right=J[X][1];break;case 0:J[X-1][1].mid=J[X][1];break}else return J[0][1]}return}findSubstr(J){let X=this._iter.reset(J),Y=this._root,Z=void 0;while(Y){let Q=X.cmp(Y.segment);if(Q>0)Y=Y.left;else if(Q<0)Y=Y.right;else if(X.hasNext())X.next(),Z=QZ.unwrap(Y.value)||Z,Y=Y.mid;else break}return Y&&QZ.unwrap(Y.value)||Z}findSuperstr(J){return this._findSuperstrOrElement(J,!1)}_findSuperstrOrElement(J,X){let Y=this._iter.reset(J),Z=this._root;while(Z){let Q=Y.cmp(Z.segment);if(Q>0)Z=Z.left;else if(Q<0)Z=Z.right;else if(Y.hasNext())Y.next(),Z=Z.mid;else if(!Z.mid)if(X)return QZ.unwrap(Z.value);else return;else return this._entries(Z.mid)}return}forEach(J){for(let[X,Y]of this)J(Y,X)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(J){let X=[];return this._dfsEntries(J,X),X[Symbol.iterator]()}_dfsEntries(J,X){if(!J)return;if(J.left)this._dfsEntries(J.left,X);if(J.value!==void 0)X.push([J.key,QZ.unwrap(J.value)]);if(J.mid)this._dfsEntries(J.mid,X);if(J.right)this._dfsEntries(J.right,X)}}new G0(\"isMac\",I0,F(1746,\"Whether the operating system is macOS\"));new G0(\"isLinux\",y6,F(1747,\"Whether the operating system is Linux\"));var F_=new G0(\"isWindows\",z6,F(1748,\"Whether the operating system is Windows\")),NW1=new G0(\"isWeb\",o7,F(1749,\"Whether the platform is a web browser\"));new G0(\"isMacNative\",I0&&!o7,F(1750,\"Whether the operating system is macOS on a non-browser platform\"));new G0(\"isIOS\",n7,F(1751,\"Whether the operating system is iOS\"));new G0(\"isMobile\",ID,F(1752,\"Whether the platform is a mobile web browser\"));new G0(\"isDevelopment\",!1,!0);new G0(\"productQualityType\",\"\",F(1753,\"Quality type of VS Code\"));var rg=\"inputFocus\",B_=new G0(rg,!1,F(1754,\"Whether keyboard focus is inside an input box\"));var oP0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},nP0=function(J,X){return function(Y,Z){X(Y,Z,J)}},__=\"data-keybinding-context\";class iw{constructor(J,X){this._id=J,this._parent=X,this._value=Object.create(null),this._value._contextId=J}get value(){return{...this._value}}setValue(J,X){if(!O8(this._value[J],X))return this._value[J]=X,!0;return!1}removeValue(J){if(J in this._value)return delete this._value[J],!0;return!1}getValue(J){let X=this._value[J];if(typeof X>\"u\"&&this._parent)return this._parent.getValue(J);return X}}class mK extends iw{static{this.INSTANCE=new mK}constructor(){super(-1,null)}setValue(J,X){return!1}removeValue(J){return!1}getValue(J){return}}class sw extends iw{static{this._keyPrefix=\"config.\"}constructor(J,X,Y){super(J,null);this._configurationService=X,this._values=pK.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((Z)=>{if(Z.source===7){let Q=Array.from(this._values,([$])=>$);this._values.clear(),Y.fire(new ng(Q))}else{let Q=[];for(let $ of Z.affectedKeys){let q=`config.${$}`,G=this._values.findSuperstr(q);if(G!==void 0)Q.push(...s0.map(G,([U])=>U)),this._values.deleteSuperstr(q);if(this._values.has(q))Q.push(q),this._values.delete(q)}Y.fire(new ng(Q))}})}dispose(){this._listener.dispose()}getValue(J){if(J.indexOf(sw._keyPrefix)!==0)return super.getValue(J);if(this._values.has(J))return this._values.get(J);let X=J.substr(sw._keyPrefix.length),Y=this._configurationService.getValue(X),Z=void 0;switch(typeof Y){case\"number\":case\"boolean\":case\"string\":Z=Y;break;default:if(Array.isArray(Y))Z=JSON.stringify(Y);else Z=Y}return this._values.set(J,Z),Z}setValue(J,X){return super.setValue(J,X)}removeValue(J){return super.removeValue(J)}}class OX0{constructor(J,X,Y){this._service=J,this._key=X,this._defaultValue=Y,this.reset()}set(J){this._service.setContext(this._key,J)}reset(){if(typeof this._defaultValue>\"u\")this._service.removeContext(this._key);else this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class og{constructor(J){this.key=J}affectsSome(J){return J.has(this.key)}allKeysContainedIn(J){return this.affectsSome(J)}}class ng{constructor(J){this.keys=J}affectsSome(J){for(let X of this.keys)if(J.has(X))return!0;return!1}allKeysContainedIn(J){return this.keys.every((X)=>J.has(X))}}class MX0{constructor(J){this.events=J}affectsSome(J){for(let X of this.events)if(X.affectsSome(J))return!0;return!1}allKeysContainedIn(J){return this.events.every((X)=>X.allKeysContainedIn(J))}}function tP0(J,X){return J.allKeysContainedIn(new Set(Object.keys(X)))}class tg extends y{get onDidChangeContext(){return this._onDidChangeContext.event}constructor(J){super();this._onDidChangeContext=this._register(new tZ({merge:(X)=>new MX0(X)})),this._isDisposed=!1,this._myContextId=J}createKey(J,X){if(this._isDisposed)throw Error(\"AbstractContextKeyService has been disposed\");return new OX0(this,J,X)}bufferChangeEvents(J){this._onDidChangeContext.pause();try{J()}finally{this._onDidChangeContext.resume()}}createScoped(J){if(this._isDisposed)throw Error(\"AbstractContextKeyService has been disposed\");return new RX0(this,J)}contextMatchesRules(J){if(this._isDisposed)throw Error(\"AbstractContextKeyService has been disposed\");let X=this.getContextValuesContainer(this._myContextId);return J?J.evaluate(X):!0}getContextKeyValue(J){if(this._isDisposed)return;return this.getContextValuesContainer(this._myContextId).getValue(J)}setContext(J,X){if(this._isDisposed)return;let Y=this.getContextValuesContainer(this._myContextId);if(!Y)return;if(Y.setValue(J,X))this._onDidChangeContext.fire(new og(J))}removeContext(J){if(this._isDisposed)return;if(this.getContextValuesContainer(this._myContextId).removeValue(J))this._onDidChangeContext.fire(new og(J))}getContext(J){if(this._isDisposed)return mK.INSTANCE;return this.getContextValuesContainer(eP0(J))}dispose(){super.dispose(),this._isDisposed=!0}}var aw=class extends tg{constructor(X){super(0);this._contexts=new Map,this._lastContextId=0,this.inputFocusedContext=B_.bindTo(this);let Y=this._register(new sw(this._myContextId,X,this._onDidChangeContext));this._contexts.set(this._myContextId,Y),this._register(i.runAndSubscribe(KQ,({window:Z,disposables:Q})=>{let $=Q.add(new Q1);Q.add(f(Z,r.FOCUS_IN,()=>{$.value=new a,this.updateInputContextKeys(Z.document,$.value)},!0))},{window:X1,disposables:this._store}))}updateInputContextKeys(X,Y){function Z(){return!!X.activeElement&&Q4(X.activeElement)}let Q=Z();if(this.inputFocusedContext.set(Q),Q){let $=Y.add(L7(X.activeElement));i.once($.onDidBlur)(()=>{if(i0().document===X)this.inputFocusedContext.set(Z());$.dispose()},void 0,Y)}}getContextValuesContainer(X){if(this._isDisposed)return mK.INSTANCE;return this._contexts.get(X)||mK.INSTANCE}createChildContext(X=this._myContextId){if(this._isDisposed)throw Error(\"ContextKeyService has been disposed\");let Y=++this._lastContextId;return this._contexts.set(Y,new iw(Y,this.getContextValuesContainer(X))),Y}disposeContext(X){if(!this._isDisposed)this._contexts.delete(X)}};aw=oP0([nP0(0,o0)],aw);class RX0 extends tg{constructor(J,X){super(J.createChildContext());if(this._parentChangeListener=this._register(new Q1),this._parent=J,this._updateParentChangeListener(),this._domNode=X,this._domNode.hasAttribute(__)){let Y=\"\";if(this._domNode.classList)Y=Array.from(this._domNode.classList.values()).join(\", \");console.error(`Element already has context attribute${Y?\": \"+Y:\"\"}`)}this._domNode.setAttribute(__,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((J)=>{let Y=this._parent.getContextValuesContainer(this._myContextId).value;if(!tP0(J,Y))this._onDidChangeContext.fire(J)})}dispose(){if(this._isDisposed)return;this._parentChangeListener.clear(),this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(__),super.dispose()}getContextValuesContainer(J){if(this._isDisposed)return mK.INSTANCE;return this._parent.getContextValuesContainer(J)}createChildContext(J=this._myContextId){if(this._isDisposed)throw Error(\"ScopedContextKeyService has been disposed\");return this._parent.createChildContext(J)}disposeContext(J){this._parent.disposeContext(J)}}function eP0(J){while(J){if(J.hasAttribute(__)){let X=J.getAttribute(__);if(X)return parseInt(X,10);return NaN}J=J.parentElement}return 0}function JD0(J,X,Y){J.get(E0).createKey(String(X),XD0(Y))}function XD0(J){return ND(J,(X)=>{if(typeof X===\"object\"&&X.$mid===1)return R0.revive(X).toString();if(X instanceof R0)return X.toString();return})}S6.registerCommand(\"_setContext\",JD0);S6.registerCommand({id:\"getContextKeyInfo\",handler(){return[...G0.all()].sort((J,X)=>J.key.localeCompare(X.key))},metadata:{description:F(1736,\"A command that returns information about context keys\"),args:[]}});S6.registerCommand(\"_generateContextKeyInfo\",function(){let J=[],X=new Set;for(let Y of G0.all())if(!X.has(Y.key))X.add(Y.key),J.push(Y);J.sort((Y,Z)=>Y.key.localeCompare(Z.key)),console.log(JSON.stringify(J,void 0,2))});function nG(J){return J}function o9(J,X){if(J!==void 0){let Y=J.match(/^\\s*var\\((.+)\\)$/);if(Y){let Z=Y[1].split(\",\",2);if(Z.length===2)X=o9(Z[1].trim(),X);return`var(${Z[0]}, ${X})`}return J}return X}function eg(J){let X=J.replaceAll(/[^_\\-a-z0-9]/gi,\"\");if(X!==J)console.warn(`CSS ident value ${J} modified to ${X} to be safe for CSS`);return nG(X)}function aQ(J){return nG(`'${J.replaceAll(/'/g,\"\\\\000027\")}'`)}function B4(J){if(!J)return nG(\"url('')\");return _4`url('${nG(CSS.escape(n$.uriToBrowserUri(J).toString(!0)))}')`}function A_(J,X=!1){let Y=CSS.escape(J);if(!X&&Y!==J)console.warn(`CSS class name ${J} modified to ${Y} to be safe for CSS`);return nG(Y)}function _4(J,...X){return nG(J.reduce((Y,Z,Q)=>{let $=X[Q]||\"\";return Y+Z+$},\"\"))}class P_{constructor(){this._parts=[]}push(...J){this._parts.push(...J)}join(J=`\n`){return nG(this._parts.join(J))}}var YD0=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{return}}),rw=YD0,ZD0=new f8(()=>rw(\"mouse\",!1)),QD0=new f8(()=>rw(\"element\",!1));function NX0(J){rw=J}function A4(J){if(J===\"element\")return QD0.value;return ZD0.value}function ow(){return rw(\"element\",!0)}var wX0={showInstantHover:()=>{return},showDelayedHover:()=>{return},setupDelayedHover:()=>y.None,setupDelayedHoverAtMouse:()=>y.None,hideHover:()=>{return},showAndFocusLastHover:()=>{return},setupManagedHover:()=>({dispose:()=>{return},show:()=>{return},hide:()=>{return},update:()=>{return}}),showManagedHover:()=>{return}};function TX0(J){wX0=J}function u8(){return wX0}class Jp{constructor(J){this.spliceables=J}splice(J,X,Y){this.spliceables.forEach((Z)=>Z.splice(J,X,Y))}}var D_=\"notSelectable\";class iQ extends Error{constructor(J,X){super(`ListError [${J}] ${X}`)}}function LX0(J,X){let Y=[];for(let Z of X){if(J.start>=Z.range.end)continue;if(J.end<Z.range.start)break;let Q=m8.intersect(J,Z.range);if(m8.isEmpty(Q))continue;Y.push({range:Q,size:Z.size})}return Y}function nw({start:J,end:X},Y){return{start:J+Y,end:X+Y}}function $D0(J){let X=[],Y=null;for(let Z of J){let Q=Z.range.start,$=Z.range.end,q=Z.size;if(Y&&q===Y.size){Y.range.end=$;continue}Y={range:{start:Q,end:$},size:q},X.push(Y)}return X}function qD0(...J){return $D0(J.reduce((X,Y)=>X.concat(Y),[]))}class Xp{get paddingTop(){return this._paddingTop}set paddingTop(J){this._size=this._size+J-this._paddingTop,this._paddingTop=J}constructor(J){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=J??0,this._size=this._paddingTop}splice(J,X,Y=[]){let Z=Y.length-X,Q=LX0({start:0,end:J},this.groups),$=LX0({start:J+X,end:Number.POSITIVE_INFINITY},this.groups).map((G)=>({range:nw(G.range,Z),size:G.size})),q=Y.map((G,U)=>({range:{start:J+U,end:J+U+1},size:G.size}));this.groups=qD0(Q,q,$),this._size=this._paddingTop+this.groups.reduce((G,U)=>G+U.size*(U.range.end-U.range.start),0)}get count(){let J=this.groups.length;if(!J)return 0;return this.groups[J-1].range.end}get size(){return this._size}indexAt(J){if(J<0)return-1;if(J<this._paddingTop)return 0;let X=0,Y=this._paddingTop;for(let Z of this.groups){let Q=Z.range.end-Z.range.start,$=Y+Q*Z.size;if(J<$)return X+Math.floor((J-Y)/Z.size);X+=Q,Y=$}return X}indexAfter(J){return Math.min(this.indexAt(J)+1,this.count)}positionAt(J){if(J<0)return-1;let X=0,Y=0;for(let Z of this.groups){let Q=Z.range.end-Z.range.start,$=Y+Q;if(J<$)return this._paddingTop+X+(J-Y)*Z.size;X+=Q*Z.size,Y=$}return-1}}class Yp{constructor(J){this.renderers=J,this.cache=new Map,this.transactionNodesPendingRemoval=new Set,this.inTransaction=!1}alloc(J){let X=this.getTemplateCache(J).pop(),Y=!1;if(X)Y=this.transactionNodesPendingRemoval.delete(X.domNode);else{let Z=$0(\".monaco-list-row\"),$=this.getRenderer(J).renderTemplate(Z);X={domNode:Z,templateId:J,templateData:$}}return{row:X,isReusingConnectedDomNode:Y}}release(J){if(!J)return;this.releaseRow(J)}transact(J){if(this.inTransaction)throw Error(\"Already in transaction\");this.inTransaction=!0;try{J()}finally{for(let X of this.transactionNodesPendingRemoval)this.doRemoveNode(X);this.transactionNodesPendingRemoval.clear(),this.inTransaction=!1}}releaseRow(J){let{domNode:X,templateId:Y}=J;if(X)if(this.inTransaction)this.transactionNodesPendingRemoval.add(X);else this.doRemoveNode(X);this.getTemplateCache(Y).push(J)}doRemoveNode(J){J.classList.remove(\"scrolling\"),J.remove()}getTemplateCache(J){let X=this.cache.get(J);if(!X)X=[],this.cache.set(J,X);return X}dispose(){this.cache.forEach((J,X)=>{for(let Y of J)this.getRenderer(X).disposeTemplate(Y.templateData),Y.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(J){let X=this.renderers.get(J);if(!X)throw Error(`No renderer found for ${J}`);return X}}function IX0(J,X,Y,Z=[]){if(!J.dataTransfer)return;let Q=$0(\".monaco-drag-image\");Q.textContent=Y,Q.classList.add(...Z),((G)=>{while(G&&!G.classList.contains(\"monaco-workbench\"))G=G.parentElement;return G||X.ownerDocument.body})(X).appendChild(Q),J.dataTransfer.setDragImage(Q,-10,-10),setTimeout(()=>Q.remove(),0)}var rQ=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},tG={CurrentDragAndDropData:void 0},$Z={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(J){return[J]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class Q3{constructor(J){this.elements=J}update(){}getData(){return this.elements}}class kX0{constructor(J){this.elements=J}update(){}getData(){return this.elements}}class EX0{constructor(){this.types=[],this.files=[]}update(J){if(J.types)this.types.splice(0,this.types.length,...J.types);if(J.files){this.files.splice(0,this.files.length);for(let X=0;X<J.files.length;X++){let Y=J.files.item(X);if(Y&&(Y.size||Y.type))this.files.push(Y)}}}getData(){return{types:this.types,files:this.files}}}function GD0(J,X){if(Array.isArray(J)&&Array.isArray(X))return w1(J,X);return J===X}class yX0{constructor(J){if(J?.getSetSize)this.getSetSize=J.getSetSize.bind(J);else this.getSetSize=(X,Y,Z)=>Z;if(J?.getPosInSet)this.getPosInSet=J.getPosInSet.bind(J);else this.getPosInSet=(X,Y)=>Y+1;if(J?.getRole)this.getRole=J.getRole.bind(J);else this.getRole=(X)=>\"listitem\";if(J?.isChecked)this.isChecked=J.isChecked.bind(J);else this.isChecked=(X)=>{return}}}class n9{static{this.InstanceCount=0}get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(J){if(J===this._horizontalScrolling)return;if(J&&this.supportDynamicHeights)throw Error(\"Horizontal scrolling and dynamic heights not supported simultaneously\");if(this._horizontalScrolling=J,this.domNode.classList.toggle(\"horizontal-scrolling\",this._horizontalScrolling),this._horizontalScrolling){for(let X of this.items)this.measureItemWidth(X);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:jM(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=\"\",this.domNode.style.removeProperty(\"--list-scroll-right-offset\")}constructor(J,X,Y,Z=$Z){if(this.virtualDelegate=X,this.domId=`list_id_${++n9.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Y4(50),this.splicing=!1,this.dragOverAnimationStopDisposable=y.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=y.None,this.onDragLeaveTimeout=y.None,this.currentSelectionDisposable=y.None,this.disposables=new a,this._onDidChangeContentHeight=this.disposables.add(new E),this._onDidChangeContentWidth=this.disposables.add(new E),this.onDidChangeContentHeight=i.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,Z.horizontalScrolling&&Z.supportDynamicHeights)throw Error(\"Horizontal scrolling and dynamic heights not supported simultaneously\");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(Z.paddingTop??0);for(let $ of Y)this.renderers.set($.templateId,$);if(this.cache=this.disposables.add(new Yp(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement(\"div\"),this.domNode.className=\"monaco-list\",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle(\"mouse-support\",typeof Z.mouseSupport===\"boolean\"?Z.mouseSupport:!0),this._horizontalScrolling=Z.horizontalScrolling??$Z.horizontalScrolling,this.domNode.classList.toggle(\"horizontal-scrolling\",this._horizontalScrolling),this.paddingBottom=typeof Z.paddingBottom>\"u\"?0:Z.paddingBottom,this.accessibilityProvider=new yX0(Z.accessibilityProvider),this.rowsContainer=document.createElement(\"div\"),this.rowsContainer.className=\"monaco-list-rows\",Z.transformOptimization??$Z.transformOptimization)this.rowsContainer.style.transform=\"translate3d(0px, 0px, 0px)\",this.rowsContainer.style.overflow=\"hidden\",this.rowsContainer.style.contain=\"strict\";if(this.disposables.add(O1.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new mJ({forceIntegerValues:!0,smoothScrollDuration:Z.smoothScrolling??!1?125:0,scheduleAtNextAnimationFrame:($)=>E8(Q0(this.domNode),$)})),this.scrollableElement=this.disposables.add(new EQ(this.rowsContainer,{alwaysConsumeMouseWheel:Z.alwaysConsumeMouseWheel??$Z.alwaysConsumeMouseWheel,horizontal:1,vertical:Z.verticalScrollMode??$Z.verticalScrollMode,useShadows:Z.useShadows??$Z.useShadows,mouseWheelScrollSensitivity:Z.mouseWheelScrollSensitivity,fastScrollSensitivity:Z.fastScrollSensitivity,scrollByPage:Z.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),J.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(f(this.rowsContainer,P1.Change,($)=>this.onTouchChange($))),this.disposables.add(f(this.scrollableElement.getDomNode(),\"scroll\",($)=>{let q=$.target,G=q.scrollTop;if(q.scrollTop=0,Z.scrollToActiveElement)this.setScrollTop(this.scrollTop+G)})),this.disposables.add(f(this.domNode,\"dragover\",($)=>this.onDragOver(this.toDragEvent($)))),this.disposables.add(f(this.domNode,\"drop\",($)=>this.onDrop(this.toDragEvent($)))),this.disposables.add(f(this.domNode,\"dragleave\",($)=>this.onDragLeave(this.toDragEvent($)))),this.disposables.add(f(this.domNode,\"dragend\",($)=>this.onDragEnd($))),Z.userSelection){if(Z.dnd)throw Error(\"DND and user selection cannot be used simultaneously\");this.disposables.add(f(this.domNode,\"mousedown\",($)=>this.onPotentialSelectionStart($)))}if(this.setRowLineHeight=Z.setRowLineHeight??$Z.setRowLineHeight,this.setRowHeight=Z.setRowHeight??$Z.setRowHeight,this.supportDynamicHeights=Z.supportDynamicHeights??$Z.supportDynamicHeights,this.dnd=Z.dnd??this.disposables.add($Z.dnd),this.layout(Z.initialSize?.height,Z.initialSize?.width),Z.scrollToActiveElement)this._setupFocusObserver(J)}_setupFocusObserver(J){this.disposables.add(f(J,\"focus\",()=>{let X=E1();if(this.activeElement!==X&&X!==null)this.activeElement=X,this._scrollToActiveElement(this.activeElement,J)},!0))}_scrollToActiveElement(J,X){let Y=X.getBoundingClientRect(),Q=J.getBoundingClientRect().top-Y.top;if(Q<0)this.setScrollTop(this.scrollTop+Q)}updateOptions(J){if(J.paddingBottom!==void 0)this.paddingBottom=J.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight});if(J.smoothScrolling!==void 0)this.scrollable.setSmoothScrollDuration(J.smoothScrolling?125:0);if(J.horizontalScrolling!==void 0)this.horizontalScrolling=J.horizontalScrolling;let X;if(J.scrollByPage!==void 0)X={...X??{},scrollByPage:J.scrollByPage};if(J.mouseWheelScrollSensitivity!==void 0)X={...X??{},mouseWheelScrollSensitivity:J.mouseWheelScrollSensitivity};if(J.fastScrollSensitivity!==void 0)X={...X??{},fastScrollSensitivity:J.fastScrollSensitivity};if(X)this.scrollableElement.updateOptions(X);if(J.paddingTop!==void 0&&J.paddingTop!==this.rangeMap.paddingTop){let Y=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),Z=J.paddingTop-this.rangeMap.paddingTop;if(this.rangeMap.paddingTop=J.paddingTop,this.render(Y,Math.max(0,this.lastRenderTop+Z),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights)this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(J){return new Xp(J)}splice(J,X,Y=[]){if(this.splicing)throw Error(\"Can't run recursive splices.\");this.splicing=!0;try{return this._splice(J,X,Y)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(J,X,Y=[]){let Z=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),Q={start:J,end:J+X},$=m8.intersect(Z,Q),q=new Map;for(let D=$.end-1;D>=$.start;D--){let R=this.items[D];if(R.dragStartDisposable.dispose(),R.checkedDisposable.dispose(),R.row){let N=q.get(R.templateId);if(!N)N=[],q.set(R.templateId,N);let w=this.renderers.get(R.templateId);if(w&&w.disposeElement)w.disposeElement(R.element,D,R.row.templateData,{height:R.size});N.unshift(R.row)}R.row=null,R.stale=!0}let G={start:J+X,end:this.items.length},U=m8.intersect(G,Z),H=m8.relativeComplement(G,Z),V=Y.map((D)=>({id:String(this.itemId++),element:D,templateId:this.virtualDelegate.getTemplateId(D),size:this.virtualDelegate.getHeight(D),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(D),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:y.None,checkedDisposable:y.None,stale:!1})),K;if(J===0&&X>=this.items.length)this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,V),K=this.items,this.items=V;else this.rangeMap.splice(J,X,V),K=Zq(this.items,J,X,V);let j=Y.length-X,W=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),z=nw(U,j),B=m8.intersect(W,z);for(let D=B.start;D<B.end;D++)this.updateItemInDOM(this.items[D],D);let P=m8.relativeComplement(z,W);for(let D of P)for(let R=D.start;R<D.end;R++)this.removeItemFromDOM(R);let _=H.map((D)=>nw(D,j)),O=[{start:J,end:J+Y.length},..._].map((D)=>m8.intersect(W,D)).reverse();for(let D of O)for(let R=D.end-1;R>=D.start;R--){let N=this.items[R],k=q.get(N.templateId)?.pop();this.insertItemInDOM(R,k)}for(let D of q.values())for(let R of D)this.cache.release(R);if(this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights)this._rerender(this.scrollTop,this.renderHeight);return K.map((D)=>D.element)}eventuallyUpdateScrollDimensions(){if(this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,!this.scrollableElementUpdateDisposable)this.scrollableElementUpdateDisposable=E8(Q0(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let J=0;for(let X of this.items)if(typeof X.width<\"u\")J=Math.max(J,X.width);this.scrollWidth=J,this.scrollableElement.setScrollDimensions({scrollWidth:J===0?0:J+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(!this.supportDynamicHeights)return;for(let J of this.items)J.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getVisibleRange(this.lastRenderTop,this.lastRenderHeight).start}element(J){return this.items[J].element}indexOf(J){return this.items.findIndex((X)=>X.element===J)}domElement(J){let X=this.items[J].row;return X&&X.domNode}elementHeight(J){return this.items[J].size}elementTop(J){return this.rangeMap.positionAt(J)}indexAt(J){return this.rangeMap.indexAt(J)}indexAfter(J){return this.rangeMap.indexAfter(J)}layout(J,X){let Y={height:typeof J===\"number\"?J:xt(this.domNode)};if(this.scrollableElementUpdateDisposable)this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,Y.scrollHeight=this.scrollHeight;if(this.scrollableElement.setScrollDimensions(Y),typeof X<\"u\"){if(this.renderWidth=X,this.supportDynamicHeights)this._rerender(this.scrollTop,this.renderHeight)}if(this.horizontalScrolling){this.scrollableElement.setScrollDimensions({width:typeof X===\"number\"?X:jM(this.domNode)});let Z=this.scrollableElement.getScrollPosition(),Q=this.scrollableElement.getScrollDimensions(),$=Math.max(0,Q.scrollWidth-Z.scrollLeft-this.renderWidth);this.domNode.style.setProperty(\"--list-scroll-right-offset\",`${Math.max($-12,0)}px`)}}render(J,X,Y,Z,Q,$=!1,q=!1){let G=this.getRenderRange(X,Y),U=m8.relativeComplement(G,J).reverse(),H=m8.relativeComplement(J,G);if($){let V=m8.intersect(J,G);for(let K=V.start;K<V.end;K++)this.updateItemInDOM(this.items[K],K)}if(this.cache.transact(()=>{for(let V of H)for(let K=V.start;K<V.end;K++)this.removeItemFromDOM(K,q);for(let V of U)for(let K=V.end-1;K>=V.start;K--)this.insertItemInDOM(K)}),Z!==void 0)this.rowsContainer.style.left=`-${Z}px`;if(this.rowsContainer.style.top=`-${X}px`,this.horizontalScrolling&&Q!==void 0){this.rowsContainer.style.width=`${Math.max(Q,this.renderWidth)}px`;let V=Math.max(0,Q-(Z??0)-this.renderWidth);this.domNode.style.setProperty(\"--list-scroll-right-offset\",`${Math.max(V-12,0)}px`)}this.lastRenderTop=X,this.lastRenderHeight=Y}insertItemInDOM(J,X){let Y=this.items[J];if(!Y.row)if(X)Y.row=X,Y.stale=!0;else{let U=this.cache.alloc(Y.templateId);Y.row=U.row,Y.stale||=U.isReusingConnectedDomNode}let Z=this.accessibilityProvider.getRole(Y.element)||\"listitem\";Y.row.domNode.setAttribute(\"role\",Z);let Q=this.accessibilityProvider.isChecked(Y.element),$=(U)=>U===\"mixed\"?\"mixed\":String(!!U);if(typeof Q===\"boolean\"||Q===\"mixed\")Y.row.domNode.setAttribute(\"aria-checked\",$(Q));else if(Q){let U=(H)=>Y.row.domNode.setAttribute(\"aria-checked\",$(H));U(Q.value),Y.checkedDisposable=Q.onDidChange(()=>U(Q.value))}if(Y.stale||!Y.row.domNode.parentElement){let U=this.items.at(J+1)?.row?.domNode??null;if(Y.row.domNode.parentElement!==this.rowsContainer||Y.row.domNode.nextElementSibling!==U)this.rowsContainer.insertBefore(Y.row.domNode,U);Y.stale=!1}this.updateItemInDOM(Y,J);let q=this.renderers.get(Y.templateId);if(!q)throw Error(`No renderer found for template id ${Y.templateId}`);q?.renderElement(Y.element,J,Y.row.templateData,{height:Y.size});let G=this.dnd.getDragURI(Y.element);if(Y.dragStartDisposable.dispose(),Y.row.domNode.draggable=!!G,G)Y.dragStartDisposable=f(Y.row.domNode,\"dragstart\",(U)=>this.onDragStart(Y.element,G,U));if(this.horizontalScrolling)this.measureItemWidth(Y),this.eventuallyUpdateScrollWidth()}measureItemWidth(J){if(!J.row||!J.row.domNode)return;J.row.domNode.style.width=\"fit-content\",J.width=jM(J.row.domNode);let X=Q0(J.row.domNode).getComputedStyle(J.row.domNode);if(X.paddingLeft)J.width+=parseFloat(X.paddingLeft);if(X.paddingRight)J.width+=parseFloat(X.paddingRight);J.row.domNode.style.width=\"\"}updateItemInDOM(J,X){if(J.row.domNode.style.top=`${this.elementTop(X)}px`,this.setRowHeight)J.row.domNode.style.height=`${J.size}px`;if(this.setRowLineHeight)J.row.domNode.style.lineHeight=`${J.size}px`;J.row.domNode.setAttribute(\"data-index\",`${X}`),J.row.domNode.setAttribute(\"data-last-element\",X===this.length-1?\"true\":\"false\"),J.row.domNode.setAttribute(\"data-parity\",X%2===0?\"even\":\"odd\"),J.row.domNode.setAttribute(\"aria-setsize\",String(this.accessibilityProvider.getSetSize(J.element,X,this.length))),J.row.domNode.setAttribute(\"aria-posinset\",String(this.accessibilityProvider.getPosInSet(J.element,X))),J.row.domNode.setAttribute(\"id\",this.getElementDomId(X)),J.row.domNode.classList.toggle(\"drop-target\",J.dropTarget)}removeItemFromDOM(J,X){let Y=this.items[J];if(Y.dragStartDisposable.dispose(),Y.checkedDisposable.dispose(),Y.row){let Z=this.renderers.get(Y.templateId);if(Z&&Z.disposeElement)Z.disposeElement(Y.element,J,Y.row.templateData,{height:Y.size,onScroll:X});this.cache.release(Y.row),Y.row=null}if(this.horizontalScrolling)this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(J,X){if(this.scrollableElementUpdateDisposable)this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight});this.scrollableElement.setScrollPosition({scrollTop:J,reuseAnimation:X})}get scrollTop(){return this.getScrollTop()}set scrollTop(J){this.setScrollTop(J)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return i.map(this.disposables.add(new G1(this.domNode,\"click\")).event,(J)=>this.toMouseEvent(J),this.disposables)}get onMouseDblClick(){return i.map(this.disposables.add(new G1(this.domNode,\"dblclick\")).event,(J)=>this.toMouseEvent(J),this.disposables)}get onMouseMiddleClick(){return i.filter(i.map(this.disposables.add(new G1(this.domNode,\"auxclick\")).event,(J)=>this.toMouseEvent(J),this.disposables),(J)=>J.browserEvent.button===1,this.disposables)}get onMouseDown(){return i.map(this.disposables.add(new G1(this.domNode,\"mousedown\")).event,(J)=>this.toMouseEvent(J),this.disposables)}get onMouseOver(){return i.map(this.disposables.add(new G1(this.domNode,\"mouseover\")).event,(J)=>this.toMouseEvent(J),this.disposables)}get onMouseOut(){return i.map(this.disposables.add(new G1(this.domNode,\"mouseout\")).event,(J)=>this.toMouseEvent(J),this.disposables)}get onContextMenu(){return i.any(i.map(this.disposables.add(new G1(this.domNode,\"contextmenu\")).event,(J)=>this.toMouseEvent(J),this.disposables),i.map(this.disposables.add(new G1(this.domNode,P1.Contextmenu)).event,(J)=>this.toGestureEvent(J),this.disposables))}get onTouchStart(){return i.map(this.disposables.add(new G1(this.domNode,\"touchstart\")).event,(J)=>this.toTouchEvent(J),this.disposables)}get onTap(){return i.map(this.disposables.add(new G1(this.rowsContainer,P1.Tap)).event,(J)=>this.toGestureEvent(J),this.disposables)}toMouseEvent(J){let X=this.getItemIndexFromEventTarget(J.target||null),Y=typeof X>\"u\"?void 0:this.items[X],Z=Y&&Y.element;return{browserEvent:J,index:X,element:Z}}toTouchEvent(J){let X=this.getItemIndexFromEventTarget(J.target||null),Y=typeof X>\"u\"?void 0:this.items[X],Z=Y&&Y.element;return{browserEvent:J,index:X,element:Z}}toGestureEvent(J){let X=this.getItemIndexFromEventTarget(J.initialTarget||null),Y=typeof X>\"u\"?void 0:this.items[X],Z=Y&&Y.element;return{browserEvent:J,index:X,element:Z}}toDragEvent(J){let X=this.getItemIndexFromEventTarget(J.target||null),Y=typeof X>\"u\"?void 0:this.items[X],Z=Y&&Y.element,Q=this.getTargetSector(J,X);return{browserEvent:J,index:X,element:Z,sector:Q}}onScroll(J){try{let X=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);if(this.render(X,J.scrollTop,J.height,J.scrollLeft,J.scrollWidth,void 0,!0),this.supportDynamicHeights)this._rerender(J.scrollTop,J.height,J.inSmoothScrolling)}catch(X){throw console.error(\"Got bad scroll event:\",J),X}}onTouchChange(J){J.preventDefault(),J.stopPropagation(),this.scrollTop-=J.translationY}onDragStart(J,X,Y){if(!Y.dataTransfer)return;let Z=this.dnd.getDragElements(J);Y.dataTransfer.effectAllowed=\"copyMove\",Y.dataTransfer.setData(E2.TEXT,X);let Q;if(this.dnd.getDragLabel)Q=this.dnd.getDragLabel(Z,Y);if(typeof Q>\"u\")Q=String(Z.length);IX0(Y,this.domNode,Q,[this.domId]),this.domNode.classList.add(\"dragging\"),this.currentDragData=new Q3(Z),tG.CurrentDragAndDropData=new kX0(Z),this.dnd.onDragStart?.(this.currentDragData,Y)}onPotentialSelectionStart(J){this.currentSelectionDisposable.dispose();let X=Lt(this.domNode),Y=this.currentSelectionDisposable=new a,Z=Y.add(new a);Z.add(f(this.domNode,\"selectstart\",()=>{Z.add(f(X,\"mousemove\",(Q)=>{if(X.getSelection()?.isCollapsed===!1)this.setupDragAndDropScrollTopAnimation(Q)})),Y.add(J0(()=>{let Q=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.currentSelectionBounds=void 0,this.render(Q,this.lastRenderTop,this.lastRenderHeight,void 0,void 0)})),Y.add(f(X,\"selectionchange\",()=>{let Q=X.getSelection();if(!Q||Q.isCollapsed){if(Z.isDisposed)Y.dispose();return}let $=this.getIndexOfListElement(Q.anchorNode),q=this.getIndexOfListElement(Q.focusNode);if($!==void 0&&q!==void 0){if(q<$)[$,q]=[q,$];this.currentSelectionBounds={start:$,end:q}}}))})),Z.add(f(X,\"mouseup\",()=>{if(Z.dispose(),this.teardownDragAndDropScrollTopAnimation(),X.getSelection()?.isCollapsed!==!1)Y.dispose()}))}getIndexOfListElement(J){if(!J||!this.domNode.contains(J))return;while(J&&J!==this.domNode){if(J.dataset?.index)return Number(J.dataset.index);J=J.parentElement}return}onDragOver(J){if(J.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),tG.CurrentDragAndDropData&&tG.CurrentDragAndDropData.getData()===\"vscode-ui\")return!1;if(this.setupDragAndDropScrollTopAnimation(J.browserEvent),!J.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(tG.CurrentDragAndDropData)this.currentDragData=tG.CurrentDragAndDropData;else{if(!J.browserEvent.dataTransfer.types)return!1;this.currentDragData=new EX0}let X=this.dnd.onDragOver(this.currentDragData,J.element,J.index,J.sector,J.browserEvent);if(this.canDrop=typeof X===\"boolean\"?X:X.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;J.browserEvent.dataTransfer.dropEffect=typeof X!==\"boolean\"&&X.effect?.type===0?\"copy\":\"move\";let Y;if(typeof X!==\"boolean\"&&X.feedback)Y=X.feedback;else if(typeof J.index>\"u\")Y=[-1];else Y=[J.index];Y=o4(Y).filter((Q)=>Q>=-1&&Q<this.length).sort((Q,$)=>Q-$),Y=Y[0]===-1?[-1]:Y;let Z=typeof X!==\"boolean\"&&X.effect&&X.effect.position?X.effect.position:\"drop-target\";if(GD0(this.currentDragFeedback,Y)&&this.currentDragFeedbackPosition===Z)return!0;if(this.currentDragFeedback=Y,this.currentDragFeedbackPosition=Z,this.currentDragFeedbackDisposable.dispose(),Y[0]===-1)this.domNode.classList.add(Z),this.rowsContainer.classList.add(Z),this.currentDragFeedbackDisposable=J0(()=>{this.domNode.classList.remove(Z),this.rowsContainer.classList.remove(Z)});else{if(Y.length>1&&Z!==\"drop-target\")throw Error(\"Can't use multiple feedbacks with position different than 'over'\");if(Z===\"drop-target-after\"){if(Y[0]<this.length-1)Y[0]+=1,Z=\"drop-target-before\"}for(let Q of Y){let $=this.items[Q];$.dropTarget=!0,$.row?.domNode.classList.add(Z)}this.currentDragFeedbackDisposable=J0(()=>{for(let Q of Y){let $=this.items[Q];$.dropTarget=!1,$.row?.domNode.classList.remove(Z)}})}return!0}onDragLeave(J){if(this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=AX(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData)this.dnd.onDragLeave?.(this.currentDragData,J.element,J.index,J.browserEvent)}onDrop(J){if(!this.canDrop)return;let X=this.currentDragData;if(this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove(\"dragging\"),this.currentDragData=void 0,tG.CurrentDragAndDropData=void 0,!X||!J.browserEvent.dataTransfer)return;J.browserEvent.preventDefault(),X.update(J.browserEvent.dataTransfer),this.dnd.drop(X,J.element,J.index,J.sector,J.browserEvent)}onDragEnd(J){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove(\"dragging\"),this.currentDragData=void 0,tG.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(J)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=y.None}setupDragAndDropScrollTopAnimation(J){if(!this.dragOverAnimationDisposable){let X=VM(this.domNode).top;this.dragOverAnimationDisposable=mt(Q0(this.domNode),this.animateDragAndDropScrollTop.bind(this,X))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=AX(()=>{if(this.dragOverAnimationDisposable)this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0},1000,this.disposables),this.dragOverMouseY=J.pageY}animateDragAndDropScrollTop(J){if(this.dragOverMouseY===void 0)return;let X=this.dragOverMouseY-J,Y=this.renderHeight-35;if(X<35)this.scrollTop+=Math.max(-14,Math.floor(0.3*(X-35)));else if(X>Y)this.scrollTop+=Math.min(14,Math.floor(0.3*(X-Y)))}teardownDragAndDropScrollTopAnimation(){if(this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable)this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0}getTargetSector(J,X){if(X===void 0)return;let Y=J.offsetY/this.items[X].size,Z=Math.floor(Y/0.25);return _5(Z,0,3)}getItemIndexFromEventTarget(J){let X=this.scrollableElement.getDomNode(),Y=J;while((a0(Y)||rx(Y))&&Y!==this.rowsContainer&&X.contains(Y)){let Z=Y.getAttribute(\"data-index\");if(Z){let Q=Number(Z);if(!isNaN(Q))return Q}Y=Y.parentElement}return}getVisibleRange(J,X){return{start:this.rangeMap.indexAt(J),end:this.rangeMap.indexAfter(J+X-1)}}getRenderRange(J,X){let Y=this.getVisibleRange(J,X);if(this.currentSelectionBounds){let Z=this.rangeMap.count;Y.start=Math.min(Y.start,this.currentSelectionBounds.start,Z),Y.end=Math.min(Math.max(Y.end,this.currentSelectionBounds.end+1),Z)}return Y}_rerender(J,X,Y){let Z=this.getRenderRange(J,X),Q,$;if(J===this.elementTop(Z.start))Q=Z.start,$=0;else if(Z.end-Z.start>1)Q=Z.start+1,$=this.elementTop(Q)-J;let q=0;while(!0){let G=this.getRenderRange(J,X),U=!1;for(let H=G.start;H<G.end;H++){let V=this.probeDynamicHeight(H);if(V!==0)this.rangeMap.splice(H,1,[this.items[H]]);q+=V,U=U||V!==0}if(!U){if(q!==0)this.eventuallyUpdateScrollDimensions();let H=m8.relativeComplement(Z,G);for(let K of H)for(let j=K.start;j<K.end;j++)if(this.items[j].row)this.removeItemFromDOM(j);let V=m8.relativeComplement(G,Z).reverse();for(let K of V)for(let j=K.end-1;j>=K.start;j--)this.insertItemInDOM(j);for(let K=G.start;K<G.end;K++)if(this.items[K].row)this.updateItemInDOM(this.items[K],K);if(typeof Q===\"number\"){let K=this.scrollable.getFutureScrollPosition().scrollTop-J,j=this.elementTop(Q)-$+K;this.setScrollTop(j,Y)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(J){let X=this.items[J],Y=this.probeDynamicHeightForItem(X,J);if(Y>0)this.virtualDelegate.setDynamicHeight?.(X.element,X.size);return Y}probeDynamicHeightForItem(J,X){if(this.virtualDelegate.getDynamicHeight){let $=this.virtualDelegate.getDynamicHeight(J.element);if($!==null){let q=J.size;return J.size=$,J.lastDynamicHeightWidth=this.renderWidth,$-q}}if(!J.hasDynamicHeight||J.lastDynamicHeightWidth===this.renderWidth)return 0;if(!!this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(J.element))return 0;let Y=J.size;if(J.row){if(J.row.domNode.style.height=\"\",J.size=J.row.domNode.offsetHeight,J.size===0)if(!d1(J.row.domNode,Q0(J.row.domNode).document.body))console.warn(\"Measuring item node that is not in DOM! Add ListView to the DOM before measuring row height!\",Error().stack);else console.warn(\"Measured item node at 0px- ensure that ListView is not display:none before measuring row height!\",Error().stack);return J.lastDynamicHeightWidth=this.renderWidth,J.size-Y}let{row:Z}=this.cache.alloc(J.templateId);Z.domNode.style.height=\"\",this.rowsContainer.appendChild(Z.domNode);let Q=this.renderers.get(J.templateId);if(!Q)throw new j0(\"Missing renderer for templateId: \"+J.templateId);return Q.renderElement(J.element,X,Z.templateData),J.size=Z.domNode.offsetHeight,Q.disposeElement?.(J.element,X,Z.templateData),J.lastDynamicHeightWidth=this.renderWidth,Z.domNode.remove(),this.cache.release(Z),J.size-Y}getElementDomId(J){return`${this.domId}_${J}`}dispose(){for(let J of this.items)if(J.dragStartDisposable.dispose(),J.checkedDisposable.dispose(),J.row){let X=this.renderers.get(J.row.templateId);if(X)X.disposeElement?.(J.element,-1,J.row.templateData,void 0),X.disposeTemplate(J.row.templateData)}this.items=[],this.domNode?.remove(),this.dragOverAnimationDisposable?.dispose(),this.disposables.dispose()}}rQ([a1],n9.prototype,\"onMouseClick\",null);rQ([a1],n9.prototype,\"onMouseDblClick\",null);rQ([a1],n9.prototype,\"onMouseMiddleClick\",null);rQ([a1],n9.prototype,\"onMouseDown\",null);rQ([a1],n9.prototype,\"onMouseOver\",null);rQ([a1],n9.prototype,\"onMouseOut\",null);rQ([a1],n9.prototype,\"onContextMenu\",null);rQ([a1],n9.prototype,\"onTouchStart\",null);rQ([a1],n9.prototype,\"onTap\",null);function oQ(J){return new xX0(J)}class xX0 extends QM{constructor(J){super();this.value=J}get debugName(){return this.toString()}get(){return this.value}addObserver(J){}removeObserver(J){}toString(){return`Const: ${this.value}`}}var $3=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$};class SX0{constructor(J){this.trait=J,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(J){return J}renderElement(J,X,Y){let Z=this.renderedElements.findIndex((Q)=>Q.templateData===Y);if(Z>=0){let Q=this.renderedElements[Z];this.trait.unrender(Y),Q.index=X}else{let Q={index:X,templateData:Y};this.renderedElements.push(Q)}this.trait.renderIndex(X,Y)}splice(J,X,Y){let Z=[];for(let Q of this.renderedElements)if(Q.index<J)Z.push(Q);else if(Q.index>=J+X)Z.push({index:Q.index+Y-X,templateData:Q.templateData});this.renderedElements=Z}renderIndexes(J){for(let{index:X,templateData:Y}of this.renderedElements)if(J.indexOf(X)>-1)this.trait.renderIndex(X,Y)}disposeTemplate(J){let X=this.renderedElements.findIndex((Y)=>Y.templateData===J);if(X<0)return;this.renderedElements.splice(X,1)}}class O_{get onChange(){return this._onChange.event}get name(){return this._trait}get renderer(){return new SX0(this)}constructor(J){this._trait=J,this.indexes=[],this.sortedIndexes=[],this._onChange=new E}splice(J,X,Y){let Z=Y.length-X,Q=J+X,$=[],q=0;while(q<this.sortedIndexes.length&&this.sortedIndexes[q]<J)$.push(this.sortedIndexes[q++]);for(let G=0;G<Y.length;G++)if(Y[G])$.push(G+J);while(q<this.sortedIndexes.length&&this.sortedIndexes[q]>=Q)$.push(this.sortedIndexes[q++]+Z);this.renderer.splice(J,X,Y.length),this._set($,$)}renderIndex(J,X){X.classList.toggle(this._trait,this.contains(J))}unrender(J){J.classList.remove(this._trait)}set(J,X){return this._set(J,[...J].sort(CX0),X)}_set(J,X,Y){let Z=this.indexes,Q=this.sortedIndexes;this.indexes=J,this.sortedIndexes=X;let $=Zp(Q,J);return this.renderer.renderIndexes($),this._onChange.fire({indexes:J,browserEvent:Y}),Z}get(){return this.indexes}contains(J){return sr(this.sortedIndexes,J,CX0)>=0}dispose(){D1(this._onChange)}}$3([a1],O_.prototype,\"renderer\",null);class fX0 extends O_{constructor(J){super(\"selected\");this.setAriaSelected=J}renderIndex(J,X){if(super.renderIndex(J,X),this.setAriaSelected)if(this.contains(J))X.setAttribute(\"aria-selected\",\"true\");else X.setAttribute(\"aria-selected\",\"false\")}}class tw{constructor(J,X,Y){this.trait=J,this.view=X,this.identityProvider=Y}splice(J,X,Y){if(!this.identityProvider)return this.trait.splice(J,X,Array(Y.length).fill(!1));let Z=this.trait.get().map((q)=>this.identityProvider.getId(this.view.element(q)).toString());if(Z.length===0)return this.trait.splice(J,X,Array(Y.length).fill(!1));let Q=new Set(Z),$=Y.map((q)=>Q.has(this.identityProvider.getId(q).toString()));this.trait.splice(J,X,$)}}function M_(J,X){if(J.classList.contains(X))return!0;if(J.classList.contains(\"monaco-list\"))return!1;if(!J.parentElement)return!1;return M_(J.parentElement,X)}function uK(J){return M_(J,\"monaco-editor\")}function hX0(J){return M_(J,\"monaco-custom-toggle\")}function vX0(J){return M_(J,\"action-item\")}function dK(J){return M_(J,\"monaco-tree-sticky-row\")}function lK(J){return J.classList.contains(\"monaco-tree-sticky-container\")}function Qp(J){if(J.tagName===\"A\"&&J.classList.contains(\"monaco-button\")||J.tagName===\"DIV\"&&J.classList.contains(\"monaco-button-dropdown\"))return!0;if(J.classList.contains(\"monaco-list\"))return!1;if(!J.parentElement)return!1;return Qp(J.parentElement)}class $p{get onKeyDown(){return i.chain(this.disposables.add(new G1(this.view.domNode,\"keydown\")).event,(J)=>J.filter((X)=>!Q4(X.target)).map((X)=>new Y1(X)))}constructor(J,X,Y){this.list=J,this.view=X,this.disposables=new a,this.multipleSelectionDisposables=new a,this.multipleSelectionSupport=Y.multipleSelectionSupport,this.disposables.add(this.onKeyDown((Z)=>{switch(Z.keyCode){case 3:return this.onEnter(Z);case 16:return this.onUpArrow(Z);case 18:return this.onDownArrow(Z);case 11:return this.onPageUpArrow(Z);case 12:return this.onPageDownArrow(Z);case 9:return this.onEscape(Z);case 31:if(this.multipleSelectionSupport&&(I0?Z.metaKey:Z.ctrlKey))this.onCtrlA(Z)}}))}updateOptions(J){if(J.multipleSelectionSupport!==void 0)this.multipleSelectionSupport=J.multipleSelectionSupport}onEnter(J){J.preventDefault(),J.stopPropagation(),this.list.setSelection(this.list.getFocus(),J.browserEvent)}onUpArrow(J){J.preventDefault(),J.stopPropagation(),this.list.focusPrevious(1,!1,J.browserEvent);let X=this.list.getFocus()[0];this.list.setAnchor(X),this.list.reveal(X),this.view.domNode.focus()}onDownArrow(J){J.preventDefault(),J.stopPropagation(),this.list.focusNext(1,!1,J.browserEvent);let X=this.list.getFocus()[0];this.list.setAnchor(X),this.list.reveal(X),this.view.domNode.focus()}onPageUpArrow(J){J.preventDefault(),J.stopPropagation(),this.list.focusPreviousPage(J.browserEvent);let X=this.list.getFocus()[0];this.list.setAnchor(X),this.list.reveal(X),this.view.domNode.focus()}onPageDownArrow(J){J.preventDefault(),J.stopPropagation(),this.list.focusNextPage(J.browserEvent);let X=this.list.getFocus()[0];this.list.setAnchor(X),this.list.reveal(X),this.view.domNode.focus()}onCtrlA(J){J.preventDefault(),J.stopPropagation();let X=H5(this.list.length),Y=this.list.getFocus(),Z=Y.length>0?this.list.getElementGroupId(Y[0]):void 0;if(Z!==void 0)X=this.list.filterIndicesByGroup(X,Z);this.list.setSelection(X,J.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(J){if(this.list.getSelection().length)J.preventDefault(),J.stopPropagation(),this.list.setSelection([],J.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}$3([a1],$p.prototype,\"onKeyDown\",null);var vX;(function(J){J[J.Automatic=0]=\"Automatic\",J[J.Trigger=1]=\"Trigger\"})(vX||(vX={}));var cK;(function(J){J[J.Idle=0]=\"Idle\",J[J.Typing=1]=\"Typing\"})(cK||(cK={}));var UD0=new class{mightProducePrintableCharacter(J){if(J.ctrlKey||J.metaKey||J.altKey)return!1;return J.keyCode>=31&&J.keyCode<=56||J.keyCode>=21&&J.keyCode<=30||J.keyCode>=98&&J.keyCode<=107||J.keyCode>=85&&J.keyCode<=95}};class gX0{constructor(J,X,Y,Z,Q){this.list=J,this.view=X,this.keyboardNavigationLabelProvider=Y,this.keyboardNavigationEventFilter=Z,this.delegate=Q,this.enabled=!1,this.state=cK.Idle,this.mode=vX.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new a,this.disposables=new a,this.updateOptions(J.options)}updateOptions(J){if(J.typeNavigationEnabled??!0)this.enable();else this.disable();this.mode=J.typeNavigationMode??vX.Automatic}enable(){if(this.enabled)return;let J=!1,X=i.chain(this.enabledDisposables.add(new G1(this.view.domNode,\"keydown\")).event,(Q)=>Q.filter(($)=>!Q4($.target)).filter(()=>this.mode===vX.Automatic||this.triggered).map(($)=>new Y1($)).filter(($)=>J||this.keyboardNavigationEventFilter($)).filter(($)=>this.delegate.mightProducePrintableCharacter($)).forEach(($)=>d0.stop($,!0)).map(($)=>$.browserEvent.key)),Y=i.debounce(X,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);i.reduce(i.any(X,Y),(Q,$)=>$===null?null:(Q||\"\")+$,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),Y(this.onClear,this,this.enabledDisposables),X(()=>J=!0,void 0,this.enabledDisposables),Y(()=>J=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){if(!this.enabled)return;this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1}onClear(){let J=this.list.getFocus();if(J.length>0&&J[0]===this.previouslyFocused){let X=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(J[0]));if(typeof X===\"string\")y4(X);else if(X)y4(X.get())}this.previouslyFocused=-1}onInput(J){if(!J){this.state=cK.Idle,this.triggered=!1;return}let X=this.list.getFocus(),Y=X.length>0?X[0]:0,Z=this.state===cK.Idle?1:0;this.state=cK.Typing;for(let Q=0;Q<this.list.length;Q++){let $=(Y+Q+Z)%this.list.length,q=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element($)),G=q&&q.toString();if(this.list.options.typeNavigationEnabled){if(typeof G<\"u\"){if(lB(J,G)){this.previouslyFocused=Y,this.list.setFocus([$]),this.list.reveal($);return}let U=C90(J,G);if(U){if(U[0].end-U[0].start>1&&U.length===1){this.previouslyFocused=Y,this.list.setFocus([$]),this.list.reveal($);return}}}}else if(typeof G>\"u\"||lB(J,G)){this.previouslyFocused=Y,this.list.setFocus([$]),this.list.reveal($);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class pX0{constructor(J,X){this.list=J,this.view=X,this.disposables=new a;let Y=i.chain(this.disposables.add(new G1(X.domNode,\"keydown\")).event,(Q)=>Q.filter(($)=>!Q4($.target)).map(($)=>new Y1($)));i.chain(Y,(Q)=>Q.filter(($)=>$.keyCode===2&&!$.ctrlKey&&!$.metaKey&&!$.shiftKey&&!$.altKey))(this.onTab,this,this.disposables)}onTab(J){if(J.target!==this.view.domNode)return;let X=this.list.getFocus();if(X.length===0)return;let Y=this.view.domElement(X[0]);if(!Y)return;let Z=Y.querySelector(\"[tabIndex]\");if(!Z||!a0(Z)||Z.tabIndex===-1)return;let Q=Q0(Z).getComputedStyle(Z);if(Q.visibility===\"hidden\"||Q.display===\"none\")return;J.preventDefault(),J.stopPropagation(),Z.focus()}dispose(){this.disposables.dispose()}}function qp(J){return I0?J.browserEvent.metaKey:J.browserEvent.ctrlKey}function Gp(J){return J.browserEvent.shiftKey}function HD0(J){return q2(J)&&J.button===2}var bX0={isSelectionSingleChangeEvent:qp,isSelectionRangeChangeEvent:Gp};class ew{get onPointer(){return this._onPointer.event}constructor(J){if(this.list=J,this.disposables=new a,this._onPointer=this.disposables.add(new E),J.options.multipleSelectionSupport!==!1)this.multipleSelectionController=this.list.options.multipleSelectionController||bX0;if(this.mouseSupport=typeof J.options.mouseSupport>\"u\"||!!J.options.mouseSupport,this.mouseSupport)J.onMouseDown(this.onMouseDown,this,this.disposables),J.onContextMenu(this.onContextMenu,this,this.disposables),J.onMouseDblClick(this.onDoubleClick,this,this.disposables),J.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(O1.addTarget(J.getHTMLElement()));i.any(J.onMouseClick,J.onMouseMiddleClick,J.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(J){if(J.multipleSelectionSupport!==void 0){if(this.multipleSelectionController=void 0,J.multipleSelectionSupport)this.multipleSelectionController=this.list.options.multipleSelectionController||bX0}}isSelectionSingleChangeEvent(J){if(!this.multipleSelectionController)return!1;return this.multipleSelectionController.isSelectionSingleChangeEvent(J)}isSelectionRangeChangeEvent(J){if(!this.multipleSelectionController)return!1;return this.multipleSelectionController.isSelectionRangeChangeEvent(J)}isSelectionChangeEvent(J){return this.isSelectionSingleChangeEvent(J)||this.isSelectionRangeChangeEvent(J)}onMouseDown(J){if(uK(J.browserEvent.target))return;if(E1()!==J.browserEvent.target)this.list.domFocus()}onContextMenu(J){if(Q4(J.browserEvent.target)||uK(J.browserEvent.target))return;let X=typeof J.index>\"u\"?[]:[J.index];this.list.setFocus(X,J.browserEvent)}onViewPointer(J){if(!this.mouseSupport)return;if(Q4(J.browserEvent.target)||uK(J.browserEvent.target))return;if(J.browserEvent.isHandledByList)return;J.browserEvent.isHandledByList=!0;let X=J.index;if(typeof X>\"u\"){this.list.setFocus([],J.browserEvent),this.list.setSelection([],J.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(J))return this.changeSelection(J);if(this.list.setFocus([X],J.browserEvent),this.list.setAnchor(X),!HD0(J.browserEvent)){if(this.list.getElementGroupId(X)!==D_)this.list.setSelection([X],J.browserEvent)}this._onPointer.fire(J)}onDoubleClick(J){if(Q4(J.browserEvent.target)||uK(J.browserEvent.target))return;if(this.isSelectionChangeEvent(J))return;if(J.browserEvent.isHandledByList)return;J.browserEvent.isHandledByList=!0;let X=this.list.getFocus();this.list.setSelection(X,J.browserEvent)}changeSelection(J){let X=J.index,Y=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(J)){if(typeof Y>\"u\")Y=this.list.getFocus()[0]??X,this.list.setAnchor(Y);let Z=Math.min(Y,X),Q=Math.max(Y,X),$=H5(Z,Q+1),q=this.list.getSelection()[0];if(q!==void 0){let V=this.list.getElementGroupId(q);if(V!==void 0)$=this.list.filterIndicesByGroup($,V)}let G=this.list.getSelection(),U=KD0(Zp(G,[Y]),Y);if(U.length===0)return;let H=Zp($,jD0(G,U));this.list.setSelection(H,J.browserEvent),this.list.setFocus([X],J.browserEvent)}else if(this.isSelectionSingleChangeEvent(J)){let Z=this.list.getSelection(),Q=Z.filter((q)=>q!==X);this.list.setFocus([X]),this.list.setAnchor(X);let $=this.list.getElementGroupId(X);if($===D_)return;if(Z.length===Q.length){let q=$!==void 0?this.list.filterIndicesByGroup([...Q,X],$):[...Q,X];this.list.setSelection(q,J.browserEvent)}else this.list.setSelection(Q,J.browserEvent)}}dispose(){this.disposables.dispose()}}class mX0{constructor(J,X){this.styleElement=J,this.selectorSuffix=X}style(J){let X=this.selectorSuffix&&`.${this.selectorSuffix}`,Y=[];if(J.listBackground)Y.push(`.monaco-list${X} .monaco-list-rows { background: ${J.listBackground}; }`);if(J.listFocusBackground)Y.push(`.monaco-list${X}:focus .monaco-list-row.focused { background-color: ${J.listFocusBackground}; }`),Y.push(`.monaco-list${X}:focus .monaco-list-row.focused:hover { background-color: ${J.listFocusBackground}; }`);if(J.listFocusForeground)Y.push(`.monaco-list${X}:focus .monaco-list-row.focused { color: ${J.listFocusForeground}; }`);if(J.listActiveSelectionBackground)Y.push(`.monaco-list${X}:focus .monaco-list-row.selected { background-color: ${J.listActiveSelectionBackground}; }`),Y.push(`.monaco-list${X}:focus .monaco-list-row.selected:hover { background-color: ${J.listActiveSelectionBackground}; }`);if(J.listActiveSelectionForeground)Y.push(`.monaco-list${X}:focus .monaco-list-row.selected { color: ${J.listActiveSelectionForeground}; }`);if(J.listActiveSelectionIconForeground)Y.push(`.monaco-list${X}:focus .monaco-list-row.selected .codicon { color: ${J.listActiveSelectionIconForeground}; }`);if(J.listFocusAndSelectionBackground)Y.push(`\n\t\t\t\t.monaco-drag-image${X},\n\t\t\t\t.monaco-list${X}:focus .monaco-list-row.selected.focused { background-color: ${J.listFocusAndSelectionBackground}; }\n\t\t\t`);if(J.listFocusAndSelectionForeground)Y.push(`\n\t\t\t\t.monaco-drag-image${X},\n\t\t\t\t.monaco-list${X}:focus .monaco-list-row.selected.focused { color: ${J.listFocusAndSelectionForeground}; }\n\t\t\t`);if(J.listInactiveFocusForeground)Y.push(`.monaco-list${X} .monaco-list-row.focused { color:  ${J.listInactiveFocusForeground}; }`),Y.push(`.monaco-list${X} .monaco-list-row.focused:hover { color:  ${J.listInactiveFocusForeground}; }`);if(J.listInactiveSelectionIconForeground)Y.push(`.monaco-list${X} .monaco-list-row.focused .codicon { color:  ${J.listInactiveSelectionIconForeground}; }`);if(J.listInactiveFocusBackground)Y.push(`.monaco-list${X} .monaco-list-row.focused { background-color:  ${J.listInactiveFocusBackground}; }`),Y.push(`.monaco-list${X} .monaco-list-row.focused:hover { background-color:  ${J.listInactiveFocusBackground}; }`);if(J.listInactiveSelectionBackground)Y.push(`.monaco-list${X} .monaco-list-row.selected { background-color:  ${J.listInactiveSelectionBackground}; }`),Y.push(`.monaco-list${X} .monaco-list-row.selected:hover { background-color:  ${J.listInactiveSelectionBackground}; }`);if(J.listInactiveSelectionForeground)Y.push(`.monaco-list${X} .monaco-list-row.selected { color: ${J.listInactiveSelectionForeground}; }`);if(J.listHoverBackground)Y.push(`.monaco-list${X}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${J.listHoverBackground}; }`);if(J.listHoverForeground)Y.push(`.monaco-list${X}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color:  ${J.listHoverForeground}; }`);let Z=o9(J.listFocusAndSelectionOutline,o9(J.listSelectionOutline,J.listFocusOutline??\"\"));if(Z)Y.push(`.monaco-list${X}:focus .monaco-list-row.focused.selected { outline: 1px solid ${Z}; outline-offset: -1px;}`);if(J.listFocusOutline)Y.push(`\n\t\t\t\t.monaco-drag-image${X},\n\t\t\t\t.monaco-list${X}:focus .monaco-list-row.focused,\n\t\t\t\t.context-menu-visible .monaco-list${X}.last-focused .monaco-list-row.focused { outline: 1px solid ${J.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);let Q=o9(J.listSelectionOutline,J.listInactiveFocusOutline??\"\");if(Q)Y.push(`.monaco-list${X} .monaco-list-row.focused.selected { outline: 1px dotted ${Q}; outline-offset: -1px; }`);if(J.listSelectionOutline)Y.push(`.monaco-list${X} .monaco-list-row.selected { outline: 1px dotted ${J.listSelectionOutline}; outline-offset: -1px; }`);if(J.listInactiveFocusOutline)Y.push(`.monaco-list${X} .monaco-list-row.focused { outline: 1px dotted ${J.listInactiveFocusOutline}; outline-offset: -1px; }`);if(J.listHoverOutline)Y.push(`.monaco-list${X} .monaco-list-row:hover { outline: 1px dashed ${J.listHoverOutline}; outline-offset: -1px; }`);if(J.listDropOverBackground)Y.push(`\n\t\t\t\t.monaco-list${X}.drop-target,\n\t\t\t\t.monaco-list${X} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${X} .monaco-list-row.drop-target { background-color: ${J.listDropOverBackground} !important; color: inherit !important; }\n\t\t\t`);if(J.listDropBetweenBackground)Y.push(`\n\t\t\t.monaco-list${X} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n\t\t\t.monaco-list${X} .monaco-list-row.drop-target-before::before {\n\t\t\t\tcontent: \"\"; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${J.listDropBetweenBackground};\n\t\t\t}`),Y.push(`\n\t\t\t.monaco-list${X} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n\t\t\t.monaco-list${X} .monaco-list-row.drop-target-after::after {\n\t\t\t\tcontent: \"\"; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n\t\t\t\tbackground-color: ${J.listDropBetweenBackground};\n\t\t\t}`);if(J.tableColumnsBorder)Y.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-enable-motion .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-enable-motion .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${J.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-enable-motion .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-enable-motion .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`);if(J.tableOddRowsBackgroundColor)Y.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${J.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`);this.styleElement.textContent=Y.join(`\n`)}}var uX0={listFocusBackground:\"#7FB0D0\",listActiveSelectionBackground:\"#0E639C\",listActiveSelectionForeground:\"#FFFFFF\",listActiveSelectionIconForeground:\"#FFFFFF\",listFocusAndSelectionOutline:\"#90C2F9\",listFocusAndSelectionBackground:\"#094771\",listFocusAndSelectionForeground:\"#FFFFFF\",listInactiveSelectionBackground:\"#3F3F46\",listInactiveSelectionIconForeground:\"#FFFFFF\",listHoverBackground:\"#2A2D2E\",listDropOverBackground:\"#383B3D\",listDropBetweenBackground:\"#EEEEEE\",treeIndentGuidesStroke:\"#a9a9a9\",treeInactiveIndentGuidesStroke:c.fromHex(\"#a9a9a9\").transparent(0.4).toString(),tableColumnsBorder:c.fromHex(\"#cccccc\").transparent(0.2).toString(),tableOddRowsBackgroundColor:c.fromHex(\"#cccccc\").transparent(0.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},VD0={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function KD0(J,X){let Y=J.indexOf(X);if(Y===-1)return[];let Z=[],Q=Y-1;while(Q>=0&&J[Q]===X-(Y-Q))Z.push(J[Q--]);Z.reverse(),Q=Y;while(Q<J.length&&J[Q]===X+(Q-Y))Z.push(J[Q++]);return Z}function Zp(J,X){let Y=[],Z=0,Q=0;while(Z<J.length||Q<X.length)if(Z>=J.length)Y.push(X[Q++]);else if(Q>=X.length)Y.push(J[Z++]);else if(J[Z]===X[Q]){Y.push(J[Z]),Z++,Q++;continue}else if(J[Z]<X[Q])Y.push(J[Z++]);else Y.push(X[Q++]);return Y}function jD0(J,X){let Y=[],Z=0,Q=0;while(Z<J.length||Q<X.length)if(Z>=J.length)Y.push(X[Q++]);else if(Q>=X.length)Y.push(J[Z++]);else if(J[Z]===X[Q]){Z++,Q++;continue}else if(J[Z]<X[Q])Y.push(J[Z++]);else Q++;return Y}var CX0=(J,X)=>J-X;class cX0{constructor(J,X){this._templateId=J,this.renderers=X}get templateId(){return this._templateId}renderTemplate(J){return this.renderers.map((X)=>X.renderTemplate(J))}renderElement(J,X,Y,Z){let Q=0;for(let $ of this.renderers)$.renderElement(J,X,Y[Q++],Z)}disposeElement(J,X,Y,Z){let Q=0;for(let $ of this.renderers)$.disposeElement?.(J,X,Y[Q],Z),Q+=1}disposeTemplate(J){let X=0;for(let Y of this.renderers)Y.disposeTemplate(J[X++])}}class dX0{constructor(J){this.accessibilityProvider=J,this.templateId=\"a18n\"}renderTemplate(J){return{container:J,disposables:new a}}renderElement(J,X,Y){let Z=this.accessibilityProvider.getAriaLabel(J),Q=Z&&typeof Z!==\"string\"?Z:oQ(Z);Y.disposables.add(C0((q)=>{this.setAriaLabel(q.readObservable(Q),Y.container)}));let $=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(J);if(typeof $===\"number\")Y.container.setAttribute(\"aria-level\",`${$}`);else Y.container.removeAttribute(\"aria-level\")}setAriaLabel(J,X){if(J)X.setAttribute(\"aria-label\",J);else X.removeAttribute(\"aria-label\")}disposeElement(J,X,Y){Y.disposables.clear()}disposeTemplate(J){J.disposables.dispose()}}class lX0{constructor(J,X){this.list=J,this.dnd=X}getDragElements(J){let X=this.list.getSelectedElements();return X.indexOf(J)>-1?X:[J]}getDragURI(J){return this.dnd.getDragURI(J)}getDragLabel(J,X){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(J,X);return}onDragStart(J,X){this.dnd.onDragStart?.(J,X)}onDragOver(J,X,Y,Z,Q){return this.dnd.onDragOver(J,X,Y,Z,Q)}onDragLeave(J,X,Y,Z){this.dnd.onDragLeave?.(J,X,Y,Z)}onDragEnd(J){this.dnd.onDragEnd?.(J)}drop(J,X,Y,Z,Q){this.dnd.drop(J,X,Y,Z,Q)}dispose(){this.dnd.dispose()}}class s5{get onDidChangeFocus(){return i.map(this.eventBufferer.wrapEvent(this.focus.onChange),(J)=>this.toListEvent(J),this.disposables)}get onDidChangeSelection(){return i.map(this.eventBufferer.wrapEvent(this.selection.onChange),(J)=>this.toListEvent(J),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let J=!1,X=i.chain(this.disposables.add(new G1(this.view.domNode,\"keydown\")).event,(Q)=>Q.map(($)=>new Y1($)).filter(($)=>J=$.keyCode===58||$.shiftKey&&$.keyCode===68).map(($)=>d0.stop($,!0)).filter(()=>!1)),Y=i.chain(this.disposables.add(new G1(this.view.domNode,\"keyup\")).event,(Q)=>Q.forEach(()=>J=!1).map(($)=>new Y1($)).filter(($)=>$.keyCode===58||$.shiftKey&&$.keyCode===68).map(($)=>d0.stop($,!0)).map(({browserEvent:$})=>{let q=this.getFocus(),G=q.length?q[0]:void 0,U=typeof G<\"u\"?this.view.element(G):void 0,H=typeof G<\"u\"?this.view.domElement(G):this.view.domNode;return{index:G,element:U,anchor:H,browserEvent:$}})),Z=i.chain(this.view.onContextMenu,(Q)=>Q.filter(($)=>!J).map(({element:$,index:q,browserEvent:G})=>({element:$,index:q,anchor:new k8(Q0(this.view.domNode),G),browserEvent:G})));return i.any(X,Y,Z)}get onKeyDown(){return this.disposables.add(new G1(this.view.domNode,\"keydown\")).event}get onDidFocus(){return i.signal(this.disposables.add(new G1(this.view.domNode,\"focus\",!0)).event)}get onDidBlur(){return i.signal(this.disposables.add(new G1(this.view.domNode,\"blur\",!0)).event)}constructor(J,X,Y,Z,Q=VD0){this.user=J,this._options=Q,this.focus=new O_(\"focused\"),this.anchor=new O_(\"anchor\"),this.eventBufferer=new KX,this._ariaLabel=\"\",this.disposables=new a,this._onDidDispose=new E,this.onDidDispose=this._onDidDispose.event;let $=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():\"list\";this.selection=new fX0($!==\"listbox\");let q=[this.focus.renderer,this.selection.renderer];if(this.accessibilityProvider=Q.accessibilityProvider,this.accessibilityProvider)q.push(new dX0(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables);Z=Z.map((U)=>new cX0(U.templateId,[...q,U]));let G={...Q,dnd:Q.dnd&&new lX0(this,Q.dnd)};if(this.view=this.createListView(X,Y,Z,G),this.view.domNode.setAttribute(\"role\",$),Q.styleController)this.styleController=Q.styleController(this.view.domId);else{let U=z5(this.view.domNode);this.styleController=new mX0(U,this.view.domId)}if(this.spliceable=new Jp([new tw(this.focus,this.view,Q.identityProvider),new tw(this.selection,this.view,Q.identityProvider),new tw(this.anchor,this.view,Q.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new pX0(this,this.view)),typeof Q.keyboardSupport!==\"boolean\"||Q.keyboardSupport)this.keyboardController=new $p(this,this.view,Q),this.disposables.add(this.keyboardController);if(Q.keyboardNavigationLabelProvider){let U=Q.keyboardNavigationDelegate||UD0;this.typeNavigationController=new gX0(this,this.view,Q.keyboardNavigationLabelProvider,Q.keyboardNavigationEventFilter??(()=>!0),U),this.disposables.add(this.typeNavigationController)}if(this.mouseController=this.createMouseController(Q),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider){let U=this.accessibilityProvider.getWidgetAriaLabel(),H=U&&typeof U!==\"string\"?U:oQ(U);this.disposables.add(C0((V)=>{this.ariaLabel=V.readObservable(H)}))}if(this._options.multipleSelectionSupport!==!1)this.view.domNode.setAttribute(\"aria-multiselectable\",\"true\")}createListView(J,X,Y,Z){return new n9(J,X,Y,Z)}createMouseController(J){return new ew(this)}updateOptions(J={}){if(this._options={...this._options,...J},this.typeNavigationController?.updateOptions(this._options),this._options.multipleSelectionController!==void 0)if(this._options.multipleSelectionSupport)this.view.domNode.setAttribute(\"aria-multiselectable\",\"true\");else this.view.domNode.removeAttribute(\"aria-multiselectable\");this.mouseController.updateOptions(J),this.keyboardController?.updateOptions(J),this.view.updateOptions(J)}get options(){return this._options}splice(J,X,Y=[]){if(J<0||J>this.view.length)throw new iQ(this.user,`Invalid start index: ${J}`);if(X<0)throw new iQ(this.user,`Invalid delete count: ${X}`);if(X===0&&Y.length===0)return;this.eventBufferer.bufferEvents(()=>this.spliceable.splice(J,X,Y))}rerender(){this.view.rerender()}element(J){return this.view.element(J)}indexOf(J){return this.view.indexOf(J)}indexAt(J){return this.view.indexAt(J)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(J){this.view.setScrollTop(J)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(J){this._ariaLabel=J,this.view.domNode.setAttribute(\"aria-label\",J)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(J,X){this.view.layout(J,X)}setSelection(J,X){for(let Y of J)if(Y<0||Y>=this.length)throw new iQ(this.user,`Invalid index ${Y}`);J=J.filter((Y)=>this.getElementGroupId(Y)!==D_),this.selection.set(J,X)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((J)=>this.view.element(J))}setAnchor(J){if(typeof J>\"u\"){this.anchor.set([]);return}if(J<0||J>=this.length)throw new iQ(this.user,`Invalid index ${J}`);this.anchor.set([J])}getAnchor(){return this.anchor.get().at(0)}getAnchorElement(){let J=this.getAnchor();return typeof J>\"u\"?void 0:this.element(J)}getElementGroupId(J){let X=this.options.identityProvider;if(!X?.getGroupId)return;let Y=this.element(J);return X.getGroupId(Y)}filterIndicesByGroup(J,X){let Y=this.options.identityProvider;if(!Y?.getGroupId)return J;if(X===D_)return[];return J.filter((Z)=>{let Q=this.element(Z);return Y.getGroupId(Q)===X})}setFocus(J,X){for(let Y of J)if(Y<0||Y>=this.length)throw new iQ(this.user,`Invalid index ${Y}`);this.focus.set(J,X)}focusNext(J=1,X=!1,Y,Z){if(this.length===0)return;let Q=this.focus.get(),$=this.findNextIndex(Q.length>0?Q[0]+J:0,X,Z);if($>-1)this.setFocus([$],Y)}focusPrevious(J=1,X=!1,Y,Z){if(this.length===0)return;let Q=this.focus.get(),$=this.findPreviousIndex(Q.length>0?Q[0]-J:0,X,Z);if($>-1)this.setFocus([$],Y)}async focusNextPage(J,X){let Y=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);Y=Y===0?0:Y-1;let Z=this.getFocus()[0];if(Z!==Y&&(Z===void 0||Y>Z)){let Q=this.findPreviousIndex(Y,!1,X);if(Q>-1&&Z!==Q)this.setFocus([Q],J);else this.setFocus([Y],J)}else{let Q=this.view.getScrollTop(),$=Q+this.view.renderHeight;if(Y>Z)$-=this.view.elementHeight(Y);if(this.view.setScrollTop($),this.view.getScrollTop()!==Q)this.setFocus([]),await PY(0),await this.focusNextPage(J,X)}}async focusPreviousPage(J,X,Y=()=>0){let Z,Q=Y(),$=this.view.getScrollTop()+Q;if($===0)Z=this.view.indexAt($);else Z=this.view.indexAfter($-1);let q=this.getFocus()[0];if(q!==Z&&(q===void 0||q>=Z)){let G=this.findNextIndex(Z,!1,X);if(G>-1&&q!==G)this.setFocus([G],J);else this.setFocus([Z],J)}else{let G=$;if(this.view.setScrollTop($-this.view.renderHeight-Q),this.view.getScrollTop()+Y()!==G)this.setFocus([]),await PY(0),await this.focusPreviousPage(J,X,Y)}}focusLast(J,X){if(this.length===0)return;let Y=this.findPreviousIndex(this.length-1,!1,X);if(Y>-1)this.setFocus([Y],J)}focusFirst(J,X){this.focusNth(0,J,X)}focusNth(J,X,Y){if(this.length===0)return;let Z=this.findNextIndex(J,!1,Y);if(Z>-1)this.setFocus([Z],X)}findNextIndex(J,X=!1,Y){for(let Z=0;Z<this.length;Z++){if(J>=this.length&&!X)return-1;if(J=J%this.length,!Y||Y(this.element(J)))return J;J++}return-1}findPreviousIndex(J,X=!1,Y){for(let Z=0;Z<this.length;Z++){if(J<0&&!X)return-1;if(J=(this.length+J%this.length)%this.length,!Y||Y(this.element(J)))return J;J--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map((J)=>this.view.element(J))}reveal(J,X,Y=0){if(J<0||J>=this.length)throw new iQ(this.user,`Invalid index ${J}`);let Z=this.view.getScrollTop(),Q=this.view.elementTop(J),$=this.view.elementHeight(J);if(r7(X)){let q=$-this.view.renderHeight+Y;this.view.setScrollTop(q*_5(X,0,1)+Q-Y)}else{let q=Q+$,G=Z+this.view.renderHeight;if(Q<Z+Y&&q>=G);else if(Q<Z+Y||q>=G&&$>=this.view.renderHeight)this.view.setScrollTop(Q-Y);else if(q>=G)this.view.setScrollTop(q-this.view.renderHeight)}}getRelativeTop(J,X=0){if(J<0||J>=this.length)throw new iQ(this.user,`Invalid index ${J}`);let Y=this.view.getScrollTop(),Z=this.view.elementTop(J),Q=this.view.elementHeight(J);if(Z<Y+X||Z+Q>Y+this.view.renderHeight)return null;let $=Q-this.view.renderHeight+X;return Math.abs((Y+X-Z)/$)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(J){return this.view.getElementDomId(J)}getElementTop(J){return this.view.elementTop(J)}style(J){this.styleController.style(J)}toListEvent({indexes:J,browserEvent:X}){return{indexes:J,elements:J.map((Y)=>this.view.element(Y)),browserEvent:X}}_onFocusChange(){let J=this.focus.get();this.view.domNode.classList.toggle(\"element-focused\",J.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){let J=this.focus.get();if(J.length>0){let X;if(this.accessibilityProvider?.getActiveDescendantId)X=this.accessibilityProvider.getActiveDescendantId(this.view.element(J[0]));this.view.domNode.setAttribute(\"aria-activedescendant\",X||this.view.getElementDomId(J[0]))}else this.view.domNode.removeAttribute(\"aria-activedescendant\")}_onSelectionChange(){let J=this.selection.get();this.view.domNode.classList.toggle(\"selection-none\",J.length===0),this.view.domNode.classList.toggle(\"selection-single\",J.length===1),this.view.domNode.classList.toggle(\"selection-multiple\",J.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}$3([a1],s5.prototype,\"onDidChangeFocus\",null);$3([a1],s5.prototype,\"onDidChangeSelection\",null);$3([a1],s5.prototype,\"onContextMenu\",null);$3([a1],s5.prototype,\"onKeyDown\",null);$3([a1],s5.prototype,\"onDidFocus\",null);$3([a1],s5.prototype,\"onDidBlur\",null);var eG=$0,sX0=\"selectOption.entry.template\";class aX0{get templateId(){return sX0}renderTemplate(J){let X=Object.create(null);return X.root=J,X.text=q0(J,eG(\".option-text\")),X.detail=q0(J,eG(\".option-detail\")),X.decoratorRight=q0(J,eG(\".option-decorator-right\")),X}renderElement(J,X,Y){let Z=Y,Q=J.text,$=J.detail,q=J.decoratorRight,G=J.isDisabled;if(Z.text.textContent=Q,Z.detail.textContent=$?$:\"\",Z.decoratorRight.textContent=q?q:\"\",G)Z.root.classList.add(\"option-disabled\");else Z.root.classList.remove(\"option-disabled\");if(J.isSeparator)Z.root.classList.add(\"option-separator\"),Z.root.classList.add(\"option-disabled\");else Z.root.classList.remove(\"option-separator\")}disposeTemplate(J){}}class q3 extends y{static{this.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32}static{this.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN=2}static{this.DEFAULT_MINIMUM_VISIBLE_OPTIONS=3}constructor(J,X,Y,Z,Q){super();if(this.options=[],this._currentSelection=0,this._hasDetails=!1,this._selectionDetailsDisposables=this._register(new a),this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=Z,this.selectBoxOptions=Q||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!==\"number\")this.selectBoxOptions.minBottomMargin=q3.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN;else if(this.selectBoxOptions.minBottomMargin<0)this.selectBoxOptions.minBottomMargin=0;if(this.selectElement=document.createElement(\"select\"),this.selectElement.className=\"monaco-select-box\",typeof this.selectBoxOptions.ariaLabel===\"string\")this.selectElement.setAttribute(\"aria-label\",this.selectBoxOptions.ariaLabel);if(typeof this.selectBoxOptions.ariaDescription===\"string\")this.selectElement.setAttribute(\"aria-description\",this.selectBoxOptions.ariaDescription);if(this._onDidSelect=new E,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(Y),this.selected=X||0,J)this.setOptions(J,X);this.initStyleSheet()}setTitle(J){if(!this._hover&&J)this._hover=this._register(u8().setupManagedHover(A4(\"mouse\"),this.selectElement,J));else if(this._hover)this._hover.update(J)}getHeight(){return 22}getTemplateId(){return sX0}constructSelectDropDown(J){this.contextViewProvider=J,this.selectDropDownContainer=$0(\".monaco-select-box-dropdown-container\"),this.selectionDetailsPane=q0(this.selectDropDownContainer,eG(\".select-box-details-pane\"));let X=q0(this.selectDropDownContainer,eG(\".select-box-dropdown-container-width-control\")),Y=q0(X,eG(\".width-control-div\"));this.widthControlElement=document.createElement(\"span\"),this.widthControlElement.className=\"option-text-width-control\",q0(Y,this.widthControlElement),this._dropDownPosition=0,this.styleElement=z5(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute(\"draggable\",\"true\"),this._register(f(this.selectDropDownContainer,r.DRAG_START,(Z)=>{d0.stop(Z,!0)}))}registerListeners(){this._register(F6(this.selectElement,\"change\",(X)=>{if(this.selected=X.target.selectedIndex,this._onDidSelect.fire({index:X.target.selectedIndex,selected:X.target.value}),!!this.options[this.selected]&&!!this.options[this.selected].text)this.setTitle(this.options[this.selected].text)})),this._register(f(this.selectElement,r.CLICK,(X)=>{if(d0.stop(X),this._isVisible)this.hideSelectDropDown(!0);else this.showSelectDropDown()})),this._register(f(this.selectElement,r.MOUSE_DOWN,(X)=>{d0.stop(X)}));let J;this._register(f(this.selectElement,\"touchstart\",(X)=>{J=this._isVisible})),this._register(f(this.selectElement,\"touchend\",(X)=>{if(d0.stop(X),J)this.hideSelectDropDown(!0);else this.showSelectDropDown()})),this._register(f(this.selectElement,r.KEY_DOWN,(X)=>{let Y=new Y1(X),Z=!1;if(I0){if(Y.keyCode===18||Y.keyCode===16||Y.keyCode===10||Y.keyCode===3)Z=!0}else if(Y.keyCode===18&&Y.altKey||Y.keyCode===16&&Y.altKey||Y.keyCode===10||Y.keyCode===3)Z=!0;if(Z)this.showSelectDropDown(),d0.stop(X,!0)}))}get onDidSelect(){return this._onDidSelect.event}setOptions(J,X){if(!w1(this.options,J))this.options=J,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((Y,Z)=>{if(this.selectElement.add(this.createOption(Y.text,Z,Y.isDisabled)),typeof Y.description===\"string\")this._hasDetails=!0});if(X!==void 0)this.select(X),this._currentSelection=this.selected}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(J){if(J>=0&&J<this.options.length)this.selected=J;else if(J>this.options.length-1)this.select(this.options.length-1);else if(this.selected<0)this.selected=0;if(this.selectElement.selectedIndex=this.selected,!!this.options[this.selected]&&!!this.options[this.selected].text)this.setTitle(this.options[this.selected].text)}focus(){if(this.selectElement)this.selectElement.tabIndex=0,this.selectElement.focus()}blur(){if(this.selectElement)this.selectElement.tabIndex=-1,this.selectElement.blur()}setFocusable(J){this.selectElement.tabIndex=J?0:-1}render(J){this.container=J,J.classList.add(\"select-container\"),J.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){let J=[];if(this.styles.listFocusBackground)J.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`);if(this.styles.listFocusForeground)J.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`);if(this.styles.decoratorRightForeground)J.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`);if(this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground)J.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),J.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),J.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `);else if(this.styles.selectListBorder)J.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),J.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `);if(this.styles.listHoverForeground)J.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`);if(this.styles.listHoverBackground)J.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`);if(this.styles.listFocusOutline)J.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1px solid ${this.styles.listFocusOutline} !important; outline-offset: -1px !important; }`);if(this.styles.listHoverOutline)J.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1px solid ${this.styles.listHoverOutline} !important; outline-offset: -1px !important; }`);J.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }\"),J.push(\".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }\"),this.styleElement.textContent=J.join(`\n`)}styleSelectElement(){let J=this.styles.selectBackground??\"\",X=this.styles.selectForeground??\"\",Y=this.styles.selectBorder??\"\";this.selectElement.style.backgroundColor=J,this.selectElement.style.color=X,this.selectElement.style.borderColor=Y}styleList(){let J=this.styles.selectBackground??\"\",X=o9(this.styles.selectListBackground,J);this.selectDropDownContainer.style.backgroundColor=X,this.selectDropDownListContainer.style.backgroundColor=X,this.selectionDetailsPane.style.backgroundColor=X,this.selectList.style(this.styles)}createOption(J,X,Y){let Z=document.createElement(\"option\");return Z.value=J,Z.text=J,Z.disabled=!!Y,Z}showSelectDropDown(){if(this.selectionDetailsPane.textContent=\"\",!this.contextViewProvider||this._isVisible)return;this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:(J)=>this.renderSelectDropDown(J,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove(\"visible\")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:(J)=>this.renderSelectDropDown(J),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove(\"visible\")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute(\"aria-expanded\",\"true\")}hideSelectDropDown(J){if(!this.contextViewProvider||!this._isVisible)return;if(this._isVisible=!1,this.selectElement.setAttribute(\"aria-expanded\",\"false\"),J)this.selectElement.focus();this.contextViewProvider.hideContextView()}renderSelectDropDown(J,X){J.appendChild(this.selectDropDownContainer);let Y=Q0(this.selectElement).getComputedStyle(this.selectElement).fontSize;if(Y)this.selectDropDownContainer.style.fontSize=Y;return this.layoutSelectDropDown(X),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let J=0;return this.options.forEach((X,Y)=>{if(this.updateDetail(Y),this.selectionDetailsPane.offsetHeight>J)J=this.selectionDetailsPane.offsetHeight}),J}layoutSelectDropDown(J){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add(\"visible\");let X=Q0(this.selectElement),Y=R8(this.selectElement),Z=X.innerHeight-Y.top-Y.height-(this.selectBoxOptions.minBottomMargin||0),Q=Y.top-q3.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,$=this.selectElement.offsetWidth,q=this.setWidthControlElement(this.widthControlElement),G=`${Math.max(q,Math.round($))}px`;this.selectDropDownContainer.style.width=G,this.selectList.getHTMLElement().style.height=\"\",this.selectList.layout();let U=this.selectList.contentHeight;if(this._hasDetails&&this._cachedMaxDetailsHeight===void 0)this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight();let H=this._hasDetails?this._cachedMaxDetailsHeight:0,V=U+H,K=Math.floor((Z-H)/this.getHeight()),j=Math.floor((Q-H)/this.getHeight());if(J){if(Y.top+Y.height>X.innerHeight-22||Y.top<q3.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||K<1&&j<1)return!1;if(K<q3.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&j>K&&this.options.length>K)this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove(\"border-top\"),this.selectionDetailsPane.classList.add(\"border-bottom\");else this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove(\"border-bottom\"),this.selectionDetailsPane.classList.add(\"border-top\");return!0}if(Y.top+Y.height>X.innerHeight-22||Y.top<q3.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||this._dropDownPosition===0&&K<1||this._dropDownPosition===1&&j<1)return this.hideSelectDropDown(!0),!1;if(this._dropDownPosition===0){if(this._isVisible&&K+j<1)return this.hideSelectDropDown(!0),!1;if(V>Z)U=K*this.getHeight()}else if(V>Q)U=j*this.getHeight();if(this.selectList.layout(U),this.selectList.domFocus(),this.selectList.length>0)this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0);if(this._hasDetails)this.selectList.getHTMLElement().style.height=`${U}px`,this.selectDropDownContainer.style.height=\"\";else this.selectDropDownContainer.style.height=`${U}px`;return this.updateDetail(this.selected),this.selectDropDownContainer.style.width=G,this.selectDropDownListContainer.setAttribute(\"tabindex\",\"0\"),!0}else return!1}setWidthControlElement(J){let X=0;if(J){let Y=0,Z=0;this.options.forEach((Q,$)=>{let q=Q.detail?Q.detail.length:0,G=Q.decoratorRight?Q.decoratorRight.length:0,U=Q.text.length+q+G;if(U>Z)Y=$,Z=U}),J.textContent=this.options[Y].text+(this.options[Y].decoratorRight?`${this.options[Y].decoratorRight} `:\"\"),X=Z4(J)}return X}createSelectList(J){if(this.selectList)return;if(this.selectDropDownListContainer=q0(J,eG(\".select-box-dropdown-list-container\")),this.listRenderer=new aX0,this.selectList=this._register(new s5(\"SelectBoxCustom\",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:(Z)=>{if(Z.isSeparator)return F(17,\"separator\");let Q=Z.text;if(Z.detail)Q+=`. ${Z.detail}`;if(Z.decoratorRight)Q+=`. ${Z.decoratorRight}`;if(Z.description)Q+=`. ${Z.description}`;return Q},getWidgetAriaLabel:()=>F(18,\"Select Box\"),getRole:()=>I0?\"\":\"option\",getWidgetRole:()=>\"listbox\"}})),this.selectBoxOptions.ariaLabel)this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel;let X=this._register(new G1(this.selectDropDownListContainer,\"keydown\")),Y=i.chain(X.event,(Z)=>Z.filter(()=>this.selectList.length>0).map((Q)=>new Y1(Q)));this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===3))(this.onEnter,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===2))(this.onEnter,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===9))(this.onEscape,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===16))(this.onUpArrow,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===18))(this.onDownArrow,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===12))(this.onPageDown,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===11))(this.onPageUp,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===14))(this.onHome,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode===13))(this.onEnd,this)),this._register(i.chain(Y,(Z)=>Z.filter((Q)=>Q.keyCode>=21&&Q.keyCode<=56||Q.keyCode>=85&&Q.keyCode<=113))(this.onCharacter,this)),this._register(f(this.selectList.getHTMLElement(),r.POINTER_UP,(Z)=>this.onPointerUp(Z))),this._register(this.selectList.onMouseOver((Z)=>typeof Z.index<\"u\"&&!this.options[Z.index]?.isDisabled&&this.selectList.setFocus([Z.index]))),this._register(this.selectList.onDidChangeFocus((Z)=>this.onListFocus(Z))),this._register(f(this.selectDropDownContainer,r.FOCUS_OUT,(Z)=>{if(!this._isVisible||d1(Z.relatedTarget,this.selectDropDownContainer))return;this.onListBlur()})),this.selectList.getHTMLElement().setAttribute(\"aria-label\",this.selectBoxOptions.ariaLabel||\"\"),this.selectList.getHTMLElement().setAttribute(\"aria-expanded\",\"true\"),this.styleList()}onPointerUp(J){if(!this.selectList.length)return;d0.stop(J);let X=J.target;if(!X)return;if(X.classList.contains(\"slider\"))return;let Y=X.closest(\".monaco-list-row\");if(!Y)return;let Z=Number(Y.getAttribute(\"data-index\")),Q=Y.classList.contains(\"option-disabled\");if(Z>=0&&Z<this.options.length&&!Q){if(this.selected=Z,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]),this.selected!==this._currentSelection){if(this._currentSelection=this.selected,this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text}),!!this.options[this.selected]&&!!this.options[this.selected].text)this.setTitle(this.options[this.selected].text)}this.hideSelectDropDown(!0)}}onListBlur(){if(this._sticky)return;if(this.selected!==this._currentSelection)this.select(this._currentSelection);this.hideSelectDropDown(!1)}renderDescriptionMarkdown(J,X){let Y=(Q)=>{for(let $=0;$<Q.childNodes.length;$++){let q=Q.childNodes.item($);if((q.tagName&&q.tagName.toLowerCase())===\"img\")q.remove();else Y(q)}},Z=hX({value:J,supportThemeIcons:!0},{actionHandler:X});return Z.element.classList.add(\"select-box-description-markdown\"),Y(Z.element),Z}onListFocus(J){if(!this._isVisible||!this._hasDetails)return;this.updateDetail(J.indexes[0])}updateDetail(J){this._selectionDetailsDisposables.clear(),this.selectionDetailsPane.textContent=\"\";let X=this.options[J],Y=X?.description??\"\",Z=X?.descriptionIsMarkdown??!1;if(Y){if(Z){let Q=X.descriptionMarkdownActionHandler,$=this._selectionDetailsDisposables.add(this.renderDescriptionMarkdown(Y,Q));this.selectionDetailsPane.appendChild($.element)}else this.selectionDetailsPane.textContent=Y;this.selectionDetailsPane.style.display=\"block\"}else this.selectionDetailsPane.style.display=\"none\";this._skipLayout=!0,this.contextViewProvider.layout(),this._skipLayout=!1}onEscape(J){d0.stop(J),this.select(this._currentSelection),this.hideSelectDropDown(!0)}onEnter(J){if(d0.stop(J),this.options[this.selected]?.isDisabled){this.hideSelectDropDown(!0);return}if(this.selected!==this._currentSelection){if(this._currentSelection=this.selected,this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text}),!!this.options[this.selected]&&!!this.options[this.selected].text)this.setTitle(this.options[this.selected].text)}this.hideSelectDropDown(!0)}onDownArrow(J){if(this.selected<this.options.length-1){d0.stop(J,!0);let X=this.selected+1;while(X<this.options.length&&this.options[X].isDisabled)X++;if(X>=this.options.length)return;this.selected=X,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(J){if(this.selected>0){d0.stop(J,!0);let X=this.selected-1;while(X>=0&&this.options[X].isDisabled)X--;if(X<0)return;this.selected=X,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onPageUp(J){d0.stop(J),this.selectList.focusPreviousPage(),setTimeout(()=>{let X=this.selectList.getFocus()[0];while(X>0&&this.options[X].isDisabled)X--;if(this.options[X].isDisabled)return;this.selected=X,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onPageDown(J){d0.stop(J),this.selectList.focusNextPage(),setTimeout(()=>{let X=this.selectList.getFocus()[0];while(X<this.options.length-1&&this.options[X].isDisabled)X++;if(this.options[X].isDisabled)return;this.selected=X,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(J){if(d0.stop(J),this.options.length<2)return;let X=0;while(X<this.options.length-1&&this.options[X].isDisabled)X++;if(this.options[X].isDisabled)return;this.selected=X,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected)}onEnd(J){if(d0.stop(J),this.options.length<2)return;let X=this.options.length-1;while(X>0&&this.options[X].isDisabled)X--;if(this.options[X].isDisabled)return;this.selected=X,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected)}onCharacter(J){let X=RJ.toString(J.keyCode),Y=-1;for(let Z=0;Z<this.options.length-1;Z++)if(Y=(Z+this.selected+1)%this.options.length,this.options[Y].text.charAt(0).toUpperCase()===X&&!this.options[Y].isDisabled){this.select(Y),this.selectList.setFocus([Y]),this.selectList.reveal(this.selectList.getFocus()[0]),d0.stop(J);break}}dispose(){this.hideSelectDropDown(!1),super.dispose()}}class Up extends y{constructor(J,X,Y,Z){super();if(this.selected=0,this.selectBoxOptions=Z||Object.create(null),this.options=[],this.selectElement=document.createElement(\"select\"),this.selectElement.className=\"monaco-select-box\",typeof this.selectBoxOptions.ariaLabel===\"string\")this.selectElement.setAttribute(\"aria-label\",this.selectBoxOptions.ariaLabel);if(typeof this.selectBoxOptions.ariaDescription===\"string\")this.selectElement.setAttribute(\"aria-description\",this.selectBoxOptions.ariaDescription);this._onDidSelect=this._register(new E),this.styles=Y,this.registerListeners(),this.setOptions(J,X)}registerListeners(){this._register(O1.addTarget(this.selectElement)),[P1.Tap].forEach((J)=>{this._register(f(this.selectElement,J,(X)=>{this.selectElement.focus()}))}),this._register(F6(this.selectElement,\"click\",(J)=>{d0.stop(J,!0)})),this._register(F6(this.selectElement,\"change\",(J)=>{this.selectElement.title=J.target.value,this._onDidSelect.fire({index:J.target.selectedIndex,selected:J.target.value})})),this._register(F6(this.selectElement,\"keydown\",(J)=>{let X=!1;if(I0){if(J.keyCode===18||J.keyCode===16||J.keyCode===10)X=!0}else if(J.keyCode===18&&J.altKey||J.keyCode===10||J.keyCode===3)X=!0;if(X)J.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(J,X){if(!this.options||!w1(this.options,J))this.options=J,this.selectElement.options.length=0,this.options.forEach((Y,Z)=>{this.selectElement.add(this.createOption(Y.text,Z,Y.isDisabled,Y.isSeparator))});if(X!==void 0)this.select(X)}select(J){if(this.options.length===0)this.selected=0;else if(J>=0&&J<this.options.length)this.selected=J;else if(J>this.options.length-1)this.select(this.options.length-1);else if(this.selected<0)this.selected=0;if(this.selectElement.selectedIndex=this.selected,this.selected<this.options.length&&typeof this.options[this.selected].text===\"string\")this.selectElement.title=this.options[this.selected].text;else this.selectElement.title=\"\"}focus(){if(this.selectElement)this.selectElement.tabIndex=0,this.selectElement.focus()}blur(){if(this.selectElement)this.selectElement.tabIndex=-1,this.selectElement.blur()}setFocusable(J){this.selectElement.tabIndex=J?0:-1}render(J){J.classList.add(\"select-container\"),J.appendChild(this.selectElement),this.setOptions(this.options,this.selected),this.applyStyles()}applyStyles(){if(this.selectElement)this.selectElement.style.backgroundColor=this.styles.selectBackground??\"\",this.selectElement.style.color=this.styles.selectForeground??\"\",this.selectElement.style.borderColor=this.styles.selectBorder??\"\"}createOption(J,X,Y,Z){let Q=document.createElement(\"option\");if(Q.value=J,Q.text=J,Q.disabled=!!Y||!!Z,Z)Q.setAttribute(\"role\",\"separator\");return Q}}var iX0=Object.freeze({text:\"─────────\",isDisabled:!0,isSeparator:!0});class Hp extends F8{constructor(J,X,Y,Z,Q){super();if(I0&&!Q?.useCustomDrawn)this.selectBoxDelegate=new Up(J,X,Z,Q);else this.selectBoxDelegate=new q3(J,X,Y,Z,Q);this._register(this.selectBoxDelegate)}get onDidSelect(){return this.selectBoxDelegate.onDidSelect}setOptions(J,X){this.selectBoxDelegate.setOptions(J,X)}select(J){this.selectBoxDelegate.select(J)}focus(){this.selectBoxDelegate.focus()}blur(){this.selectBoxDelegate.blur()}setFocusable(J){this.selectBoxDelegate.setFocusable(J)}render(J){this.selectBoxDelegate.render(J)}}class F7 extends y{get action(){return this._action}constructor(J,X,Y={}){super();if(this.options=Y,this._context=J||this,this._action=X,X instanceof S9)this._register(X.onDidChange((Z)=>{if(!this.element)return;this.handleActionChangeEvent(Z)}))}handleActionChangeEvent(J){if(J.enabled!==void 0)this.updateEnabled();if(J.checked!==void 0)this.updateChecked();if(J.class!==void 0)this.updateClass();if(J.label!==void 0)this.updateLabel(),this.updateTooltip();if(J.tooltip!==void 0)this.updateTooltip()}get actionRunner(){if(!this._actionRunner)this._actionRunner=this._register(new Q9);return this._actionRunner}set actionRunner(J){this._actionRunner=J}isEnabled(){return this._action.enabled}setActionContext(J){this._context=J}render(J){let X=this.element=J;this._register(O1.addTarget(J));let Y=this.options&&this.options.draggable;if(Y){if(J.draggable=!0,C6)this._register(f(J,r.DRAG_START,(Z)=>Z.dataTransfer?.setData(E2.TEXT,this._action.label)))}if(this._register(f(X,P1.Tap,(Z)=>this.onClick(Z,!0))),this._register(f(X,r.MOUSE_DOWN,(Z)=>{if(!Y)d0.stop(Z,!0);if(this._action.enabled&&Z.button===0)X.classList.add(\"active\")})),I0)this._register(f(X,r.CONTEXT_MENU,(Z)=>{if(Z.button===0&&Z.ctrlKey===!0)this.onClick(Z)}));this._register(f(X,r.CLICK,(Z)=>{if(d0.stop(Z,!0),!(this.options&&this.options.isMenu))this.onClick(Z)})),this._register(f(X,r.DBLCLICK,(Z)=>{d0.stop(Z,!0)})),[r.MOUSE_UP,r.MOUSE_OUT].forEach((Z)=>{this._register(f(X,Z,(Q)=>{d0.stop(Q),X.classList.remove(\"active\")}))})}onClick(J,X=!1){d0.stop(J,!0);let Y=Z7(this._context)?this.options?.useEventAsContext?J:{preserveFocus:X}:this._context;this.actionRunner.run(this._action,Y)}focus(){if(this.element)this.element.tabIndex=0,this.element.focus(),this.element.classList.add(\"focused\")}blur(){if(this.element)this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove(\"focused\")}setFocusable(J){if(this.element)this.element.tabIndex=J?0:-1}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}getHoverContents(){return this.getTooltip()}updateTooltip(){if(!this.element)return;let J=this.getHoverContents()??\"\";if(this.updateAriaLabel(),!this.customHover&&J!==\"\"){let X=this.options.hoverDelegate??A4(\"element\");this.customHover=this._store.add(u8().setupManagedHover(X,this.element,J))}else if(this.customHover)this.customHover.update(J)}updateAriaLabel(){if(this.element){let J=this.getTooltip()??\"\";this.element.setAttribute(\"aria-label\",J)}}updateClass(){}updateChecked(){}dispose(){if(this.element)this.element.remove(),this.element=void 0;this._context=void 0,super.dispose()}}class JU extends F7{constructor(J,X,Y){Y={...Y,icon:Y.icon!==void 0?Y.icon:!1,label:Y.label!==void 0?Y.label:!0};super(J,X,Y);this.options=Y,this.cssClass=\"\"}render(J){super.render(J),t4(this.element);let X=document.createElement(\"a\");if(X.classList.add(\"action-label\"),X.setAttribute(\"role\",this.getDefaultAriaRole()),this.label=X,this.element.appendChild(X),this.options.label&&this.options.keybinding&&!this.options.keybindingNotRenderedWithLabel){let Y=document.createElement(\"span\");Y.classList.add(\"keybinding\"),Y.textContent=this.options.keybinding,this.element.appendChild(Y)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){if(this._action.id===h1.ID)return\"presentation\";else if(this.options.isMenu)return\"menuitem\";else if(this.options.isTabList)return\"tab\";else return\"button\"}focus(){if(this.label)this.label.tabIndex=0,this.label.focus()}blur(){if(this.label)this.label.tabIndex=-1}setFocusable(J){if(this.label)this.label.tabIndex=J?0:-1}updateLabel(){if(this.options.label&&this.label)this.label.textContent=this.action.label}getTooltip(){let J=null;if(this.action.tooltip)J=this.action.tooltip;else if(this.action.label){if(J=this.action.label,this.options.keybinding)J=F(0,\"{0} ({1})\",J,this.options.keybinding)}return J??void 0}updateClass(){if(this.cssClass&&this.label)this.label.classList.remove(...this.cssClass.split(\" \"));if(this.action.id===h1.ID&&this.action.class)this.label?.classList.add(this.action.class);else if(this.options.icon){if(this.cssClass=this.getClass(),this.label){if(this.label.classList.add(\"codicon\"),this.cssClass)this.label.classList.add(...this.cssClass.split(\" \"))}this.updateEnabled()}else this.label?.classList.remove(\"codicon\")}updateEnabled(){if(this.action.enabled){if(this.label)this.label.removeAttribute(\"aria-disabled\"),this.label.classList.remove(\"disabled\");this.element?.classList.remove(\"disabled\")}else{if(this.label)this.label.setAttribute(\"aria-disabled\",\"true\"),this.label.classList.add(\"disabled\");this.element?.classList.add(\"disabled\")}}updateAriaLabel(){if(this.label){let J=this.getTooltip()??\"\";this.label.setAttribute(\"aria-label\",J)}}updateChecked(){if(this.label)if(this.action.checked!==void 0)if(this.label.classList.toggle(\"checked\",this.action.checked),this.options.isTabList)this.label.setAttribute(\"aria-selected\",this.action.checked?\"true\":\"false\");else this.label.setAttribute(\"aria-pressed\",this.action.checked?\"true\":\"false\"),this.label.setAttribute(\"role\",\"button\");else this.label.classList.remove(\"checked\"),this.label.removeAttribute(this.options.isTabList?\"aria-selected\":\"aria-pressed\"),this.label.setAttribute(\"role\",this.getDefaultAriaRole())}}class Vp extends F7{constructor(J,X,Y,Z,Q,$,q){super(J,X);this.selectBox=new Hp(Y,Z,Q,$,q),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(J){this.selectBox.select(J)}registerListeners(){this._register(this.selectBox.onDidSelect((J)=>this.runAction(J.selected,J.index)))}runAction(J,X){this.actionRunner.run(this._action,this.getActionContext(J,X))}getActionContext(J,X){return J}setFocusable(J){this.selectBox.setFocusable(J)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(J){this.selectBox.render(J)}}class rX0 extends Q9{constructor(J,X){super();this._onDidChangeVisibility=this._register(new E),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=q0(J,$0(\".monaco-dropdown\")),this._label=q0(this._element,$0(\".dropdown-label\"));let Y=X.labelRenderer;if(!Y)Y=(Q)=>{return Q.textContent=X.label||\"\",null};for(let Q of[r.CLICK,r.MOUSE_DOWN,P1.Tap])this._register(f(this.element,Q,($)=>d0.stop($,!0)));for(let Q of[r.MOUSE_DOWN,P1.Tap])this._register(f(this._label,Q,($)=>{if(q2($)&&$.button!==0)return;if(this.visible)this.hide();else this.show()}));this._register(f(this._label,r.KEY_DOWN,(Q)=>{let $=new Y1(Q);if($.equals(3)||$.equals(10))if(d0.stop(Q,!0),this.visible)this.hide();else this.show()}));let Z=Y(this._label);if(Z)this._register(Z);this._register(O1.addTarget(this._label))}get element(){return this._element}show(){if(!this.visible)this.visible=!0,this._onDidChangeVisibility.fire(!0)}hide(){if(this.visible)this.visible=!1,this._onDidChangeVisibility.fire(!1)}dispose(){if(super.dispose(),this.hide(),this.boxContainer)this.boxContainer.remove(),this.boxContainer=void 0;if(this.contents)this.contents.remove(),this.contents=void 0;if(this._label)this._label.remove(),this._label=void 0}}class Kp extends rX0{constructor(J,X){super(J,X);this._options=X,this._actions=[],this.actions=X.actions||[]}set menuOptions(J){this._menuOptions=J}get menuOptions(){return this._menuOptions}get actions(){if(this._options.actionProvider)return this._options.actionProvider.getActions();return this._actions}set actions(J){this._actions=J}show(){super.show(),this.element.classList.add(\"active\"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(J,X)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(J,X):void 0,getKeyBinding:(J)=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(J):void 0,getMenuClassName:()=>this._options.menuClassName||\"\",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove(\"active\")}}class XU extends F7{get onDidChangeVisibility(){return this._onDidChangeVisibility.event}constructor(J,X,Y,Z=Object.create(null)){super(null,J,Z);if(this.actionItem=null,this._onDidChangeVisibility=this._register(new E),this.menuActionsOrProvider=X,this.contextMenuProvider=Y,this.options=Z,this.options.actionRunner)this.actionRunner=this.options.actionRunner}render(J){this.actionItem=J;let X=(Q)=>{return this.element=q0(Q,$0(\"a.action-label\")),this.setAriaLabelAttributes(this.element),this.renderLabel(this.element)},Y=Array.isArray(this.menuActionsOrProvider),Z={contextMenuProvider:this.contextMenuProvider,labelRenderer:X,menuAsChild:this.options.menuAsChild,actions:Y?this.menuActionsOrProvider:void 0,actionProvider:Y?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new Kp(J,Z)),this._register(this.dropdownMenu.onDidChangeVisibility((Q)=>{this.element?.setAttribute(\"aria-expanded\",`${Q}`),this._onDidChangeVisibility.fire(Q)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){let Q=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return Q.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}renderLabel(J){let X=[];if(typeof this.options.classNames===\"string\")X=this.options.classNames.split(/\\s+/g).filter((Y)=>!!Y);else if(this.options.classNames)X=this.options.classNames;if(!X.find((Y)=>Y===\"icon\"))X.push(\"codicon\");if(J.classList.add(...X),this._action.label)this._register(u8().setupManagedHover(this.options.hoverDelegate??A4(\"mouse\"),J,this._action.label));return null}setAriaLabelAttributes(J){J.setAttribute(\"role\",\"button\"),J.setAttribute(\"aria-haspopup\",\"true\"),J.setAttribute(\"aria-expanded\",\"false\"),J.ariaLabel=this._action.label||\"\"}getTooltip(){let J=null;if(this.action.tooltip)J=this.action.tooltip;else if(this.action.label)J=this.action.label;return J??void 0}setActionContext(J){if(super.setActionContext(J),this.dropdownMenu)if(this.dropdownMenu.menuOptions)this.dropdownMenu.menuOptions.context=J;else this.dropdownMenu.menuOptions={context:J}}show(){this.dropdownMenu?.show()}updateEnabled(){let J=!this.action.enabled;this.actionItem?.classList.toggle(\"disabled\",J),this.element?.classList.toggle(\"disabled\",J)}}class R_{constructor(J,X,Y=X){this.modifierLabels=[null],this.modifierLabels[2]=J,this.modifierLabels[1]=X,this.modifierLabels[3]=Y}toLabel(J,X,Y){if(X.length===0)return null;let Z=[];for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q],G=Y(q);if(G===null)return null;Z[Q]=WD0(q,G,this.modifierLabels[J])}return Z.join(\" \")}}var sK=new R_({ctrlKey:\"⌃\",shiftKey:\"⇧\",altKey:\"⌥\",metaKey:\"⌘\",separator:\"\"},{ctrlKey:F(39,\"Ctrl\"),shiftKey:F(40,\"Shift\"),altKey:F(41,\"Alt\"),metaKey:F(42,\"Windows\"),separator:\"+\"},{ctrlKey:F(43,\"Ctrl\"),shiftKey:F(44,\"Shift\"),altKey:F(45,\"Alt\"),metaKey:F(46,\"Super\"),separator:\"+\"}),oX0=new R_({ctrlKey:F(47,\"Control\"),shiftKey:F(48,\"Shift\"),altKey:F(49,\"Option\"),metaKey:F(50,\"Command\"),separator:\"+\"},{ctrlKey:F(51,\"Control\"),shiftKey:F(52,\"Shift\"),altKey:F(53,\"Alt\"),metaKey:F(54,\"Windows\"),separator:\"+\"},{ctrlKey:F(55,\"Control\"),shiftKey:F(56,\"Shift\"),altKey:F(57,\"Alt\"),metaKey:F(58,\"Super\"),separator:\"+\"}),nX0=new R_({ctrlKey:\"Ctrl\",shiftKey:\"Shift\",altKey:\"Alt\",metaKey:\"Cmd\",separator:\"+\"},{ctrlKey:\"Ctrl\",shiftKey:\"Shift\",altKey:\"Alt\",metaKey:\"Super\",separator:\"+\"}),tX0=new R_({ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"cmd\",separator:\"+\"},{ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"win\",separator:\"+\"},{ctrlKey:\"ctrl\",shiftKey:\"shift\",altKey:\"alt\",metaKey:\"meta\",separator:\"+\"});function WD0(J,X,Y){if(X===null)return\"\";let Z=[];if(J.ctrlKey)Z.push(Y.ctrlKey);if(J.shiftKey)Z.push(Y.shiftKey);if(J.altKey)Z.push(Y.altKey);if(J.metaKey)Z.push(Y.metaKey);if(X!==\"\")Z.push(X);return Z.join(Y.separator)}function eX0(J){return J?J.condition!==void 0:!1}function zD0(J,X){let Y={...X};for(let Z in J){let Q=J[Z];Y[Z]=Q!==void 0?Z0(Q):void 0}return Y}var JY0={keybindingLabelBackground:Z0(Z80),keybindingLabelForeground:Z0(Q80),keybindingLabelBorder:Z0($80),keybindingLabelBottomBorder:Z0(q80),keybindingLabelShadow:Z0(w2)},XY0={buttonForeground:Z0(lC),buttonSeparator:Z0(m60),buttonBackground:Z0(bV),buttonHoverBackground:Z0(u60),buttonSecondaryForeground:Z0(d60),buttonSecondaryBackground:Z0(l60),buttonSecondaryHoverBackground:Z0(a60),buttonSecondaryBorder:Z0(s60),buttonBorder:Z0(c60)},YY0={progressBarBackground:Z0(x10)},aK={inputActiveOptionBorder:Z0(jG),inputActiveOptionForeground:Z0(WG),inputActiveOptionBackground:Z0(LQ)};Z0(CV),Z0(i60),Z0(r60),Z0(o60),Z0(n60),Z0(t60),Z0(e60);var iK={checkboxBackground:Z0(PR),checkboxBorder:Z0(J80),checkboxForeground:Z0(DR),checkboxDisabledBackground:Z0(X80),checkboxDisabledForeground:Z0(Y80)};Z0(U4),Z0(wQ),Z0(w2),Z0(zR),Z0(X60),Z0(Y60),Z0(Z60),Z0(E10);var rK={inputBackground:Z0(I60),inputForeground:Z0(k60),inputBorder:Z0(E60),inputValidationInfoBorder:Z0(b60),inputValidationInfoBackground:Z0(y60),inputValidationInfoForeground:Z0(x60),inputValidationWarningBorder:Z0(f60),inputValidationWarningBackground:Z0(C60),inputValidationWarningForeground:Z0(S60),inputValidationErrorBorder:Z0(g60),inputValidationErrorBackground:Z0(h60),inputValidationErrorForeground:Z0(v60)},ZY0={listFilterWidgetBackground:Z0(O60),listFilterWidgetOutline:Z0(M60),listFilterWidgetNoMatchesOutline:Z0(R60),listFilterWidgetShadow:Z0(N60),inputBoxStyles:rK,toggleStyles:aK},QY0={badgeBackground:Z0(IV),badgeForeground:Z0(y10),badgeBorder:Z0(t0)};Z0(t10),Z0(n10),Z0(pC),Z0(pC),Z0(e10);var G3={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:Z0(H60),listFocusForeground:Z0(V60),listFocusOutline:Z0(K60),listActiveSelectionBackground:Z0(SY),listActiveSelectionForeground:Z0(T2),listActiveSelectionIconForeground:Z0(_R),listFocusAndSelectionOutline:Z0(j60),listFocusAndSelectionBackground:Z0(SY),listFocusAndSelectionForeground:Z0(T2),listInactiveSelectionBackground:Z0(W60),listInactiveSelectionIconForeground:Z0(F60),listInactiveSelectionForeground:Z0(z60),listInactiveFocusBackground:Z0(B60),listInactiveFocusOutline:Z0(_60),listHoverBackground:Z0(TQ),listHoverForeground:Z0(AR),listDropOverBackground:Z0(A60),listDropBetweenBackground:Z0(P60),listSelectionOutline:Z0(v1),listHoverOutline:Z0(v1),treeIndentGuidesStroke:Z0(dC),treeInactiveIndentGuidesStroke:Z0(w60),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:Z0(NF),tableColumnsBorder:Z0(T60),tableOddRowsBackgroundColor:Z0(L60)};function YU(J){return zD0(J,G3)}var $Y0={selectBackground:Z0(SV),selectListBackground:Z0(p60),selectForeground:Z0(IF),decoratorRightForeground:Z0(MR),selectBorder:Z0(kF),focusBorder:Z0(U9),listFocusBackground:Z0(hV),listInactiveSelectionIconForeground:Z0(RR),listFocusForeground:Z0(fV),listFocusOutline:xC(v1,c.transparent.toString()),listHoverBackground:Z0(TQ),listHoverForeground:Z0(AR),listHoverOutline:Z0(v1),selectListBorder:Z0(WR),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},qY0={shadowColor:Z0(w2),borderColor:xC(G80,WR),foregroundColor:Z0(U80),backgroundColor:Z0(H80),selectionForegroundColor:Z0(AR),selectionBackgroundColor:Z0(TQ),selectionBorderColor:Z0(V80),separatorColor:Z0(K80),scrollbarShadow:Z0(NF),scrollbarSliderBackground:Z0(UR),scrollbarSliderHoverBackground:Z0(HR),scrollbarSliderActiveBackground:Z0(VR)};var GY0=[\"#007acc\",\"#005a9e\",\"#0098ff\",\"#4fc3f7\",\"#64b5f6\",\"#42a5f5\"],N_;function JT(J){if(N_)return;let X=J.getBoundingClientRect(),Y=Q0(J).document,Z=$0(\".animation-overlay\");return Z.style.position=\"fixed\",Z.style.left=`${X.left}px`,Z.style.top=`${X.top}px`,Z.style.width=`${X.width}px`,Z.style.height=`${X.height}px`,Z.style.pointerEvents=\"none\",Z.style.overflow=\"visible\",Z.style.zIndex=\"10000\",Y.body.appendChild(Z),N_=Z,{overlay:Z,cx:X.width/2,cy:X.height/2}}function XT(J){setTimeout(()=>{if(N_)N_.remove(),N_=void 0},J)}function YT(J,X){let Y=[],Z=Math.max(X.scale?.length??0,X.rotate?.length??0,X.translateY?.length??0);if(Z===0)return;for(let Q=0;Q<Z;Q++){let $={offset:Z===1?1:Q/(Z-1)},q=\"\",G=X.scale?.[Q];if(G!==void 0)q+=`scale(${G})`;let U=X.rotate?.[Q];if(U!==void 0)q+=` rotate(${U}deg)`;let H=X.translateY?.[Q];if(H!==void 0)q+=` translateY(${H}px)`;if(q)$.transform=q.trim();Y.push($)}J.animate(Y,{duration:X.duration??350,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"})}function FD0(J){let X=JT(J);if(!X)return;let{overlay:Y,cx:Z,cy:Q}=X,$=J.getBoundingClientRect();YT(J,{scale:[1,1.3,1],rotate:[0,-10,10,0],duration:350});let q=10;for(let U=0;U<q;U++){let H=3+U%3*1.5,V=U*36*Math.PI/180,K=35,j=0.6+U%4*0.1,W=$0(\".animation-particle\");W.style.position=\"absolute\",W.style.width=`${H}px`,W.style.height=`${H}px`,W.style.borderRadius=\"50%\",W.style.backgroundColor=GY0[U%GY0.length],W.style.left=`${Z-H/2}px`,W.style.top=`${Q-H/2}px`,Y.appendChild(W);let z=Math.cos(V)*35,B=Math.sin(V)*35;W.animate([{opacity:0,transform:\"scale(0) translate(0, 0)\"},{opacity:j,transform:`scale(1) translate(${z*0.5}px, ${B*0.5}px)`,offset:0.3},{opacity:j,transform:`scale(1) translate(${z}px, ${B}px)`,offset:0.7},{opacity:0,transform:`scale(0) translate(${z}px, ${B}px)`}],{duration:1100,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"})}let G=$0(\".animation-particle\");G.style.position=\"absolute\",G.style.left=\"0\",G.style.top=\"0\",G.style.width=`${$.width}px`,G.style.height=`${$.height}px`,G.style.borderRadius=\"50%\",G.style.border=\"2px solid var(--vscode-focusBorder, #007acc)\",G.style.boxSizing=\"border-box\",Y.appendChild(G),G.animate([{transform:\"scale(1)\",opacity:1},{transform:\"scale(2)\",opacity:0}],{duration:800,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"}),XT(2000)}function BD0(J,X){let Y=JT(J);if(!Y)return;let{overlay:Z,cx:Q,cy:$}=Y,q=J.getBoundingClientRect();YT(J,{translateY:[0,-6,0],duration:350});let G=6;for(let H=0;H<G;H++){let V=12+H%3*2,K=$0(\".animation-particle\");K.style.position=\"absolute\",K.style.left=`${Q}px`,K.style.top=`${$}px`,K.style.fontSize=`${V}px`,K.style.lineHeight=\"1\",K.style.color=\"var(--vscode-focusBorder, #007acc)\",K.classList.add(...M0.asClassNameArray(X)),Z.appendChild(K);let j=(Math.random()-0.5)*50,W=-50-H%3*10,z=(Math.random()-0.5)*20,B=(Math.random()-0.5)*40;K.animate([{opacity:0,transform:`translate(-50%, -50%) scale(0) rotate(${z}deg)`},{opacity:1,transform:`translate(calc(-50% + ${j*0.3}px), calc(-50% + ${W*0.3}px)) scale(1) rotate(${(z+B)*0.3}deg)`,offset:0.3},{opacity:1,transform:`translate(calc(-50% + ${j*0.7}px), calc(-50% + ${W*0.7}px)) scale(1) rotate(${(z+B)*0.7}deg)`,offset:0.7},{opacity:0,transform:`translate(calc(-50% + ${j}px), calc(-50% + ${W}px)) scale(0.8) rotate(${B}deg)`}],{duration:800+H%3*200,delay:H*80,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"})}let U=$0(\".animation-particle\");U.style.position=\"absolute\",U.style.left=\"0\",U.style.top=\"0\",U.style.width=`${q.width}px`,U.style.height=`${q.height}px`,U.style.borderRadius=\"50%\",U.style.border=\"2px solid var(--vscode-focusBorder, #007acc)\",U.style.boxSizing=\"border-box\",Z.appendChild(U),U.animate([{transform:\"scale(1)\",opacity:1},{transform:\"scale(2)\",opacity:0}],{duration:500,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"}),XT(2000)}function _D0(J){let X=JT(J);if(!X)return;let{overlay:Y,cx:Z,cy:Q}=X,$=J.getBoundingClientRect();YT(J,{scale:[1,1.1,1],rotate:[0,-12,0],duration:400});for(let G=0;G<2;G++){let U=$0(\".animation-particle\");U.style.position=\"absolute\",U.style.left=\"0\",U.style.top=\"0\",U.style.width=`${$.width}px`,U.style.height=`${$.height}px`,U.style.borderRadius=\"50%\",U.style.border=\"2px solid var(--vscode-focusBorder, #007acc)\",U.style.boxSizing=\"border-box\",Y.appendChild(U),U.animate([{transform:\"scale(0.8)\",opacity:0},{transform:\"scale(0.8)\",opacity:0.6,offset:0.01},{transform:\"scale(2.5)\",opacity:0}],{duration:800,delay:G*150,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"})}for(let G=0;G<6;G++){let U=G*60*Math.PI/180,H=30+G%2*10,V=3.5,K=$0(\".animation-particle\");K.style.position=\"absolute\",K.style.width=\"3.5px\",K.style.height=\"3.5px\",K.style.borderRadius=\"50%\",K.style.backgroundColor=\"#0098ff\",K.style.left=`${Z-1.75}px`,K.style.top=`${Q-1.75}px`,Y.appendChild(K);let j=Math.cos(U)*H,W=Math.sin(U)*H;K.animate([{opacity:0,transform:\"scale(0) translate(0, 0)\"},{opacity:1,transform:`scale(1) translate(${j}px, ${W}px)`,offset:0.5},{opacity:0,transform:`scale(0) translate(${j}px, ${W}px)`}],{duration:600,delay:100+G*50,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"})}let q=$0(\".animation-particle\");q.style.position=\"absolute\",q.style.left=\"0\",q.style.top=\"0\",q.style.width=`${$.width}px`,q.style.height=`${$.height}px`,q.style.borderRadius=\"50%\",q.style.backgroundColor=\"var(--vscode-focusBorder, #007acc)\",Y.appendChild(q),q.animate([{transform:\"scale(0.9)\",opacity:0},{transform:\"scale(0.9)\",opacity:0.5,offset:0.01},{transform:\"scale(1.5)\",opacity:0}],{duration:500,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"}),XT(2000)}function AD0(J){let X=JT(J);if(!X)return;let{overlay:Y,cx:Z,cy:Q}=X;YT(J,{scale:[1,1.15,1],duration:350});for(let $=0;$<8;$++){let U=($*45+22.5)*Math.PI/180,H=14,V=30,K=$0(\".animation-particle\");K.style.position=\"absolute\",K.style.width=\"3px\",K.style.height=\"3px\",K.style.borderRadius=\"50%\",K.style.backgroundColor=\"var(--vscode-editor-foreground, #ffffff)\",K.style.left=`${Z-1.5}px`,K.style.top=`${Q-1.5}px`,Y.appendChild(K);let j=Math.cos(U)*14,W=Math.sin(U)*14,z=Math.cos(U)*30,B=Math.sin(U)*30;K.animate([{opacity:0,transform:`scale(0) translate(${j}px, ${W}px)`},{opacity:0.7,transform:`scale(1.2) translate(${(j+z)/2}px, ${(W+B)/2}px)`,offset:0.25},{opacity:0.7,transform:`scale(1) translate(${z*0.8}px, ${B*0.8}px)`,offset:0.5},{opacity:0.35,transform:`scale(1) translate(${z}px, ${B}px)`,offset:0.75},{opacity:0,transform:`scale(0.5) translate(${z}px, ${B}px)`}],{duration:1100,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"})}for(let $=0;$<8;$++){let q=$*45,G=$0(\".animation-particle\");G.style.position=\"absolute\",G.style.left=`${Z}px`,G.style.top=`${Q}px`,G.style.width=\"0\",G.style.height=\"0\",G.style.transform=`rotate(${q}deg)`,Y.appendChild(G);let U=$0(\".animation-particle\");U.style.position=\"absolute\",U.style.width=\"2px\",U.style.height=\"10px\",U.style.backgroundColor=\"var(--vscode-focusBorder, #007acc)\",U.style.left=\"-1px\",U.style.top=\"-22px\",U.style.transformOrigin=\"bottom center\",G.appendChild(U),U.animate([{transform:\"scale(1, 0)\",opacity:0.6},{transform:\"scale(1, 1)\",opacity:0.6,offset:0.2},{transform:\"scale(1, 1)\",opacity:0.6,offset:0.6},{transform:\"scale(1, 1)\",opacity:0.6,offset:0.8},{transform:\"scale(0, 0.3)\",opacity:0}],{duration:1200,delay:150,easing:\"cubic-bezier(0.4, 0, 0.2, 1)\",fill:\"forwards\"})}XT(2000)}function UY0(J,X,Y){switch(X){case 1:FD0(J);break;case 2:if(Y)BD0(J,Y);break;case 3:_D0(J);break;case 4:AD0(J);break}}function HY0(J,X){if(o7)return!1;let Y=PD0(J,X),Z=J.getValue(\"window\");if(Z?.menuStyle===\"native\"){if(!I0&&!Y)return!1;return!0}if(Z?.menuStyle===\"custom\")return!1;return Y}function PD0(J,X){if(!X)X=VY0(J);return X===\"native\"}function VY0(J){if(o7)return\"custom\";let X=J.getValue(\"window\");if(X){if(I0&&X.nativeTabs===!0)return\"native\";if(I0&&X.nativeFullScreen===!1)return\"native\";let Q=X.titleBarStyle;if(Q===\"native\"||Q===\"custom\")return Q}return\"custom\"}function KY0(J){if(o7||I0||VY0(J)===\"native\")return\"native\";let Y=J.getValue(\"window\")?.controlsStyle;if(Y===\"custom\"||Y===\"hidden\")return Y;return\"native\"}var ZT=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},p7=function(J,X){return function(Y,Z){X(Y,Z,J)}};function jY0(J,X){let Y=[];return DD0(J,Y),Y}function DD0(J,X,Y){let Z=kJ.getInstance(),Q=Z.keyStatus.altKey||(z6||y6)&&Z.keyStatus.shiftKey;zY0(J,X,Q,($)=>$===\"navigation\")}function WY0(J,X,Y,Z){let Q={primary:[],secondary:[]};return OD0(J,Q,X,Y,Z),Q}function OD0(J,X,Y,Z,Q){zY0(J,X,!1,typeof Y===\"string\"?(q)=>q===Y:Y,Z,Q)}function zY0(J,X,Y,Z=(q)=>q===\"navigation\",Q=()=>!1,$=!1){let q,G;if(Array.isArray(X))q=X,G=X;else q=X.primary,G=X.secondary;let U=new Set;for(let[H,V]of J){let K;if(Z(H)){if(K=q,K.length>0&&$)K.push(new h1)}else if(K=G,K.length>0)K.push(new h1);for(let j of V){if(Y)j=j instanceof CJ&&j.alt?j.alt:j;let W=K.push(j);if(j instanceof xJ)U.add({group:H,action:j,index:W-1})}}for(let{group:H,action:V,index:K}of U){let j=Z(H)?q:G,W=V.actions;if(Q(V,H,j.length))j.splice(K,1,...W)}}var w_=class extends JU{constructor(X,Y,Z,Q,$,q,G,U){super(void 0,X,{icon:!!(X.class||X.item.icon),label:!X.class&&!X.item.icon,draggable:Y?.draggable,keybinding:Y?.keybinding,hoverDelegate:Y?.hoverDelegate,keybindingNotRenderedWithLabel:Y?.keybindingNotRenderedWithLabel});this._options=Y,this._keybindingService=Z,this._notificationService=Q,this._contextKeyService=$,this._themeService=q,this._contextMenuService=G,this._accessibilityService=U,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new Q1),this._altKey=kJ.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(X){if(X.preventDefault(),X.stopPropagation(),this._options?.onClickAnimation&&this.element&&!this._accessibilityService.isMotionReduced()){let Y=this._menuItemAction.item.icon;UY0(this.element,this._options.onClickAnimation,M0.isThemeIcon(Y)?Y:void 0)}try{await this.actionRunner.run(this._commandAction,this._context)}catch(Y){this._notificationService.error(Y)}}render(X){if(super.render(X),X.classList.add(\"menu-entry\"),this.options.icon)this._updateItemClass(this._menuItemAction.item);if(this._menuItemAction.alt){let Y=!1,Z=()=>{let Q=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||Y)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&Y);if(Q!==this._wantsAltCommand)this._wantsAltCommand=Q,this.updateLabel(),this.updateTooltip(),this.updateClass()};this._register(this._altKey.event(Z)),this._register(f(X,\"mouseleave\",(Q)=>{Y=!1,Z()})),this._register(f(X,\"mouseenter\",(Q)=>{Y=!0,Z()})),Z()}}updateLabel(){if(this.options.label&&this.label)this.label.textContent=this._commandAction.label}getTooltip(){let X=this._commandAction.tooltip||this._commandAction.label,Y=this._keybindingService.appendKeybinding(X,this._commandAction.id,this._contextKeyService);if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){let Z=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,Q=this._keybindingService.appendKeybinding(Z,this._menuItemAction.alt.id,this._contextKeyService);Y=F(1698,`{0}\n[{1}] {2}`,Y,sK.modifierLabels[h5].altKey,Q)}return Y}updateClass(){if(this.options.icon)if(this._commandAction!==this._menuItemAction){if(this._menuItemAction.alt)this._updateItemClass(this._menuItemAction.alt.item)}else this._updateItemClass(this._menuItemAction.item)}_updateItemClass(X){this._itemClassDispose.value=void 0;let{element:Y,label:Z}=this;if(!Y||!Z)return;let Q=this._commandAction.checked&&eX0(X.toggled)&&X.toggled.icon?X.toggled.icon:X.icon;if(!Q)return;if(M0.isThemeIcon(Q)){let $=M0.asClassNameArray(Q);Z.classList.add(...$),this._itemClassDispose.value=J0(()=>{Z.classList.remove(...$)})}else Z.style.backgroundImage=pJ(this._themeService.getColorTheme().type)?B4(Q.dark):B4(Q.light),Z.classList.add(\"icon\"),this._itemClassDispose.value=e7(J0(()=>{Z.style.backgroundImage=\"\",Z.classList.remove(\"icon\")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};w_=ZT([p7(2,T1),p7(3,d6),p7(4,E0),p7(5,L6),p7(6,Y5),p7(7,c6)],w_);var jp=class extends XU{constructor(X,Y,Z,Q,$){let q={...Y,menuAsChild:Y?.menuAsChild??!1,classNames:Y?.classNames??(M0.isThemeIcon(X.item.icon)?M0.asClassName(X.item.icon):void 0),keybindingProvider:Y?.keybindingProvider??((G)=>Z.lookupKeybinding(G.id))};super(X,{getActions:()=>X.actions},Q,q);this._keybindingService=Z,this._contextMenuService=Q,this._themeService=$}render(X){super.render(X),t4(this.element),X.classList.add(\"menu-entry\");let Y=this._action,{icon:Z}=Y.item;if(Z&&!M0.isThemeIcon(Z)){this.element.classList.add(\"icon\");let Q=()=>{if(this.element)this.element.style.backgroundImage=pJ(this._themeService.getColorTheme().type)?B4(Z.dark):B4(Z.light)};Q(),this._register(this._themeService.onDidColorThemeChange(()=>{Q()}))}}};jp=ZT([p7(2,T1),p7(3,Y5),p7(4,L6)],jp);var Wp=class extends F7{constructor(X,Y,Z,Q,$,q,G,U){super(null,X);this._keybindingService=Z,this._notificationService=Q,this._contextMenuService=$,this._menuService=q,this._instaService=G,this._storageService=U,this._defaultActionDisposables=this._register(new a),this._container=null,this._primaryActionListener=this._register(new Q1),this._options=Y,this._storageKey=`${X.item.submenu.id}_lastActionId`;let H,V=Y?.togglePrimaryAction?U.get(this._storageKey,1):void 0;if(V)H=X.actions.find((j)=>V===j.id);if(!H)H=X.actions[0];this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(w_,H,{keybinding:this._getDefaultActionKeybindingLabel(H),hoverDelegate:Y?.hoverDelegate}));let K={keybindingProvider:(j)=>this._keybindingService.lookupKeybinding(j.id),...Y,menuAsChild:Y?.menuAsChild??!0,classNames:Y?.classNames??[\"codicon\",\"codicon-chevron-down\"],actionRunner:Y?.actionRunner??this._register(new Q9)};if(this._dropdown=this._register(new XU(X,X.actions,this._contextMenuService,K)),Y?.togglePrimaryAction)this.registerTogglePrimaryActionListener()}registerTogglePrimaryActionListener(){this._primaryActionListener.value=this._dropdown.actionRunner.onDidRun((X)=>{if(X.action instanceof CJ)this.update(X.action)})}update(X){if(this._options?.togglePrimaryAction)this._storageService.store(this._storageKey,X.id,1,1);if(this._defaultActionDisposables.clear(),this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(w_,X,{keybinding:this._getDefaultActionKeybindingLabel(X),hoverDelegate:this._options?.hoverDelegate})),this._defaultAction.actionRunner=this._defaultActionDisposables.add(new class extends Q9{async runAction(Y,Z){await Y.run(void 0)}}),this._container)this._defaultAction.render(G2(this._container,$0(\".action-container\")))}_getDefaultActionKeybindingLabel(X){let Y;if(this._options?.renderKeybindingWithDefaultActionLabel){let Z=this._keybindingService.lookupKeybinding(X.id);if(Z)Y=`(${Z.getLabel()})`}return Y}setActionContext(X){super.setActionContext(X),this._defaultAction.setActionContext(X),this._dropdown.setActionContext(X)}set actionRunner(X){if(super.actionRunner=X,this._defaultAction.actionRunner=X,!this._options?.togglePrimaryAction)this._dropdown.actionRunner=X;if(this._primaryActionListener.value)this.registerTogglePrimaryActionListener()}get actionRunner(){return super.actionRunner}render(X){this._container=X,super.render(this._container),this._container.classList.add(\"monaco-dropdown-with-default\");let Y=$0(\".action-container\");this._defaultAction.render(q0(this._container,Y)),this._register(f(Y,r.KEY_DOWN,(Q)=>{let $=new Y1(Q);if($.equals(17))this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),$.stopPropagation()}));let Z=$0(\".dropdown-action-container\");this._dropdown.render(q0(this._container,Z)),this._register(f(Z,r.KEY_DOWN,(Q)=>{let $=new Y1(Q);if($.equals(15))this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),$.stopPropagation()}))}focus(X){if(X)this._dropdown.focus();else this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus()}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(X){if(X)this._defaultAction.element.tabIndex=0;else this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1)}};Wp=ZT([p7(2,T1),p7(3,d6),p7(4,Y5),p7(5,SJ),p7(6,w0),p7(7,z7)],Wp);var zp=class extends Vp{constructor(X,Y,Z){super(null,X,X.actions.map((Q)=>Q.id===h1.ID?iX0:{text:Q.label,isDisabled:!Q.enabled}),0,Y,$Y0,{ariaLabel:X.tooltip||X.label,optionsAsChildren:!0,useCustomDrawn:!HY0(Z)});this.select(Math.max(0,X.actions.findIndex((Q)=>Q.checked)))}render(X){super.render(X),X.style.borderColor=Z0(kF)}runAction(X,Y){let Z=this.action.actions[Y];if(Z)this.actionRunner.run(Z)}};zp=ZT([p7(1,h4),p7(2,o0)],zp);function QT(J,X,Y){if(X instanceof CJ)return J.createInstance(w_,X,Y);else if(X instanceof RY)if(X.item.isSelection)return J.createInstance(zp,X);else if(X.item.isSplitButton)return J.createInstance(Wp,X,{...Y,togglePrimaryAction:typeof X.item.isSplitButton!==\"boolean\"?X.item.isSplitButton.togglePrimaryAction:!1});else return J.createInstance(jp,X,Y);else return}class m7 extends y{get viewItems(){return this._viewItems}get onDidBlur(){return this._onDidBlur.event}get onDidCancel(){return this._onDidCancel.event}get onDidRun(){return this._onDidRun.event}get onWillRun(){return this._onWillRun.event}constructor(J,X={}){super();if(this._actionRunnerDisposables=this._register(new a),this.viewItemDisposables=this._register(new VX),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new E),this._onDidCancel=this._register(new E({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.cancelHasListener=!1,this._onDidRun=this._register(new E),this._onWillRun=this._register(new E),this.options=X,this._context=X.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this._hoverDelegate=X.hoverDelegate??this._register(ow()),this.options.actionRunner)this._actionRunner=this.options.actionRunner;else this._actionRunner=new Q9,this._actionRunnerDisposables.add(this._actionRunner);this._actionRunnerDisposables.add(this._actionRunner.onDidRun((Q)=>this._onDidRun.fire(Q))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((Q)=>this._onWillRun.fire(Q))),this._viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement(\"div\"),this.domNode.className=\"monaco-action-bar\";let Y,Z;switch(this._orientation){case 0:Y=[15],Z=[17];break;case 1:Y=[16],Z=[18],this.domNode.className+=\" vertical\";break}if(this._register(f(this.domNode,r.KEY_DOWN,(Q)=>{let $=new Y1(Q),q=!0,G=typeof this.focusedItem===\"number\"?this.viewItems[this.focusedItem]:void 0;if(Y&&($.equals(Y[0])||$.equals(Y[1])))q=this.focusPrevious();else if(Z&&($.equals(Z[0])||$.equals(Z[1])))q=this.focusNext();else if($.equals(9)&&this.cancelHasListener)this._onDidCancel.fire();else if($.equals(14))q=this.focusFirst();else if($.equals(13))q=this.focusLast();else if($.equals(2)&&G instanceof F7&&G.trapsArrowNavigation)q=this.focusNext(void 0,!0);else if(this.isTriggerKeyEvent($))if(this._triggerKeys.keyDown)this.doTrigger($);else this.triggerKeyDown=!0;else q=!1;if(q)$.preventDefault(),$.stopPropagation()})),this._register(f(this.domNode,r.KEY_UP,(Q)=>{let $=new Y1(Q);if(this.isTriggerKeyEvent($)){if(!this._triggerKeys.keyDown&&this.triggerKeyDown)this.triggerKeyDown=!1,this.doTrigger($);$.preventDefault(),$.stopPropagation()}else if($.equals(2)||$.equals(1026)||$.equals(16)||$.equals(18)||$.equals(15)||$.equals(17))this.updateFocusedItem()})),this.focusTracker=this._register(L7(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{if(E1()===this.domNode||!d1(E1(),this.domNode))this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement(\"ul\"),this.actionsList.className=\"actions-container\",this.options.highlightToggledItems)this.actionsList.classList.add(\"highlight-toggled\");if(this.actionsList.setAttribute(\"role\",this.options.ariaRole||\"toolbar\"),this.options.ariaLabel)this.actionsList.setAttribute(\"aria-label\",this.options.ariaLabel);this.domNode.appendChild(this.actionsList),J.appendChild(this.domNode)}refreshRole(){if(this.length()>=1)this.actionsList.setAttribute(\"role\",this.options.ariaRole||\"toolbar\");else this.actionsList.setAttribute(\"role\",\"presentation\")}setFocusable(J){if(this.focusable=J,this.focusable){let X=this.viewItems.find((Y)=>Y instanceof F7&&Y.isEnabled());if(X instanceof F7)X.setFocusable(!0)}else this.viewItems.forEach((X)=>{if(X instanceof F7)X.setFocusable(!1)})}isTriggerKeyEvent(J){let X=!1;return this._triggerKeys.keys.forEach((Y)=>{X=X||J.equals(Y)}),X}updateFocusedItem(){for(let J=0;J<this.actionsList.children.length;J++){let X=this.actionsList.children[J];if(d1(E1(),X)){this.focusedItem=J,this.viewItems[this.focusedItem]?.showHover?.();break}}}get context(){return this._context}set context(J){this._context=J,this.viewItems.forEach((X)=>X.setActionContext(J))}get actionRunner(){return this._actionRunner}set actionRunner(J){this._actionRunner=J,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((X)=>this._onDidRun.fire(X))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((X)=>this._onWillRun.fire(X))),this.viewItems.forEach((X)=>X.actionRunner=J)}getContainer(){return this.domNode}hasAction(J){return this.viewItems.findIndex((X)=>X.action.id===J.id)!==-1}getAction(J){if(typeof J===\"number\")return this.viewItems[J]?.action;if(a0(J)){while(J.parentElement!==this.actionsList){if(!J.parentElement)return;J=J.parentElement}for(let X=0;X<this.actionsList.childNodes.length;X++)if(this.actionsList.childNodes[X]===J)return this.viewItems[X].action}return}push(J,X={}){let Y=Array.isArray(J)?J:[J],Z=r7(X.index)?X.index:null;if(Y.forEach((Q)=>{let $=document.createElement(\"li\");$.className=\"action-item\",$.setAttribute(\"role\",\"presentation\");let q,G={hoverDelegate:this._hoverDelegate,...X,isTabList:this.options.ariaRole===\"tablist\"};if(this.options.actionViewItemProvider)q=this.options.actionViewItemProvider(Q,G);if(!q)q=new JU(this.context,Q,G);if(!this.options.allowContextMenu)this.viewItemDisposables.set(q,f($,r.CONTEXT_MENU,(U)=>{d0.stop(U,!0)}));if(q.actionRunner=this._actionRunner,q.setActionContext(this.context),q.render($),Z===null||Z<0||Z>=this.actionsList.children.length)this.actionsList.appendChild($),this._viewItems.push(q);else this.actionsList.insertBefore($,this.actionsList.children[Z]),this._viewItems.splice(Z,0,q),Z++}),this.focusable){let Q=!1;for(let $ of this.viewItems){if(!($ instanceof F7))continue;let q;if(Q)q=!1;else if($.action.id===h1.ID)q=!1;else if(!$.isEnabled()&&this.options.focusOnlyEnabledItems)q=!1;else q=!0;if(q)$.setFocusable(!0),Q=!0;else $.setFocusable(!1)}}if(typeof this.focusedItem===\"number\")this.focus(this.focusedItem);this.refreshRole()}getWidth(J){return this.actionsList.children.item(J)?.clientWidth??0}pull(J){if(J>=0&&J<this.viewItems.length)this.actionsList.childNodes[J].remove(),this.viewItemDisposables.deleteAndDispose(this.viewItems[J]),D1(this._viewItems.splice(J,1)),this.refreshRole()}clear(){if(this.isEmpty())return;this._viewItems=D1(this._viewItems),this.viewItemDisposables.clearAndDisposeAll(),r8(this.actionsList),this.refreshRole()}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(J){let X=!1,Y=void 0;if(J===void 0)X=!0;else if(typeof J===\"number\")Y=J;else if(typeof J===\"boolean\")X=J;if(X&&typeof this.focusedItem>\"u\"){let Z=this.viewItems.findIndex((Q)=>Q.isEnabled());this.focusedItem=Z===-1?void 0:Z,this.updateFocus(void 0,void 0,!0)}else{if(Y!==void 0)this.focusedItem=Y;this.updateFocus(void 0,void 0,!0)}}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(J,X){if(typeof this.focusedItem>\"u\")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;let Y=this.focusedItem,Z;do{if(!J&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=Y,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,Z=this.viewItems[this.focusedItem]}while(this.focusedItem!==Y&&(this.options.focusOnlyEnabledItems&&!Z.isEnabled()||Z.action.id===h1.ID));return this.updateFocus(void 0,void 0,X),!0}focusPrevious(J){if(typeof this.focusedItem>\"u\")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;let X=this.focusedItem,Y;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!J&&this.options.preventLoopNavigation)return this.focusedItem=X,!1;this.focusedItem=this.viewItems.length-1}Y=this.viewItems[this.focusedItem]}while(this.focusedItem!==X&&(this.options.focusOnlyEnabledItems&&!Y.isEnabled()||Y.action.id===h1.ID));return this.updateFocus(!0),!0}updateFocus(J,X,Y=!1){if(typeof this.focusedItem>\"u\")this.actionsList.focus({preventScroll:X});if(this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem)this.viewItems[this.previouslyFocusedItem]?.blur();let Z=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(Z){let Q=!0;if(!KY(Z.focus))Q=!1;if(this.options.focusOnlyEnabledItems&&KY(Z.isEnabled)&&!Z.isEnabled())Q=!1;if(Z.action.id===h1.ID)Q=!1;if(!Q)this.actionsList.focus({preventScroll:X}),this.previouslyFocusedItem=void 0;else if(Y||this.previouslyFocusedItem!==this.focusedItem)Z.focus(J),this.previouslyFocusedItem=this.focusedItem;if(Q)Z.showHover?.()}}doTrigger(J){if(typeof this.focusedItem>\"u\")return;let X=this.viewItems[this.focusedItem];if(X instanceof F7){let Y=X._context===null||X._context===void 0?J:X._context;this.run(X._action,Y)}}async run(J,X){await this._actionRunner.run(J,X)}dispose(){this._context=void 0,this._viewItems=D1(this._viewItems),this.getContainer().remove(),super.dispose()}}var Bp=/\\(&([^\\s&])\\)|(^|[^&])&([^\\s&])/,Fp=/(&amp;)?(&amp;)([^\\s&])/g,$T;(function(J){J[J.Right=0]=\"Right\",J[J.Left=1]=\"Left\"})($T||($T={}));var _p;(function(J){J[J.Above=0]=\"Above\",J[J.Below=1]=\"Below\"})(_p||(_p={}));class ZU extends m7{constructor(J,X,Y,Z){J.classList.add(\"monaco-menu-container\"),J.setAttribute(\"role\",\"presentation\");let Q=document.createElement(\"div\");Q.classList.add(\"monaco-menu\"),Q.setAttribute(\"role\",\"presentation\");super(Q,{orientation:1,actionViewItemProvider:(U)=>this.doGetActionViewItem(U,Y,$),context:Y.context,actionRunner:Y.actionRunner,ariaLabel:Y.ariaLabel,ariaRole:\"menu\",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...I0||y6?[10]:[]],keyDown:!0}});if(this.menuStyles=Z,this.menuElement=Q,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(J,Z),this._register(O1.addTarget(Q)),this._register(f(Q,r.KEY_DOWN,(U)=>{if(new Y1(U).equals(2))U.preventDefault()})),Y.enableMnemonics)this._register(f(Q,r.KEY_DOWN,(U)=>{let H=U.key.toLocaleLowerCase(),V=this.mnemonics.get(H);if(V!==void 0){if(d0.stop(U,!0),V.length===1){if(V[0]instanceof Ap&&V[0].container)this.focusItemByElement(V[0].container);V[0].onClick(U)}if(V.length>1){let K=V.shift();if(K&&K.container)this.focusItemByElement(K.container),V.push(K);this.mnemonics.set(H,V)}}}));if(y6)this._register(f(Q,r.KEY_DOWN,(U)=>{let H=new Y1(U);if(H.equals(14)||H.equals(11))this.focusedItem=this.viewItems.length-1,this.focusNext(),d0.stop(U,!0);else if(H.equals(13)||H.equals(12))this.focusedItem=0,this.focusPrevious(),d0.stop(U,!0)}));this._register(f(this.domNode,r.MOUSE_OUT,(U)=>{let H=U.relatedTarget;if(!d1(H,this.domNode))this.focusedItem=void 0,this.updateFocus(),U.stopPropagation()})),this._register(f(this.actionsList,r.MOUSE_OVER,(U)=>{let H=U.target;if(!H||!d1(H,this.actionsList)||H===this.actionsList)return;while(H.parentElement!==this.actionsList&&H.parentElement!==null)H=H.parentElement;if(H.classList.contains(\"action-item\")){let V=this.focusedItem;if(this.setFocusedItem(H),V!==this.focusedItem)this.updateFocus()}})),this._register(O1.addTarget(this.actionsList)),this._register(f(this.actionsList,P1.Tap,(U)=>{let H=U.initialTarget;if(!H||!d1(H,this.actionsList)||H===this.actionsList)return;while(H.parentElement!==this.actionsList&&H.parentElement!==null)H=H.parentElement;if(H.classList.contains(\"action-item\")){let V=this.focusedItem;if(this.setFocusedItem(H),V!==this.focusedItem)this.updateFocus()}}));let $={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new DG(Q,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));let q=this.scrollableElement.getDomNode();q.style.position=\"\",this.styleScrollElement(q,Z),this._register(f(Q,P1.Change,(U)=>{d0.stop(U,!0);let H=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:H-U.translationY})})),this._register(f(q,r.MOUSE_UP,(U)=>{U.preventDefault()}));let G=Q0(J);Q.style.maxHeight=`${Math.max(10,G.innerHeight-J.getBoundingClientRect().top-35)}px`,X=X.filter((U,H)=>{if(Y.submenuIds?.has(U.id))return console.warn(`Found submenu cycle: ${U.id}`),!1;if(U instanceof h1){if(H===X.length-1||H===0)return!1;if(X[H-1]instanceof h1)return!1}return!0}),this.push(X,{icon:!0,label:!0,isMenu:!0}),J.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((U)=>!(U instanceof Pp)).forEach((U,H,V)=>{U.updatePositionInSet(H+1,V.length)})}initializeOrUpdateStyleSheet(J,X){if(!this.styleSheet)if(Sq(J))this.styleSheet=z5(J);else{if(!ZU.globalStyleSheet)ZU.globalStyleSheet=z5();this.styleSheet=ZU.globalStyleSheet}this.styleSheet.textContent=RD0(X,Sq(J))}styleScrollElement(J,X){let Y=X.foregroundColor??\"\",Z=X.backgroundColor??\"\",Q=X.borderColor?`1px solid ${X.borderColor}`:\"\",$=\"var(--vscode-cornerRadius-large)\";J.style.outline=Q,J.style.borderRadius=\"var(--vscode-cornerRadius-large)\",J.style.color=Y,J.style.backgroundColor=Z}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(J){let X=this.focusedItem;if(this.setFocusedItem(J),X!==this.focusedItem)this.updateFocus()}setFocusedItem(J){for(let X=0;X<this.actionsList.children.length;X++){let Y=this.actionsList.children[X];if(J===Y){this.focusedItem=X;break}}}updateFocus(J){if(super.updateFocus(J,!0,!0),typeof this.focusedItem<\"u\")this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(J,X,Y){if(J instanceof h1)return new Pp(X.context,J,{icon:!0},this.menuStyles);else if(J instanceof xJ){let Z=new Ap(J,J.actions,Y,{...X,submenuIds:new Set([...X.submenuIds||[],J.id])},this.menuStyles);if(X.enableMnemonics){let Q=Z.getMnemonic();if(Q&&Z.isEnabled()){let $=this.mnemonics.get(Q);if($!==void 0)$.push(Z);else this.mnemonics.set(Q,[Z])}}return Z}else{let Z=X.getKeyBinding?.(J)?.getLabel(),Q={enableMnemonics:X.enableMnemonics,useEventAsContext:X.useEventAsContext,keybinding:Z},$=new Dp(X.context,J,Q,this.menuStyles);if(X.enableMnemonics){let q=$.getMnemonic();if(q&&$.isEnabled()){let G=this.mnemonics.get(q);if(G!==void 0)G.push($);else this.mnemonics.set(q,[$])}}return $}}}class Dp extends F7{constructor(J,X,Y,Z){Y={...Y,isMenu:!0,icon:Y.icon!==void 0?Y.icon:!1,label:Y.label!==void 0?Y.label:!0};super(X,X,Y);if(this.menuStyle=Z,this.options=Y,this.cssClass=\"\",this.options.label&&Y.enableMnemonics){let Q=this.action.label;if(Q){let $=Bp.exec(Q);if($)this.mnemonic=($[1]?$[1]:$[3]).toLocaleLowerCase()}}this.runOnceToEnableMouseUp=new B1(()=>{if(!this.element)return;this._register(f(this.element,r.MOUSE_UP,(Q)=>{if(d0.stop(Q,!0),C6){if(new k8(Q0(this.element),Q).rightButton)return;this.onClick(Q)}else setTimeout(()=>{this.onClick(Q)},0)})),this._register(f(this.element,r.CONTEXT_MENU,(Q)=>{d0.stop(Q,!0)}))},100),this._register(this.runOnceToEnableMouseUp)}render(J){if(super.render(J),!this.element)return;if(this.container=J,this.item=q0(this.element,$0(\"a.action-menu-item\")),this._action.id===h1.ID)this.item.setAttribute(\"role\",\"presentation\");else if(this.item.setAttribute(\"role\",\"menuitem\"),this.mnemonic)this.item.setAttribute(\"aria-keyshortcuts\",`${this.mnemonic}`);if(this.check=q0(this.item,$0(\"span.menu-item-check\"+M0.asCSSSelector(t.menuSelection))),this.check.setAttribute(\"role\",\"none\"),this.label=q0(this.item,$0(\"span.action-label\")),this.options.label&&this.options.keybinding)q0(this.item,$0(\"span.keybinding\")).textContent=this.options.keybinding;this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle()}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(J,X){if(this.item)this.item.setAttribute(\"aria-posinset\",`${J}`),this.item.setAttribute(\"aria-setsize\",`${X}`)}updateLabel(){if(!this.label)return;if(this.options.label){r8(this.label);let J=TK(this.action.label);if(J){let X=MD0(J);if(!this.options.enableMnemonics)J=X;this.label.setAttribute(\"aria-label\",X.replace(/&&/g,\"&\"));let Y=Bp.exec(J);if(Y){J=w4(J),Fp.lastIndex=0;let Z=Fp.exec(J);while(Z&&Z[1])Z=Fp.exec(J);let Q=($)=>$.replace(/&amp;&amp;/g,\"&amp;\");if(Z)this.label.append(r$(Q(J.substr(0,Z.index)),\" \"),$0(\"u\",{\"aria-hidden\":\"true\"},Z[3]),dn(Q(J.substr(Z.index+Z[0].length)),\" \"));else this.label.textContent=Q(J).trim();this.item?.setAttribute(\"aria-keyshortcuts\",(Y[1]?Y[1]:Y[3]).toLocaleLowerCase())}else this.label.textContent=J.replace(/&&/g,\"&\").trim()}}}updateTooltip(){}updateClass(){if(this.cssClass&&this.item)this.item.classList.remove(...this.cssClass.split(\" \"));if(this.options.icon&&this.label){if(this.cssClass=this.action.class||\"\",this.label.classList.add(\"icon\"),this.cssClass)this.label.classList.add(...this.cssClass.split(\" \"));this.updateEnabled()}else if(this.label)this.label.classList.remove(\"icon\")}updateEnabled(){if(this.action.enabled){if(this.element)this.element.classList.remove(\"disabled\"),this.element.removeAttribute(\"aria-disabled\");if(this.item)this.item.classList.remove(\"disabled\"),this.item.removeAttribute(\"aria-disabled\"),this.item.tabIndex=0}else{if(this.element)this.element.classList.add(\"disabled\"),this.element.setAttribute(\"aria-disabled\",\"true\");if(this.item)this.item.classList.add(\"disabled\"),this.item.setAttribute(\"aria-disabled\",\"true\")}}updateChecked(){if(!this.item)return;let J=this.action.checked;if(this.item.classList.toggle(\"checked\",!!J),J!==void 0)this.item.setAttribute(\"role\",\"menuitemcheckbox\"),this.item.setAttribute(\"aria-checked\",J?\"true\":\"false\");else this.item.setAttribute(\"role\",\"menuitem\"),this.item.setAttribute(\"aria-checked\",\"\")}getMnemonic(){return this.mnemonic}applyStyle(){let J=this.element&&this.element.classList.contains(\"focused\"),X=J&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,Y=J&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,Z=J&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:\"\",Q=J&&this.menuStyle.selectionBorderColor?\"-1px\":\"\";if(this.item)this.item.style.color=X??\"\",this.item.style.backgroundColor=Y??\"\",this.item.style.outline=Z,this.item.style.outlineOffset=Q;if(this.check)this.check.style.color=X??\"\"}}class Ap extends Dp{constructor(J,X,Y,Z,Q){super(J,J,Z,Q);this.submenuActions=X,this.parentData=Y,this.submenuOptions=Z,this.mysubmenu=null,this.submenuDisposables=this._register(new a),this.mouseOver=!1,this.expandDirection=Z&&Z.expandDirection!==void 0?Z.expandDirection:{horizontal:$T.Right,vertical:_p.Below},this.showScheduler=new B1(()=>{if(this.mouseOver)this.cleanupExistingSubmenu(!1),this.createSubmenu(!1)},250),this.hideScheduler=new B1(()=>{if(this.element&&(!d1(E1(),this.element)&&this.parentData.submenu===this.mysubmenu))this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0)},750)}render(J){if(super.render(J),!this.element)return;if(this.item)this.item.classList.add(\"monaco-submenu-item\"),this.item.tabIndex=0,this.item.setAttribute(\"aria-haspopup\",\"true\"),this.updateAriaExpanded(\"false\"),this.submenuIndicator=q0(this.item,$0(\"span.submenu-indicator\"+M0.asCSSSelector(t.menuSubmenu))),this.submenuIndicator.setAttribute(\"aria-hidden\",\"true\");this._register(f(this.element,r.KEY_UP,(X)=>{let Y=new Y1(X);if(Y.equals(17)||Y.equals(3))d0.stop(X,!0),this.createSubmenu(!0)})),this._register(f(this.element,r.KEY_DOWN,(X)=>{let Y=new Y1(X);if(E1()===this.item){if(Y.equals(17)||Y.equals(3))d0.stop(X,!0)}})),this._register(f(this.element,r.MOUSE_OVER,(X)=>{if(!this.mouseOver)this.mouseOver=!0,this.showScheduler.schedule()})),this._register(f(this.element,r.MOUSE_LEAVE,(X)=>{this.mouseOver=!1})),this._register(f(this.element,r.FOCUS_OUT,(X)=>{if(this.element&&!d1(E1(),this.element))this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{if(this.parentData.submenu===this.mysubmenu)this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0)}))}updateEnabled(){}onClick(J){d0.stop(J,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(J){if(this.parentData.submenu&&(J||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}if(this.parentData.submenu=void 0,this.updateAriaExpanded(\"false\"),this.submenuContainer)this.submenuDisposables.clear(),this.submenuContainer=void 0}}calculateSubmenuMenuLayout(J,X,Y,Z){let Q={top:0,left:0};if(Q.left=sG(J.width,X.width,{position:Z.horizontal===$T.Right?0:1,offset:Y.left,size:Y.width}).position,Q.left>=Y.left&&Q.left<Y.left+Y.width){if(Y.left+10+X.width<=J.width)Q.left=Y.left+10;Y.top+=10,Y.height=0}if(Q.top=sG(J.height,X.height,{position:0,offset:Y.top,size:0}).position,Q.top+X.height===Y.top&&Q.top+Y.height+X.height<=J.height)Q.top+=Y.height;return Q}createSubmenu(J=!0){if(!this.element)return;if(!this.parentData.submenu){this.updateAriaExpanded(\"true\"),this.submenuContainer=q0(this.element,$0(\"div.monaco-submenu\")),this.submenuContainer.classList.add(\"menubar-menu-items-holder\",\"context-view\");let X=Q0(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode),Y=parseFloat(X.paddingTop||\"0\")||0;this.submenuContainer.style.position=\"fixed\",this.submenuContainer.style.top=\"0\",this.submenuContainer.style.left=\"0\",this.submenuContainer.style.zIndex=\"1\",this.parentData.submenu=new ZU(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new BM],this.submenuOptions,this.menuStyle);let Z=this.element.getBoundingClientRect(),Q={top:Z.top-Y,left:Z.left,height:Z.height+2*Y,width:Z.width},$=this.submenuContainer.getBoundingClientRect(),q=Q0(this.element),{top:G,left:U}=this.calculateSubmenuMenuLayout(new C9(q.innerWidth,q.innerHeight),C9.lift($),Q,this.expandDirection);this.submenuContainer.style.left=`${U-$.left}px`,this.submenuContainer.style.top=`${G-$.top}px`,this.submenuDisposables.add(f(this.submenuContainer,r.KEY_UP,(H)=>{if(new Y1(H).equals(15))d0.stop(H,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.submenuDisposables.add(f(this.submenuContainer,r.KEY_DOWN,(H)=>{if(new Y1(H).equals(15))d0.stop(H,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(J),this.mysubmenu=this.parentData.submenu}else this.parentData.submenu.focus(!1)}updateAriaExpanded(J){if(this.item)this.item?.setAttribute(\"aria-expanded\",J)}applyStyle(){super.applyStyle();let X=this.element&&this.element.classList.contains(\"focused\")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;if(this.submenuIndicator)this.submenuIndicator.style.color=X??\"\"}dispose(){if(super.dispose(),this.hideScheduler.dispose(),this.mysubmenu)this.mysubmenu.dispose(),this.mysubmenu=null;if(this.submenuContainer)this.submenuContainer=void 0}}class Pp extends JU{constructor(J,X,Y,Z){super(J,X,Y);this.menuStyles=Z}render(J){if(super.render(J),this.label)this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:\"\"}}function MD0(J){let X=Bp,Y=X.exec(J);if(!Y)return J;let Z=!Y[1];return J.replace(X,Z?\"$2$3\":\"\").trim()}function FY0(J){let X=uD()[J.id];return`.codicon-${J.id}:before { content: '\\\\${X.toString(16)}'; }`}function RD0(J,X){let Z=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: var(--vscode-cornerRadius-large);\n\tborder: 1px solid ${J.borderColor??\"var(--vscode-menu-border)\"};\n\tmin-width: 160px;\n}\n\n${FY0(t.menuSelection)}\n${FY0(t.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 24px;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: var(--vscode-cornerRadius-medium);\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n\topacity: 0.7;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n\tbox-shadow: var(--vscode-shadow-lg${J.shadowColor?`, 0 0 12px ${J.shadowColor}`:\"\"});\n\tborder-radius: var(--vscode-cornerRadius-large);\n\toverflow: hidden;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Show the menu item selection border only for keyboard navigation. Pointer-driven focus typically does not set :focus-visible, so suppress the border in that case. */\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus:not(:focus-visible) {\n\toutline: none !important;\n\toutline-offset: 0 !important;\n}\n\n/* High contrast themes always show the selection border to indicate the focused item, regardless of input modality. The duplicated .monaco-menu raises specificity above the keyboard-only suppression rule above so this wins independent of declaration order. */\n.hc-black .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,\n.hc-light .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,\n:host-context(.hc-black) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,\n:host-context(.hc-light) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item {\n\toutline: 1px solid var(--vscode-menu-selectionBorder) !important;\n\toutline-offset: -1px !important;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 24px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n\tmax-height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(X){Z+=`\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t/* Fix for https://github.com/microsoft/vscode/issues/103170 */\n\t\t\t.monaco-menu .action-item .monaco-submenu {\n\t\t\t\tz-index: 1;\n\t\t\t}\n\t\t`;let Q=J.scrollbarShadow;if(Q)Z+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${Q} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${Q} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${Q} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`;let $=J.scrollbarSliderBackground;if($)Z+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${$};\n\t\t\t\t}\n\t\t\t`;let q=J.scrollbarSliderHoverBackground;if(q)Z+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${q};\n\t\t\t\t}\n\t\t\t`;let G=J.scrollbarSliderActiveBackground;if(G)Z+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${G};\n\t\t\t\t}\n\t\t\t`}return Z}class Op{constructor(J,X,Y,Z){this.contextViewService=J,this.telemetryService=X,this.notificationService=Y,this.keybindingService=Z,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(J){this.options=J}showContextMenu(J){let X=J.getActions();if(!X.length)return;this.focusToReturn=E1();let Y,Z=a0(J.domForShadowRoot)?J.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>J.getAnchor(),canRelayout:!1,anchorAlignment:J.anchorAlignment,anchorAxisAlignment:J.anchorAxisAlignment,layer:J.layer,render:(Q)=>{this.lastContainer=Q;let $=J.getMenuClassName?J.getMenuClassName():\"\";if($)Q.className+=\" \"+$;if(this.options.blockMouse)this.block=Q.appendChild($0(\".context-view-block\")),this.block.style.position=\"fixed\",this.block.style.cursor=\"initial\",this.block.style.left=\"0\",this.block.style.top=\"0\",this.block.style.width=\"100%\",this.block.style.height=\"100%\",this.block.style.zIndex=\"-1\",this.blockDisposable?.dispose(),this.blockDisposable=f(this.block,r.MOUSE_DOWN,(H)=>H.stopPropagation());let q=new a,G=J.actionRunner||q.add(new Q9);G.onWillRun((H)=>this.onActionRun(H,!J.skipTelemetry),this,q),G.onDidRun(this.onDidActionRun,this,q),Y=new ZU(Q,X,{actionViewItemProvider:J.getActionViewItem,context:J.getActionsContext?J.getActionsContext():null,actionRunner:G,getKeyBinding:J.getKeyBinding?J.getKeyBinding:(H)=>this.keybindingService.lookupKeybinding(H.id)},qY0),Y.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,q),Y.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,q);let U=Q0(Q);return q.add(f(U,r.BLUR,()=>this.contextViewService.hideContextView(!0))),q.add(f(U,r.MOUSE_DOWN,(H)=>{if(H.defaultPrevented)return;let V=new k8(U,H),K=V.target;if(V.rightButton)return;while(K){if(K===Q)return;K=K.parentElement}this.contextViewService.hideContextView(!0)})),e7(q,Y)},focus:()=>{Y?.focus(!!J.autoSelectFirstItem)},onHide:(Q)=>{if(J.onHide?.(!!Q),this.block)this.block.remove(),this.block=null;if(this.blockDisposable?.dispose(),this.blockDisposable=null,!!this.lastContainer&&(E1()===this.lastContainer||d1(E1(),this.lastContainer)))this.focusToReturn?.focus();this.lastContainer=null}},Z,!!Z)}onActionRun(J,X){if(X)this.telemetryService.publicLog2(\"workbenchActionExecuted\",{id:J.action.id,from:\"contextMenu\"});this.contextViewService.hideContextView(!1)}onDidActionRun(J){if(J.error&&!n4(J.error))this.notificationService.error(J.error)}}var ND0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},oK=function(J,X){return function(Y,Z){X(Y,Z,J)}},qT=class extends y{get contextMenuHandler(){if(!this._contextMenuHandler)this._contextMenuHandler=new Op(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService);return this._contextMenuHandler}constructor(X,Y,Z,Q,$,q){super();this.telemetryService=X,this.notificationService=Y,this.contextViewService=Z,this.keybindingService=Q,this.menuService=$,this.contextKeyService=q,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new E),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new E),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(X){this.contextMenuHandler.configure(X)}showContextMenu(X){X=Mp.transform(X,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...X,onHide:(Y)=>{X.onHide?.(Y),this._onDidHideContextMenu.fire()}}),kJ.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};qT=ND0([oK(0,k7),oK(1,d6),oK(2,h4),oK(3,T1),oK(4,SJ),oK(5,E0)],qT);var Mp;(function(J){function X(Z){return Z&&Z.menuId instanceof b}function Y(Z,Q,$){if(!X(Z))return Z;let{menuId:q,menuActionOptions:G,contextKeyService:U}=Z;return{...Z,getActions:()=>{let H=[];if(q){let V=Q.getMenuActions(q,U??$,G);H=jY0(V)}if(!Z.getActions)return H;else return h1.join(Z.getActions(),H)}}}J.transform=Y})(Mp||(Mp={}));var wD0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},TD0=function(J,X){return function(Y,Z){X(Y,Z,J)}},Rp=class extends y{constructor(X){super();this.layoutService=X,this.contextView=this._register(new aG(this.layoutService.mainContainer,1)),this.layout(),this._register(X.onDidLayoutContainer(()=>this.layout()))}showContextView(X,Y,Z){let Q;if(Y)if(Y===this.layoutService.getContainer(Q0(Y)))Q=1;else if(Z)Q=3;else Q=2;else Q=1;this.contextView.setContainer(Y??this.layoutService.activeContainer,Q),this.contextView.show(X);let $={close:()=>{if(this.openContextView===$)this.hideContextView()}};return this.openContextView=$,$}layout(){this.contextView.layout()}hideContextView(X){this.contextView.hide(X),this.openContextView=void 0}};Rp=wD0([TD0(0,l5)],Rp);class Np extends Rp{getContextViewElement(){return this.contextView.getViewElement()}}var BY0=W0(\"dataChannelService\");class wp{getDataChannel(J){return{sendData:()=>{}}}}var _Y0=W0(\"defaultAccountService\");class AY0{constructor(J,X){this.key=J,this.data=X,this.incoming=new Map,this.outgoing=new Map}}class GT{constructor(J){this._hashFn=J,this._nodes=new Map}roots(){let J=[];for(let X of this._nodes.values())if(X.outgoing.size===0)J.push(X);return J}insertEdge(J,X){let Y=this.lookupOrInsertNode(J),Z=this.lookupOrInsertNode(X);Y.outgoing.set(Z.key,Z),Z.incoming.set(Y.key,Y)}removeNode(J){let X=this._hashFn(J);this._nodes.delete(X);for(let Y of this._nodes.values())Y.outgoing.delete(X),Y.incoming.delete(X)}lookupOrInsertNode(J){let X=this._hashFn(J),Y=this._nodes.get(X);if(!Y)Y=new AY0(X,J),this._nodes.set(X,Y);return Y}isEmpty(){return this._nodes.size===0}toString(){let J=[];for(let[X,Y]of this._nodes)J.push(`${X}\n\t(-> incoming)[${[...Y.incoming.keys()].join(\", \")}]\n\t(outgoing ->)[${[...Y.outgoing.keys()].join(\",\")}]\n`);return J.join(`\n`)}findCycleSlow(){for(let[J,X]of this._nodes){let Y=new Set([J]),Z=this._findCycle(X,Y);if(Z)return Z}return}_findCycle(J,X){for(let[Y,Z]of J.outgoing){if(X.has(Y))return[...X,Y].join(\" -> \");X.add(Y);let Q=this._findCycle(Z,X);if(Q)return Q;X.delete(Y)}return}}var LD0=!1;class Tp extends Error{constructor(J){super(\"cyclic dependency between services\");this.message=J.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${J.toString()}`}}class T_{constructor(J=new i9,X=!1,Y,Z=LD0){this._services=J,this._strict=X,this._parent=Y,this._enableTracing=Z,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(w0,this),this._globalGraph=Z?Y?._globalGraph??new GT((Q)=>Q):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,D1(this._children),this._children.clear();for(let J of this._servicesToMaybeDispose)if(WY(J))J.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw Error(\"InstantiationService has been disposed\")}createChild(J,X){this._throwIfDisposed();let Y=this,Z=new class extends T_{dispose(){Y._children.delete(Z),super.dispose()}}(J,this._strict,this,this._enableTracing);return this._children.add(Z),X?.add(Z),Z}invokeFunction(J,...X){this._throwIfDisposed();let Y=t9.traceInvocation(this._enableTracing,J),Z=!1;try{return J({get:($)=>{if(Z)throw mH(\"service accessor is only valid during the invocation of its target method\");let q=this._getOrCreateServiceInstance($,Y);if(!q)this._throwIfStrict(`[invokeFunction] unknown service '${$}'`,!1);return q}},...X)}finally{Z=!0,Y.stop()}}createInstance(J,...X){this._throwIfDisposed();let Y,Z;if(J instanceof $9)Y=t9.traceCreation(this._enableTracing,J.ctor),Z=this._createInstance(J.ctor,J.staticArguments.concat(X),Y);else Y=t9.traceCreation(this._enableTracing,J),Z=this._createInstance(J,X,Y);return Y.stop(),Z}_createInstance(J,X=[],Y){let Z=yJ.getServiceDependencies(J).sort((q,G)=>q.index-G.index),Q=[];for(let q of Z){let G=this._getOrCreateServiceInstance(q.id,Y);if(!G)this._throwIfStrict(`[createInstance] ${J.name} depends on UNKNOWN service ${q.id}.`,!1);Q.push(G)}let $=Z.length>0?Z[0].index:X.length;if(X.length!==$){console.trace(`[createInstance] First service dependency of ${J.name} at position ${$+1} conflicts with ${X.length} static arguments`);let q=$-X.length;if(q>0)X=X.concat(Array(q));else X=X.slice(0,$)}return Reflect.construct(J,X.concat(Q))}_setCreatedServiceInstance(J,X){if(this._services.get(J)instanceof $9)this._services.set(J,X);else if(this._parent)this._parent._setCreatedServiceInstance(J,X);else throw Error(\"illegalState - setting UNKNOWN service instance\")}_getServiceInstanceOrDescriptor(J){let X=this._services.get(J);if(!X&&this._parent)return this._parent._getServiceInstanceOrDescriptor(J);else return X}_getOrCreateServiceInstance(J,X){if(this._globalGraph&&this._globalGraphImplicitDependency)this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(J));let Y=this._getServiceInstanceOrDescriptor(J);if(Y instanceof $9)return this._safeCreateAndCacheServiceInstance(J,Y,X.branch(J,!0));else return X.branch(J,!1),Y}_safeCreateAndCacheServiceInstance(J,X,Y){if(this._activeInstantiations.has(J))throw Error(`illegal state - RECURSIVELY instantiating service '${J}'`);this._activeInstantiations.add(J);try{return this._createAndCacheServiceInstance(J,X,Y)}finally{this._activeInstantiations.delete(J)}}_createAndCacheServiceInstance(J,X,Y){let Z=new GT((G)=>G.id.toString()),Q=0,$=[{id:J,desc:X,_trace:Y}],q=new Set;while($.length){let G=$.pop();if(q.has(String(G.id)))continue;if(q.add(String(G.id)),Z.lookupOrInsertNode(G),Q++>1000)throw new Tp(Z);for(let U of yJ.getServiceDependencies(G.desc.ctor)){let H=this._getServiceInstanceOrDescriptor(U.id);if(!H)this._throwIfStrict(`[createInstance] ${J} depends on ${U.id} which is NOT registered.`,!0);if(this._globalGraph?.insertEdge(String(G.id),String(U.id)),H instanceof $9){let V={id:U.id,desc:H,_trace:G._trace.branch(U.id,!0)};Z.insertEdge(G,V),$.push(V)}}}while(!0){let G=Z.roots();if(G.length===0){if(!Z.isEmpty())throw new Tp(Z);break}for(let{data:U}of G){if(this._getServiceInstanceOrDescriptor(U.id)instanceof $9){let V=this._createServiceInstanceWithOwner(U.id,U.desc.ctor,U.desc.staticArguments,U.desc.supportsDelayedInstantiation,U._trace);this._setCreatedServiceInstance(U.id,V)}Z.removeNode(U)}}return this._getServiceInstanceOrDescriptor(J)}_createServiceInstanceWithOwner(J,X,Y=[],Z,Q){if(this._services.get(J)instanceof $9)return this._createServiceInstance(J,X,Y,Z,Q,this._servicesToMaybeDispose);else if(this._parent)return this._parent._createServiceInstanceWithOwner(J,X,Y,Z,Q);else throw Error(`illegalState - creating UNKNOWN service instance ${X.name}`)}_createServiceInstance(J,X,Y=[],Z,Q,$){if(!Z){let q=this._createInstance(X,Y,Q);return $.add(q),q}else{let q=new T_(void 0,this._strict,this,this._enableTracing);q._globalGraphImplicitDependency=String(J);let G=new Map,U=new Nx(()=>{let H=q._createInstance(X,Y,Q);for(let[V,K]of G){let j=H[V];if(typeof j===\"function\")for(let W of K)W.disposable=j.apply(H,W.listener)}return G.clear(),$.add(H),H});return new Proxy(Object.create(null),{get(H,V){if(!U.isInitialized){if(typeof V===\"string\"&&(V.startsWith(\"onDid\")||V.startsWith(\"onWill\"))){let W=G.get(V);if(!W)W=new x6,G.set(V,W);return(B,P,_)=>{if(U.isInitialized)return U.value[V](B,P,_);else{let A={listener:[B,P,_],disposable:void 0},O=W.push(A);return J0(()=>{O(),A.disposable?.dispose()})}}}}if(V in H)return H[V];let K=U.value,j=K[V];if(typeof j!==\"function\")return j;return j=j.bind(K),H[V]=j,j},set(H,V,K){return U.value[V]=K,!0},getPrototypeOf(H){return X.prototype}})}}_throwIfStrict(J,X){if(X)console.warn(J);if(this._strict)throw Error(J)}}class t9{static{this.all=new Set}static{this._None=new class extends t9{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(J,X){return!J?t9._None:new t9(2,X.name||Error().stack.split(`\n`).slice(3,4).join(`\n`))}static traceCreation(J,X){return!J?t9._None:new t9(1,X.name)}static{this._totals=0}constructor(J,X){this.type=J,this.name=X,this._start=Date.now(),this._dep=[]}branch(J,X){let Y=new t9(3,J.toString());return this._dep.push([J,X,Y]),Y}stop(){let J=Date.now()-this._start;t9._totals+=J;let X=!1;function Y(Q,$){let q=[],G=Array(Q+1).join(\"\\t\");for(let[U,H,V]of $._dep)if(H&&V){X=!0,q.push(`${G}CREATES -> ${U}`);let K=Y(Q+1,V);if(K)q.push(K)}else q.push(`${G}uses -> ${U}`);return q.join(`\n`)}let Z=[`${this.type===1?\"CREATE\":\"CALL\"} ${this.name}`,`${Y(1,this)}`,`DONE, took ${J.toFixed(2)}ms (grand total ${t9._totals.toFixed(2)}ms)`];if(J>2||X)t9.all.add(Z.join(`\n`))}}var L_={kind:0},ID0={kind:1};function kD0(J,X,Y){return{kind:2,commandId:J,commandArgs:X,isBubble:Y}}class QU{constructor(J,X,Y){this._log=Y,this._defaultKeybindings=J,this._defaultBoundCommands=new Map;for(let Z of J){let Q=Z.command;if(Q&&Q.charAt(0)!==\"-\")this._defaultBoundCommands.set(Q,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=QU.handleRemovals([].concat(J).concat(X));for(let Z=0,Q=this._keybindings.length;Z<Q;Z++){let $=this._keybindings[Z];if($.chords.length===0)continue;let q=$.when?.substituteConstants();if(q&&q.type===0)continue;this._addKeyPress($.chords[0],$)}}static _isTargetedForRemoval(J,X,Y){if(X){for(let Z=0;Z<X.length;Z++)if(X[Z]!==J.chords[Z])return!1}if(Y&&Y.type!==1){if(!J.when)return!1;let Z=J.when.substituteConstants(),Q=Y.substituteConstants();if(!QU.whenIsEntirelyIncluded(Z,Q))return!1}return!0}static handleRemovals(J){let X=new Map;for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z];if($.command&&$.command.charAt(0)===\"-\"){let q=$.command.substring(1);if(!X.has(q))X.set(q,[$]);else X.get(q).push($)}}if(X.size===0)return J;let Y=[];for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z];if(!$.command||$.command.length===0){Y.push($);continue}if($.command.charAt(0)===\"-\")continue;let q=X.get($.command);if(!q||!$.isDefault){Y.push($);continue}let G=!1;for(let U of q){let H=U.when;if(this._isTargetedForRemoval($,U.chords,H)){G=!0;break}}if(!G){Y.push($);continue}}return Y}_addKeyPress(J,X){let Y=this._map.get(J);if(typeof Y>\"u\"){this._map.set(J,[X]),this._addToLookupMap(X);return}for(let Z=Y.length-1;Z>=0;Z--){let Q=Y[Z];if(Q.command===X.command)continue;let $=!0;for(let q=1;q<Q.chords.length&&q<X.chords.length;q++)if(Q.chords[q]!==X.chords[q]){$=!1;break}if(!$)continue;if(QU.whenIsEntirelyIncluded(Q.when,X.when))this._removeFromLookupMap(Q)}Y.push(X),this._addToLookupMap(X)}_addToLookupMap(J){if(!J.command)return;let X=this._lookupMap.get(J.command);if(typeof X>\"u\")X=[J],this._lookupMap.set(J.command,X);else X.push(J)}_removeFromLookupMap(J){if(!J.command)return;let X=this._lookupMap.get(J.command);if(typeof X>\"u\")return;for(let Y=0,Z=X.length;Y<Z;Y++)if(X[Y]===J){X.splice(Y,1);return}}static whenIsEntirelyIncluded(J,X){if(!X||X.type===1)return!0;if(!J||J.type===1)return!1;return _M(J,X)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(J,X,Y=!1){let Z=this._lookupMap.get(J);if(typeof Z>\"u\"||Z.length===0)return null;if(Z.length===1&&!Y)return Z[0];for(let Q=Z.length-1;Q>=0;Q--){let $=Z[Q];if(X.contextMatchesRules($.when))return $}if(Y)return null;return Z[Z.length-1]}resolve(J,X,Y){let Z=[...X,Y];this._log(`| Resolving ${Z}`);let Q=this._map.get(Z[0]);if(Q===void 0)return this._log(\"\\\\ No keybinding entries.\"),L_;let $=null;if(Z.length<2)$=Q;else{$=[];for(let G=0,U=Q.length;G<U;G++){let H=Q[G];if(Z.length>H.chords.length)continue;let V=!0;for(let K=1;K<Z.length;K++)if(H.chords[K]!==Z[K]){V=!1;break}if(V)$.push(H)}}let q=this._findCommand(J,$);if(!q)return this._log(`\\\\ From ${$.length} keybinding entries, no when clauses matched the context.`),L_;if(Z.length<q.chords.length)return this._log(`\\\\ From ${$.length} keybinding entries, awaiting ${q.chords.length-Z.length} more chord(s), when: ${PY0(q.when)}, source: ${DY0(q)}.`),ID0;return this._log(`\\\\ From ${$.length} keybinding entries, matched ${q.command}, when: ${PY0(q.when)}, source: ${DY0(q)}.`),kD0(q.command,q.commandArgs,q.bubble)}_findCommand(J,X){for(let Y=X.length-1;Y>=0;Y--){let Z=X[Y];if(!QU._contextMatchesRules(J,Z.when))continue;return Z}return null}static _contextMatchesRules(J,X){if(!X)return!0;return X.evaluate(J)}}function PY0(J){if(!J)return\"no when condition\";return`${J.serialize()}`}function DY0(J){return J.extensionId?J.isBuiltinExtension?`built-in extension ${J.extensionId}`:`user extension ${J.extensionId}`:J.isDefault?\"built-in\":\"user\"}var ED0=/^(cursor|delete|undo|redo|tab|editor\\.action\\.clipboard)/;class Lp extends y{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:i.None}get inChordMode(){return this._currentChords.length>0}constructor(J,X,Y,Z,Q){super();this._contextKeyService=J,this._commandService=X,this._telemetryService=Y,this._notificationService=Z,this._logService=Q,this._onDidUpdateKeybindings=this._register(new E),this._currentChords=[],this._currentChordChecker=new Iq,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=nK.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new i8,this._currentlyDispatchingCommandId=null,this._logging=!1}_log(J){if(this._logging)this._logService.info(`[KeybindingService]: ${J}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(J,X,Y=!1){let Z=this._getResolver().lookupPrimaryKeybinding(J,X||this._contextKeyService,Y);if(!Z)return;return Z.resolvedKeybinding}dispatchEvent(J,X){return this._dispatch(J,X)}softDispatch(J,X){this._log(\"/ Soft dispatching keyboard event\");let Y=this.resolveKeyboardEvent(J);if(Y.hasMultipleChords())return console.warn(\"keyboard event should not be mapped to multiple chords\"),L_;let[Z]=Y.getDispatchChords();if(Z===null)return this._log(\"\\\\ Keyboard event cannot be dispatched\"),L_;let Q=this._contextKeyService.getContext(X),$=this._currentChords.map(({keypress:q})=>q);return this._getResolver().resolve(Q,$,Z)}_scheduleLeaveChordMode(){let J=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}if(Date.now()-J>5000)this._leaveChordMode()},500)}_expectAnotherChord(J,X){switch(this._currentChords.push({keypress:J,label:X}),this._currentChords.length){case 0:throw mH(\"impossible\");case 1:this._currentChordStatusMessage=this._notificationService.status(F(1763,\"({0}) was pressed. Waiting for second key of chord...\",X));break;default:{let Y=this._currentChords.map(({label:Z})=>Z).join(\", \");this._currentChordStatusMessage=this._notificationService.status(F(1764,\"({0}) was pressed. Waiting for next key of chord...\",Y))}}if(this._scheduleLeaveChordMode(),S7.enabled)S7.disable()}_leaveChordMode(){if(this._currentChordStatusMessage)this._currentChordStatusMessage.close(),this._currentChordStatusMessage=null;this._currentChordChecker.cancel(),this._currentChords=[],S7.enable()}_dispatch(J,X){return this._doDispatch(this.resolveKeyboardEvent(J),X,!1)}_singleModifierDispatch(J,X){let Y=this.resolveKeyboardEvent(J),[Z]=Y.getSingleModifierDispatchChords();if(Z){if(this._ignoreSingleModifiers.has(Z))return this._log(`+ Ignoring single modifier ${Z} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=nK.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1;if(this._ignoreSingleModifiers=nK.EMPTY,this._currentSingleModifier===null)return this._log(`+ Storing single modifier for possible chord ${Z}.`),this._currentSingleModifier=Z,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log(\"+ Clearing single modifier due to 300ms elapsed.\"),this._currentSingleModifier=null},300),!1;if(Z===this._currentSingleModifier)return this._log(`/ Dispatching single modifier chord ${Z} ${Z}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(Y,X,!0);return this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${Z}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}let[Q]=Y.getChords();if(this._ignoreSingleModifiers=new nK(Q),this._currentSingleModifier!==null)this._log(\"+ Clearing single modifier due to other key up.\");return this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(J,X,Y=!1){let Z=!1;if(J.hasMultipleChords())return console.warn(\"Unexpected keyboard event mapped to multiple chords\"),!1;let Q=null,$=null;if(Y){let[H]=J.getSingleModifierDispatchChords();Q=H,$=H?[H]:[]}else[Q]=J.getDispatchChords(),$=this._currentChords.map(({keypress:H})=>H);if(Q===null)return this._log(\"\\\\ Keyboard event cannot be dispatched in keydown phase.\"),Z;let q=this._contextKeyService.getContext(X),G=J.getLabel(),U=this._getResolver().resolve(q,$,Q);switch(U.kind){case 0:{if(this._logService.trace(\"KeybindingService#dispatch\",G,\"[ No matching keybinding ]\"),this.inChordMode){let H=this._currentChords.map(({label:V})=>V).join(\", \");this._log(`+ Leaving multi-chord mode: Nothing bound to \"${H}, ${G}\".`),this._notificationService.status(F(1765,\"The key combination ({0}, {1}) is not a command.\",H,G),{hideAfter:1e4}),this._leaveChordMode(),Z=!0}return Z}case 1:return this._logService.trace(\"KeybindingService#dispatch\",G,\"[ Several keybindings match - more chords needed ]\"),Z=!0,this._expectAnotherChord(Q,G),this._log(this._currentChords.length===1?\"+ Entering multi-chord mode...\":\"+ Continuing multi-chord mode...\"),Z;case 2:{if(this._logService.trace(\"KeybindingService#dispatch\",G,`[ Will dispatch command ${U.commandId} ]`),U.commandId===null||U.commandId===\"\"){if(this.inChordMode){let H=this._currentChords.map(({label:V})=>V).join(\", \");this._log(`+ Leaving chord mode: Nothing bound to \"${H}, ${G}\".`),this._notificationService.status(F(1766,\"The key combination ({0}, {1}) is not a command.\",H,G),{hideAfter:1e4}),this._leaveChordMode(),Z=!0}}else{if(this.inChordMode)this._leaveChordMode();if(!U.isBubble)Z=!0;this._log(`+ Invoking command ${U.commandId}.`),this._currentlyDispatchingCommandId=U.commandId;try{if(typeof U.commandArgs>\"u\")this._commandService.executeCommand(U.commandId).then(void 0,(H)=>this._notificationService.warn(H));else this._commandService.executeCommand(U.commandId,U.commandArgs).then(void 0,(H)=>this._notificationService.warn(H))}finally{this._currentlyDispatchingCommandId=null}if(!ED0.test(U.commandId))this._telemetryService.publicLog2(\"workbenchActionExecuted\",{id:U.commandId,from:\"keybinding\",detail:J.getUserSettingsLabel()??void 0})}return Z}}}mightProducePrintableCharacter(J){if(J.ctrlKey||J.metaKey)return!1;if(J.keyCode>=31&&J.keyCode<=56||J.keyCode>=21&&J.keyCode<=30)return!0;return!1}appendKeybinding(J,X,Y,Z){if(X){let Q=this.lookupKeybinding(X,Y,Z)?.getLabel();if(Q)return F(1767,\"{0} ({1})\",J,Q)}return J}}class nK{static{this.EMPTY=new nK(null)}constructor(J){this._ctrlKey=J?J.ctrlKey:!1,this._shiftKey=J?J.shiftKey:!1,this._altKey=J?J.altKey:!1,this._metaKey=J?J.metaKey:!1}has(J){switch(J){case\"ctrl\":return this._ctrlKey;case\"shift\":return this._shiftKey;case\"alt\":return this._altKey;case\"meta\":return this._metaKey}}}class HT{constructor(J,X,Y,Z,Q,$,q){if(this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=J,this.chords=J?UT(J.getDispatchChords()):[],J&&this.chords.length===0)this.chords=UT(J.getSingleModifierDispatchChords());this.bubble=X?X.charCodeAt(0)===94:!1,this.command=this.bubble?X.substr(1):X,this.commandArgs=Y,this.when=Z,this.isDefault=Q,this.extensionId=$,this.isBuiltinExtension=q}}function UT(J){let X=[];for(let Y=0,Z=J.length;Y<Z;Y++){let Q=J[Y];if(!Q)return[];X.push(Q)}return X}class Ip extends Ax{constructor(J,X){super();if(X.length===0)throw HX(\"chords\");this._os=J,this._chords=X}getLabel(){return sK.toLabel(this._os,this._chords,(J)=>this._getLabel(J))}getAriaLabel(){return oX0.toLabel(this._os,this._chords,(J)=>this._getAriaLabel(J))}getElectronAccelerator(){if(this._chords.length>1)return null;if(this._chords[0].isDuplicateModifierCase())return null;return nX0.toLabel(this._os,this._chords,(J)=>this._getElectronAccelerator(J))}getUserSettingsLabel(){return tX0.toLabel(this._os,this._chords,(J)=>this._getUserSettingsLabel(J))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((J)=>this._getChord(J))}_getChord(J){return new _x(J.ctrlKey,J.shiftKey,J.altKey,J.metaKey,this._getLabel(J),this._getAriaLabel(J))}getDispatchChords(){return this._chords.map((J)=>this._getChordDispatch(J))}getSingleModifierDispatchChords(){return this._chords.map((J)=>this._getSingleModifierChordDispatch(J))}}class tK extends Ip{constructor(J,X){super(X,J)}_keyCodeToUILabel(J){if(this._os===2)switch(J){case 15:return\"←\";case 16:return\"↑\";case 17:return\"→\";case 18:return\"↓\"}return RJ.toString(J)}_getLabel(J){if(J.isDuplicateModifierCase())return\"\";return this._keyCodeToUILabel(J.keyCode)}_getAriaLabel(J){if(J.isDuplicateModifierCase())return\"\";return RJ.toString(J.keyCode)}_getElectronAccelerator(J){return RJ.toElectronAccelerator(J.keyCode)}_getUserSettingsLabel(J){if(J.isDuplicateModifierCase())return\"\";let X=RJ.toUserSettingsUS(J.keyCode);return X?X.toLowerCase():X}_getChordDispatch(J){return tK.getDispatchStr(J)}static getDispatchStr(J){if(J.isModifierKey())return null;let X=\"\";if(J.ctrlKey)X+=\"ctrl+\";if(J.shiftKey)X+=\"shift+\";if(J.altKey)X+=\"alt+\";if(J.metaKey)X+=\"meta+\";return X+=RJ.toString(J.keyCode),X}_getSingleModifierChordDispatch(J){if(J.keyCode===5&&!J.shiftKey&&!J.altKey&&!J.metaKey)return\"ctrl\";if(J.keyCode===4&&!J.ctrlKey&&!J.altKey&&!J.metaKey)return\"shift\";if(J.keyCode===6&&!J.ctrlKey&&!J.shiftKey&&!J.metaKey)return\"alt\";if(J.keyCode===57&&!J.ctrlKey&&!J.shiftKey&&!J.altKey)return\"meta\";return null}static _scanCodeToKeyCode(J){let X=gD[J];if(X!==-1)return X;switch(J){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(J){if(!J)return null;if(J instanceof GQ)return J;let X=this._scanCodeToKeyCode(J.scanCode);if(X===0)return null;return new GQ(J.ctrlKey,J.shiftKey,J.altKey,J.metaKey,X)}static resolveKeybinding(J,X){let Y=UT(J.chords.map((Z)=>this._toKeyCodeChord(Z)));if(Y.length>0)return[new tK(Y,X)];return[]}}var OY0=W0(\"labelService\");class MY0{get templateId(){return this.renderer.templateId}constructor(J,X){this.renderer=J,this.modelProvider=X}renderTemplate(J){return{data:this.renderer.renderTemplate(J),disposable:y.None}}renderElement(J,X,Y,Z){if(Y.disposable?.dispose(),!Y.data)return;let Q=this.modelProvider();if(Q.isResolved(J))return this.renderer.renderElement(Q.get(J),J,Y.data,Z);let $=new S8,q=Q.resolve(J,$.token);Y.disposable={dispose:()=>$.cancel()},this.renderer.renderPlaceholder(J,Y.data),q.then((G)=>this.renderer.renderElement(G,J,Y.data,Z))}disposeTemplate(J){if(J.disposable)J.disposable.dispose(),J.disposable=void 0;if(J.data)this.renderer.disposeTemplate(J.data),J.data=void 0}}class RY0{constructor(J,X){this.modelProvider=J,this.accessibilityProvider=X}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(J){let X=this.modelProvider();if(!X.isResolved(J))return null;return this.accessibilityProvider.getAriaLabel(X.get(J))}}function yD0(J,X){return{...X,accessibilityProvider:X.accessibilityProvider&&new RY0(J,X.accessibilityProvider)}}class kp{constructor(J,X,Y,Z,Q={}){this.modelDisposables=new a;let $=()=>this.model,q=Z.map((G)=>new MY0(G,$));this.list=new s5(J,X,Y,q,yD0($,Q))}updateOptions(J){this.list.updateOptions(J)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return i.map(this.list.onMouseDblClick,({element:J,index:X,browserEvent:Y})=>({element:J===void 0?void 0:this._model.get(J),index:X,browserEvent:Y}))}get onPointer(){return i.map(this.list.onPointer,({element:J,index:X,browserEvent:Y})=>({element:J===void 0?void 0:this._model.get(J),index:X,browserEvent:Y}))}get onDidChangeSelection(){return i.map(this.list.onDidChangeSelection,({elements:J,indexes:X,browserEvent:Y})=>({elements:J.map((Z)=>this._model.get(Z)),indexes:X,browserEvent:Y}))}get model(){return this._model}set model(J){this.modelDisposables.clear(),this._model=J,this.list.splice(0,this.list.length,H5(J.length)),this.modelDisposables.add(J.onDidIncrementLength((X)=>this.list.splice(this.list.length,0,H5(this.list.length,X))))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((J)=>this.model.get(J))}style(J){this.list.style(J)}dispose(){this.list.dispose(),this.modelDisposables.dispose()}}var eK=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},xD0=!1,NY0;(function(J){J.North=\"north\",J.South=\"south\",J.East=\"east\",J.West=\"west\"})(NY0||(NY0={}));var bD0=4,CD0=new E,SD0=300,fD0=new E;class VT{constructor(J){this.el=J,this.disposables=new a}get onPointerMove(){return this.disposables.add(new G1(Q0(this.el),\"mousemove\")).event}get onPointerUp(){return this.disposables.add(new G1(Q0(this.el),\"mouseup\")).event}dispose(){this.disposables.dispose()}}eK([a1],VT.prototype,\"onPointerMove\",null);eK([a1],VT.prototype,\"onPointerUp\",null);class KT{get onPointerMove(){return this.disposables.add(new G1(this.el,P1.Change)).event}get onPointerUp(){return this.disposables.add(new G1(this.el,P1.End)).event}constructor(J){this.el=J,this.disposables=new a}dispose(){this.disposables.dispose()}}eK([a1],KT.prototype,\"onPointerMove\",null);eK([a1],KT.prototype,\"onPointerUp\",null);class I_{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(J){this.factory=J}dispose(){}}eK([a1],I_.prototype,\"onPointerMove\",null);eK([a1],I_.prototype,\"onPointerUp\",null);var wY0=\"pointer-events-disabled\";class u7 extends y{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(J){if(this._state===J)return;this.el.classList.toggle(\"disabled\",J===0),this.el.classList.toggle(\"minimum\",J===1),this.el.classList.toggle(\"maximum\",J===2),this._state=J,this.onDidEnablementChange.fire(J)}get onDidStart(){return this._onDidStart.event}get onDidChange(){return this._onDidChange.event}get onDidReset(){return this._onDidReset.event}get onDidEnd(){return this._onDidEnd.event}set orthogonalStartSash(J){if(this._orthogonalStartSash===J)return;if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),J){let X=(Y)=>{if(this.orthogonalStartDragHandleDisposables.clear(),Y!==0)this._orthogonalStartDragHandle=q0(this.el,$0(\".orthogonal-drag-handle.start\")),this.orthogonalStartDragHandleDisposables.add(J0(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(f(this._orthogonalStartDragHandle,\"mouseenter\",()=>u7.onMouseEnter(J))),this.orthogonalStartDragHandleDisposables.add(f(this._orthogonalStartDragHandle,\"mouseleave\",()=>u7.onMouseLeave(J)))};this.orthogonalStartSashDisposables.add(J.onDidEnablementChange.event(X,this)),X(J.state)}this._orthogonalStartSash=J}set orthogonalEndSash(J){if(this._orthogonalEndSash===J)return;if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),J){let X=(Y)=>{if(this.orthogonalEndDragHandleDisposables.clear(),Y!==0)this._orthogonalEndDragHandle=q0(this.el,$0(\".orthogonal-drag-handle.end\")),this.orthogonalEndDragHandleDisposables.add(J0(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(f(this._orthogonalEndDragHandle,\"mouseenter\",()=>u7.onMouseEnter(J))),this.orthogonalEndDragHandleDisposables.add(f(this._orthogonalEndDragHandle,\"mouseleave\",()=>u7.onMouseLeave(J)))};this.orthogonalEndSashDisposables.add(J.onDidEnablementChange.event(X,this)),X(J.state)}this._orthogonalEndSash=J}constructor(J,X,Y){super();if(this.hoverDelay=SD0,this.hoverDelayer=this._register(new Y4(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new E),this._onDidStart=this._register(new E),this._onDidChange=this._register(new E),this._onDidReset=this._register(new E),this._onDidEnd=this._register(new E),this.orthogonalStartSashDisposables=this._register(new a),this.orthogonalStartDragHandleDisposables=this._register(new a),this.orthogonalEndSashDisposables=this._register(new a),this.orthogonalEndDragHandleDisposables=this._register(new a),this.linkedSash=void 0,this.el=q0(J,$0(\".monaco-sash\")),Y.orthogonalEdge)this.el.classList.add(`orthogonal-edge-${Y.orthogonalEdge}`);if(I0)this.el.classList.add(\"mac\");this._register(f(this.el,\"mousedown\",(Q)=>this.onPointerStart(Q,new VT(J)))),this._register(f(this.el,\"dblclick\",(Q)=>this.onPointerDoublePress(Q))),this._register(f(this.el,\"mouseenter\",()=>u7.onMouseEnter(this))),this._register(f(this.el,\"mouseleave\",()=>u7.onMouseLeave(this))),this._register(O1.addTarget(this.el)),this._register(f(this.el,P1.Start,(Q)=>this.onPointerStart(Q,new KT(this.el))));let Z=void 0;if(this._register(f(this.el,P1.Tap,(Q)=>{if(Z){clearTimeout(Z),Z=void 0,this.onPointerDoublePress(Q);return}clearTimeout(Z),Z=setTimeout(()=>Z=void 0,250)})),typeof Y.size===\"number\")if(this.size=Y.size,Y.orientation===0)this.el.style.width=`${this.size}px`;else this.el.style.height=`${this.size}px`;else this.size=bD0,this._register(CD0.event((Q)=>{this.size=Q,this.layout()}));if(this._register(fD0.event((Q)=>this.hoverDelay=Q)),this.layoutProvider=X,this.orthogonalStartSash=Y.orthogonalStartSash,this.orthogonalEndSash=Y.orthogonalEndSash,this.orientation=Y.orientation||0,this.orientation===1)this.el.classList.add(\"horizontal\"),this.el.classList.remove(\"vertical\");else this.el.classList.remove(\"horizontal\"),this.el.classList.add(\"vertical\");this.el.classList.toggle(\"debug\",xD0),this.layout()}onPointerStart(J,X){d0.stop(J);let Y=!1;if(!J.__orthogonalSashEvent){let W=this.getOrthogonalSash(J);if(W)Y=!0,J.__orthogonalSashEvent=!0,W.onPointerStart(J,new I_(X))}if(this.linkedSash&&!J.__linkedSashEvent)J.__linkedSashEvent=!0,this.linkedSash.onPointerStart(J,new I_(X));if(!this.state)return;let Z=this.el.ownerDocument.getElementsByTagName(\"iframe\");for(let W of Z)W.classList.add(wY0);let{pageX:Q,pageY:$,altKey:q}=J,G={startX:Q,currentX:Q,startY:$,currentY:$,altKey:q};this.el.classList.add(\"active\"),this._onDidStart.fire(G);let U=z5(this.el),H=()=>{let W=\"\";if(Y)W=\"all-scroll\";else if(this.orientation===1)if(this.state===1)W=\"s-resize\";else if(this.state===2)W=\"n-resize\";else W=I0?\"row-resize\":\"ns-resize\";else if(this.state===1)W=\"e-resize\";else if(this.state===2)W=\"w-resize\";else W=I0?\"col-resize\":\"ew-resize\";U.textContent=`* { cursor: ${W} !important; }`},V=new a;if(H(),!Y)this.onDidEnablementChange.event(H,null,V);let K=(W)=>{d0.stop(W,!1);let z={startX:Q,currentX:W.pageX,startY:$,currentY:W.pageY,altKey:q};this._onDidChange.fire(z)},j=(W)=>{d0.stop(W,!1),U.remove(),this.el.classList.remove(\"active\"),this._onDidEnd.fire(),V.dispose();for(let z of Z)z.classList.remove(wY0)};X.onPointerMove(K,null,V),X.onPointerUp(j,null,V),V.add(X)}onPointerDoublePress(J){let X=this.getOrthogonalSash(J);if(X)X._onDidReset.fire();if(this.linkedSash)this.linkedSash._onDidReset.fire();this._onDidReset.fire()}static onMouseEnter(J,X=!1){if(J.el.classList.contains(\"active\"))J.hoverDelayer.cancel(),J.el.classList.add(\"hover\");else J.hoverDelayer.trigger(()=>J.el.classList.add(\"hover\"),J.hoverDelay).then(void 0,()=>{});if(!X&&J.linkedSash)u7.onMouseEnter(J.linkedSash,!0)}static onMouseLeave(J,X=!1){if(J.hoverDelayer.cancel(),J.el.classList.remove(\"hover\"),!X&&J.linkedSash)u7.onMouseLeave(J.linkedSash,!0)}clearSashHoverState(){u7.onMouseLeave(this)}layout(){if(this.orientation===0){let J=this.layoutProvider;if(this.el.style.left=J.getVerticalSashLeft(this)-this.size/2+\"px\",J.getVerticalSashTop)this.el.style.top=J.getVerticalSashTop(this)+\"px\";if(J.getVerticalSashHeight)this.el.style.height=J.getVerticalSashHeight(this)+\"px\"}else{let J=this.layoutProvider;if(this.el.style.top=J.getHorizontalSashTop(this)-this.size/2+\"px\",J.getHorizontalSashLeft)this.el.style.left=J.getHorizontalSashLeft(this)+\"px\";if(J.getHorizontalSashWidth)this.el.style.width=J.getHorizontalSashWidth(this)+\"px\"}}getOrthogonalSash(J){let X=J.initialTarget??J.target;if(!X||!a0(X))return;if(X.classList.contains(\"orthogonal-drag-handle\"))return X.classList.contains(\"start\")?this.orthogonalStartSash:this.orthogonalEndSash;return}dispose(){super.dispose(),this.el.remove()}}var hD0={separatorBorder:c.transparent};class Ep{set size(J){this._size=J}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>\"u\"}setVisible(J,X){if(J===this.visible)return;if(J)this.size=_5(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0;else this._cachedVisibleSize=typeof X===\"number\"?X:this.size,this.size=0;this.container.classList.toggle(\"visible\",J);try{this.view.setVisible?.(J)}catch(Y){console.error(\"Splitview: Failed to set visible view\"),console.error(Y)}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(J){this.container.style.pointerEvents=J?\"\":\"none\"}constructor(J,X,Y,Z){if(this.container=J,this.view=X,this.disposable=Z,this._cachedVisibleSize=void 0,typeof Y===\"number\")this._size=Y,this._cachedVisibleSize=void 0,J.classList.add(\"visible\");else this._size=0,this._cachedVisibleSize=Y.cachedVisibleSize}layout(J,X){this.layoutContainer(J);try{this.view.layout(this.size,J,X)}catch(Y){console.error(\"Splitview: Failed to layout view\"),console.error(Y)}}dispose(){this.disposable.dispose()}}class LY0 extends Ep{layoutContainer(J){this.container.style.top=`${J}px`,this.container.style.height=`${this.size}px`}}class IY0 extends Ep{layoutContainer(J){this.container.style.left=`${J}px`,this.container.style.width=`${this.size}px`}}var nQ;(function(J){J[J.Idle=0]=\"Idle\",J[J.Busy=1]=\"Busy\"})(nQ||(nQ={}));var TY0;(function(J){J.Distribute={type:\"distribute\"};function X(Q){return{type:\"split\",index:Q}}J.Split=X;function Y(Q){return{type:\"auto\",index:Q}}J.Auto=Y;function Z(Q){return{type:\"invisible\",cachedVisibleSize:Q}}J.Invisible=Z})(TY0||(TY0={}));class yp extends y{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(J){for(let X of this.sashItems)X.sash.orthogonalStartSash=J;this._orthogonalStartSash=J}set orthogonalEndSash(J){for(let X of this.sashItems)X.sash.orthogonalEndSash=J;this._orthogonalEndSash=J}set startSnappingEnabled(J){if(this._startSnappingEnabled===J)return;this._startSnappingEnabled=J,this.updateSashEnablement()}set endSnappingEnabled(J){if(this._endSnappingEnabled===J)return;this._endSnappingEnabled=J,this.updateSashEnablement()}constructor(J,X={}){super();this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=nQ.Idle,this._onDidSashChange=this._register(new E),this._onDidSashReset=this._register(new E),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=X.orientation??0,this.inverseAltBehavior=X.inverseAltBehavior??!1,this.proportionalLayout=X.proportionalLayout??!0,this.getSashOrthogonalSize=X.getSashOrthogonalSize,this.el=document.createElement(\"div\"),this.el.classList.add(\"monaco-split-view2\"),this.el.classList.add(this.orientation===0?\"vertical\":\"horizontal\"),J.appendChild(this.el),this.sashContainer=q0(this.el,$0(\".sash-container\")),this.viewContainer=$0(\".split-view-container\"),this.scrollable=this._register(new mJ({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:(Z)=>E8(Q0(this.el),Z)})),this.scrollableElement=this._register(new EQ(this.viewContainer,{vertical:this.orientation===0?X.scrollbarVisibility??1:2,horizontal:this.orientation===1?X.scrollbarVisibility??1:2},this.scrollable));let Y=this._register(new G1(this.viewContainer,\"scroll\")).event;if(this._register(Y((Z)=>{let Q=this.scrollableElement.getScrollPosition(),$=Math.abs(this.viewContainer.scrollLeft-Q.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,q=Math.abs(this.viewContainer.scrollTop-Q.scrollTop)<=1?void 0:this.viewContainer.scrollTop;if($!==void 0||q!==void 0)this.scrollableElement.setScrollPosition({scrollLeft:$,scrollTop:q})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((Z)=>{if(Z.scrollTopChanged)this.viewContainer.scrollTop=Z.scrollTop;if(Z.scrollLeftChanged)this.viewContainer.scrollLeft=Z.scrollLeft})),q0(this.el,this.scrollableElement.getDomNode()),this.style(X.styles||hD0),X.descriptor)this.size=X.descriptor.size,X.descriptor.views.forEach((Z,Q)=>{let $=C8(Z.visible)||Z.visible?Z.size:{type:\"invisible\",cachedVisibleSize:Z.size},q=Z.view;this.doAddView(q,$,Q,!0)}),this._contentSize=this.viewItems.reduce((Z,Q)=>Z+Q.size,0),this.saveProportions()}style(J){if(J.separatorBorder.isTransparent())this.el.classList.remove(\"separator-border\"),this.el.style.removeProperty(\"--separator-border\");else this.el.classList.add(\"separator-border\"),this.el.style.setProperty(\"--separator-border\",J.separatorBorder.toString())}addView(J,X,Y=this.viewItems.length,Z){this.doAddView(J,X,Y,Z)}layout(J,X){let Y=Math.max(this.size,this._contentSize);if(this.size=J,this.layoutContext=X,!this.proportions){let Z=H5(this.viewItems.length),Q=Z.filter((q)=>this.viewItems[q].priority===1),$=Z.filter((q)=>this.viewItems[q].priority===2);this.resize(this.viewItems.length-1,J-Y,void 0,Q,$)}else{let Z=0;for(let Q=0;Q<this.viewItems.length;Q++){let $=this.viewItems[Q],q=this.proportions[Q];if(typeof q===\"number\")Z+=q;else J-=$.size}for(let Q=0;Q<this.viewItems.length;Q++){let $=this.viewItems[Q],q=this.proportions[Q];if(typeof q===\"number\"&&Z>0)$.size=_5(Math.round(q*J/Z),$.minimumSize,$.maximumSize)}}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){if(this.proportionalLayout&&this._contentSize>0)this.proportions=this.viewItems.map((J)=>J.proportionalLayout&&J.visible?J.size/this._contentSize:void 0)}onSashStart({sash:J,start:X,alt:Y}){for(let q of this.viewItems)q.enabled=!1;let Z=this.sashItems.findIndex((q)=>q.sash===J),Q=e7(f(this.el.ownerDocument.body,\"keydown\",(q)=>$(this.sashDragState.current,q.altKey)),f(this.el.ownerDocument.body,\"keyup\",()=>$(this.sashDragState.current,!1))),$=(q,G)=>{let U=this.viewItems.map((W)=>W.size),H=Number.NEGATIVE_INFINITY,V=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior)G=!G;if(G)if(Z===this.sashItems.length-1){let z=this.viewItems[Z];H=(z.minimumSize-z.size)/2,V=(z.maximumSize-z.size)/2}else{let z=this.viewItems[Z+1];H=(z.size-z.maximumSize)/2,V=(z.size-z.minimumSize)/2}let K,j;if(!G){let W=H5(Z,-1),z=H5(Z+1,this.viewItems.length),B=W.reduce((w,k)=>w+(this.viewItems[k].minimumSize-U[k]),0),P=W.reduce((w,k)=>w+(this.viewItems[k].viewMaximumSize-U[k]),0),_=z.length===0?Number.POSITIVE_INFINITY:z.reduce((w,k)=>w+(U[k]-this.viewItems[k].minimumSize),0),A=z.length===0?Number.NEGATIVE_INFINITY:z.reduce((w,k)=>w+(U[k]-this.viewItems[k].viewMaximumSize),0),O=Math.max(B,A),D=Math.min(_,P),R=this.findFirstSnapIndex(W),N=this.findFirstSnapIndex(z);if(typeof R===\"number\"){let w=this.viewItems[R],k=Math.floor(w.viewMinimumSize/2);K={index:R,limitDelta:w.visible?O-k:O+k,size:w.size}}if(typeof N===\"number\"){let w=this.viewItems[N],k=Math.floor(w.viewMinimumSize/2);j={index:N,limitDelta:w.visible?D+k:D-k,size:w.size}}}this.sashDragState={start:q,current:q,index:Z,sizes:U,minDelta:H,maxDelta:V,alt:G,snapBefore:K,snapAfter:j,disposable:Q}};$(X,Y)}onSashChange({current:J}){let{index:X,start:Y,sizes:Z,alt:Q,minDelta:$,maxDelta:q,snapBefore:G,snapAfter:U}=this.sashDragState;this.sashDragState.current=J;let H=J-Y,V=this.resize(X,H,Z,void 0,void 0,$,q,G,U);if(Q){let K=X===this.sashItems.length-1,j=this.viewItems.map((A)=>A.size),W=K?X:X+1,z=this.viewItems[W],B=z.size-z.maximumSize,P=z.size-z.minimumSize,_=K?X-1:X+1;this.resize(_,-V,j,void 0,void 0,B,P)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(J){this._onDidSashChange.fire(J),this.sashDragState.disposable.dispose(),this.saveProportions();for(let X of this.viewItems)X.enabled=!0}onViewChange(J,X){let Y=this.viewItems.indexOf(J);if(Y<0||Y>=this.viewItems.length)return;if(X=typeof X===\"number\"?X:J.size,X=_5(X,J.minimumSize,J.maximumSize),this.inverseAltBehavior&&Y>0)this.resize(Y-1,Math.floor((J.size-X)/2)),this.distributeEmptySpace(),this.layoutViews();else J.size=X,this.relayout([Y],void 0)}resizeView(J,X){if(J<0||J>=this.viewItems.length)return;if(this.state!==nQ.Idle)throw Error(\"Cant modify splitview\");this.state=nQ.Busy;try{let Y=H5(this.viewItems.length).filter((q)=>q!==J),Z=[...Y.filter((q)=>this.viewItems[q].priority===1),J],Q=Y.filter((q)=>this.viewItems[q].priority===2),$=this.viewItems[J];X=Math.round(X),X=_5(X,$.minimumSize,Math.min($.maximumSize,this.size)),$.size=X,this.relayout(Z,Q)}finally{this.state=nQ.Idle}}distributeViewSizes(){let J=[],X=0;for(let q of this.viewItems)if(q.maximumSize-q.minimumSize>0)J.push(q),X+=q.size;let Y=Math.floor(X/J.length);for(let q of J)q.size=_5(Y,q.minimumSize,q.maximumSize);let Z=H5(this.viewItems.length),Q=Z.filter((q)=>this.viewItems[q].priority===1),$=Z.filter((q)=>this.viewItems[q].priority===2);this.relayout(Q,$)}getViewSize(J){if(J<0||J>=this.viewItems.length)return-1;return this.viewItems[J].size}doAddView(J,X,Y=this.viewItems.length,Z){if(this.state!==nQ.Idle)throw Error(\"Cant modify splitview\");this.state=nQ.Busy;try{let Q=$0(\".split-view-view\");if(Y===this.viewItems.length)this.viewContainer.appendChild(Q);else this.viewContainer.insertBefore(Q,this.viewContainer.children.item(Y));let $=J.onDidChange((K)=>this.onViewChange(H,K)),q=J0(()=>Q.remove()),G=e7($,q),U;if(typeof X===\"number\")U=X;else{if(X.type===\"auto\")if(this.areViewsDistributed())X={type:\"distribute\"};else X={type:\"split\",index:X.index};if(X.type===\"split\")U=this.getViewSize(X.index)/2;else if(X.type===\"invisible\")U={cachedVisibleSize:X.cachedVisibleSize};else U=J.minimumSize}let H=this.orientation===0?new LY0(Q,J,U,G):new IY0(Q,J,U,G);if(this.viewItems.splice(Y,0,H),this.viewItems.length>1){let K={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},j=this.orientation===0?new u7(this.sashContainer,{getHorizontalSashTop:(w)=>this.getSashPosition(w),getHorizontalSashWidth:this.getSashOrthogonalSize},{...K,orientation:1}):new u7(this.sashContainer,{getVerticalSashLeft:(w)=>this.getSashPosition(w),getVerticalSashHeight:this.getSashOrthogonalSize},{...K,orientation:0}),W=this.orientation===0?(w)=>({sash:j,start:w.startY,current:w.currentY,alt:w.altKey}):(w)=>({sash:j,start:w.startX,current:w.currentX,alt:w.altKey}),B=i.map(j.onDidStart,W)(this.onSashStart,this),_=i.map(j.onDidChange,W)(this.onSashChange,this),O=i.map(j.onDidEnd,()=>this.sashItems.findIndex((w)=>w.sash===j))(this.onSashEnd,this),D=j.onDidReset(()=>{let w=this.sashItems.findIndex((u)=>u.sash===j),k=H5(w,-1),I=H5(w+1,this.viewItems.length),S=this.findFirstSnapIndex(k),h=this.findFirstSnapIndex(I);if(typeof S===\"number\"&&!this.viewItems[S].visible)return;if(typeof h===\"number\"&&!this.viewItems[h].visible)return;this._onDidSashReset.fire(w)}),R=e7(B,_,O,D,j),N={sash:j,disposable:R};this.sashItems.splice(Y-1,0,N)}Q.appendChild(J.element);let V;if(typeof X!==\"number\"&&X.type===\"split\")V=[X.index];if(!Z)this.relayout([Y],V);if(!Z&&typeof X!==\"number\"&&X.type===\"distribute\")this.distributeViewSizes()}finally{this.state=nQ.Idle}}relayout(J,X){let Y=this.viewItems.reduce((Z,Q)=>Z+Q.size,0);this.resize(this.viewItems.length-1,this.size-Y,void 0,J,X),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(J,X,Y=this.viewItems.map((H)=>H.size),Z,Q,$=Number.NEGATIVE_INFINITY,q=Number.POSITIVE_INFINITY,G,U){if(J<0||J>=this.viewItems.length)return 0;let H=H5(J,-1),V=H5(J+1,this.viewItems.length);if(Q)for(let N of Q)DD(H,N),DD(V,N);if(Z)for(let N of Z)$z(H,N),$z(V,N);let K=H.map((N)=>this.viewItems[N]),j=H.map((N)=>Y[N]),W=V.map((N)=>this.viewItems[N]),z=V.map((N)=>Y[N]),B=H.reduce((N,w)=>N+(this.viewItems[w].minimumSize-Y[w]),0),P=H.reduce((N,w)=>N+(this.viewItems[w].maximumSize-Y[w]),0),_=V.length===0?Number.POSITIVE_INFINITY:V.reduce((N,w)=>N+(Y[w]-this.viewItems[w].minimumSize),0),A=V.length===0?Number.NEGATIVE_INFINITY:V.reduce((N,w)=>N+(Y[w]-this.viewItems[w].maximumSize),0),O=Math.max(B,A,$),D=Math.min(_,P,q),R=!1;if(G){let N=this.viewItems[G.index],w=X>=G.limitDelta;R=w!==N.visible,N.setVisible(w,G.size)}if(!R&&U){let N=this.viewItems[U.index],w=X<U.limitDelta;R=w!==N.visible,N.setVisible(w,U.size)}if(R)return this.resize(J,X,Y,Z,Q,$,q);X=_5(X,O,D);for(let N=0,w=X;N<K.length;N++){let k=K[N],I=_5(j[N]+w,k.minimumSize,k.maximumSize),S=I-j[N];w-=S,k.size=I}for(let N=0,w=X;N<W.length;N++){let k=W[N],I=_5(z[N]-w,k.minimumSize,k.maximumSize),S=I-z[N];w+=S,k.size=I}return X}distributeEmptySpace(J){let X=this.viewItems.reduce((q,G)=>q+G.size,0),Y=this.size-X,Z=H5(this.viewItems.length-1,-1),Q=Z.filter((q)=>this.viewItems[q].priority===1),$=Z.filter((q)=>this.viewItems[q].priority===2);for(let q of $)DD(Z,q);for(let q of Q)$z(Z,q);if(typeof J===\"number\")$z(Z,J);for(let q=0;Y!==0&&q<Z.length;q++){let G=this.viewItems[Z[q]],U=_5(G.size+Y,G.minimumSize,G.maximumSize),H=U-G.size;Y-=H,G.size=U}}layoutViews(){this._contentSize=this.viewItems.reduce((X,Y)=>X+Y.size,0);let J=0;for(let X of this.viewItems)X.layout(J,this.layoutContext),J+=X.size;this.sashItems.forEach((X)=>X.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){if(this.orientation===0)this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize});else this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let J=!1,X=this.viewItems.map((G)=>J=G.size-G.minimumSize>0||J);J=!1;let Y=this.viewItems.map((G)=>J=G.maximumSize-G.size>0||J),Z=[...this.viewItems].reverse();J=!1;let Q=Z.map((G)=>J=G.size-G.minimumSize>0||J).reverse();J=!1;let $=Z.map((G)=>J=G.maximumSize-G.size>0||J).reverse(),q=0;for(let G=0;G<this.sashItems.length;G++){let{sash:U}=this.sashItems[G],H=this.viewItems[G];q+=H.size;let V=!(X[G]&&$[G+1]),K=!(Y[G]&&Q[G+1]);if(V&&K){let j=H5(G,-1),W=H5(G+1,this.viewItems.length),z=this.findFirstSnapIndex(j),B=this.findFirstSnapIndex(W),P=typeof z===\"number\"&&!this.viewItems[z].visible,_=typeof B===\"number\"&&!this.viewItems[B].visible;if(P&&Q[G]&&(q>0||this.startSnappingEnabled))U.state=1;else if(_&&X[G]&&(q<this._contentSize||this.endSnappingEnabled))U.state=2;else U.state=0}else if(V&&!K)U.state=1;else if(!V&&K)U.state=2;else U.state=3}}getSashPosition(J){let X=0;for(let Y=0;Y<this.sashItems.length;Y++)if(X+=this.viewItems[Y].size,this.sashItems[Y].sash===J)return X;return 0}findFirstSnapIndex(J){for(let X of J){let Y=this.viewItems[X];if(!Y.visible)continue;if(Y.snap)return X}for(let X of J){let Y=this.viewItems[X];if(Y.visible&&Y.maximumSize-Y.minimumSize>0)return;if(!Y.visible&&Y.snap)return X}return}areViewsDistributed(){let J=void 0,X=void 0;for(let Y of this.viewItems)if(J=J===void 0?Y.size:Math.min(J,Y.size),X=X===void 0?Y.size:Math.max(X,Y.size),X-J>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),D1(this.viewItems),this.viewItems=[],this.sashItems.forEach((J)=>J.disposable.dispose()),this.sashItems=[],super.dispose()}}class jT{static{this.TemplateId=\"row\"}constructor(J,X,Y){this.columns=J,this.getColumnSize=Y,this.templateId=jT.TemplateId,this.renderedTemplates=new Set;let Z=new Map(X.map((Q)=>[Q.templateId,Q]));this.renderers=[];for(let Q of J){let $=Z.get(Q.templateId);if(!$)throw Error(`Table cell renderer for template id ${Q.templateId} not found.`);this.renderers.push($)}}renderTemplate(J){let X=q0(J,$0(\".monaco-table-tr\")),Y=[],Z=[];for(let $=0;$<this.columns.length;$++){let q=this.renderers[$],G=q0(X,$0(\".monaco-table-td\",{\"data-col-index\":$}));G.style.width=`${this.getColumnSize($)}px`,Y.push(G),Z.push(q.renderTemplate(G))}let Q={container:J,cellContainers:Y,cellTemplateData:Z};return this.renderedTemplates.add(Q),Q}renderElement(J,X,Y,Z){for(let Q=0;Q<this.columns.length;Q++){let q=this.columns[Q].project(J);this.renderers[Q].renderElement(q,X,Y.cellTemplateData[Q],Z)}}disposeElement(J,X,Y,Z){for(let Q=0;Q<this.columns.length;Q++){let $=this.renderers[Q];if($.disposeElement){let G=this.columns[Q].project(J);$.disposeElement(G,X,Y.cellTemplateData[Q],Z)}}}disposeTemplate(J){for(let X=0;X<this.columns.length;X++)this.renderers[X].disposeTemplate(J.cellTemplateData[X]);r8(J.container),this.renderedTemplates.delete(J)}layoutColumn(J,X){for(let{cellContainers:Y}of this.renderedTemplates)Y[J].style.width=`${X}px`}}function vD0(J){return{getHeight(X){return J.getHeight(X)},getTemplateId(){return jT.TemplateId}}}class kY0 extends y{get minimumSize(){return this.column.minimumWidth??120}get maximumSize(){return this.column.maximumWidth??Number.POSITIVE_INFINITY}get onDidChange(){return this.column.onDidChangeWidthConstraints??i.None}constructor(J,X){super();if(this.column=J,this.index=X,this._onDidLayout=this._register(new E),this.onDidLayout=this._onDidLayout.event,this.element=$0(\".monaco-table-th\",{\"data-col-index\":X},J.label),J.tooltip)this._register(u8().setupManagedHover(A4(\"mouse\"),this.element,J.tooltip))}layout(J){this._onDidLayout.fire([this.index,J])}}class WT{static{this.InstanceCount=0}get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onDidScroll(){return this.list.onDidScroll}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get scrollTop(){return this.list.scrollTop}set scrollTop(J){this.list.scrollTop=J}get scrollHeight(){return this.list.scrollHeight}get renderHeight(){return this.list.renderHeight}get onDidDispose(){return this.list.onDidDispose}constructor(J,X,Y,Z,Q,$){this.virtualDelegate=Y,this.columns=Z,this.domId=`table_id_${++WT.InstanceCount}`,this.disposables=new a,this.cachedWidth=0,this.cachedHeight=0,this.domNode=q0(X,$0(`.monaco-table.${this.domId}`));let q=Z.map((H,V)=>this.disposables.add(new kY0(H,V))),G={size:q.reduce((H,V)=>H+V.column.weight,0),views:q.map((H)=>({size:H.column.weight,view:H}))};this.splitview=this.disposables.add(new yp(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:G})),this.splitview.el.style.height=`${Y.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${Y.headerRowHeight}px`;let U=new jT(Z,Q,(H)=>this.splitview.getViewSize(H));this.list=this.disposables.add(new s5(J,this.domNode,vD0(Y),[U],$)),i.any(...q.map((H)=>H.onDidLayout))(([H,V])=>U.layoutColumn(H,V),null,this.disposables),this.splitview.onDidSashReset((H)=>{let V=Z.reduce((j,W)=>j+W.weight,0),K=Z[H].weight/V*this.cachedWidth;this.splitview.resizeView(H,K)},null,this.disposables),this.styleElement=z5(this.domNode),this.style(uX0)}updateOptions(J){this.list.updateOptions(J)}splice(J,X,Y=[]){this.list.splice(J,X,Y)}getHTMLElement(){return this.domNode}style(J){let X=[];X.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=X.join(`\n`),this.list.style(J)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}var EY0={inputActiveOptionBorder:\"#007ACC00\",inputActiveOptionForeground:\"#FFFFFF\",inputActiveOptionBackground:\"#0E639C50\"};class yY0 extends F7{constructor(J,X,Y){super(J,X,Y);let Z=this.options.keybinding?`${this._action.label} (${this.options.keybinding})`:this._action.label;this.toggle=this._register(new iJ({actionClassName:this._action.class,isChecked:!!this._action.checked,title:Z,notFocusable:!0,inputActiveOptionBackground:Y.toggleStyles?.inputActiveOptionBackground,inputActiveOptionBorder:Y.toggleStyles?.inputActiveOptionBorder,inputActiveOptionForeground:Y.toggleStyles?.inputActiveOptionForeground})),this._register(this.toggle.onChange(()=>{this._action.checked=!!this.toggle&&this.toggle.checked}))}render(J){this.element=J,this.element.appendChild(this.toggle.domNode),this.updateChecked(),this.updateEnabled()}updateEnabled(){if(this.toggle)if(this.isEnabled())this.toggle.enable(),this.element?.classList.remove(\"disabled\");else this.toggle.disable(),this.element?.classList.add(\"disabled\")}updateChecked(){this.toggle.checked=!!this._action.checked}updateLabel(){let J=this.options.keybinding?`${this._action.label} (${this.options.keybinding})`:this._action.label;this.toggle.setTitle(J)}focus(){this.toggle.domNode.tabIndex=0,this.toggle.focus()}blur(){this.toggle.domNode.tabIndex=-1,this.toggle.domNode.blur()}setFocusable(J){this.toggle.domNode.tabIndex=J?0:-1}}class iJ extends F8{get onChange(){return this._onChange.event}get onKeyDown(){return this._onKeyDown.event}constructor(J){super();this._onChange=this._register(new E),this._onKeyDown=this._register(new E),this._opts=J,this._title=this._opts.title,this._checked=this._opts.isChecked;let X=[\"monaco-custom-toggle\"];if(this._opts.icon)this._icon=this._opts.icon,X.push(...M0.asClassNameArray(this._icon));if(this._opts.actionClassName)X.push(...this._opts.actionClassName.split(\" \"));if(this._checked)X.push(\"checked\");if(this.domNode=document.createElement(\"div\"),this._register(u8().setupDelayedHover(this.domNode,()=>({content:!W4(this._title)&&!a0(this._title)?TK(this._title):this._title,style:1}),this._opts.hoverLifecycleOptions)),this.domNode.classList.add(...X),!this._opts.notFocusable)this.domNode.tabIndex=0;this.domNode.setAttribute(\"role\",\"checkbox\"),this.domNode.setAttribute(\"aria-checked\",String(this._checked)),this.setTitle(this._opts.title),this.applyStyles(),this.onclick(this.domNode,(Y)=>{if(this.enabled)this.checked=!this._checked,this._onChange.fire(!1),Y.preventDefault(),Y.stopPropagation()}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(Y)=>{if(!this.enabled)return;if(Y.keyCode===10||Y.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),Y.preventDefault(),Y.stopPropagation();return}this._onKeyDown.fire(Y)})}get enabled(){return this.domNode.getAttribute(\"aria-disabled\")!==\"true\"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(J){this._checked=J,this.domNode.setAttribute(\"aria-checked\",String(this._checked)),this.domNode.classList.toggle(\"checked\",this._checked),this.applyStyles()}setIcon(J){if(this._icon)this.domNode.classList.remove(...M0.asClassNameArray(this._icon));if(this._icon=J,this._icon)this.domNode.classList.add(...M0.asClassNameArray(this._icon))}width(){return 22}applyStyles(){if(this.domNode)this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||\"\",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||\"inherit\",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||\"\"}enable(){if(this.domNode.setAttribute(\"aria-disabled\",String(!1)),this.domNode.classList.remove(\"disabled\"),!this._opts.notFocusable)this.domNode.tabIndex=0}disable(){if(this.domNode.setAttribute(\"aria-disabled\",String(!0)),this.domNode.classList.add(\"disabled\"),!this._opts.notFocusable)this.domNode.tabIndex=-1}setTitle(J){this._title=J;let X=typeof J===\"string\"?J:W4(J)?J.value:J.textContent;this.domNode.setAttribute(\"aria-label\",LK(X))}}class zT extends F8{static{this.CLASS_NAME=\"monaco-checkbox\"}constructor(J,X,Y){super();this.checkbox=J,this.domNode=X,this.styles=Y,this._onChange=this._register(new E),this.onChange=this._onChange.event,this.applyStyles()}get enabled(){return this.checkbox.enabled}enable(){this.checkbox.enable(),this.applyStyles(!0)}disable(){this.checkbox.disable(),this.applyStyles(!1)}setTitle(J){this.checkbox.setTitle(J)}applyStyles(J=this.enabled){this.domNode.style.color=(J?this.styles.checkboxForeground:this.styles.checkboxDisabledForeground)||\"\",this.domNode.style.backgroundColor=(J?this.styles.checkboxBackground:this.styles.checkboxDisabledBackground)||\"\",this.domNode.style.borderColor=(J?this.styles.checkboxBorder:this.styles.checkboxDisabledBackground)||\"\";let X=this.styles.size||18;this.domNode.style.width=this.domNode.style.height=this.domNode.style.fontSize=`${X}px`,this.domNode.style.fontSize=`${X-2}px`}}class Jj extends zT{constructor(J,X,Y){let Z=new iJ({title:J,isChecked:X,icon:t.check,actionClassName:zT.CLASS_NAME,hoverLifecycleOptions:Y.hoverLifecycleOptions,...EY0});super(Z,Z.domNode,Y);this._register(Z),this._register(this.checkbox.onChange((Q)=>{this.applyStyles(),this._onChange.fire(Q)}))}get checked(){return this.checkbox.checked}set checked(J){this.checkbox.checked=J,this.applyStyles()}applyStyles(J){if(this.checkbox.checked)this.checkbox.setIcon(t.check);else this.checkbox.setIcon(void 0);super.applyStyles(J)}}class k_ extends zT{constructor(J,X,Y){let Z;switch(X){case!0:Z=t.check;break;case\"mixed\":Z=t.dash;break;case!1:Z=void 0;break}let Q=new iJ({title:J,isChecked:X===!0,icon:Z,actionClassName:Jj.CLASS_NAME,hoverLifecycleOptions:Y.hoverLifecycleOptions,...EY0});super(Q,Q.domNode,Y);this._state=X,this._register(Q),this._register(this.checkbox.onChange(($)=>{this._state=this.checkbox.checked,this.applyStyles(),this._onChange.fire($)}))}get checked(){return this._state}set checked(J){if(this._state!==J)this._state=J,this.checkbox.checked=J===!0,this.applyStyles()}applyStyles(J){switch(this._state){case!0:this.checkbox.setIcon(t.check);break;case\"mixed\":this.checkbox.setIcon(t.dash);break;case!1:this.checkbox.setIcon(void 0);break}super.applyStyles(J)}}function qZ(J){return(X,Y)=>{if(X.checked!==void 0)return new yY0(null,X,{...Y,toggleStyles:J});return}}var gD0=F(2,\"Match Case\"),pD0=F(3,\"Match Whole Word\"),mD0=F(4,\"Use Regular Expression\");class E_ extends iJ{constructor(J){super({icon:t.caseSensitive,title:gD0+J.appendTitle,isChecked:J.isChecked,hoverLifecycleOptions:J.hoverLifecycleOptions,inputActiveOptionBorder:J.inputActiveOptionBorder,inputActiveOptionForeground:J.inputActiveOptionForeground,inputActiveOptionBackground:J.inputActiveOptionBackground})}}class y_ extends iJ{constructor(J){super({icon:t.wholeWord,title:pD0+J.appendTitle,isChecked:J.isChecked,hoverLifecycleOptions:J.hoverLifecycleOptions,inputActiveOptionBorder:J.inputActiveOptionBorder,inputActiveOptionForeground:J.inputActiveOptionForeground,inputActiveOptionBackground:J.inputActiveOptionBackground})}}class x_ extends iJ{constructor(J){super({icon:t.regex,title:mD0+J.appendTitle,isChecked:J.isChecked,hoverLifecycleOptions:J.hoverLifecycleOptions,inputActiveOptionBorder:J.inputActiveOptionBorder,inputActiveOptionForeground:J.inputActiveOptionForeground,inputActiveOptionBackground:J.inputActiveOptionBackground})}}function xY0(J,X,Y){let Z=Y??document.createElement(\"div\");return Z.textContent=J,Z}function bY0(J,X,Y){let Z=Y??document.createElement(\"div\");return Z.textContent=\"\",SY0(Z,uD0(J),X?.actionHandler,X?.renderCodeSegments),Z}class CY0{constructor(J){this.source=J,this.index=0}eos(){return this.index>=this.source.length}next(){let J=this.peek();return this.advance(),J}peek(){return this.source[this.index]}advance(){this.index++}}function SY0(J,X,Y,Z){let Q;if(X.type===2)Q=document.createTextNode(X.content||\"\");else if(X.type===3)Q=document.createElement(\"b\");else if(X.type===4)Q=document.createElement(\"i\");else if(X.type===7&&Z)Q=document.createElement(\"code\");else if(X.type===5&&Y){let $=document.createElement(\"a\");Y.disposables.add(F6($,\"click\",(q)=>{Y.callback(String(X.index),q)})),Q=$}else if(X.type===8)Q=document.createElement(\"br\");else if(X.type===1)Q=J;if(Q&&J!==Q)J.appendChild(Q);if(Q&&Array.isArray(X.children))X.children.forEach(($)=>{SY0(Q,$,Y,Z)})}function uD0(J,X){let Y={type:1,children:[]},Z=0,Q=Y,$=[],q=new CY0(J);while(!q.eos()){let G=q.next(),U=G===\"\\\\\"&&xp(q.peek())!==0;if(U)G=q.next();if(!U&&cD0(G)&&G===q.peek()){if(q.advance(),Q.type===2)Q=$.pop();let H=xp(G);if(Q.type===H||Q.type===5&&H===6)Q=$.pop();else{let V={type:H,children:[]};if(H===5)V.index=Z,Z++;Q.children.push(V),$.push(Q),Q=V}}else if(G===`\n`){if(Q.type===2)Q=$.pop();Q.children.push({type:8})}else if(Q.type!==2){let H={type:2,content:G};Q.children.push(H),$.push(Q),Q=H}else Q.content+=G}if(Q.type===2)Q=$.pop();return Y}function cD0(J,X){return xp(J)!==0}function xp(J,X){switch(J){case\"*\":return 3;case\"_\":return 4;case\"[\":return 5;case\"]\":return 6;case\"`\":return 0;default:return 0}}class bp{constructor(J,X=0,Y=J.length,Z=X-1){this.items=J,this.start=X,this.end=Y,this.index=Z}current(){if(this.index===this.start-1||this.index===this.end)return null;return this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class Cp{constructor(J=new Set,X=10){if(this._history=J,this._limit=X,this._onChange(),this._history.onDidChange)this._disposable=this._history.onDidChange(()=>this._onChange())}getHistory(){return this._elements}add(J){this._history.delete(J),this._history.add(J),this._onChange()}next(){return this._navigator.next()}previous(){if(this._currentPosition()!==0)return this._navigator.previous();return null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(J){return this._history.has(J)}_onChange(){this._reduceToLimit();let J=this._elements;this._navigator=new bp(J,0,J.length,J.length)}_reduceToLimit(){let J=this._elements;if(J.length>this._limit){let X=J.slice(J.length-this._limit);if(this._history.replace)this._history.replace(X);else this._history=new Set(X)}}_currentPosition(){let J=this._navigator.current();if(!J)return-1;return this._elements.indexOf(J)}get _elements(){let J=[];return this._history.forEach((X)=>J.push(X)),J}dispose(){if(this._disposable)this._disposable.dispose(),this._disposable=void 0}}var Xj=$0;class fY0 extends F8{get onDidChange(){return this._onDidChange.event}get onDidHeightChange(){return this._onDidHeightChange.event}constructor(J,X,Y){super();if(this.state=\"idle\",this.maxHeight=Number.POSITIVE_INFINITY,this.hover=this._register(new Q1),this._onDidChange=this._register(new E),this._onDidHeightChange=this._register(new E),this.contextViewProvider=X,this.options=Y,this.message=null,this.placeholder=this.options.placeholder||\"\",this.tooltip=this.options.tooltip??(this.placeholder||\"\"),this.ariaLabel=this.options.ariaLabel||\"\",this.options.validationOptions)this.validation=this.options.validationOptions.validation;this.element=q0(J,Xj(\".monaco-inputbox.idle\"));let Z=this.options.flexibleHeight?\"textarea\":\"input\",Q=q0(this.element,Xj(\".ibwrapper\"));if(this.input=q0(Q,Xj(Z+\".input.empty\")),this.input.setAttribute(\"autocorrect\",\"off\"),this.input.setAttribute(\"autocapitalize\",\"off\"),this.input.setAttribute(\"spellcheck\",\"false\"),this.onfocus(this.input,()=>this.element.classList.add(\"synthetic-focus\")),this.onblur(this.input,()=>this.element.classList.remove(\"synthetic-focus\")),this.options.flexibleHeight){if(this.maxHeight=typeof this.options.flexibleMaxHeight===\"number\"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=q0(Q,Xj(\"div.mirror\")),this.mirror.innerText=\" \",this.scrollableElement=new $S(this.element,{vertical:1}),this.options.flexibleWidth)this.input.setAttribute(\"wrap\",\"off\"),this.mirror.style.whiteSpace=\"pre\",this.mirror.style.wordWrap=\"initial\";q0(J,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((G)=>this.input.scrollTop=G.scrollTop));let $=this._register(new G1(J.ownerDocument,\"selectionchange\")),q=i.filter($.event,()=>{return J.ownerDocument.getSelection()?.anchorNode===Q});this._register(q(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||\"text\",this.input.setAttribute(\"wrap\",\"off\");if(this.ariaLabel)this.input.setAttribute(\"aria-label\",this.ariaLabel);if(this.placeholder&&!this.options.showPlaceholderOnFocus)this.setPlaceHolder(this.placeholder);if(this.tooltip)this.setTooltip(this.tooltip);if(this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions)this.actionbar=this._register(new m7(this.element,{actionViewItemProvider:this.options.actionViewItemProvider})),this.actionbar.push(this.options.actions,{icon:!0,label:!1});this.applyStyles()}setActions(J,X){if(this.actionbar){if(this.actionbar.clear(),J)this.actionbar.push(J,{icon:!0,label:!1})}else if(J)this.actionbar=this._register(new m7(this.element,{actionViewItemProvider:X??this.options.actionViewItemProvider})),this.actionbar.push(J,{icon:!0,label:!1})}get actionsWidth(){return this.actionbar?.getContainer().offsetWidth??0}onBlur(){if(this._hideMessage(),this.options.showPlaceholderOnFocus)this.input.setAttribute(\"placeholder\",\"\")}onFocus(){if(this._showMessage(),this.options.showPlaceholderOnFocus)this.input.setAttribute(\"placeholder\",this.placeholder||\"\")}setPlaceHolder(J){this.placeholder=J,this.input.setAttribute(\"placeholder\",J)}setTooltip(J){if(this.tooltip=J,!this.hover.value)this.hover.value=this._register(u8().setupDelayedHoverAtMouse(this.input,()=>({content:this.tooltip,appearance:{compact:!0}})))}setAriaLabel(J){if(this.ariaLabel=J,J)this.input.setAttribute(\"aria-label\",this.ariaLabel);else this.input.removeAttribute(\"aria-label\")}get inputElement(){return this.input}get value(){return this.input.value}set value(J){if(this.input.value!==J)this.input.value=J,this.onValueChange()}get height(){return typeof this.cachedHeight===\"number\"?this.cachedHeight:pz(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return Z9(this.input)}select(J=null){if(this.input.select(),J){if(this.input.setSelectionRange(J.start,J.end),J.end===this.input.value.length)this.input.scrollLeft=this.input.scrollWidth}}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){let J=this.input.selectionStart;if(J===null)return null;let X=this.input.selectionEnd??J;return{start:J,end:X}}enable(){this.input.removeAttribute(\"disabled\")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(J){if(this.input.style.width=`calc(100% - ${J}px)`,this.mirror)this.mirror.style.paddingRight=J+\"px\"}updateScrollDimensions(){if(typeof this.cachedContentHeight!==\"number\"||typeof this.cachedHeight!==\"number\"||!this.scrollableElement)return;let J=this.cachedContentHeight,X=this.cachedHeight,Y=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:J,height:X}),this.scrollableElement.setScrollPosition({scrollTop:Y})}showMessage(J,X){if(this.state===\"open\"&&O8(this.message,J))return;this.message=J,this.element.classList.remove(\"idle\"),this.element.classList.remove(\"info\"),this.element.classList.remove(\"warning\"),this.element.classList.remove(\"error\"),this.element.classList.add(this.classForType(J.type));let Y=this.stylesForType(this.message.type);if(this.element.style.border=`1px solid ${o9(Y.border,\"transparent\")}`,this.message.content&&(this.hasFocus()||X))this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove(\"info\"),this.element.classList.remove(\"warning\"),this.element.classList.remove(\"error\"),this.element.classList.add(\"idle\"),this._hideMessage(),this.applyStyles()}validate(){let J=null;if(this.validation){if(J=this.validation(this.value),J)this.inputElement.setAttribute(\"aria-invalid\",\"true\"),this.showMessage(J);else if(this.inputElement.hasAttribute(\"aria-invalid\"))this.inputElement.removeAttribute(\"aria-invalid\"),this.hideMessage()}return J?.type}stylesForType(J){let X=this.options.inputBoxStyles;switch(J){case 1:return{border:X.inputValidationInfoBorder,background:X.inputValidationInfoBackground,foreground:X.inputValidationInfoForeground};case 2:return{border:X.inputValidationWarningBorder,background:X.inputValidationWarningBackground,foreground:X.inputValidationWarningForeground};default:return{border:X.inputValidationErrorBorder,background:X.inputValidationErrorBackground,foreground:X.inputValidationErrorForeground}}}classForType(J){switch(J){case 1:return\"info\";case 2:return\"warning\";default:return\"error\"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let J,X=()=>J.style.width=Z4(this.element)+\"px\";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:(Z)=>{if(!this.message)return null;J=q0(Z,Xj(\".monaco-inputbox-container\")),X();let Q=Xj(\"span.monaco-inputbox-message\");if(this.message.formatContent)bY0(this.message.content,void 0,Q);else xY0(this.message.content,void 0,Q);Q.classList.add(this.classForType(this.message.type));let $=this.stylesForType(this.message.type);return Q.style.backgroundColor=$.background??\"\",Q.style.color=$.foreground??\"\",Q.style.border=$.border?`1px solid ${$.border}`:\"\",q0(J,Q),null},onHide:()=>{this.state=\"closed\"},layout:X});let Y;if(this.message.type===3)Y=F(9,\"Error: {0}\",this.message.content);else if(this.message.type===2)Y=F(10,\"Warning: {0}\",this.message.content);else Y=F(11,\"Info: {0}\",this.message.content);y4(Y),this.state=\"open\"}_hideMessage(){if(!this.contextViewProvider)return;if(this.state===\"open\")this.contextViewProvider.hideContextView();this.state=\"idle\"}layoutMessage(){if(this.state===\"open\"&&this.contextViewProvider)this.contextViewProvider.layout()}onValueChange(){if(this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle(\"empty\",!this.value),this.state===\"open\"&&this.contextViewProvider)this.contextViewProvider.layout();if(this.options.hideHoverOnValueChange)u8().hideHover()}updateMirror(){if(!this.mirror)return;let J=this.value,Y=J.charCodeAt(J.length-1)===10?\" \":\"\";if((J+Y).replace(/\\u000c/g,\"\"))this.mirror.textContent=J+Y;else this.mirror.innerText=\" \";this.layout()}applyStyles(){let J=this.options.inputBoxStyles,X=J.inputBackground??\"\",Y=J.inputForeground??\"\",Z=J.inputBorder??\"\";this.element.style.backgroundColor=X,this.element.style.color=Y,this.input.style.backgroundColor=\"inherit\",this.input.style.color=Y,this.element.style.border=`1px solid ${o9(Z,\"transparent\")}`}layout(){if(!this.mirror){this.layoutMessage();return}let J=this.cachedContentHeight;if(this.cachedContentHeight=pz(this.mirror),J!==this.cachedContentHeight)this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+\"px\",this._onDidHeightChange.fire(this.cachedContentHeight);this.layoutMessage()}insertAtCursor(J){let X=this.inputElement,Y=X.selectionStart,Z=X.selectionEnd,Q=X.value;if(Y!==null&&Z!==null)this.value=Q.substr(0,Y)+J+Q.substr(Z),X.setSelectionRange(Y+1,Y+1),this.layout()}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}class b_ extends fY0{constructor(J,X,Y){let Z=F(12,\" or {0} for history\",\"⇅\"),Q=F(13,\" ({0} for history)\",\"⇅\");super(J,X,Y);this._onDidFocus=this._register(new E),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new E),this.onDidBlur=this._onDidBlur.event,this.history=this._register(new Cp(Y.history,100));let $=()=>{if(Y.showHistoryHint&&Y.showHistoryHint()&&!this.placeholder.endsWith(Z)&&!this.placeholder.endsWith(Q)&&this.history.getHistory().length){let q=this.placeholder.endsWith(\")\")?Z:Q,G=this.placeholder+q;if(Y.showPlaceholderOnFocus&&!Z9(this.input))this.placeholder=G;else this.setPlaceHolder(G)}};this.observer=new MutationObserver((q,G)=>{q.forEach((U)=>{if(!U.target.textContent)$()})}),this.observer.observe(this.input,{attributeFilter:[\"class\"]}),this.onfocus(this.input,()=>$()),this.onblur(this.input,()=>{let q=(G)=>{if(!this.placeholder.endsWith(G))return!1;else{let U=this.placeholder.slice(0,this.placeholder.length-G.length);if(Y.showPlaceholderOnFocus)this.placeholder=U;else this.setPlaceHolder(U);return!0}};if(!q(Q))q(Z)})}dispose(){if(super.dispose(),this.observer)this.observer.disconnect(),this.observer=void 0}addToHistory(J){if(this.value&&(J||this.value!==this.getCurrentValue()))this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){if(!this.history.has(this.value))this.addToHistory();let J=this.getNextValue();if(J)J=J===this.value?this.getNextValue():J;this.value=J??\"\",MQ(this.value?this.value:F(14,\"Cleared Input\"))}showPreviousValue(){if(!this.history.has(this.value))this.addToHistory();let J=this.getPreviousValue();if(J)J=J===this.value?this.getPreviousValue():J;if(J)this.value=J,MQ(this.value)}setPlaceHolder(J){super.setPlaceHolder(J),this.setTooltip(J)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let J=this.history.current();if(!J)J=this.history.last(),this.history.next();return J}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}var dD0=F(1,\"input\");class C_ extends F8{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onMouseDown(){return this._onMouseDown.event}get onCaseSensitiveKeyDown(){return this._onCaseSensitiveKeyDown.event}get onRegexKeyDown(){return this._onRegexKeyDown.event}constructor(J,X,Y){super();this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new Q1),this.additionalToggles=[],this._onDidOptionChange=this._register(new E),this._onKeyDown=this._register(new E),this._onMouseDown=this._register(new E),this._onInput=this._register(new E),this._onKeyUp=this._register(new E),this._onCaseSensitiveKeyDown=this._register(new E),this._onRegexKeyDown=this._register(new E),this._lastHighlightFindOptions=0,this.placeholder=Y.placeholder||\"\",this.validation=Y.validation,this.label=Y.label||dD0,this.showCommonFindToggles=!!Y.showCommonFindToggles;let Z=Y.appendCaseSensitiveLabel||\"\",Q=Y.appendWholeWordsLabel||\"\",$=Y.appendRegexLabel||\"\",q=!!Y.flexibleHeight,G=!!Y.flexibleWidth,U=Y.flexibleMaxHeight;if(this.domNode=document.createElement(\"div\"),this.domNode.classList.add(\"monaco-findInput\"),this.inputBox=this._register(new b_(this.domNode,X,{placeholder:this.placeholder||\"\",ariaLabel:this.label||\"\",validationOptions:{validation:this.validation},showHistoryHint:Y.showHistoryHint,flexibleHeight:q,flexibleWidth:G,flexibleMaxHeight:U,inputBoxStyles:Y.inputBoxStyles,history:Y.history,actions:Y.actions,actionViewItemProvider:Y.actionViewItemProvider,hideHoverOnValueChange:Y.hideHoverOnValueChange})),this.showCommonFindToggles){let H=Y?.hoverLifecycleOptions||{groupId:\"find-input\"};this.regex=this._register(new x_({appendTitle:$,isChecked:!1,hoverLifecycleOptions:H,...Y.toggleStyles})),this._register(this.regex.onChange((V)=>{if(this._onDidOptionChange.fire(V),!V&&this.fixFocusOnOptionClickEnabled)this.inputBox.focus();this.validate()})),this._register(this.regex.onKeyDown((V)=>{this._onRegexKeyDown.fire(V)})),this.wholeWords=this._register(new y_({appendTitle:Q,isChecked:!1,hoverLifecycleOptions:H,...Y.toggleStyles})),this._register(this.wholeWords.onChange((V)=>{if(this._onDidOptionChange.fire(V),!V&&this.fixFocusOnOptionClickEnabled)this.inputBox.focus();this.validate()})),this.caseSensitive=this._register(new E_({appendTitle:Z,isChecked:!1,hoverLifecycleOptions:H,...Y.toggleStyles})),this._register(this.caseSensitive.onChange((V)=>{if(this._onDidOptionChange.fire(V),!V&&this.fixFocusOnOptionClickEnabled)this.inputBox.focus();this.validate()})),this._register(this.caseSensitive.onKeyDown((V)=>{this._onCaseSensitiveKeyDown.fire(V)})),this.onkeydown(this.domNode,(V)=>{if(V.equals(15)||V.equals(17)||V.equals(9)){let K=this.getToggleDomNodes(),j=K.indexOf(this.domNode.ownerDocument.activeElement);if(j>=0){let W=-1;if(V.equals(17))W=(j+1)%K.length;else if(V.equals(15))if(j===0)W=K.length-1;else W=j-1;if(V.equals(9))K[j].blur(),this.inputBox.focus();else if(W>=0)K[W].focus();d0.stop(V,!0)}}})}if(this.controls=document.createElement(\"div\"),this.controls.className=\"controls\",this.controls.style.display=this.showCommonFindToggles?\"\":\"none\",this.caseSensitive)this.controls.append(this.caseSensitive.domNode);if(this.wholeWords)this.controls.appendChild(this.wholeWords.domNode);if(this.regex)this.controls.appendChild(this.regex.domNode);if(this.setAdditionalToggles(Y?.additionalToggles),this.controls)this.domNode.appendChild(this.controls);J?.appendChild(this.domNode),this._register(f(this.inputBox.inputElement,\"compositionstart\",(H)=>{this.imeSessionInProgress=!0})),this._register(f(this.inputBox.inputElement,\"compositionend\",(H)=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,(H)=>this._onKeyDown.fire(H)),this.onkeyup(this.inputBox.inputElement,(H)=>this._onKeyUp.fire(H)),this.oninput(this.inputBox.inputElement,(H)=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,(H)=>this._onMouseDown.fire(H))}get onDidChange(){return this.inputBox.onDidChange}layout(J){this.inputBox.layout(),this.updateInputBoxPadding(J.collapsedFindWidget)}enable(){this.domNode.classList.remove(\"disabled\"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(let J of this.additionalToggles)J.enable()}disable(){this.domNode.classList.add(\"disabled\"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(let J of this.additionalToggles)J.disable()}setFocusInputOnOptionClick(J){this.fixFocusOnOptionClickEnabled=J}setEnabled(J){if(J)this.enable();else this.disable()}setAdditionalToggles(J){for(let X of this.additionalToggles)X.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new a;for(let X of J??[])this.additionalTogglesDisposables.value.add(X),this.controls.appendChild(X.domNode),this.additionalTogglesDisposables.value.add(X.onChange((Y)=>{if(this._onDidOptionChange.fire(Y),!Y&&this.fixFocusOnOptionClickEnabled)this.inputBox.focus()})),this.additionalToggles.push(X);if(this.additionalToggles.length>0)this.controls.style.display=\"\";this.updateInputBoxPadding()}getToggleDomNodes(){let J=[];if(this.caseSensitive)J.push(this.caseSensitive.domNode);if(this.wholeWords)J.push(this.wholeWords.domNode);if(this.regex)J.push(this.regex.domNode);for(let X of this.additionalToggles)J.push(X.domNode);return J}setActions(J,X){this.inputBox.setActions(J,X),this.updateInputBoxPadding()}updateInputBoxPadding(J=!1){let X=J?0:(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce((Y,Z)=>Y+Z.width(),0);this.inputBox.paddingRight=X+this.inputBox.actionsWidth}getValue(){return this.inputBox.value}setValue(J){if(this.inputBox.value!==J)this.inputBox.value=J}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(J){if(this.caseSensitive)this.caseSensitive.checked=J}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(J){if(this.wholeWords)this.wholeWords.checked=J}getRegex(){return this.regex?.checked??!1}setRegex(J){if(this.regex)this.regex.checked=J,this.validate()}focusOnCaseSensitive(){this.caseSensitive?.focus()}highlightFindOptions(){this.domNode.classList.remove(\"highlight-\"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add(\"highlight-\"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(J){this.inputBox.showMessage(J)}clearMessage(){this.inputBox.hideMessage()}}var a5;(function(J){J[J.Expanded=0]=\"Expanded\",J[J.Collapsed=1]=\"Collapsed\",J[J.PreserveOrExpanded=2]=\"PreserveOrExpanded\",J[J.PreserveOrCollapsed=3]=\"PreserveOrCollapsed\"})(a5||(a5={}));var U3;(function(J){J[J.Unknown=0]=\"Unknown\",J[J.Twistie=1]=\"Twistie\",J[J.Element=2]=\"Element\",J[J.Filter=3]=\"Filter\"})(U3||(U3={}));class i5 extends Error{constructor(J,X){super(`TreeError [${J}] ${X}`)}}class Yj{constructor(J){this.fn=J,this._map=new WeakMap}map(J){let X=this._map.get(J);if(!X)X=this.fn(J),this._map.set(J,X);return X}}function H3(J){return!!J&&J.visibility!==void 0}function GZ(J){switch(J){case!0:return 1;case!1:return 0;default:return J}}function Sp(J){return\"collapsible\"in J}class fp{constructor(J,X,Y={}){this.user=J,this.rootRef=[],this.eventBufferer=new KX,this._onDidSpliceModel=new E,this.onDidSpliceModel=this._onDidSpliceModel.event,this._onDidSpliceRenderedNodes=new E,this.onDidSpliceRenderedNodes=this._onDidSpliceRenderedNodes.event,this._onDidChangeCollapseState=new E,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new E,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this.refilterDelayer=new Y4(nO),this.collapseByDefault=typeof Y.collapseByDefault>\"u\"?!1:Y.collapseByDefault,this.allowNonCollapsibleParents=Y.allowNonCollapsibleParents??!1,this.filter=Y.filter,this.autoExpandSingleChildren=typeof Y.autoExpandSingleChildren>\"u\"?!1:Y.autoExpandSingleChildren,this.root={parent:void 0,element:X,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(J,X,Y=s0.empty(),Z={}){if(J.length===0)throw new i5(this.user,\"Invalid tree location\");if(Z.diffIdentityProvider)this.spliceSmart(Z.diffIdentityProvider,J,X,Y,Z);else this.spliceSimple(J,X,Y,Z)}spliceSmart(J,X,Y,Z=s0.empty(),Q,$=Q.diffDepth??0){let{parentNode:q}=this.getParentNodeWithListIndex(X);if(!q.lastDiffIds)return this.spliceSimple(X,Y,Z,Q);let G=[...Z],U=X[X.length-1],H=new RX({getElements:()=>q.lastDiffIds},{getElements:()=>[...q.children.slice(0,U),...G,...q.children.slice(U+Y)].map((z)=>J.getId(z.element).toString())}).ComputeDiff(!1);if(H.quitEarly)return q.lastDiffIds=void 0,this.spliceSimple(X,Y,G,Q);let V=X.slice(0,-1),K=(z,B,P)=>{if($>0)for(let _=0;_<P;_++)z--,B--,this.spliceSmart(J,[...V,z,0],Number.MAX_SAFE_INTEGER,G[B].children,Q,$-1)},j=Math.min(q.children.length,U+Y),W=G.length;for(let z of H.changes.sort((B,P)=>P.originalStart-B.originalStart))K(j,W,j-(z.originalStart+z.originalLength)),j=z.originalStart,W=z.modifiedStart-U,this.spliceSimple([...V,j],z.originalLength,s0.slice(G,W,W+z.modifiedLength),Q);K(j,W,j)}spliceSimple(J,X,Y=s0.empty(),{onDidCreateNode:Z,onDidDeleteNode:Q,diffIdentityProvider:$}){let{parentNode:q,listIndex:G,revealed:U,visible:H}=this.getParentNodeWithListIndex(J),V=[],K=s0.map(Y,(D)=>this.createTreeNode(D,q,q.visible?1:0,U,V,Z)),j=J[J.length-1],W=0;for(let D=j;D>=0&&D<q.children.length;D--){let R=q.children[D];if(R.visible){W=R.visibleChildIndex;break}}let z=[],B=0,P=0;for(let D of K)if(z.push(D),P+=D.renderNodeCount,D.visible)D.visibleChildIndex=W+B++;let _=Zq(q.children,j,X,z);if(!$)q.lastDiffIds=void 0;else if(q.lastDiffIds)Zq(q.lastDiffIds,j,X,z.map((D)=>$.getId(D.element).toString()));else q.lastDiffIds=q.children.map((D)=>$.getId(D.element).toString());let A=0;for(let D of _)if(D.visible)A++;if(A!==0)for(let D=j+z.length;D<q.children.length;D++){let R=q.children[D];if(R.visible)R.visibleChildIndex-=A}if(q.visibleChildrenCount+=B-A,_.length>0&&Q){let D=(R)=>{Q(R),R.children.forEach(D)};_.forEach(D)}if(U&&H){let D=_.reduce((R,N)=>R+(N.visible?N.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(q,P-D),this._onDidSpliceRenderedNodes.fire({start:G,deleteCount:D,elements:V})}this._onDidSpliceModel.fire({insertedNodes:z,deletedNodes:_});let O=q;while(O){if(O.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}O=O.parent}}rerender(J){if(J.length===0)throw new i5(this.user,\"Invalid tree location\");let{node:X,listIndex:Y,revealed:Z}=this.getTreeNodeWithListIndex(J);if(X.visible&&Z)this._onDidSpliceRenderedNodes.fire({start:Y,deleteCount:1,elements:[X]})}has(J){return this.hasTreeNode(J)}getListIndex(J){let{listIndex:X,visible:Y,revealed:Z}=this.getTreeNodeWithListIndex(J);return Y&&Z?X:-1}getListRenderCount(J){return this.getTreeNode(J).renderNodeCount}isCollapsible(J){return this.getTreeNode(J).collapsible}setCollapsible(J,X){let Y=this.getTreeNode(J);if(typeof X>\"u\")X=!Y.collapsible;let Z={collapsible:X};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(J,Z))}isCollapsed(J){return this.getTreeNode(J).collapsed}setCollapsed(J,X,Y){let Z=this.getTreeNode(J);if(typeof X>\"u\")X=!Z.collapsed;let Q={collapsed:X,recursive:Y||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(J,Q))}_setCollapseState(J,X){let{node:Y,listIndex:Z,revealed:Q}=this.getTreeNodeWithListIndex(J),$=this._setListNodeCollapseState(Y,Z,Q,X);if(Y!==this.root&&this.autoExpandSingleChildren&&$&&!Sp(X)&&Y.collapsible&&!Y.collapsed&&!X.recursive){let q=-1;for(let G=0;G<Y.children.length;G++)if(Y.children[G].visible)if(q>-1){q=-1;break}else q=G;if(q>-1)this._setCollapseState([...J,q],X)}return $}_setListNodeCollapseState(J,X,Y,Z){let Q=this._setNodeCollapseState(J,Z,!1);if(!Y||!J.visible||!Q)return Q;let $=J.renderNodeCount,q=this.updateNodeAfterCollapseChange(J),G=$-(X===-1?0:1);return this._onDidSpliceRenderedNodes.fire({start:X+1,deleteCount:G,elements:q.slice(1)}),Q}_setNodeCollapseState(J,X,Y){let Z;if(J===this.root)Z=!1;else{if(Sp(X))Z=J.collapsible!==X.collapsible,J.collapsible=X.collapsible;else if(!J.collapsible)Z=!1;else Z=J.collapsed!==X.collapsed,J.collapsed=X.collapsed;if(Z)this._onDidChangeCollapseState.fire({node:J,deep:Y})}if(!Sp(X)&&X.recursive)for(let Q of J.children)Z=this._setNodeCollapseState(Q,X,!0)||Z;return Z}expandTo(J){this.eventBufferer.bufferEvents(()=>{let X=this.getTreeNode(J);while(X.parent)if(X=X.parent,J=J.slice(0,J.length-1),X.collapsed)this._setCollapseState(J,{collapsed:!1,recursive:!1})})}refilter(){let J=this.root.renderNodeCount,X=this.updateNodeAfterFilterChange(this.root);this._onDidSpliceRenderedNodes.fire({start:0,deleteCount:J,elements:X}),this.refilterDelayer.cancel()}createTreeNode(J,X,Y,Z,Q,$){let q={parent:X,element:J.element,children:[],depth:X.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof J.collapsible===\"boolean\"?J.collapsible:typeof J.collapsed<\"u\",collapsed:typeof J.collapsed>\"u\"?this.collapseByDefault:J.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},G=this._filterNode(q,Y);if(q.visibility=G,Z)Q.push(q);let U=J.children||s0.empty(),H=Z&&G!==0&&!q.collapsed,V=0,K=1;for(let j of U){let W=this.createTreeNode(j,q,G,H,Q,$);if(q.children.push(W),K+=W.renderNodeCount,W.visible)W.visibleChildIndex=V++}if(!this.allowNonCollapsibleParents)q.collapsible=q.collapsible||q.children.length>0;if(q.visibleChildrenCount=V,q.visible=G===2?V>0:G===1,!q.visible){if(q.renderNodeCount=0,Z)Q.pop()}else if(!q.collapsed)q.renderNodeCount=K;return $?.(q),q}updateNodeAfterCollapseChange(J){let X=J.renderNodeCount,Y=[];return this._updateNodeAfterCollapseChange(J,Y),this._updateAncestorsRenderNodeCount(J.parent,Y.length-X),Y}_updateNodeAfterCollapseChange(J,X){if(J.visible===!1)return 0;if(X.push(J),J.renderNodeCount=1,!J.collapsed)for(let Y of J.children)J.renderNodeCount+=this._updateNodeAfterCollapseChange(Y,X);return this._onDidChangeRenderNodeCount.fire(J),J.renderNodeCount}updateNodeAfterFilterChange(J){let X=J.renderNodeCount,Y=[];return this._updateNodeAfterFilterChange(J,J.visible?1:0,Y),this._updateAncestorsRenderNodeCount(J.parent,Y.length-X),Y}_updateNodeAfterFilterChange(J,X,Y,Z=!0){let Q;if(J!==this.root){if(Q=this._filterNode(J,X),Q===0)return J.visible=!1,J.renderNodeCount=0,!1;if(Z)Y.push(J)}let $=Y.length;J.renderNodeCount=J===this.root?0:1;let q=!1;if(!J.collapsed||Q!==0){let G=0;for(let U of J.children)if(q=this._updateNodeAfterFilterChange(U,Q,Y,Z&&!J.collapsed)||q,U.visible)U.visibleChildIndex=G++;J.visibleChildrenCount=G}else J.visibleChildrenCount=0;if(J!==this.root)J.visible=Q===2?q:Q===1,J.visibility=Q;if(!J.visible){if(J.renderNodeCount=0,Z)Y.pop()}else if(!J.collapsed)J.renderNodeCount+=Y.length-$;return this._onDidChangeRenderNodeCount.fire(J),J.visible}_updateAncestorsRenderNodeCount(J,X){if(X===0)return;while(J)J.renderNodeCount+=X,this._onDidChangeRenderNodeCount.fire(J),J=J.parent}_filterNode(J,X){let Y=this.filter?this.filter.filter(J.element,X):1;if(typeof Y===\"boolean\")return J.filterData=void 0,Y?1:0;else if(H3(Y))return J.filterData=Y.data,GZ(Y.visibility);else return J.filterData=void 0,GZ(Y)}hasTreeNode(J,X=this.root){if(!J||J.length===0)return!0;let[Y,...Z]=J;if(Y<0||Y>X.children.length)return!1;return this.hasTreeNode(Z,X.children[Y])}getTreeNode(J,X=this.root){if(!J||J.length===0)return X;let[Y,...Z]=J;if(Y<0||Y>X.children.length)throw new i5(this.user,\"Invalid tree location\");return this.getTreeNode(Z,X.children[Y])}getTreeNodeWithListIndex(J){if(J.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};let{parentNode:X,listIndex:Y,revealed:Z,visible:Q}=this.getParentNodeWithListIndex(J),$=J[J.length-1];if($<0||$>X.children.length)throw new i5(this.user,\"Invalid tree location\");let q=X.children[$];return{node:q,listIndex:Y,revealed:Z,visible:Q&&q.visible}}getParentNodeWithListIndex(J,X=this.root,Y=0,Z=!0,Q=!0){let[$,...q]=J;if($<0||$>X.children.length)throw new i5(this.user,\"Invalid tree location\");for(let G=0;G<$;G++)Y+=X.children[G].renderNodeCount;if(Z=Z&&!X.collapsed,Q=Q&&X.visible,q.length===0)return{parentNode:X,listIndex:Y,revealed:Z,visible:Q};return this.getParentNodeWithListIndex(q,X.children[$],Y+1,Z,Q)}getNode(J=[]){return this.getTreeNode(J)}getNodeLocation(J){let X=[],Y=J;while(Y.parent)X.push(Y.parent.children.indexOf(Y)),Y=Y.parent;return X.reverse()}getParentNodeLocation(J){if(J.length===0)return;else if(J.length===1)return[];else return dr(J)[0]}getFirstElementChild(J){let X=this.getTreeNode(J);if(X.children.length===0)return;return X.children[0].element}}class hY0 extends Q3{constructor(J){super(J.elements.map((X)=>X.element));this.data=J}}function hp(J){if(J instanceof Q3)return new hY0(J);return J}class vY0{constructor(J,X){this.modelProvider=J,this.dnd=X,this.autoExpandDisposable=y.None,this.disposables=new a}getDragURI(J){return this.dnd.getDragURI(J.element)}getDragLabel(J,X){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(J.map((Y)=>Y.element),X);return}onDragStart(J,X){this.dnd.onDragStart?.(hp(J),X)}onDragOver(J,X,Y,Z,Q,$=!0){let q=this.dnd.onDragOver(hp(J),X&&X.element,Y,Z,Q),G=this.autoExpandNode!==X;if(G)this.autoExpandDisposable.dispose(),this.autoExpandNode=X;if(typeof X>\"u\")return q;if(G&&typeof q!==\"boolean\"&&q.autoExpand)this.autoExpandDisposable=AX(()=>{let j=this.modelProvider(),W=j.getNodeLocation(X);if(j.isCollapsed(W))j.setCollapsed(W,!1);this.autoExpandNode=void 0},500,this.disposables);if(typeof q===\"boolean\"||!q.accept||typeof q.bubble>\"u\"||q.feedback){if(!$){let j=typeof q===\"boolean\"?q:q.accept,W=typeof q===\"boolean\"?void 0:q.effect;return{accept:j,effect:W,feedback:[Y]}}return q}if(q.bubble===1){let j=this.modelProvider(),W=j.getNodeLocation(X),z=j.getParentNodeLocation(W),B=j.getNode(z),P=z&&j.getListIndex(z);return this.onDragOver(J,B,P,Z,Q,!1)}let U=this.modelProvider(),H=U.getNodeLocation(X),V=U.getListIndex(H),K=U.getListRenderCount(H);return{...q,feedback:H5(V,V+K)}}drop(J,X,Y,Z,Q){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(hp(J),X&&X.element,Y,Z,Q)}onDragEnd(J){this.dnd.onDragEnd?.(J)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function lD0(J,X,Y){return Y&&{...Y,identityProvider:Y.identityProvider&&{getId(Z){return Y.identityProvider.getId(Z.element)},getGroupId:Y.identityProvider.getGroupId?(Z)=>{return Y.identityProvider.getGroupId(Z.element)}:void 0},dnd:Y.dnd&&X.add(new vY0(J,Y.dnd)),multipleSelectionController:Y.multipleSelectionController&&{isSelectionSingleChangeEvent(Z){return Y.multipleSelectionController.isSelectionSingleChangeEvent({...Z,element:Z.element})},isSelectionRangeChangeEvent(Z){return Y.multipleSelectionController.isSelectionRangeChangeEvent({...Z,element:Z.element})}},accessibilityProvider:Y.accessibilityProvider&&{...Y.accessibilityProvider,getSetSize(Z){let Q=J(),$=Q.getNodeLocation(Z),q=Q.getParentNodeLocation($);return Q.getNode(q).visibleChildrenCount},getPosInSet(Z){return Z.visibleChildIndex+1},isChecked:Y.accessibilityProvider&&Y.accessibilityProvider.isChecked?(Z)=>{return Y.accessibilityProvider.isChecked(Z.element)}:void 0,getRole:Y.accessibilityProvider&&Y.accessibilityProvider.getRole?(Z)=>{return Y.accessibilityProvider.getRole(Z.element)}:()=>\"treeitem\",getAriaLabel(Z){return Y.accessibilityProvider.getAriaLabel(Z.element)},getWidgetAriaLabel(){return Y.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:Y.accessibilityProvider&&Y.accessibilityProvider.getWidgetRole?()=>Y.accessibilityProvider.getWidgetRole():()=>\"tree\",getAriaLevel:Y.accessibilityProvider&&Y.accessibilityProvider.getAriaLevel?(Z)=>Y.accessibilityProvider.getAriaLevel(Z.element):(Z)=>{return Z.depth},getActiveDescendantId:Y.accessibilityProvider.getActiveDescendantId&&((Z)=>{return Y.accessibilityProvider.getActiveDescendantId(Z.element)})},keyboardNavigationLabelProvider:Y.keyboardNavigationLabelProvider&&{...Y.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(Z){return Y.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Z.element)}}}}class S_{constructor(J){this.delegate=J}getHeight(J){return this.delegate.getHeight(J.element)}getTemplateId(J){return this.delegate.getTemplateId(J.element)}hasDynamicHeight(J){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(J.element)}setDynamicHeight(J,X){this.delegate.setDynamicHeight?.(J.element,X)}}var tQ;(function(J){J.None=\"none\",J.OnHover=\"onHover\",J.Always=\"always\"})(tQ||(tQ={}));class gY0{get elements(){return this._elements}constructor(J,X=[]){this._elements=X,this.disposables=new a,this.onDidChange=i.forEach(J,(Y)=>this._elements=Y,this.disposables)}dispose(){this.disposables.dispose()}}class AT{static{this.DefaultIndent=8}constructor(J,X,Y,Z,Q,$={}){this.renderer=J,this.model=X,this.activeNodes=Z,this.renderedIndentGuides=Q,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=AT.DefaultIndent,this.defaultIndent=AT.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=y.None,this.disposables=new a,this.templateId=J.templateId,this.updateOptions($),i.map(Y,(q)=>q.node)(this.onDidChangeNodeTwistieState,this,this.disposables),J.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(J={}){if(typeof J.defaultIndent<\"u\")this.defaultIndent=J.defaultIndent;if(typeof J.indent<\"u\"||typeof J.defaultIndent<\"u\"){let X=typeof J.indent<\"u\"?_5(J.indent,0,40):this.indent;if(X!==this.indent||typeof J.defaultIndent<\"u\"){this.indent=X;for(let[Z,Q]of this.renderedNodes)Q.indentSize=this.defaultIndent+(Z.depth-1)*this.indent,this.renderTreeElement(Z,Q)}}if(typeof J.renderIndentGuides<\"u\"){let X=J.renderIndentGuides!==tQ.None;if(X!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=X;for(let[Y,Z]of this.renderedNodes)this._renderIndentGuides(Y,Z);if(this.indentGuidesDisposable.dispose(),X){let Y=new a;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,Y),this.indentGuidesDisposable=Y,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}if(typeof J.hideTwistiesOfChildlessElements<\"u\")this.hideTwistiesOfChildlessElements=J.hideTwistiesOfChildlessElements;if(typeof J.twistieAdditionalCssClass<\"u\")this.twistieAdditionalCssClass=J.twistieAdditionalCssClass}renderTemplate(J){let X=q0(J,$0(\".monaco-tl-row\")),Y=q0(X,$0(\".monaco-tl-indent\")),Z=q0(X,$0(\".monaco-tl-twistie\")),Q=q0(X,$0(\".monaco-tl-contents\")),$=this.renderer.renderTemplate(Q);return{container:J,indent:Y,twistie:Z,indentGuidesDisposable:y.None,indentSize:0,templateData:$}}renderElement(J,X,Y,Z){Y.indentSize=this.defaultIndent+(J.depth-1)*this.indent,this.renderedNodes.set(J,Y),this.renderedElements.set(J.element,J),this.renderTreeElement(J,Y),this.renderer.renderElement(J,X,Y.templateData,{...Z,indent:Y.indentSize})}disposeElement(J,X,Y,Z){if(Y.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(J,X,Y.templateData,{...Z,indent:Y.indentSize}),typeof Z?.height===\"number\")this.renderedNodes.delete(J),this.renderedElements.delete(J.element)}disposeTemplate(J){this.renderer.disposeTemplate(J.templateData)}onDidChangeTwistieState(J){let X=this.renderedElements.get(J);if(!X)return;this.onDidChangeNodeTwistieState(X)}onDidChangeNodeTwistieState(J){let X=this.renderedNodes.get(J);if(!X)return;this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(J,X)}renderTreeElement(J,X){if(X.twistie.className=X.twistie.classList.item(0),X.twistie.style.paddingLeft=`${X.indentSize}px`,X.indent.style.width=`${X.indentSize+this.indent-16}px`,J.collapsible)X.container.setAttribute(\"aria-expanded\",String(!J.collapsed));else X.container.removeAttribute(\"aria-expanded\");X.twistie.classList.remove(...M0.asClassNameArray(t.treeItemExpanded));let Y=!1;if(this.renderer.renderTwistie)Y=this.renderer.renderTwistie(J.element,X.twistie);if(J.collapsible&&(!this.hideTwistiesOfChildlessElements||J.visibleChildrenCount>0)){if(!Y)X.twistie.classList.add(...M0.asClassNameArray(t.treeItemExpanded));X.twistie.classList.add(\"collapsible\"),X.twistie.classList.toggle(\"collapsed\",J.collapsed)}else X.twistie.classList.remove(\"collapsible\",\"collapsed\");if(this.twistieAdditionalCssClass){let Z=this.twistieAdditionalCssClass(J.element);if(Z)X.twistie.classList.add(Z)}this._renderIndentGuides(J,X)}_renderIndentGuides(J,X){if(r8(X.indent),X.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;let Y=new a;while(!0){let Z=this.model.getNodeLocation(J),Q=this.model.getParentNodeLocation(Z);if(!Q)break;let $=this.model.getNode(Q),q=$0(\".indent-guide\",{style:`width: ${this.indent}px`});if(this.activeIndentNodes.has($))q.classList.add(\"active\");if(X.indent.childElementCount===0)X.indent.appendChild(q);else X.indent.insertBefore(q,X.indent.firstElementChild);this.renderedIndentGuides.add($,q),Y.add(J0(()=>this.renderedIndentGuides.delete($,q))),J=$}X.indentGuidesDisposable=Y}_onDidChangeActiveNodes(J){if(!this.shouldRenderIndentGuides)return;let X=new Set;J.forEach((Y)=>{let Z=this.model.getNodeLocation(Y);try{let Q=this.model.getParentNodeLocation(Z);if(Y.collapsible&&Y.children.length>0&&!Y.collapsed)X.add(Y);else if(Q)X.add(this.model.getNode(Q))}catch{}}),this.activeIndentNodes.forEach((Y)=>{if(!X.has(Y))this.renderedIndentGuides.forEach(Y,(Z)=>Z.classList.remove(\"active\"))}),X.forEach((Y)=>{if(!this.activeIndentNodes.has(Y))this.renderedIndentGuides.forEach(Y,(Z)=>Z.classList.add(\"active\"))}),this.activeIndentNodes=X}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),D1(this.disposables)}}function sD0(J,X){let Y=X.toLowerCase().indexOf(J),Z;if(Y>-1){Z=[Number.MAX_SAFE_INTEGER,0];for(let Q=J.length;Q>0;Q--)Z.push(Y+Q-1)}return Z}class PT{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}set findMatchType(J){this._findMatchType=J}get findMatchType(){return this._findMatchType}set findMode(J){this._findMode=J}get findMode(){return this._findMode}constructor(J,X,Y){this._keyboardNavigationLabelProvider=J,this._filter=X,this._defaultFindVisibility=Y,this._totalCount=0,this._matchCount=0,this._findMatchType=rJ.Fuzzy,this._findMode=P4.Highlight,this._pattern=\"\",this._lowercasePattern=\"\",this.disposables=new a}filter(J,X){let Y=1;if(this._filter){let $=this._filter.filter(J,X);if(typeof $===\"boolean\")Y=$?1:0;else if(H3($))Y=GZ($.visibility);else Y=$;if(Y===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:cQ.Default,visibility:Y};let Z=this._keyboardNavigationLabelProvider.getKeyboardNavigationLabel(J),Q=Array.isArray(Z)?Z:[Z];for(let $ of Q){let q=$&&$.toString();if(typeof q>\"u\")return{data:cQ.Default,visibility:Y};let G;if(this._findMatchType===rJ.Contiguous)G=sD0(this._lowercasePattern,q.toLowerCase());else G=lv(this._pattern,this._lowercasePattern,0,q,q.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(G)return this._matchCount++,Q.length===1?{data:G,visibility:Y}:{data:{label:q,score:G},visibility:Y}}if(this._findMode===P4.Filter)if(typeof this._defaultFindVisibility===\"number\")return this._defaultFindVisibility;else if(this._defaultFindVisibility)return this._defaultFindVisibility(J);else return 2;else return{data:cQ.Default,visibility:Y}}reset(){this._totalCount=0,this._matchCount=0}dispose(){D1(this.disposables)}}class pY0{constructor(J){this.stateMap=new Map(J.map((X)=>[X.id,{...X}]))}get(J){let X=this.stateMap.get(J);if(X===void 0)throw Error(`No state found for toggle id ${J}`);return X.isChecked}set(J,X){let Y=this.stateMap.get(J);if(Y===void 0)throw Error(`No state found for toggle id ${J}`);if(Y.isChecked===X)return!1;return Y.isChecked=X,!0}}var P4;(function(J){J[J.Highlight=0]=\"Highlight\",J[J.Filter=1]=\"Filter\"})(P4||(P4={}));var rJ;(function(J){J[J.Fuzzy=0]=\"Fuzzy\",J[J.Contiguous=1]=\"Contiguous\"})(rJ||(rJ={}));var V3;(function(J){J.Mode=\"mode\",J.MatchType=\"matchType\"})(V3||(V3={}));class mY0{get pattern(){return this._pattern}get placeholder(){return this._placeholder}set placeholder(J){this._placeholder=J,this.widget?.setPlaceHolder(J)}constructor(J,X,Y,Z={}){this.tree=J,this.filter=X,this.contextViewProvider=Y,this.options=Z,this._pattern=\"\",this._onDidChangePattern=new E,this._onDidChangeOpenState=new E,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new a,this.disposables=new a,this.toggles=new pY0(Z.toggles??[]),this._placeholder=Z.placeholder??F(22,\"Type to search\")}isOpened(){return!!this.widget}updateToggleState(J,X){this.toggles.set(J,X),this.widget?.setToggleState(J,X)}renderMessage(J,X){if(J)if(this.tree.options.showNotFoundMessage??!0)this.widget?.showMessage({type:2,content:X??F(23,\"No results found.\")});else this.widget?.showMessage({type:2});else this.widget?.clearMessage()}alertResults(J){if(!J)y4(F(24,\"No results\"));else y4(F(25,\"{0} results\",J))}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class DT extends mY0{get mode(){return this.toggles.get(V3.Mode)?P4.Filter:P4.Highlight}set mode(J){if(J===this.mode)return;let X=J===P4.Filter;this.updateToggleState(V3.Mode,X),this.placeholder=X?F(26,\"Type to filter\"):F(27,\"Type to search\"),this.filter.findMode=J,this.tree.refilter(),this.render(),this._onDidChangeMode.fire(J)}get matchType(){return this.toggles.get(V3.MatchType)?rJ.Fuzzy:rJ.Contiguous}set matchType(J){if(J===this.matchType)return;this.updateToggleState(V3.MatchType,J===rJ.Fuzzy),this.filter.findMatchType=J,this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(J)}constructor(J,X,Y,Z={}){let Q=Z.defaultFindMode??P4.Highlight,$=Z.defaultFindMatchType??rJ.Fuzzy,q=[{id:V3.Mode,icon:t.listFilter,title:F(28,\"Filter\"),isChecked:Q===P4.Filter},{id:V3.MatchType,icon:t.searchFuzzy,title:F(29,\"Fuzzy Match\"),isChecked:$===rJ.Fuzzy}];X.findMatchType=$,X.findMode=Q;super(J,X,Y,{...Z,toggles:q});this.filter=X,this._onDidChangeMode=new E,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new E,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this.disposables.add(this.tree.onDidChangeModel(()=>{if(!this.isOpened())return;if(this.pattern.length!==0)this.tree.refilter();this.render()})),this.disposables.add(this.tree.onWillRefilter(()=>this.filter.reset()))}updateOptions(J={}){if(J.defaultFindMode!==void 0)this.mode=J.defaultFindMode;if(J.defaultFindMatchType!==void 0)this.matchType=J.defaultFindMatchType}shouldAllowFocus(J){if(!this.isOpened()||!this.pattern)return!0;if(this.filter.totalCount>0&&this.filter.matchCount<=1)return!0;return!cQ.isDefault(J.filterData)}render(){let X=this.filter.matchCount===0&&this.filter.totalCount>0&&this.pattern.length>0;if(this.renderMessage(X),this.pattern.length)this.alertResults(this.filter.matchCount)}}function aD0(J,X){return J.position===X.position&&uY0(J,X)}function uY0(J,X){return J.node.element===X.node.element&&J.startIndex===X.startIndex&&J.height===X.height&&J.endIndex===X.endIndex}class cY0{constructor(J=[]){this.stickyNodes=J}get count(){return this.stickyNodes.length}equal(J){return w1(this.stickyNodes,J.stickyNodes,aD0)}contains(J){return this.stickyNodes.some((X)=>X.node.element===J.element)}lastNodePartiallyVisible(){if(this.count===0)return!1;let J=this.stickyNodes[this.count-1];if(this.count===1)return J.position!==0;let X=this.stickyNodes[this.count-2];return X.position+X.height!==J.position}animationStateChanged(J){if(!w1(this.stickyNodes,J.stickyNodes,uY0))return!1;if(this.count===0)return!1;let X=this.stickyNodes[this.count-1],Y=J.stickyNodes[J.count-1];return X.position!==Y.position}}class dY0{constrainStickyScrollNodes(J,X,Y){for(let Z=0;Z<J.length;Z++){let Q=J[Z];if(Q.position+Q.height>Y||Z>=X)return J.slice(0,Z)}return J}}class vp extends y{constructor(J,X,Y,Z,Q,$={}){super();this.tree=J,this.model=X,this.view=Y,this.treeDelegate=Q,this.maxWidgetViewRatio=0.4;let q=this.validateStickySettings($);this.stickyScrollMaxItemCount=q.stickyScrollMaxItemCount,this.stickyScrollDelegate=$.stickyScrollDelegate??new dY0,this.paddingTop=$.paddingTop??0,this._widget=this._register(new lY0(Y.getScrollableElement(),Y,J,Z,Q,$.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(Y.onDidScroll(()=>this.update())),this._register(Y.onDidChangeContentHeight(()=>this.update())),this._register(J.onDidChangeCollapseState(()=>this.update())),this._register(X.onDidSpliceRenderedNodes((G)=>{let U=this._widget.state;if(!U)return;if(G.deleteCount>0&&U.stickyNodes.some((K)=>!this.model.has(this.model.getNodeLocation(K.node)))){this.update();return}if(U.stickyNodes.some((K)=>{let j=this.model.getListIndex(this.model.getNodeLocation(K.node));return j>=G.start&&j<G.start+G.deleteCount&&U.contains(K.node)}))this._widget.rerender()})),this.update()}get height(){return this._widget.height}getNodeAtHeight(J){let X;if(J===0)X=this.view.firstVisibleIndex;else X=this.view.indexAt(J+this.view.scrollTop);if(X<0||X>=this.view.length)return;return this.view.element(X)}update(){let J=this.getNodeAtHeight(this.paddingTop);if(!J||this.tree.scrollTop<=this.paddingTop||this.view.renderHeight===0){this._widget.setState(void 0);return}let X=this.findStickyState(J);this._widget.setState(X)}findStickyState(J){let X=[],Y=J,Z=0,Q=this.getNextStickyNode(Y,void 0,Z);while(Q){if(X.push(Q),Z+=Q.height,X.length<=this.stickyScrollMaxItemCount){if(Y=this.getNextVisibleNode(Q),!Y)break}Q=this.getNextStickyNode(Y,Q.node,Z)}let $=this.constrainStickyNodes(X);return $.length?new cY0($):void 0}getNextVisibleNode(J){return this.getNodeAtHeight(J.position+J.height)}getNextStickyNode(J,X,Y){let Z=this.getAncestorUnderPrevious(J,X);if(!Z)return;if(Z===J){if(!this.nodeIsUncollapsedParent(J))return;if(this.nodeTopAlignsWithStickyNodesBottom(J,Y))return}return this.createStickyScrollNode(Z,Y)}nodeTopAlignsWithStickyNodesBottom(J,X){let Y=this.getNodeIndex(J),Z=this.view.getElementTop(Y),Q=X;return this.view.scrollTop===Z-Q}createStickyScrollNode(J,X){let Y=this.treeDelegate.getHeight(J),{startIndex:Z,endIndex:Q}=this.getNodeRange(J),$=this.calculateStickyNodePosition(Q,X,Y);return{node:J,position:$,height:Y,startIndex:Z,endIndex:Q}}getAncestorUnderPrevious(J,X=void 0){let Y=J,Z=this.getParentNode(Y);while(Z){if(Z===X)return Y;Y=Z,Z=this.getParentNode(Y)}if(X===void 0)return Y;return}calculateStickyNodePosition(J,X,Y){let Z=this.view.getRelativeTop(J);if(Z===null&&this.view.firstVisibleIndex===J&&J+1<this.view.length){let U=this.treeDelegate.getHeight(this.view.element(J)),H=this.view.getRelativeTop(J+1);Z=H?H-U/this.view.renderHeight:null}if(Z===null)return X;let Q=this.view.element(J),$=this.treeDelegate.getHeight(Q),G=Z*this.view.renderHeight+$;if(X+Y>G&&X<=G)return G-Y;return X}constrainStickyNodes(J){if(J.length===0)return[];let X=this.view.renderHeight*this.maxWidgetViewRatio,Y=J[J.length-1];if(J.length<=this.stickyScrollMaxItemCount&&Y.position+Y.height<=X)return J;let Z=this.stickyScrollDelegate.constrainStickyScrollNodes(J,this.stickyScrollMaxItemCount,X);if(!Z.length)return[];let Q=Z[Z.length-1];if(Z.length>this.stickyScrollMaxItemCount||Q.position+Q.height>X)throw Error(\"stickyScrollDelegate violates constraints\");return Z}getParentNode(J){let X=this.model.getNodeLocation(J),Y=this.model.getParentNodeLocation(X);return Y?this.model.getNode(Y):void 0}nodeIsUncollapsedParent(J){let X=this.model.getNodeLocation(J);return this.model.getListRenderCount(X)>1}getNodeIndex(J){let X=this.model.getNodeLocation(J);return this.model.getListIndex(X)}getNodeRange(J){let X=this.model.getNodeLocation(J),Y=this.model.getListIndex(X);if(Y<0)throw Error(\"Node not found in tree\");let Z=this.model.getListRenderCount(X),Q=Y+Z-1;return{startIndex:Y,endIndex:Q}}nodePositionTopBelowWidget(J){let X=[],Y=this.getParentNode(J);while(Y)X.push(Y),Y=this.getParentNode(Y);let Z=0;for(let Q=0;Q<X.length&&Q<this.stickyScrollMaxItemCount;Q++)Z+=this.treeDelegate.getHeight(X[Q]);return Z}domFocus(){this._widget.domFocus()}focusedLast(){return this._widget.focusedLast()}updateOptions(J={}){if(J.paddingTop!==void 0)this.paddingTop=J.paddingTop;if(J.stickyScrollMaxItemCount!==void 0){let X=this.validateStickySettings(J);if(this.stickyScrollMaxItemCount!==X.stickyScrollMaxItemCount)this.stickyScrollMaxItemCount=X.stickyScrollMaxItemCount,this.update()}}validateStickySettings(J){let X=7;if(typeof J.stickyScrollMaxItemCount===\"number\")X=Math.max(J.stickyScrollMaxItemCount,1);return{stickyScrollMaxItemCount:X}}}class lY0{get state(){return this._previousState}constructor(J,X,Y,Z,Q,$){this.view=X,this.tree=Y,this.treeRenderers=Z,this.treeDelegate=Q,this.accessibilityProvider=$,this._previousElements=[],this._previousStateDisposables=new a,this._rootDomNode=$0(\".monaco-tree-sticky-container.empty\"),J.appendChild(this._rootDomNode);let q=$0(\".monaco-tree-sticky-container-shadow\");this._rootDomNode.appendChild(q),this.stickyScrollFocus=new sY0(this._rootDomNode,X),this.onDidChangeHasFocus=this.stickyScrollFocus.onDidChangeHasFocus,this.onContextMenu=this.stickyScrollFocus.onContextMenu}get height(){if(!this._previousState)return 0;let J=this._previousState.stickyNodes[this._previousState.count-1];return J.position+J.height}setState(J){let X=!!this._previousState&&this._previousState.count>0,Y=!!J&&J.count>0;if(!X&&!Y||X&&Y&&this._previousState.equal(J))return;if(X!==Y)this.setVisible(Y);if(!Y){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}let Z=J.stickyNodes[J.count-1];if(this._previousState&&J.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top=`${Z.position}px`;else this.renderState(J);this._previousState=J,this._rootDomNode.style.height=`${Z.position+Z.height}px`}renderState(J){this._previousStateDisposables.clear();let X=Array(J.count);for(let Y=J.count-1;Y>=0;Y--){let Z=J.stickyNodes[Y],{element:Q,disposable:$}=this.createElement(Z,Y,J.count);X[Y]=Q,this._rootDomNode.appendChild(Q),this._previousStateDisposables.add($)}this.stickyScrollFocus.updateElements(X,J),this._previousElements=X}rerender(){if(this._previousState)this.renderState(this._previousState)}createElement(J,X,Y){let Z=J.startIndex,Q=document.createElement(\"div\");if(Q.style.top=`${J.position}px`,this.tree.options.setRowHeight!==!1)Q.style.height=`${J.height}px`;if(this.tree.options.setRowLineHeight!==!1)Q.style.lineHeight=`${J.height}px`;Q.classList.add(\"monaco-tree-sticky-row\"),Q.classList.add(\"monaco-list-row\"),Q.setAttribute(\"data-index\",`${Z}`),Q.setAttribute(\"data-parity\",Z%2===0?\"even\":\"odd\"),Q.setAttribute(\"id\",this.view.getElementID(Z));let $=this.setAccessibilityAttributes(Q,J.node.element,X,Y),q=this.treeDelegate.getTemplateId(J.node),G=this.treeRenderers.find((K)=>K.templateId===q);if(!G)throw Error(`No renderer found for template id ${q}`);let U=J.node;if(U===this.tree.getNode(this.tree.getNodeLocation(J.node)))U=new Proxy(J.node,{});let H=G.renderTemplate(Q);G.renderElement(U,J.startIndex,H,{height:J.height});let V=J0(()=>{$.dispose(),G.disposeElement(U,J.startIndex,H,{height:J.height}),G.disposeTemplate(H),Q.remove()});return{element:Q,disposable:V}}setAccessibilityAttributes(J,X,Y,Z){if(!this.accessibilityProvider)return y.None;if(this.accessibilityProvider.getSetSize)J.setAttribute(\"aria-setsize\",String(this.accessibilityProvider.getSetSize(X,Y,Z)));if(this.accessibilityProvider.getPosInSet)J.setAttribute(\"aria-posinset\",String(this.accessibilityProvider.getPosInSet(X,Y)));if(this.accessibilityProvider.getRole)J.setAttribute(\"role\",this.accessibilityProvider.getRole(X)??\"treeitem\");let Q=this.accessibilityProvider.getAriaLabel(X),$=Q&&typeof Q!==\"string\"?Q:oQ(Q),q=C0((U)=>{let H=U.readObservable($);if(H)J.setAttribute(\"aria-label\",H);else J.removeAttribute(\"aria-label\")});if(typeof Q===\"string\");else if(Q)J.setAttribute(\"aria-label\",Q.get());let G=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(X);if(typeof G===\"number\")J.setAttribute(\"aria-level\",`${G}`);return J.setAttribute(\"aria-selected\",String(!1)),q}setVisible(J){if(this._rootDomNode.classList.toggle(\"empty\",!J),!J)this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class sY0 extends y{get domHasFocus(){return this._domHasFocus}set domHasFocus(J){if(J!==this._domHasFocus)this._onDidChangeHasFocus.fire(J),this._domHasFocus=J}constructor(J,X){super();this.container=J,this.view=X,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=this._register(new E),this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=this._register(new E),this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register(f(this.container,\"focus\",()=>this.onFocus())),this._register(f(this.container,\"blur\",()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown((Y)=>this.onKeyDown(Y))),this._register(this.view.onMouseDown((Y)=>this.onMouseDown(Y))),this._register(this.view.onContextMenu((Y)=>this.handleContextMenu(Y)))}handleContextMenu(J){let X=J.browserEvent.target;if(!lK(X)&&!dK(X)){if(this.focusedLast())this.view.domFocus();return}if(!EJ(J.browserEvent)){if(!this.state)throw Error(\"Context menu should not be triggered when state is undefined\");let $=this.state.stickyNodes.findIndex((q)=>q.node.element===J.element?.element);if($===-1)throw Error(\"Context menu should not be triggered when element is not in sticky scroll widget\");this.container.focus(),this.setFocus($);return}if(!this.state||this.focusedIndex<0)throw Error(\"Context menu key should not be triggered when focus is not in sticky scroll widget\");let Z=this.state.stickyNodes[this.focusedIndex].node.element,Q=this.elements[this.focusedIndex];this._onContextMenu.fire({element:Z,anchor:Q,browserEvent:J.browserEvent,isStickyScroll:!0})}onKeyDown(J){if(this.domHasFocus&&this.state){if(J.key===\"ArrowUp\")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),J.preventDefault(),J.stopPropagation();else if(J.key===\"ArrowDown\"||J.key===\"ArrowRight\"){if(this.focusedIndex>=this.state.count-1){let X=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([X]),this.scrollNodeUnderWidget(X,this.state)}else this.setFocusedElement(this.focusedIndex+1);J.preventDefault(),J.stopPropagation()}}}onMouseDown(J){let X=J.browserEvent.target;if(!lK(X)&&!dK(X))return;J.browserEvent.preventDefault(),J.browserEvent.stopPropagation()}updateElements(J,X){if(X&&X.count===0)throw Error(\"Sticky scroll state must be undefined when there are no sticky nodes\");if(X&&X.count!==J.length)throw Error(\"Sticky scroll focus received illigel state\");let Y=this.focusedIndex;if(this.removeFocus(),this.elements=J,this.state=X,X){let Z=_5(Y,0,X.count-1);this.setFocus(Z)}else if(this.domHasFocus)this.view.domFocus();this.container.tabIndex=X?0:-1}setFocusedElement(J){let X=this.state;if(!X)throw Error(\"Cannot set focus when state is undefined\");if(this.setFocus(J),J<X.count-1)return;if(X.lastNodePartiallyVisible()){let Y=X.stickyNodes[J];this.scrollNodeUnderWidget(Y.endIndex+1,X)}}scrollNodeUnderWidget(J,X){let Y=X.stickyNodes[X.count-1],Z=X.count>1?X.stickyNodes[X.count-2]:void 0,Q=this.view.getElementTop(J),$=Z?Z.position+Z.height+Y.height:Y.height;this.view.scrollTop=Q-$}domFocus(){if(!this.state)throw Error(\"Cannot focus when state is undefined\");this.container.focus()}focusedLast(){if(!this.state)return!1;return this.view.getHTMLElement().classList.contains(\"sticky-scroll-focused\")}removeFocus(){if(this.focusedIndex===-1)return;this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1}setFocus(J){if(0>J)throw Error(\"addFocus() can not remove focus\");if(!this.state&&J>=0)throw Error(\"Cannot set focus index when state is undefined\");if(this.state&&J>=this.state.count)throw Error(\"Cannot set focus index to an index that does not exist\");let X=this.focusedIndex;if(X>=0)this.toggleElementFocus(this.elements[X],!1);if(J>=0)this.toggleElementFocus(this.elements[J],!0);this.focusedIndex=J}toggleElementFocus(J,X){this.toggleElementActiveFocus(J,X&&this.domHasFocus),this.toggleElementPassiveFocus(J,X)}toggleCurrentElementActiveFocus(J){if(this.focusedIndex===-1)return;this.toggleElementActiveFocus(this.elements[this.focusedIndex],J)}toggleElementActiveFocus(J,X){J.classList.toggle(\"focused\",X)}toggleElementPassiveFocus(J,X){J.classList.toggle(\"passive-focused\",X)}toggleStickyScrollFocused(J){this.view.getHTMLElement().classList.toggle(\"sticky-scroll-focused\",J)}onFocus(){if(!this.state||this.elements.length===0)throw Error(\"Cannot focus when state is undefined or elements are empty\");if(this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1)this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function FT(J){let X=U3.Unknown;if(WM(J.browserEvent.target,\"monaco-tl-twistie\",\"monaco-tl-row\"))X=U3.Twistie;else if(WM(J.browserEvent.target,\"monaco-tl-contents\",\"monaco-tl-row\"))X=U3.Element;else if(WM(J.browserEvent.target,\"monaco-tree-type-filter\",\"monaco-list\"))X=U3.Filter;return{browserEvent:J.browserEvent,element:J.element?J.element.element:null,target:X}}function iD0(J){let X=lK(J.browserEvent.target);return{element:J.element?J.element.element:null,browserEvent:J.browserEvent,anchor:J.anchor,isStickyScroll:X}}function BT(J,X){X(J),J.children.forEach((Y)=>BT(Y,X))}class _T{get nodeSet(){if(!this._nodeSet)this._nodeSet=this.createNodeSet();return this._nodeSet}constructor(J,X){this.getFirstViewElementWithTrait=J,this.identityProvider=X,this.nodes=[],this._onDidChange=new E,this.onDidChange=this._onDidChange.event}set(J,X){if(!X?.__forceEvent&&w1(this.nodes,J))return;this._set(J,!1,X)}_set(J,X,Y){if(this.nodes=[...J],this.elements=void 0,this._nodeSet=void 0,!X){let Z=this;this._onDidChange.fire({get elements(){return Z.get()},browserEvent:Y})}}get(){if(!this.elements)this.elements=this.nodes.map((J)=>J.element);return[...this.elements]}getNodes(){return this.nodes}has(J){return this.nodeSet.has(J)}onDidModelSplice({insertedNodes:J,deletedNodes:X}){if(!this.identityProvider){let G=this.createNodeSet(),U=(H)=>G.delete(H);X.forEach((H)=>BT(H,U)),this.set([...G.values()]);return}let Y=new Set,Z=(G)=>Y.add(this.identityProvider.getId(G.element).toString());X.forEach((G)=>BT(G,Z));let Q=new Map,$=(G)=>Q.set(this.identityProvider.getId(G.element).toString(),G);J.forEach((G)=>BT(G,$));let q=[];for(let G of this.nodes){let U=this.identityProvider.getId(G.element).toString();if(!Y.has(U))q.push(G);else{let V=Q.get(U);if(V&&V.visible)q.push(V)}}if(this.nodes.length>0&&q.length===0){let G=this.getFirstViewElementWithTrait();if(G)q.push(G)}this._set(q,!0)}createNodeSet(){let J=new Set;for(let X of this.nodes)J.add(X);return J}}class aY0 extends ew{constructor(J,X,Y){super(J);this.tree=X,this.stickyScrollProvider=Y}onViewPointer(J){if(Qp(J.browserEvent.target)||Q4(J.browserEvent.target)||uK(J.browserEvent.target))return;if(J.browserEvent.isHandledByList)return;let X=J.element;if(!X)return super.onViewPointer(J);if(this.isSelectionRangeChangeEvent(J)||this.isSelectionSingleChangeEvent(J))return super.onViewPointer(J);let Y=J.browserEvent.target,Z=Y.classList.contains(\"monaco-tl-twistie\")||Y.classList.contains(\"monaco-icon-label\")&&Y.classList.contains(\"folder-icon\")&&J.browserEvent.offsetX<16,Q=dK(J.browserEvent.target),$=!1;if(Q)$=!0;else if(typeof this.tree.expandOnlyOnTwistieClick===\"function\")$=this.tree.expandOnlyOnTwistieClick(X.element);else $=!!this.tree.expandOnlyOnTwistieClick;if(!Q){if($&&!Z&&J.browserEvent.detail!==2)return super.onViewPointer(J);if(!this.tree.expandOnDoubleClick&&J.browserEvent.detail===2)return super.onViewPointer(J)}else this.handleStickyScrollMouseEvent(J,X);if(X.collapsible&&(!Q||Z)){let q=this.tree.getNodeLocation(X),G=J.browserEvent.altKey;if(this.tree.setFocus([q]),this.tree.toggleCollapsed(q,G),Z){J.browserEvent.isHandledByList=!0;return}}if(!Q)super.onViewPointer(J)}handleStickyScrollMouseEvent(J,X){if(hX0(J.browserEvent.target)||vX0(J.browserEvent.target))return;let Y=this.stickyScrollProvider();if(!Y)throw Error(\"Sticky scroll controller not found\");let Z=this.list.indexOf(X),Q=this.list.getElementTop(Z),$=Y.nodePositionTopBelowWidget(X);this.tree.scrollTop=Q-$,this.list.domFocus(),this.list.setFocus([Z]),this.list.setSelection([Z])}onDoubleClick(J){if(J.browserEvent.target.classList.contains(\"monaco-tl-twistie\")||!this.tree.expandOnDoubleClick)return;if(J.browserEvent.isHandledByList)return;super.onDoubleClick(J)}onMouseDown(J){let X=J.browserEvent.target;if(!lK(X)&&!dK(X)){super.onMouseDown(J);return}}onContextMenu(J){let X=J.browserEvent.target;if(!lK(X)&&!dK(X)){super.onContextMenu(J);return}}}class iY0 extends s5{constructor(J,X,Y,Z,Q,$,q,G){super(J,X,Y,Z,G);this.focusTrait=Q,this.selectionTrait=$,this.anchorTrait=q}createMouseController(J){return new aY0(this,J.tree,J.stickyScrollProvider)}splice(J,X,Y=[]){if(super.splice(J,X,Y),Y.length===0)return;let Z=[],Q=[],$;if(Y.forEach((q,G)=>{if(this.focusTrait.has(q))Z.push(J+G);if(this.selectionTrait.has(q))Q.push(J+G);if(this.anchorTrait.has(q))$=J+G}),Z.length>0)super.setFocus(o4([...super.getFocus(),...Z]));if(Q.length>0)super.setSelection(o4([...super.getSelection(),...Q]));if(typeof $===\"number\")super.setAnchor($)}setFocus(J,X,Y=!1){if(super.setFocus(J,X),!Y)this.focusTrait.set(J.map((Z)=>this.element(Z)),X)}setSelection(J,X,Y=!1){if(super.setSelection(J,X),!Y)this.selectionTrait.set(J.map((Z)=>this.element(Z)),X)}setAnchor(J,X=!1){if(super.setAnchor(J),!X)if(typeof J>\"u\")this.anchorTrait.set([]);else this.anchorTrait.set([this.element(J)])}}class f_{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return i.filter(i.map(this.view.onMouseDblClick,FT),(J)=>J.target!==U3.Filter)}get onMouseOver(){return i.map(this.view.onMouseOver,FT)}get onMouseOut(){return i.map(this.view.onMouseOut,FT)}get onContextMenu(){return i.any(i.filter(i.map(this.view.onContextMenu,iD0),(J)=>!J.isStickyScroll),this.stickyScrollController?.onContextMenu??i.None)}get onPointer(){return i.map(this.view.onPointer,FT)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return i.any(this.onDidChangeModelRelay.event,this.onDidSwapModel.event)}get onDidChangeCollapseState(){return this.onDidChangeCollapseStateRelay.event}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>\"u\"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>\"u\"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(J,X,Y,Z,Q={}){if(this._user=J,this._options=Q,this.eventBufferer=new KX,this.onDidChangeFindOpenState=i.None,this.onDidChangeStickyScrollFocused=i.None,this.disposables=new a,this.onDidSwapModel=this.disposables.add(new E),this.onDidChangeModelRelay=this.disposables.add(new Gq),this.onDidSpliceModelRelay=this.disposables.add(new Gq),this.onDidChangeCollapseStateRelay=this.disposables.add(new Gq),this.onDidChangeRenderNodeCountRelay=this.disposables.add(new Gq),this.onDidChangeActiveNodesRelay=this.disposables.add(new Gq),this._onWillRefilter=new E,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new E,this.modelDisposables=new a,Q.keyboardNavigationLabelProvider&&(Q.findWidgetEnabled??!0))this.findFilter=new PT(Q.keyboardNavigationLabelProvider,Q.filter,Q.defaultFindVisibility),Q={...Q,filter:this.findFilter},this.disposables.add(this.findFilter);this.model=this.createModel(J,Q),this.treeDelegate=new S_(Y);let $=this.disposables.add(new gY0(this.onDidChangeActiveNodesRelay.event)),q=new sz;this.renderers=Z.map((G)=>new AT(G,this.model,this.onDidChangeCollapseStateRelay.event,$,q,Q));for(let G of this.renderers)this.disposables.add(G);if(this.focus=new _T(()=>this.view.getFocusedElements()[0],Q.identityProvider),this.selection=new _T(()=>this.view.getSelectedElements()[0],Q.identityProvider),this.anchor=new _T(()=>this.view.getAnchorElement(),Q.identityProvider),this.view=new iY0(J,X,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...lD0(()=>this.model,this.disposables,Q),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.setupModel(this.model),Q.keyboardSupport!==!1){let G=i.chain(this.view.onKeyDown,(U)=>U.filter((H)=>!Q4(H.target)).map((H)=>new Y1(H)));i.chain(G,(U)=>U.filter((H)=>H.keyCode===15))(this.onLeftArrow,this,this.disposables),i.chain(G,(U)=>U.filter((H)=>H.keyCode===17))(this.onRightArrow,this,this.disposables),i.chain(G,(U)=>U.filter((H)=>H.keyCode===10))(this.onSpace,this,this.disposables)}if((Q.findWidgetEnabled??!0)&&Q.keyboardNavigationLabelProvider&&Q.contextViewProvider){let G={styles:Q.findWidgetStyles,defaultFindMode:Q.defaultFindMode,defaultFindMatchType:Q.defaultFindMatchType,showNotFoundMessage:Q.showNotFoundMessage,findWidgetContainer:Q.findWidgetContainer};this.findController=this.disposables.add(new DT(this,this.findFilter,Q.contextViewProvider,G)),this.focusNavigationFilter=(U)=>this.findController.shouldAllowFocus(U),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=i.None,this.onDidChangeFindMatchType=i.None;if(Q.enableStickyScroll)this.stickyScrollController=new vp(this,this.model,this.view,this.renderers,this.treeDelegate,Q),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus;this.styleElement=z5(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle(\"always\",this._options.renderIndentGuides===tQ.Always)}updateOptions(J={}){this._options={...this._options,...J};for(let X of this.renderers)X.updateOptions(J);this.view.updateOptions(J),this.findController?.updateOptions(J),this.updateStickyScroll(J),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle(\"always\",this._options.renderIndentGuides===tQ.Always)}get options(){return this._options}updateStickyScroll(J){if(!this.stickyScrollController&&this._options.enableStickyScroll)this.stickyScrollController=new vp(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus;else if(this.stickyScrollController&&!this._options.enableStickyScroll)this.onDidChangeStickyScrollFocused=i.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0;this.stickyScrollController?.updateOptions(J)}getHTMLElement(){return this.view.getHTMLElement()}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.scrollTop}set scrollTop(J){this.view.scrollTop=J}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(J){this.view.ariaLabel=J}domFocus(){if(this.stickyScrollController?.focusedLast())this.stickyScrollController.domFocus();else this.view.domFocus()}isDOMFocused(){return Z9(this.getHTMLElement())}layout(J,X){this.view.layout(J,X)}style(J){let X=`.${this.view.domId}`,Y=[];if(J.treeIndentGuidesStroke)Y.push(`.monaco-list${X}:hover .monaco-tl-indent > .indent-guide, .monaco-list${X}.always .monaco-tl-indent > .indent-guide  { opacity: 1; border-color: ${J.treeInactiveIndentGuidesStroke}; }`),Y.push(`.monaco-list${X} .monaco-tl-indent > .indent-guide.active { opacity: 1; border-color: ${J.treeIndentGuidesStroke}; }`);let Z=J.treeStickyScrollBackground??J.listBackground;if(Z)Y.push(`.monaco-list${X} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${Z}; }`),Y.push(`.monaco-list${X} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${Z}; }`);if(J.treeStickyScrollBorder)Y.push(`.monaco-list${X} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${J.treeStickyScrollBorder}; }`);if(J.treeStickyScrollShadow)Y.push(`.monaco-list${X} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${J.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`);if(J.listFocusForeground)Y.push(`.monaco-list${X}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${J.listFocusForeground}; }`),Y.push(`.monaco-list${X}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`);let Q=o9(J.listFocusAndSelectionOutline,o9(J.listSelectionOutline,J.listFocusOutline??\"\"));if(Q)Y.push(`.monaco-list${X}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${Q}; outline-offset: -1px;}`),Y.push(`.monaco-list${X}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`);if(J.listFocusOutline)Y.push(`.monaco-list${X}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${J.listFocusOutline}; outline-offset: -1px; }`),Y.push(`.monaco-list${X}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),Y.push(`.context-menu-visible .monaco-list${X}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${J.listFocusOutline}; outline-offset: -1px; }`),Y.push(`.context-menu-visible .monaco-list${X}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),Y.push(`.context-menu-visible .monaco-list${X}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`);this.styleElement.textContent=Y.join(`\n`),this.view.style(J)}getParentElement(J){let X=this.model.getParentNodeLocation(J);return this.model.getNode(X).element}getFirstElementChild(J){return this.model.getFirstElementChild(J)}getNode(J){return this.model.getNode(J)}getNodeLocation(J){return this.model.getNodeLocation(J)}collapse(J,X=!1){return this.model.setCollapsed(J,!0,X)}expand(J,X=!1){return this.model.setCollapsed(J,!1,X)}toggleCollapsed(J,X=!1){return this.model.setCollapsed(J,void 0,X)}isCollapsible(J){return this.model.isCollapsible(J)}setCollapsible(J,X){return this.model.setCollapsible(J,X)}isCollapsed(J){return this.model.isCollapsed(J)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(J,X){this.eventBufferer.bufferEvents(()=>{let Y=J.map((Q)=>this.model.getNode(Q));this.selection.set(Y,X);let Z=J.map((Q)=>this.model.getListIndex(Q)).filter((Q)=>Q>-1);this.view.setSelection(Z,X,!0)})}getSelection(){return this.selection.get()}setFocus(J,X){this.eventBufferer.bufferEvents(()=>{let Y=J.map((Q)=>this.model.getNode(Q));this.focus.set(Y,X);let Z=J.map((Q)=>this.model.getListIndex(Q)).filter((Q)=>Q>-1);this.view.setFocus(Z,X,!0)})}focusNext(J=1,X=!1,Y,Z=EJ(Y)&&Y.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(J,X,Y,Z)}focusPrevious(J=1,X=!1,Y,Z=EJ(Y)&&Y.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(J,X,Y,Z)}focusNextPage(J,X=EJ(J)&&J.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(J,X)}focusPreviousPage(J,X=EJ(J)&&J.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(J,X,()=>this.stickyScrollController?.height??0)}focusLast(J,X=EJ(J)&&J.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(J,X)}focusFirst(J,X=EJ(J)&&J.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(J,X)}getFocus(){return this.focus.get()}reveal(J,X){this.model.expandTo(J);let Y=this.model.getListIndex(J);if(Y===-1)return;if(!this.stickyScrollController)this.view.reveal(Y,X);else{let Z=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(J));this.view.reveal(Y,X,Z)}}onLeftArrow(J){J.preventDefault(),J.stopPropagation();let X=this.view.getFocusedElements();if(X.length===0)return;let Y=X[0],Z=this.model.getNodeLocation(Y);if(!this.model.setCollapsed(Z,!0)){let $=this.model.getParentNodeLocation(Z);if(!$)return;let q=this.model.getListIndex($);this.view.reveal(q),this.view.setFocus([q])}}onRightArrow(J){J.preventDefault(),J.stopPropagation();let X=this.view.getFocusedElements();if(X.length===0)return;let Y=X[0],Z=this.model.getNodeLocation(Y);if(!this.model.setCollapsed(Z,!1)){if(!Y.children.some((G)=>G.visible))return;let[$]=this.view.getFocus(),q=$+1;this.view.reveal(q),this.view.setFocus([q])}}onSpace(J){J.preventDefault(),J.stopPropagation();let X=this.view.getFocusedElements();if(X.length===0)return;let Y=X[0],Z=this.model.getNodeLocation(Y),Q=J.browserEvent.altKey;this.model.setCollapsed(Z,void 0,Q)}setupModel(J){this.modelDisposables.clear(),this.modelDisposables.add(J.onDidSpliceRenderedNodes(({start:Q,deleteCount:$,elements:q})=>this.view.splice(Q,$,q)));let X=i.forEach(J.onDidSpliceModel,(Q)=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(Q),this.selection.onDidModelSplice(Q)})},this.modelDisposables);X(()=>null,null,this.modelDisposables);let Y=this.modelDisposables.add(new E),Z=this.modelDisposables.add(new Y4(0));if(this.modelDisposables.add(i.any(X,this.focus.onDidChange,this.selection.onDidChange)(()=>{Z.trigger(()=>{let Q=new Set;for(let $ of this.focus.getNodes())Q.add($);for(let $ of this.selection.getNodes())Q.add($);Y.fire([...Q.values()])})})),this.onDidChangeActiveNodesRelay.input=Y.event,this.onDidChangeModelRelay.input=i.signal(J.onDidSpliceModel),this.onDidChangeCollapseStateRelay.input=J.onDidChangeCollapseState,this.onDidChangeRenderNodeCountRelay.input=J.onDidChangeRenderNodeCount,this.onDidSpliceModelRelay.input=J.onDidSpliceModel,I0)this.modelDisposables.add(J.onDidChangeCollapseState((Q)=>{let{node:$,deep:q}=Q;if($.collapsible&&!q&&this.isDOMFocused())y4($.collapsed?F(30,\"collapsed\"):F(31,\"expanded\"))}))}dispose(){D1(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose(),this.modelDisposables.dispose()}}class $U{constructor(J,X={}){if(this.user=J,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new fp(J,null,X),this.onDidSpliceModel=this.model.onDidSpliceModel,this.onDidSpliceRenderedNodes=this.model.onDidSpliceRenderedNodes,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,X.sorter)this.sorter={compare(Y,Z){return X.sorter.compare(Y.element,Z.element)}};this.identityProvider=X.identityProvider}setChildren(J,X=s0.empty(),Y={}){let Z=this.getElementLocation(J);this._setChildren(Z,this.preserveCollapseState(X),Y)}_setChildren(J,X=s0.empty(),Y){let Z=new Set,Q=new Set,$=(G)=>{if(G.element===null)return;let U=G;if(Z.add(U.element),this.nodes.set(U.element,U),this.identityProvider){let H=this.identityProvider.getId(U.element).toString();Q.add(H),this.nodesByIdentity.set(H,U)}Y.onDidCreateNode?.(U)},q=(G)=>{if(G.element===null)return;let U=G;if(!Z.has(U.element))this.nodes.delete(U.element);if(this.identityProvider){let H=this.identityProvider.getId(U.element).toString();if(!Q.has(H))this.nodesByIdentity.delete(H)}Y.onDidDeleteNode?.(U)};this.model.splice([...J,0],Number.MAX_VALUE,X,{...Y,onDidCreateNode:$,onDidDeleteNode:q})}preserveCollapseState(J=s0.empty()){if(this.sorter)J=[...J].sort(this.sorter.compare.bind(this.sorter));return s0.map(J,(X)=>{let Y=this.nodes.get(X.element);if(!Y&&this.identityProvider){let $=this.identityProvider.getId(X.element).toString();Y=this.nodesByIdentity.get($)}if(!Y){let $;if(typeof X.collapsed>\"u\")$=void 0;else if(X.collapsed===a5.Collapsed||X.collapsed===a5.PreserveOrCollapsed)$=!0;else if(X.collapsed===a5.Expanded||X.collapsed===a5.PreserveOrExpanded)$=!1;else $=Boolean(X.collapsed);return{...X,children:this.preserveCollapseState(X.children),collapsed:$}}let Z=typeof X.collapsible===\"boolean\"?X.collapsible:Y.collapsible,Q;if(typeof X.collapsed>\"u\"||X.collapsed===a5.PreserveOrCollapsed||X.collapsed===a5.PreserveOrExpanded)Q=Y.collapsed;else if(X.collapsed===a5.Collapsed)Q=!0;else if(X.collapsed===a5.Expanded)Q=!1;else Q=Boolean(X.collapsed);return{...X,collapsible:Z,collapsed:Q,children:this.preserveCollapseState(X.children)}})}rerender(J){let X=this.getElementLocation(J);this.model.rerender(X)}resort(J=null,X=!0){if(!this.sorter)return;let Y=this.getElementLocation(J),Z=this.model.getNode(Y);this._setChildren(Y,this.resortChildren(Z,X),{})}resortChildren(J,X,Y=!0){let Z=[...J.children];if(X||Y)Z=Z.sort(this.sorter.compare.bind(this.sorter));return s0.map(Z,(Q)=>({element:Q.element,collapsible:Q.collapsible,collapsed:Q.collapsed,children:this.resortChildren(Q,X,!1)}))}getFirstElementChild(J=null){let X=this.getElementLocation(J);return this.model.getFirstElementChild(X)}has(J){return this.nodes.has(J)}getListIndex(J){let X=this.getElementLocation(J);return this.model.getListIndex(X)}getListRenderCount(J){let X=this.getElementLocation(J);return this.model.getListRenderCount(X)}isCollapsible(J){let X=this.getElementLocation(J);return this.model.isCollapsible(X)}setCollapsible(J,X){let Y=this.getElementLocation(J);return this.model.setCollapsible(Y,X)}isCollapsed(J){let X=this.getElementLocation(J);return this.model.isCollapsed(X)}setCollapsed(J,X,Y){let Z=this.getElementLocation(J);return this.model.setCollapsed(Z,X,Y)}expandTo(J){let X=this.getElementLocation(J);this.model.expandTo(X)}refilter(){this.model.refilter()}getNode(J=null){if(J===null)return this.model.getNode(this.model.rootRef);let X=this.nodes.get(J);if(!X)throw new i5(this.user,`Tree element not found: ${J}`);return X}getNodeLocation(J){return J.element}getParentNodeLocation(J){if(J===null)throw new i5(this.user,\"Invalid getParentNodeLocation call\");let X=this.nodes.get(J);if(!X)throw new i5(this.user,`Tree element not found: ${J}`);let Y=this.model.getNodeLocation(X),Z=this.model.getParentNodeLocation(Y);return this.model.getNode(Z).element}getElementLocation(J){if(J===null)return[];let X=this.nodes.get(J);if(!X)throw new i5(this.user,`Tree element not found: ${J}`);return this.model.getNodeLocation(X)}}function OT(J){let X=[J.element],Y=J.incompressible||!1;return{element:{elements:X,incompressible:Y},children:s0.map(s0.from(J.children),OT),collapsible:J.collapsible,collapsed:J.collapsed}}function MT(J){let X=[J.element],Y=J.incompressible||!1,Z,Q;while(!0){if([Q,Z]=s0.consume(s0.from(J.children),2),Q.length!==1)break;if(Q[0].incompressible)break;J=Q[0],X.push(J.element)}return{element:{elements:X,incompressible:Y},children:s0.map(s0.concat(Q,Z),MT),collapsible:J.collapsible,collapsed:J.collapsed}}function gp(J,X=0){let Y;if(X<J.element.elements.length-1)Y=[gp(J,X+1)];else Y=s0.map(s0.from(J.children),(Z)=>gp(Z,0));if(X===0&&J.element.incompressible)return{element:J.element.elements[X],children:Y,incompressible:!0,collapsible:J.collapsible,collapsed:J.collapsed};return{element:J.element.elements[X],children:Y,collapsible:J.collapsible,collapsed:J.collapsed}}function rY0(J){return gp(J,0)}function oY0(J,X,Y){if(J.element===X)return{...J,children:Y};return{...J,children:s0.map(s0.from(J.children),(Z)=>oY0(Z,X,Y))}}var rD0=(J)=>({getId(X){return X.elements.map((Y)=>J.getId(Y).toString()).join(\"\\x00\")},getGroupId:J.getGroupId?(X)=>{return J.getGroupId(X.elements[X.elements.length-1])}:void 0});class nY0{get onDidSpliceRenderedNodes(){return this.model.onDidSpliceRenderedNodes}get onDidSpliceModel(){return this.model.onDidSpliceModel}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(J,X={}){this.user=J,this.rootRef=null,this.nodes=new Map,this.model=new $U(J,X),this.enabled=typeof X.compressionEnabled>\"u\"?!0:X.compressionEnabled,this.identityProvider=X.identityProvider}setChildren(J,X=s0.empty(),Y){let Z=Y.diffIdentityProvider&&rD0(Y.diffIdentityProvider);if(J===null){let W=s0.map(X,this.enabled?MT:OT);this._setChildren(null,W,{diffIdentityProvider:Z,diffDepth:1/0});return}let Q=this.nodes.get(J);if(!Q)throw new i5(this.user,\"Unknown compressed tree node\");let $=this.model.getNode(Q),q=this.model.getParentNodeLocation(Q),G=this.model.getNode(q),U=rY0($),H=oY0(U,J,X),V=(this.enabled?MT:OT)(H),K=Y.diffIdentityProvider?(W,z)=>Y.diffIdentityProvider.getId(W)===Y.diffIdentityProvider.getId(z):void 0;if(w1(V.element.elements,$.element.elements,K)){this._setChildren(Q,V.children||s0.empty(),{diffIdentityProvider:Z,diffDepth:1});return}let j=G.children.map((W)=>W===$?V:W);this._setChildren(G.element,j,{diffIdentityProvider:Z,diffDepth:$.depth-G.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(J){if(J===this.enabled)return;this.enabled=J;let Y=this.model.getNode().children,Z=s0.map(Y,rY0),Q=s0.map(Z,J?MT:OT);this._setChildren(null,Q,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(J,X,Y){let Z=new Set,Q=(q)=>{for(let G of q.element.elements)Z.add(G),this.nodes.set(G,q.element)},$=(q)=>{for(let G of q.element.elements)if(!Z.has(G))this.nodes.delete(G)};this.model.setChildren(J,X,{...Y,onDidCreateNode:Q,onDidDeleteNode:$})}has(J){return this.nodes.has(J)}getListIndex(J){let X=this.getCompressedNode(J);return this.model.getListIndex(X)}getListRenderCount(J){let X=this.getCompressedNode(J);return this.model.getListRenderCount(X)}getNode(J){if(typeof J>\"u\")return this.model.getNode();let X=this.getCompressedNode(J);return this.model.getNode(X)}getNodeLocation(J){let X=this.model.getNodeLocation(J);if(X===null)return null;return X.elements[X.elements.length-1]}getParentNodeLocation(J){let X=this.getCompressedNode(J),Y=this.model.getParentNodeLocation(X);if(Y===null)return null;return Y.elements[Y.elements.length-1]}getFirstElementChild(J){let X=this.getCompressedNode(J);return this.model.getFirstElementChild(X)}isCollapsible(J){let X=this.getCompressedNode(J);return this.model.isCollapsible(X)}setCollapsible(J,X){let Y=this.getCompressedNode(J);return this.model.setCollapsible(Y,X)}isCollapsed(J){let X=this.getCompressedNode(J);return this.model.isCollapsed(X)}setCollapsed(J,X,Y){let Z=this.getCompressedNode(J);return this.model.setCollapsed(Z,X,Y)}expandTo(J){let X=this.getCompressedNode(J);this.model.expandTo(X)}rerender(J){let X=this.getCompressedNode(J);this.model.rerender(X)}refilter(){this.model.refilter()}resort(J=null,X=!0){let Y=this.getCompressedNode(J);this.model.resort(Y,X)}getCompressedNode(J){if(J===null)return null;let X=this.nodes.get(J);if(!X)throw new i5(this.user,`Tree element not found: ${J}`);return X}}var oD0=(J)=>J[J.length-1];class pp{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((J)=>new pp(this.unwrapper,J))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(J,X){this.unwrapper=J,this.node=X}}function nD0(J,X){return{...X,identityProvider:X.identityProvider&&{getId(Y){return X.identityProvider.getId(J(Y))},getGroupId:X.identityProvider.getGroupId?(Y)=>{return X.identityProvider.getGroupId(J(Y))}:void 0},sorter:X.sorter&&{compare(Y,Z){return X.sorter.compare(Y.elements[0],Z.elements[0])}},filter:X.filter&&{filter(Y,Z){let Q=Y.elements;for(let $=0;$<Q.length-1;$++){let q=X.filter.filter(Q[$],Z);Z=GZ(H3(q)?q.visibility:q)}return X.filter.filter(Q[Q.length-1],Z)}}}}class mp{get onDidSpliceModel(){return i.map(this.model.onDidSpliceModel,({insertedNodes:J,deletedNodes:X})=>({insertedNodes:J.map((Y)=>this.nodeMapper.map(Y)),deletedNodes:X.map((Y)=>this.nodeMapper.map(Y))}))}get onDidSpliceRenderedNodes(){return i.map(this.model.onDidSpliceRenderedNodes,({start:J,deleteCount:X,elements:Y})=>({start:J,deleteCount:X,elements:Y.map((Z)=>this.nodeMapper.map(Z))}))}get onDidChangeCollapseState(){return i.map(this.model.onDidChangeCollapseState,({node:J,deep:X})=>({node:this.nodeMapper.map(J),deep:X}))}get onDidChangeRenderNodeCount(){return i.map(this.model.onDidChangeRenderNodeCount,(J)=>this.nodeMapper.map(J))}constructor(J,X={}){this.rootRef=null,this.elementMapper=X.elementMapper||oD0;let Y=(Z)=>this.elementMapper(Z.elements);this.nodeMapper=new Yj((Z)=>new pp(Y,Z)),this.model=new nY0(J,nD0(Y,X))}setChildren(J,X=s0.empty(),Y={}){this.model.setChildren(J,X,Y)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(J){this.model.setCompressionEnabled(J)}has(J){return this.model.has(J)}getListIndex(J){return this.model.getListIndex(J)}getListRenderCount(J){return this.model.getListRenderCount(J)}getNode(J){return this.nodeMapper.map(this.model.getNode(J))}getNodeLocation(J){return J.element}getParentNodeLocation(J){return this.model.getParentNodeLocation(J)}getFirstElementChild(J){let X=this.model.getFirstElementChild(J);if(X===null||typeof X>\"u\")return X;return this.elementMapper(X.elements)}isCollapsible(J){return this.model.isCollapsible(J)}setCollapsible(J,X){return this.model.setCollapsible(J,X)}isCollapsed(J){return this.model.isCollapsed(J)}setCollapsed(J,X,Y){return this.model.setCollapsed(J,X,Y)}expandTo(J){return this.model.expandTo(J)}rerender(J){return this.model.rerender(J)}refilter(){return this.model.refilter()}resort(J=null,X=!0){return this.model.resort(J,X)}getCompressedTreeNode(J=null){return this.model.getNode(J)}}var tD0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$};class Zj extends f_{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(J,X,Y,Z,Q={}){super(J,X,Y,Z,Q);this.user=J}setChildren(J,X=s0.empty(),Y){this.model.setChildren(J,X,Y)}rerender(J){if(J===void 0){this.view.rerender();return}this.model.rerender(J)}resort(J,X=!0){this.model.resort(J,X)}hasElement(J){return this.model.has(J)}createModel(J,X){return new $U(J,X)}}class up{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(J,X,Y){if(this._compressedTreeNodeProvider=J,this.stickyScrollDelegate=X,this.renderer=Y,this.templateId=Y.templateId,Y.onDidChangeTwistieState)this.onDidChangeTwistieState=Y.onDidChangeTwistieState}renderTemplate(J){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(J)}}renderElement(J,X,Y,Z){let Q=this.stickyScrollDelegate.getCompressedNode(J);if(!Q)Q=this.compressedTreeNodeProvider.getCompressedTreeNode(J.element);if(Q.element.elements.length===1)Y.compressedTreeNode=void 0,this.renderer.renderElement(J,X,Y.data,Z);else Y.compressedTreeNode=Q,this.renderer.renderCompressedElements(Q,X,Y.data,Z)}disposeElement(J,X,Y,Z){if(Y.compressedTreeNode)this.renderer.disposeCompressedElements?.(Y.compressedTreeNode,X,Y.data,Z);else this.renderer.disposeElement?.(J,X,Y.data,Z)}disposeTemplate(J){this.renderer.disposeTemplate(J.data)}renderTwistie(J,X){return this.renderer.renderTwistie?.(J,X)??!1}}tD0([a1],up.prototype,\"compressedTreeNodeProvider\",null);class tY0{constructor(J){this.modelProvider=J,this.compressedStickyNodes=new Map}getCompressedNode(J){return this.compressedStickyNodes.get(J)}constrainStickyScrollNodes(J,X,Y){if(this.compressedStickyNodes.clear(),J.length===0)return[];for(let Z=0;Z<J.length;Z++){let Q=J[Z],$=Q.position+Q.height;if(Z+1<J.length&&$+J[Z+1].height>Y||Z>=X-1&&X<J.length){let G=J.slice(0,Z),U=J.slice(Z),H=this.compressStickyNodes(U);return[...G,H]}}return J}compressStickyNodes(J){if(J.length===0)throw Error(\"Can't compress empty sticky nodes\");let X=this.modelProvider();if(!X.isCompressionEnabled())return J[0];let Y=[];for(let U=0;U<J.length;U++){let H=J[U],V=X.getCompressedTreeNode(H.node.element);if(V.element){if(U!==0&&V.element.incompressible)break;Y.push(...V.element.elements)}}if(Y.length<2)return J[0];let Z=J[J.length-1],Q={elements:Y,incompressible:!1},$={...Z.node,children:[],element:Q},q=new Proxy(J[0].node,{}),G={node:q,startIndex:J[0].startIndex,endIndex:Z.endIndex,position:J[0].position,height:J[0].height};return this.compressedStickyNodes.set(q,$),G}}function eD0(J,X){return X&&{...X,keyboardNavigationLabelProvider:X.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(Y){let Z;try{Z=J().getCompressedTreeNode(Y)}catch{return X.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Y)}if(Z.element.elements.length===1)return X.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Y);else return X.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(Z.element.elements)}}}}class h_ extends Zj{constructor(J,X,Y,Z,Q={}){let $=()=>this,q=new tY0(()=>this.model),G=Z.map((U)=>new up($,q,U));super(J,X,Y,G,{...eD0($,Q),stickyScrollDelegate:q})}setChildren(J,X=s0.empty(),Y){this.model.setChildren(J,X,Y)}createModel(J,X){return new mp(J,X)}updateOptions(J={}){if(super.updateOptions(J),typeof J.compressionEnabled<\"u\")this.model.setCompressionEnabled(J.compressionEnabled)}getCompressedTreeNode(J=null){return this.model.getCompressedTreeNode(J)}}function cp(J){return{...J,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function lp(J,X){if(!X.parent)return!1;else if(X.parent===J)return!0;else return lp(J,X.parent)}function JO0(J,X){return J===X||lp(J,X)||lp(X,J)}class ap{get element(){return this.node.element.element}get children(){return this.node.children.map((J)=>new ap(J))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(J){this.node=J}}class XZ0{constructor(J,X,Y){this.renderer=J,this.nodeMapper=X,this.onDidChangeTwistieState=Y,this.renderedNodes=new Map,this.templateId=J.templateId}renderTemplate(J){return{templateData:this.renderer.renderTemplate(J)}}renderElement(J,X,Y,Z){this.renderer.renderElement(this.nodeMapper.map(J),X,Y.templateData,Z)}renderTwistie(J,X){if(J.slow)return X.classList.add(...M0.asClassNameArray(t.treeItemLoading)),!0;else return X.classList.remove(...M0.asClassNameArray(t.treeItemLoading)),!1}disposeElement(J,X,Y,Z){this.renderer.disposeElement?.(this.nodeMapper.map(J),X,Y.templateData,Z)}disposeTemplate(J){this.renderer.disposeTemplate(J.templateData)}dispose(){this.renderedNodes.clear()}}function eY0(J){return{browserEvent:J.browserEvent,elements:J.elements.map((X)=>X.element)}}function JZ0(J){return{browserEvent:J.browserEvent,element:J.element&&J.element.element,target:J.target}}class YZ0 extends Q3{constructor(J){super(J.elements.map((X)=>X.element));this.data=J}}function dp(J){if(J instanceof Q3)return new YZ0(J);return J}class ZZ0{constructor(J){this.dnd=J}getDragURI(J){return this.dnd.getDragURI(J.element)}getDragLabel(J,X){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(J.map((Y)=>Y.element),X);return}onDragStart(J,X){this.dnd.onDragStart?.(dp(J),X)}onDragOver(J,X,Y,Z,Q,$=!0){return this.dnd.onDragOver(dp(J),X&&X.element,Y,Z,Q)}drop(J,X,Y,Z,Q){this.dnd.drop(dp(J),X&&X.element,Y,Z,Q)}onDragEnd(J){this.dnd.onDragEnd?.(J)}dispose(){this.dnd.dispose()}}class QZ0 extends PT{constructor(J,X,Y){super(X,Y);this.findProvider=J,this.isFindSessionActive=!1}filter(J,X){let Y=super.filter(J,X);if(!this.isFindSessionActive||this.findMode===P4.Highlight||!this.findProvider.isVisible)return Y;let Z=H3(Y)?Y.visibility:Y;if(GZ(Z)===0)return 0;return this.findProvider.isVisible(J)?Y:0}}class $Z0 extends DT{constructor(J,X,Y,Z,Q){super(J,Y,Z,Q);this.findProvider=X,this.filter=Y,this.activeSession=!1,this.asyncWorkInProgress=!1,this.disposables.add(J0(async()=>{if(this.activeSession)await this.findProvider.endSession?.()}))}render(){if(this.asyncWorkInProgress||!this.activeFindMetadata)return;let J=this.activeFindMetadata.matchCount===0&&this.pattern.length>0;if(this.renderMessage(J),this.pattern.length)this.alertResults(this.activeFindMetadata.matchCount)}shouldAllowFocus(J){return this.shouldFocusWhenNavigating(J)}shouldFocusWhenNavigating(J){if(!this.activeSession||!this.activeFindMetadata)return!0;let X=J.element?.element;if(X&&this.activeFindMetadata.isMatch(X))return!0;return!cQ.isDefault(J.filterData)}}function qZ0(J){return J&&{...J,collapseByDefault:!0,identityProvider:J.identityProvider&&{getId(X){return J.identityProvider.getId(X.element)},getGroupId:J.identityProvider.getGroupId?(X)=>{return J.identityProvider.getGroupId(X.element)}:void 0},dnd:J.dnd&&new ZZ0(J.dnd),multipleSelectionController:J.multipleSelectionController&&{isSelectionSingleChangeEvent(X){return J.multipleSelectionController.isSelectionSingleChangeEvent({...X,element:X.element})},isSelectionRangeChangeEvent(X){return J.multipleSelectionController.isSelectionRangeChangeEvent({...X,element:X.element})}},accessibilityProvider:J.accessibilityProvider&&{...J.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:J.accessibilityProvider.getRole?(X)=>{return J.accessibilityProvider.getRole(X.element)}:()=>\"treeitem\",isChecked:J.accessibilityProvider.isChecked?(X)=>{return!!J.accessibilityProvider?.isChecked(X.element)}:void 0,getAriaLabel(X){return J.accessibilityProvider.getAriaLabel(X.element)},getWidgetAriaLabel(){return J.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:J.accessibilityProvider.getWidgetRole?()=>J.accessibilityProvider.getWidgetRole():()=>\"tree\",getAriaLevel:J.accessibilityProvider.getAriaLevel&&((X)=>{return J.accessibilityProvider.getAriaLevel(X.element)}),getActiveDescendantId:J.accessibilityProvider.getActiveDescendantId&&((X)=>{return J.accessibilityProvider.getActiveDescendantId(X.element)})},filter:J.filter&&{filter(X,Y){return J.filter.filter(X.element,Y)}},keyboardNavigationLabelProvider:J.keyboardNavigationLabelProvider&&{...J.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(X){return J.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(X.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof J.expandOnlyOnTwistieClick>\"u\"?void 0:typeof J.expandOnlyOnTwistieClick!==\"function\"?J.expandOnlyOnTwistieClick:(X)=>J.expandOnlyOnTwistieClick(X.element),twistieAdditionalCssClass:typeof J.twistieAdditionalCssClass>\"u\"?void 0:(X)=>J.twistieAdditionalCssClass(X.element),defaultFindVisibility:(X)=>{if(X.hasChildren&&X.stale)return 1;else if(typeof J.defaultFindVisibility===\"number\")return J.defaultFindVisibility;else if(typeof J.defaultFindVisibility>\"u\")return 2;else return J.defaultFindVisibility(X.element)},stickyScrollDelegate:J.stickyScrollDelegate}}function sp(J,X){X(J),J.children.forEach((Y)=>sp(Y,X))}class RT{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return i.map(this.tree.onDidChangeFocus,eY0)}get onDidChangeSelection(){return i.map(this.tree.onDidChangeSelection,eY0)}get onMouseDblClick(){return i.map(this.tree.onMouseDblClick,JZ0)}get onPointer(){return i.map(this.tree.onPointer,JZ0)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(J,X,Y,Z,Q,$={}){this.user=J,this.dataSource=Q,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new E,this._onDidChangeNodeSlowState=new E,this.nodeMapper=new Yj((U)=>new ap(U)),this.disposables=new a,this.identityProvider=$.identityProvider,this.autoExpandSingleChildren=typeof $.autoExpandSingleChildren>\"u\"?!1:$.autoExpandSingleChildren,this.sorter=$.sorter,this.getDefaultCollapseState=(U)=>$.collapseByDefault?$.collapseByDefault(U)?a5.PreserveOrCollapsed:a5.PreserveOrExpanded:void 0;let q=!1,G;if($.findProvider&&($.findWidgetEnabled??!0)&&$.keyboardNavigationLabelProvider&&$.contextViewProvider)q=!0,G=new QZ0($.findProvider,$.keyboardNavigationLabelProvider,$.filter);if(this.tree=this.createTree(J,X,Y,Z,{...$,findWidgetEnabled:!q,filter:G??$.filter}),this.root=cp({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider)this.root={...this.root,id:null};if(this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables),q){let U={styles:$.findWidgetStyles,showNotFoundMessage:$.showNotFoundMessage,defaultFindMatchType:$.defaultFindMatchType,defaultFindMode:$.defaultFindMode};this.findController=this.disposables.add(new $Z0(this.tree,$.findProvider,G,this.tree.options.contextViewProvider,U)),this.focusNavigationFilter=(H)=>this.findController.shouldFocusWhenNavigating(H),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindOpenState=this.tree.onDidChangeFindOpenState,this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType}createTree(J,X,Y,Z,Q){let $=new S_(Y),q=Z.map((U)=>new XZ0(U,this.nodeMapper,this._onDidChangeNodeSlowState.event)),G=qZ0(Q)||{};return new Zj(J,X,$,q,G)}updateOptions(J={}){if(this.findController){if(J.defaultFindMode!==void 0)this.findController.mode=J.defaultFindMode;if(J.defaultFindMatchType!==void 0)this.findController.matchType=J.defaultFindMatchType}this.tree.updateOptions(J)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(J){this.tree.scrollTop=J}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(J,X){this.tree.layout(J,X)}style(J){this.tree.style(J)}getInput(){return this.root.element}async setInput(J,X){this.cancelAllRefreshPromises(),this.root.element=J;let Y=X&&{viewState:X,focus:[],selection:[]};if(await this._updateChildren(J,!0,!1,Y),Y)this.tree.setFocus(Y.focus),this.tree.setSelection(Y.selection);if(X&&typeof X.scrollTop===\"number\")this.scrollTop=X.scrollTop}cancelAllRefreshPromises(J=!1){if(this.refreshPromises.forEach((X)=>X.cancel()),this.refreshPromises.clear(),J)this.subTreeRefreshPromises.forEach((X)=>X.cancel()),this.subTreeRefreshPromises.clear()}async _updateChildren(J=this.root.element,X=!0,Y=!1,Z,Q){if(typeof this.root.element>\"u\")throw new i5(this.user,\"Tree input not set\");if(this.root.refreshPromise)await this.root.refreshPromise,await i.toPromise(this._onDidRender.event);let $=this.getDataNode(J);if(await this.refreshAndRenderNode($,X,Z,Q),Y)try{this.tree.rerender($)}catch{}}rerender(J){if(J===void 0||J===this.root.element){this.tree.rerender();return}let X=this.getDataNode(J);this.tree.rerender(X)}getNode(J=this.root.element){let X=this.getDataNode(J),Y=this.tree.getNode(X===this.root?null:X);return this.nodeMapper.map(Y)}collapse(J,X=!1){let Y=this.getDataNode(J);return this.tree.collapse(Y===this.root?null:Y,X)}async expand(J,X=!1){if(typeof this.root.element>\"u\")throw new i5(this.user,\"Tree input not set\");if(this.root.refreshPromise)await this.root.refreshPromise,await i.toPromise(this._onDidRender.event);let Y=this.getDataNode(J);if(this.tree.hasElement(Y)&&!this.tree.isCollapsible(Y))return!1;if(Y.refreshPromise)await Y.refreshPromise,await i.toPromise(this._onDidRender.event);if(Y!==this.root&&!Y.refreshPromise&&!this.tree.isCollapsed(Y))return!1;let Z=this.tree.expand(Y===this.root?null:Y,X);if(Y.refreshPromise)await Y.refreshPromise,await i.toPromise(this._onDidRender.event);return Z}setSelection(J,X){let Y=J.map((Z)=>this.getDataNode(Z));this.tree.setSelection(Y,X)}getSelection(){return this.tree.getSelection().map((X)=>X.element)}setFocus(J,X){let Y=J.map((Z)=>this.getDataNode(Z));this.tree.setFocus(Y,X)}getFocus(){return this.tree.getFocus().map((X)=>X.element)}reveal(J,X){this.tree.reveal(this.getDataNode(J),X)}getParentElement(J){let X=this.tree.getParentElement(this.getDataNode(J));return X&&X.element}getFirstElementChild(J=this.root.element){let X=this.getDataNode(J),Y=this.tree.getFirstElementChild(X===this.root?null:X);return Y&&Y.element}getDataNode(J){let X=this.nodes.get(J===this.root.element?null:J);if(!X){let Y=this.identityProvider?.getId(J).toString();throw new i5(this.user,`Data tree node not found${Y?`: ${Y}`:\"\"}`)}return X}async refreshAndRenderNode(J,X,Y,Z){if(this.disposables.isDisposed)return;if(await this.refreshNode(J,X,Y),this.disposables.isDisposed)return;this.render(J,Y,Z)}async refreshNode(J,X,Y){let Z;if(this.subTreeRefreshPromises.forEach((Q,$)=>{if(!Z&&JO0($,J))Z=Q.then(()=>this.refreshNode(J,X,Y))}),Z)return Z;if(J!==this.root){if(this.tree.getNode(J).collapsed){J.hasChildren=!!this.dataSource.hasChildren(J.element),J.stale=!0,this.setChildren(J,[],X,Y);return}}return this.doRefreshSubTree(J,X,Y)}async doRefreshSubTree(J,X,Y){let Z=IJ(async()=>{let Q=await this.doRefreshNode(J,X,Y);J.stale=!1,await Lq.settled(Q.map(($)=>this.doRefreshSubTree($,X,Y)))});return J.refreshPromise=Z,this.subTreeRefreshPromises.set(J,Z),Z.finally(()=>{J.refreshPromise=void 0,this.subTreeRefreshPromises.delete(J)}),Z}async doRefreshNode(J,X,Y){J.hasChildren=!!this.dataSource.hasChildren(J.element);let Z;if(!J.hasChildren)Z=Promise.resolve(s0.empty());else{let Q=this.doGetChildren(J);if(qz(Q))Z=Promise.resolve(Q);else{let $=PY(800);$.then(()=>{J.slow=!0,this._onDidChangeNodeSlowState.fire(J)},(q)=>null),Z=Q.finally(()=>$.cancel())}}try{let Q=await Z;return this.setChildren(J,Q,X,Y)}catch(Q){if(J!==this.root&&this.tree.hasElement(J))this.tree.collapse(J);if(n4(Q))return[];throw Q}finally{if(J.slow)J.slow=!1,this._onDidChangeNodeSlowState.fire(J)}}doGetChildren(J){let X=this.refreshPromises.get(J);if(X)return X;let Y=this.dataSource.getChildren(J.element);if(qz(Y))return this.processChildren(Y);else return X=IJ(async()=>this.processChildren(await Y)),this.refreshPromises.set(J,X),X.finally(()=>{this.refreshPromises.delete(J)})}_onDidChangeCollapseState({node:J,deep:X}){if(J.element===null)return;if(!J.collapsed&&J.element.stale)if(X)this.collapse(J.element.element);else this.refreshAndRenderNode(J.element,!1).catch(b0)}setChildren(J,X,Y,Z){let Q=[...X];if(J.children.length===0&&Q.length===0)return[];let $=new Map,q=new Map;for(let H of J.children)if($.set(H.element,H),this.identityProvider)q.set(H.id,{node:H,collapsed:this.tree.hasElement(H)&&this.tree.isCollapsed(H)});let G=[],U=Q.map((H)=>{let V=!!this.dataSource.hasChildren(H);if(!this.identityProvider){let z=cp({element:H,parent:J,hasChildren:V,defaultCollapseState:this.getDefaultCollapseState(H)});if(V&&z.defaultCollapseState===a5.PreserveOrExpanded)G.push(z);return z}let K=this.identityProvider.getId(H).toString(),j=q.get(K);if(j){let z=j.node;if($.delete(z.element),this.nodes.delete(z.element),this.nodes.set(H,z),z.element=H,z.hasChildren=V,Y)if(j.collapsed)z.children.forEach((B)=>sp(B,(P)=>this.nodes.delete(P.element))),z.children.splice(0,z.children.length),z.stale=!0;else G.push(z);else if(V&&!j.collapsed)G.push(z);return z}let W=cp({element:H,parent:J,id:K,hasChildren:V,defaultCollapseState:this.getDefaultCollapseState(H)});if(Z&&Z.viewState.focus&&Z.viewState.focus.indexOf(K)>-1)Z.focus.push(W);if(Z&&Z.viewState.selection&&Z.viewState.selection.indexOf(K)>-1)Z.selection.push(W);if(Z&&Z.viewState.expanded&&Z.viewState.expanded.indexOf(K)>-1)G.push(W);else if(V&&W.defaultCollapseState===a5.PreserveOrExpanded)G.push(W);return W});for(let H of $.values())sp(H,(V)=>this.nodes.delete(V.element));for(let H of U)this.nodes.set(H.element,H);if(Zq(J.children,0,J.children.length,U),J!==this.root&&this.autoExpandSingleChildren&&U.length===1&&G.length===0)U[0].forceExpanded=!0,G.push(U[0]);return G}render(J,X,Y){let Z=J.children.map(($)=>this.asTreeElement($,X)),Q=Y&&{...Y,diffIdentityProvider:Y.diffIdentityProvider&&{getId($){return Y.diffIdentityProvider.getId($.element)},getGroupId:Y.diffIdentityProvider.getGroupId?($)=>{return Y.diffIdentityProvider.getGroupId($.element)}:void 0}};if(this.tree.setChildren(J===this.root?null:J,Z,Q),J!==this.root)this.tree.setCollapsible(J,J.hasChildren);this._onDidRender.fire()}asTreeElement(J,X){if(J.stale)return{element:J,collapsible:J.hasChildren,collapsed:!0};let Y;if(X&&X.viewState.expanded&&J.id&&X.viewState.expanded.indexOf(J.id)>-1)Y=!1;else if(J.forceExpanded)Y=!1,J.forceExpanded=!1;else Y=J.defaultCollapseState;return{element:J,children:J.hasChildren?s0.map(J.children,(Z)=>this.asTreeElement(Z,X)):[],collapsible:J.hasChildren,collapsed:Y}}processChildren(J){if(this.sorter)J=[...J].sort(this.sorter.compare.bind(this.sorter));return J}dispose(){this._onDidRender.dispose(),this._onDidChangeNodeSlowState.dispose(),this.disposables.dispose(),this.tree.dispose()}}class ip{get element(){return{elements:this.node.element.elements.map((J)=>J.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((J)=>new ip(J))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(J){this.node=J}}class GZ0{constructor(J,X,Y,Z){this.renderer=J,this.nodeMapper=X,this.compressibleNodeMapperProvider=Y,this.onDidChangeTwistieState=Z,this.renderedNodes=new Map,this.disposables=[],this.templateId=J.templateId}renderTemplate(J){return{templateData:this.renderer.renderTemplate(J)}}renderElement(J,X,Y,Z){this.renderer.renderElement(this.nodeMapper.map(J),X,Y.templateData,Z)}renderCompressedElements(J,X,Y,Z){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(J),X,Y.templateData,Z)}renderTwistie(J,X){if(J.slow)return X.classList.add(...M0.asClassNameArray(t.treeItemLoading)),!0;else return X.classList.remove(...M0.asClassNameArray(t.treeItemLoading)),!1}disposeElement(J,X,Y,Z){this.renderer.disposeElement?.(this.nodeMapper.map(J),X,Y.templateData,Z)}disposeCompressedElements(J,X,Y,Z){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(J),X,Y.templateData,Z)}disposeTemplate(J){this.renderer.disposeTemplate(J.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=D1(this.disposables)}}function XO0(J){let X=J&&qZ0(J);return X&&{...X,keyboardNavigationLabelProvider:X.keyboardNavigationLabelProvider&&{...X.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(Y){return J.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(Y.map((Z)=>Z.element))}},stickyScrollDelegate:X.stickyScrollDelegate}}class rp extends RT{constructor(J,X,Y,Z,Q,$,q={}){super(J,X,Y,Q,$,q);this.compressionDelegate=Z,this.compressibleNodeMapper=new Yj((G)=>new ip(G)),this.filter=q.filter}createTree(J,X,Y,Z,Q){let $=new S_(Y),q=Z.map((U)=>new GZ0(U,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),G=XO0(Q)||{};return new h_(J,X,$,q,G)}asTreeElement(J,X){return{incompressible:this.compressionDelegate.isIncompressible(J.element),...super.asTreeElement(J,X)}}render(J,X,Y){if(!this.identityProvider)return super.render(J,X);let Z=(j)=>this.identityProvider.getId(j).toString(),Q=(j)=>{let W=new Set;for(let z of j){let B=this.tree.getCompressedTreeNode(z===this.root?null:z);if(!B.element)continue;for(let P of B.element.elements)W.add(Z(P.element))}return W},$=Q(this.tree.getSelection()),q=Q(this.tree.getFocus());super.render(J,X,Y);let G=this.getSelection(),U=!1,H=this.getFocus(),V=!1,K=(j)=>{let W=j.element;if(W)for(let z=0;z<W.elements.length;z++){let B=Z(W.elements[z].element),P=W.elements[W.elements.length-1].element;if($.has(B)&&G.indexOf(P)===-1)G.push(P),U=!0;if(q.has(B)&&H.indexOf(P)===-1)H.push(P),V=!0}j.children.forEach(K)};if(K(this.tree.getCompressedTreeNode(J===this.root?null:J)),U)this.setSelection(G);if(V)this.setFocus(H)}processChildren(J){if(this.filter)J=s0.filter(J,(X)=>{let Y=this.filter.filter(X,1),Z=YO0(Y);if(Z===2)throw Error(\"Recursive tree visibility not supported in async data compressed trees\");return Z===1});return super.processChildren(J)}}function YO0(J){if(typeof J===\"boolean\")return J?1:0;else if(H3(J))return GZ(J.visibility);else return GZ(J)}class op extends f_{constructor(J,X,Y,Z,Q,$={}){super(J,X,Y,Z,$);this.user=J,this.dataSource=Q,this.identityProvider=$.identityProvider}createModel(J,X){return new $U(J,X)}}var eQ=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Y6=function(J,X){return function(Y,Z){X(Y,Z,J)}},mX=W0(\"listService\");class np{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new a,this.lists=[],this._lastFocusedWidget=void 0}setLastFocusedList(J){if(J===this._lastFocusedWidget)return;this._lastFocusedWidget?.getHTMLElement().classList.remove(\"last-focused\"),this._lastFocusedWidget=J,this._lastFocusedWidget?.getHTMLElement().classList.add(\"last-focused\")}register(J,X){if(this.lists.some((Z)=>Z.widget===J))throw Error(\"Cannot register the same widget multiple times\");let Y={widget:J,extraContextKeys:X};if(this.lists.push(Y),Z9(J.getHTMLElement()))this.setLastFocusedList(J);return e7(J.onDidFocus(()=>this.setLastFocusedList(J)),J0(()=>this.lists.splice(this.lists.indexOf(Y),1)),J.onDidDispose(()=>{if(this.lists=this.lists.filter((Z)=>Z!==Y),this._lastFocusedWidget===J)this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}var v_=new G0(\"listScrollAtBoundary\",\"none\");P0.or(v_.isEqualTo(\"top\"),v_.isEqualTo(\"both\"));P0.or(v_.isEqualTo(\"bottom\"),v_.isEqualTo(\"both\"));var FZ0=new G0(\"listFocus\",!0),BZ0=new G0(\"treestickyScrollFocused\",!1),ET=new G0(\"listSupportsMultiselect\",!0),iM1=P0.and(FZ0,P0.not(rg),BZ0.negate()),tp=new G0(\"listHasSelectionOrFocus\",!1),ep=new G0(\"listDoubleSelection\",!1),Jm=new G0(\"listMultiSelection\",!1),yT=new G0(\"listSelectionNavigation\",!1),ZO0=new G0(\"listSupportsFind\",!0),QO0=new G0(\"treeElementCanCollapse\",!1),$O0=new G0(\"treeElementHasParent\",!1),qO0=new G0(\"treeElementCanExpand\",!1),GO0=new G0(\"treeElementHasChild\",!1),UO0=new G0(\"treeFindOpen\",!1),_Z0=\"listTypeNavigationMode\",AZ0=\"listAutomaticKeyboardNavigation\";function xT(J,X){let Y=J.createScoped(X.getHTMLElement());return FZ0.bindTo(Y),Y}function bT(J,X){let Y=v_.bindTo(J),Z=()=>{let Q=X.scrollTop===0,$=X.scrollHeight-X.renderHeight-X.scrollTop<1;if(Q&&$)Y.set(\"both\");else if(Q)Y.set(\"top\");else if($)Y.set(\"bottom\");else Y.set(\"none\")};return Z(),X.onDidScroll(Z)}var GU=\"workbench.list.multiSelectModifier\",NT=\"workbench.list.openMode\",e9=\"workbench.list.horizontalScrolling\",Xm=\"workbench.list.defaultFindMode\",Ym=\"workbench.list.typeNavigationMode\",wT=\"workbench.list.keyboardNavigation\",gX=\"workbench.list.scrollByPage\",Zm=\"workbench.list.defaultFindMatchType\",g_=\"workbench.tree.indent\",TT=\"workbench.tree.renderIndentGuides\",pX=\"workbench.list.smoothScrolling\",UZ=\"workbench.list.mouseWheelScrollSensitivity\",HZ=\"workbench.list.fastScrollSensitivity\",LT=\"workbench.tree.expandMode\",IT=\"workbench.tree.enableStickyScroll\",kT=\"workbench.tree.stickyScrollMaxItemCount\";function VZ(J){return J.getValue(GU)===\"alt\"}class PZ0 extends y{constructor(J){super();this.configurationService=J,this.useAltAsMultipleSelectionModifier=VZ(J),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((J)=>{if(J.affectsConfiguration(GU))this.useAltAsMultipleSelectionModifier=VZ(this.configurationService)}))}isSelectionSingleChangeEvent(J){if(this.useAltAsMultipleSelectionModifier)return J.browserEvent.altKey;return qp(J)}isSelectionRangeChangeEvent(J){return Gp(J)}}function CT(J,X){let Y=J.get(o0),Z=J.get(T1),Q=new a;return[{...X,keyboardNavigationDelegate:{mightProducePrintableCharacter(q){return Z.mightProducePrintableCharacter(q)}},smoothScrolling:Boolean(Y.getValue(pX)),mouseWheelScrollSensitivity:Y.getValue(UZ),fastScrollSensitivity:Y.getValue(HZ),multipleSelectionController:X.multipleSelectionController??Q.add(new PZ0(Y)),keyboardNavigationEventFilter:HO0(Z),scrollByPage:Boolean(Y.getValue(gX))},Q]}var UZ0=class extends s5{constructor(X,Y,Z,Q,$,q,G,U,H){let V=typeof $.horizontalScrolling<\"u\"?$.horizontalScrolling:Boolean(U.getValue(e9)),[K,j]=H.invokeFunction(CT,$);super(X,Y,Z,Q,{keyboardSupport:!1,...K,horizontalScrolling:V});this.disposables.add(j),this.contextKeyService=xT(q,this),this.disposables.add(bT(this.contextKeyService,this)),this.listSupportsMultiSelect=ET.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set($.multipleSelectionSupport!==!1),yT.bindTo(this.contextKeyService).set(Boolean($.selectionNavigation)),this.listHasSelectionOrFocus=tp.bindTo(this.contextKeyService),this.listDoubleSelection=ep.bindTo(this.contextKeyService),this.listMultiSelection=Jm.bindTo(this.contextKeyService),this.horizontalScrolling=$.horizontalScrolling,this._useAltAsMultipleSelectionModifier=VZ(U),this.disposables.add(this.contextKeyService),this.disposables.add(G.register(this)),this.updateStyles($.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{let z=this.getSelection(),B=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(z.length>0||B.length>0),this.listMultiSelection.set(z.length>1),this.listDoubleSelection.set(z.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{let z=this.getSelection(),B=this.getFocus();this.listHasSelectionOrFocus.set(z.length>0||B.length>0)})),this.disposables.add(U.onDidChangeConfiguration((z)=>{if(z.affectsConfiguration(GU))this._useAltAsMultipleSelectionModifier=VZ(U);let B={};if(z.affectsConfiguration(e9)&&this.horizontalScrolling===void 0){let P=Boolean(U.getValue(e9));B={...B,horizontalScrolling:P}}if(z.affectsConfiguration(gX)){let P=Boolean(U.getValue(gX));B={...B,scrollByPage:P}}if(z.affectsConfiguration(pX)){let P=Boolean(U.getValue(pX));B={...B,smoothScrolling:P}}if(z.affectsConfiguration(UZ)){let P=U.getValue(UZ);B={...B,mouseWheelScrollSensitivity:P}}if(z.affectsConfiguration(HZ)){let P=U.getValue(HZ);B={...B,fastScrollSensitivity:P}}if(Object.keys(B).length>0)this.updateOptions(B)})),this.navigator=new Qm(this,{configurationService:U,...$}),this.disposables.add(this.navigator)}updateOptions(X){if(super.updateOptions(X),X.overrideStyles!==void 0)this.updateStyles(X.overrideStyles);if(X.multipleSelectionSupport!==void 0)this.listSupportsMultiSelect.set(!!X.multipleSelectionSupport)}updateStyles(X){this.style(X?YU(X):G3)}};UZ0=eQ([Y6(5,E0),Y6(6,mX),Y6(7,o0),Y6(8,w0)],UZ0);var HZ0=class extends kp{constructor(X,Y,Z,Q,$,q,G,U,H){let V=typeof $.horizontalScrolling<\"u\"?$.horizontalScrolling:Boolean(U.getValue(e9)),[K,j]=H.invokeFunction(CT,$);super(X,Y,Z,Q,{keyboardSupport:!1,...K,horizontalScrolling:V});this.disposables=new a,this.disposables.add(j),this.contextKeyService=xT(q,this),this.disposables.add(bT(this.contextKeyService,this.widget)),this.horizontalScrolling=$.horizontalScrolling,this.listSupportsMultiSelect=ET.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set($.multipleSelectionSupport!==!1),yT.bindTo(this.contextKeyService).set(Boolean($.selectionNavigation)),this._useAltAsMultipleSelectionModifier=VZ(U),this.disposables.add(this.contextKeyService),this.disposables.add(G.register(this)),this.updateStyles($.overrideStyles),this.disposables.add(U.onDidChangeConfiguration((z)=>{if(z.affectsConfiguration(GU))this._useAltAsMultipleSelectionModifier=VZ(U);let B={};if(z.affectsConfiguration(e9)&&this.horizontalScrolling===void 0){let P=Boolean(U.getValue(e9));B={...B,horizontalScrolling:P}}if(z.affectsConfiguration(gX)){let P=Boolean(U.getValue(gX));B={...B,scrollByPage:P}}if(z.affectsConfiguration(pX)){let P=Boolean(U.getValue(pX));B={...B,smoothScrolling:P}}if(z.affectsConfiguration(UZ)){let P=U.getValue(UZ);B={...B,mouseWheelScrollSensitivity:P}}if(z.affectsConfiguration(HZ)){let P=U.getValue(HZ);B={...B,fastScrollSensitivity:P}}if(Object.keys(B).length>0)this.updateOptions(B)})),this.navigator=new Qm(this,{configurationService:U,...$}),this.disposables.add(this.navigator)}updateOptions(X){if(super.updateOptions(X),X.overrideStyles!==void 0)this.updateStyles(X.overrideStyles);if(X.multipleSelectionSupport!==void 0)this.listSupportsMultiSelect.set(!!X.multipleSelectionSupport)}updateStyles(X){this.style(X?YU(X):G3)}dispose(){this.disposables.dispose(),super.dispose()}};HZ0=eQ([Y6(5,E0),Y6(6,mX),Y6(7,o0),Y6(8,w0)],HZ0);var VZ0=class extends WT{constructor(X,Y,Z,Q,$,q,G,U,H,V){let K=typeof q.horizontalScrolling<\"u\"?q.horizontalScrolling:Boolean(H.getValue(e9)),[j,W]=V.invokeFunction(CT,q);super(X,Y,Z,Q,$,{keyboardSupport:!1,...j,horizontalScrolling:K});this.disposables.add(W),this.contextKeyService=xT(G,this),this.disposables.add(bT(this.contextKeyService,this)),this.listSupportsMultiSelect=ET.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(q.multipleSelectionSupport!==!1),yT.bindTo(this.contextKeyService).set(Boolean(q.selectionNavigation)),this.listHasSelectionOrFocus=tp.bindTo(this.contextKeyService),this.listDoubleSelection=ep.bindTo(this.contextKeyService),this.listMultiSelection=Jm.bindTo(this.contextKeyService),this.horizontalScrolling=q.horizontalScrolling,this._useAltAsMultipleSelectionModifier=VZ(H),this.disposables.add(this.contextKeyService),this.disposables.add(U.register(this)),this.updateStyles(q.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{let B=this.getSelection(),P=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(B.length>0||P.length>0),this.listMultiSelection.set(B.length>1),this.listDoubleSelection.set(B.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{let B=this.getSelection(),P=this.getFocus();this.listHasSelectionOrFocus.set(B.length>0||P.length>0)})),this.disposables.add(H.onDidChangeConfiguration((B)=>{if(B.affectsConfiguration(GU))this._useAltAsMultipleSelectionModifier=VZ(H);let P={};if(B.affectsConfiguration(e9)&&this.horizontalScrolling===void 0){let _=Boolean(H.getValue(e9));P={...P,horizontalScrolling:_}}if(B.affectsConfiguration(gX)){let _=Boolean(H.getValue(gX));P={...P,scrollByPage:_}}if(B.affectsConfiguration(pX)){let _=Boolean(H.getValue(pX));P={...P,smoothScrolling:_}}if(B.affectsConfiguration(UZ)){let _=H.getValue(UZ);P={...P,mouseWheelScrollSensitivity:_}}if(B.affectsConfiguration(HZ)){let _=H.getValue(HZ);P={...P,fastScrollSensitivity:_}}if(Object.keys(P).length>0)this.updateOptions(P)})),this.navigator=new DZ0(this,{configurationService:H,...q}),this.disposables.add(this.navigator)}updateOptions(X){if(super.updateOptions(X),X.overrideStyles!==void 0)this.updateStyles(X.overrideStyles);if(X.multipleSelectionSupport!==void 0)this.listSupportsMultiSelect.set(!!X.multipleSelectionSupport)}updateStyles(X){this.style(X?YU(X):G3)}dispose(){this.disposables.dispose(),super.dispose()}};VZ0=eQ([Y6(6,E0),Y6(7,mX),Y6(8,o0),Y6(9,w0)],VZ0);class ST extends y{constructor(J,X){super();if(this.widget=J,this._onDidOpen=this._register(new E),this.onDidOpen=this._onDidOpen.event,this._register(i.filter(this.widget.onDidChangeSelection,(Y)=>EJ(Y.browserEvent))((Y)=>this.onSelectionFromKeyboard(Y))),this._register(this.widget.onPointer((Y)=>this.onPointer(Y.element,Y.browserEvent))),this._register(this.widget.onMouseDblClick((Y)=>this.onMouseDblClick(Y.element,Y.browserEvent))),typeof X?.openOnSingleClick!==\"boolean\"&&X?.configurationService)this.openOnSingleClick=X?.configurationService.getValue(NT)!==\"doubleClick\",this._register(X?.configurationService.onDidChangeConfiguration((Y)=>{if(Y.affectsConfiguration(NT))this.openOnSingleClick=X?.configurationService.getValue(NT)!==\"doubleClick\"}));else this.openOnSingleClick=X?.openOnSingleClick??!0}onSelectionFromKeyboard(J){if(J.elements.length!==1)return;let X=J.browserEvent,Y=typeof X.preserveFocus===\"boolean\"?X.preserveFocus:!0,Z=typeof X.pinned===\"boolean\"?X.pinned:!Y,Q=!1;this._open(this.getSelectedElement(),Y,Z,Q,J.browserEvent)}onPointer(J,X){if(!this.openOnSingleClick)return;if(X.detail===2)return;let Z=X.button===1,Q=!0,$=Z,q=X.ctrlKey||X.metaKey||X.altKey;this._open(J,Q,$,q,X)}onMouseDblClick(J,X){if(!X)return;let Y=X.target;if(Y.classList.contains(\"monaco-tl-twistie\")||Y.classList.contains(\"monaco-icon-label\")&&Y.classList.contains(\"folder-icon\")&&X.offsetX<16)return;let Q=!1,$=!0,q=X.ctrlKey||X.metaKey||X.altKey;this._open(J,Q,$,q,X)}_open(J,X,Y,Z,Q){if(!J)return;this._onDidOpen.fire({editorOptions:{preserveFocus:X,pinned:Y,revealIfVisible:!0},sideBySide:Z,element:J,browserEvent:Q})}}class Qm extends ST{constructor(J,X){super(J,X);this.widget=J}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class DZ0 extends ST{constructor(J,X){super(J,X)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class OZ0 extends ST{constructor(J,X){super(J,X)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function HO0(J){let X=!1;return(Y)=>{if(Y.toKeyCodeChord().isModifierKey())return!1;if(X)return X=!1,!1;let Z=J.softDispatch(Y,Y.target);if(Z.kind===1)return X=!0,!1;return X=!1,Z.kind===0}}var Qj=class extends Zj{get onDidOpen(){return this.internals.onDidOpen}constructor(X,Y,Z,Q,$,q,G,U,H){let{options:V,getTypeNavigationMode:K,disposable:j}=q.invokeFunction(p_,$);super(X,Y,Z,Q,V);this.disposables.add(j),this.internals=new qU(this,$,K,$.overrideStyles,G,U,H),this.disposables.add(this.internals)}updateOptions(X={}){if(super.updateOptions(X),X.overrideStyles)this.internals.updateStyleOverrides(X.overrideStyles);this.internals.updateOptions(X)}};Qj=eQ([Y6(5,w0),Y6(6,E0),Y6(7,mX),Y6(8,o0)],Qj);var KZ0=class extends h_{constructor(X,Y,Z,Q,$,q,G,U,H){let{options:V,getTypeNavigationMode:K,disposable:j}=q.invokeFunction(p_,$);super(X,Y,Z,Q,V);this.disposables.add(j),this.internals=new qU(this,$,K,$.overrideStyles,G,U,H),this.disposables.add(this.internals)}updateOptions(X={}){if(super.updateOptions(X),X.overrideStyles)this.internals.updateStyleOverrides(X.overrideStyles);this.internals.updateOptions(X)}};KZ0=eQ([Y6(5,w0),Y6(6,E0),Y6(7,mX),Y6(8,o0)],KZ0);var jZ0=class extends op{constructor(X,Y,Z,Q,$,q,G,U,H,V){let{options:K,getTypeNavigationMode:j,disposable:W}=G.invokeFunction(p_,q);super(X,Y,Z,Q,$,K);this.disposables.add(W),this.internals=new qU(this,q,j,q.overrideStyles,U,H,V),this.disposables.add(this.internals)}updateOptions(X={}){if(super.updateOptions(X),X.overrideStyles!==void 0)this.internals.updateStyleOverrides(X.overrideStyles);this.internals.updateOptions(X)}};jZ0=eQ([Y6(6,w0),Y6(7,E0),Y6(8,mX),Y6(9,o0)],jZ0);var WZ0=class extends RT{get onDidOpen(){return this.internals.onDidOpen}constructor(X,Y,Z,Q,$,q,G,U,H,V){let{options:K,getTypeNavigationMode:j,disposable:W}=G.invokeFunction(p_,q);super(X,Y,Z,Q,$,K);this.disposables.add(W),this.internals=new qU(this,q,j,q.overrideStyles,U,H,V),this.disposables.add(this.internals)}updateOptions(X={}){if(super.updateOptions(X),X.overrideStyles)this.internals.updateStyleOverrides(X.overrideStyles);this.internals.updateOptions(X)}};WZ0=eQ([Y6(6,w0),Y6(7,E0),Y6(8,mX),Y6(9,o0)],WZ0);var zZ0=class extends rp{constructor(X,Y,Z,Q,$,q,G,U,H,V,K){let{options:j,getTypeNavigationMode:W,disposable:z}=U.invokeFunction(p_,G);super(X,Y,Z,Q,$,q,j);this.disposables.add(z),this.internals=new qU(this,G,W,G.overrideStyles,H,V,K),this.disposables.add(this.internals)}updateOptions(X){super.updateOptions(X),this.internals.updateOptions(X)}};zZ0=eQ([Y6(7,w0),Y6(8,E0),Y6(9,mX),Y6(10,o0)],zZ0);function MZ0(J){let X=J.getValue(Xm);if(X===\"highlight\")return P4.Highlight;else if(X===\"filter\")return P4.Filter;let Y=J.getValue(wT);if(Y===\"simple\"||Y===\"highlight\")return P4.Highlight;else if(Y===\"filter\")return P4.Filter;return}function RZ0(J){let X=J.getValue(Zm);if(X===\"fuzzy\")return rJ.Fuzzy;else if(X===\"contiguous\")return rJ.Contiguous;return}function p_(J,X){let Y=J.get(o0),Z=J.get(h4),Q=J.get(E0),$=J.get(w0),q=()=>{let j=Q.getContextKeyValue(_Z0);if(j===\"automatic\")return vX.Automatic;else if(j===\"trigger\")return vX.Trigger;if(Q.getContextKeyValue(AZ0)===!1)return vX.Trigger;let z=Y.getValue(Ym);if(z===\"automatic\")return vX.Automatic;else if(z===\"trigger\")return vX.Trigger;return},G=X.horizontalScrolling!==void 0?X.horizontalScrolling:Boolean(Y.getValue(e9)),[U,H]=$.invokeFunction(CT,X),V=X.paddingBottom,K=X.renderIndentGuides!==void 0?X.renderIndentGuides:Y.getValue(TT);return{getTypeNavigationMode:q,disposable:H,options:{keyboardSupport:!1,...U,indent:typeof Y.getValue(g_)===\"number\"?Y.getValue(g_):void 0,renderIndentGuides:K,smoothScrolling:Boolean(Y.getValue(pX)),defaultFindMode:X.defaultFindMode??MZ0(Y),defaultFindMatchType:X.defaultFindMatchType??RZ0(Y),horizontalScrolling:G,scrollByPage:Boolean(Y.getValue(gX)),paddingBottom:V,hideTwistiesOfChildlessElements:X.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:X.expandOnlyOnTwistieClick??Y.getValue(LT)===\"doubleClick\",contextViewProvider:Z,findWidgetStyles:ZY0,enableStickyScroll:Boolean(Y.getValue(IT)),stickyScrollMaxItemCount:Number(Y.getValue(kT))}}}var qU=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(X,Y,Z,Q,$,q,G){this.tree=X,this.disposables=[],this.contextKeyService=xT($,X),this.disposables.push(bT(this.contextKeyService,X)),this.listSupportsMultiSelect=ET.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Y.multipleSelectionSupport!==!1),yT.bindTo(this.contextKeyService).set(Boolean(Y.selectionNavigation)),this.listSupportFindWidget=ZO0.bindTo(this.contextKeyService),this.listSupportFindWidget.set(Y.findWidgetEnabled??!0),this.hasSelectionOrFocus=tp.bindTo(this.contextKeyService),this.hasDoubleSelection=ep.bindTo(this.contextKeyService),this.hasMultiSelection=Jm.bindTo(this.contextKeyService),this.treeElementCanCollapse=QO0.bindTo(this.contextKeyService),this.treeElementHasParent=$O0.bindTo(this.contextKeyService),this.treeElementCanExpand=qO0.bindTo(this.contextKeyService),this.treeElementHasChild=GO0.bindTo(this.contextKeyService),this.treeFindOpen=UO0.bindTo(this.contextKeyService),this.treeStickyScrollFocused=BZ0.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=VZ(G),this.updateStyleOverrides(Q);let H=()=>{let K=X.getFocus()[0];if(!K)return;let j=X.getNode(K);this.treeElementCanCollapse.set(j.collapsible&&!j.collapsed),this.treeElementHasParent.set(!!X.getParentElement(K)),this.treeElementCanExpand.set(j.collapsible&&j.collapsed),this.treeElementHasChild.set(!!X.getFirstElementChild(K))},V=new Set;V.add(_Z0),V.add(AZ0),this.disposables.push(this.contextKeyService,q.register(X),X.onDidChangeSelection(()=>{let K=X.getSelection(),j=X.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(K.length>0||j.length>0),this.hasMultiSelection.set(K.length>1),this.hasDoubleSelection.set(K.length===2)})}),X.onDidChangeFocus(()=>{let K=X.getSelection(),j=X.getFocus();this.hasSelectionOrFocus.set(K.length>0||j.length>0),H()}),X.onDidChangeCollapseState(H),X.onDidChangeModel(H),X.onDidChangeFindOpenState((K)=>this.treeFindOpen.set(K)),X.onDidChangeStickyScrollFocused((K)=>this.treeStickyScrollFocused.set(K)),G.onDidChangeConfiguration((K)=>{let j={};if(K.affectsConfiguration(GU))this._useAltAsMultipleSelectionModifier=VZ(G);if(K.affectsConfiguration(g_)){let W=G.getValue(g_);j={...j,indent:W}}if(K.affectsConfiguration(TT)&&Y.renderIndentGuides===void 0){let W=G.getValue(TT);j={...j,renderIndentGuides:W}}if(K.affectsConfiguration(pX)){let W=Boolean(G.getValue(pX));j={...j,smoothScrolling:W}}if(K.affectsConfiguration(Xm)||K.affectsConfiguration(wT)){let W=MZ0(G);j={...j,defaultFindMode:W}}if(K.affectsConfiguration(Ym)||K.affectsConfiguration(wT)){let W=Z();j={...j,typeNavigationMode:W}}if(K.affectsConfiguration(Zm)){let W=RZ0(G);j={...j,defaultFindMatchType:W}}if(K.affectsConfiguration(e9)&&Y.horizontalScrolling===void 0){let W=Boolean(G.getValue(e9));j={...j,horizontalScrolling:W}}if(K.affectsConfiguration(gX)){let W=Boolean(G.getValue(gX));j={...j,scrollByPage:W}}if(K.affectsConfiguration(LT)&&Y.expandOnlyOnTwistieClick===void 0)j={...j,expandOnlyOnTwistieClick:G.getValue(LT)===\"doubleClick\"};if(K.affectsConfiguration(IT)){let W=G.getValue(IT);j={...j,enableStickyScroll:W}}if(K.affectsConfiguration(kT)){let W=Math.max(1,G.getValue(kT));j={...j,stickyScrollMaxItemCount:W}}if(K.affectsConfiguration(UZ)){let W=G.getValue(UZ);j={...j,mouseWheelScrollSensitivity:W}}if(K.affectsConfiguration(HZ)){let W=G.getValue(HZ);j={...j,fastScrollSensitivity:W}}if(Object.keys(j).length>0)X.updateOptions(j)}),this.contextKeyService.onDidChangeContext((K)=>{if(K.affectsSome(V))X.updateOptions({typeNavigationMode:Z()})})),this.navigator=new OZ0(X,{configurationService:G,...Y}),this.disposables.push(this.navigator)}updateOptions(X){if(X.multipleSelectionSupport!==void 0)this.listSupportsMultiSelect.set(!!X.multipleSelectionSupport)}updateStyleOverrides(X){this.tree.style(X?YU(X):G3)}dispose(){this.disposables=D1(this.disposables)}};qU=eQ([Y6(4,E0),Y6(5,mX),Y6(6,o0)],qU);var VO0=y1.as(v9.Configuration);VO0.registerConfiguration({id:\"workbench\",order:7,title:F(1768,\"Workbench\"),type:\"object\",properties:{[GU]:{type:\"string\",enum:[\"ctrlCmd\",\"alt\"],markdownEnumDescriptions:[F(1769,\"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),F(1770,\"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")],default:\"ctrlCmd\",description:F(1771,\"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.\")},[NT]:{type:\"string\",enum:[\"singleClick\",\"doubleClick\"],default:\"singleClick\",description:F(1772,\"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.\")},[e9]:{type:\"boolean\",default:!1,description:F(1773,\"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.\")},[gX]:{type:\"boolean\",default:!1,description:F(1774,\"Controls whether clicks in the scrollbar scroll page by page.\")},[g_]:{type:\"number\",default:8,minimum:4,maximum:40,description:F(1775,\"Controls tree indentation in pixels.\")},[TT]:{type:\"string\",enum:[\"none\",\"onHover\",\"always\"],default:\"onHover\",description:F(1776,\"Controls whether the tree should render indent guides.\")},[pX]:{type:\"boolean\",default:!1,description:F(1777,\"Controls whether lists and trees have smooth scrolling.\")},[UZ]:{type:\"number\",default:1,markdownDescription:F(1778,\"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.\")},[HZ]:{type:\"number\",default:5,markdownDescription:F(1779,\"Scrolling speed multiplier when pressing `Alt`.\")},[Xm]:{type:\"string\",enum:[\"highlight\",\"filter\"],enumDescriptions:[F(1780,\"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements.\"),F(1781,\"Filter elements when searching.\")],default:\"highlight\",description:F(1782,\"Controls the default find mode for lists and trees in the workbench.\")},[wT]:{type:\"string\",enum:[\"simple\",\"highlight\",\"filter\"],enumDescriptions:[F(1783,\"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.\"),F(1784,\"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.\"),F(1785,\"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.\")],default:\"highlight\",description:F(1786,\"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.\"),deprecated:!0,deprecationMessage:F(1787,\"Please use 'workbench.list.defaultFindMode' and\\t'workbench.list.typeNavigationMode' instead.\")},[Zm]:{type:\"string\",enum:[\"fuzzy\",\"contiguous\"],enumDescriptions:[F(1788,\"Use fuzzy matching when searching.\"),F(1789,\"Use contiguous matching when searching.\")],default:\"fuzzy\",description:F(1790,\"Controls the type of matching used when searching lists and trees in the workbench.\")},[LT]:{type:\"string\",enum:[\"singleClick\",\"doubleClick\"],default:\"singleClick\",description:F(1791,\"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.\")},[IT]:{type:\"boolean\",default:!0,description:F(1792,\"Controls whether sticky scrolling is enabled in trees.\")},[kT]:{type:\"number\",minimum:1,default:7,markdownDescription:F(1793,\"Controls the number of sticky elements displayed in the tree when {0} is enabled.\",\"`#workbench.tree.enableStickyScroll#`\")},[Ym]:{type:\"string\",enum:[\"automatic\",\"trigger\"],default:\"automatic\",markdownDescription:F(1794,\"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.\")}}});class $m extends y{constructor(J,X=[]){super();this.logger=new Kb([J,...X]),this._register(J.onDidChangeLogLevel((Y)=>this.setLevel(Y)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(J){this.logger.setLevel(J)}getLevel(){return this.logger.getLevel()}trace(J,...X){this.logger.trace(J,...X)}debug(J,...X){this.logger.debug(J,...X)}info(J,...X){this.logger.info(J,...X)}warn(J,...X){this.logger.warn(J,...X)}error(J,...X){this.logger.error(J,...X)}}var D4;(function(J){J[J.Hint=1]=\"Hint\",J[J.Info=2]=\"Info\",J[J.Warning=4]=\"Warning\",J[J.Error=8]=\"Error\"})(D4||(D4={}));(function(J){function X(U,H){return H-U}J.compare=X;let Y=Object.create(null);Y[J.Error]=F(1795,\"Error\"),Y[J.Warning]=F(1796,\"Warning\"),Y[J.Info]=F(1797,\"Info\");function Z(U){return Y[U]||\"\"}J.toString=Z;let Q=Object.create(null);Q[J.Error]=F(1798,\"Errors\"),Q[J.Warning]=F(1799,\"Warnings\"),Q[J.Info]=F(1800,\"Infos\");function $(U){return Q[U]||\"\"}J.toStringPlural=$;function q(U){switch(U){case U6.Error:return J.Error;case U6.Warning:return J.Warning;case U6.Info:return J.Info;case U6.Ignore:return J.Hint}}J.fromSeverity=q;function G(U){switch(U){case J.Error:return U6.Error;case J.Warning:return U6.Warning;case J.Info:return U6.Info;case J.Hint:return U6.Ignore}}J.toSeverity=G})(D4||(D4={}));var NZ0;(function(J){function Y(Q){return Z(Q,!0)}J.makeKey=Y;function Z(Q,$){let q=[\"\"];if(Q.source)q.push(Q.source.replace(\"¦\",\"\\\\¦\"));else q.push(\"\");if(Q.code)if(typeof Q.code===\"string\")q.push(Q.code.replace(\"¦\",\"\\\\¦\"));else q.push(Q.code.value.replace(\"¦\",\"\\\\¦\"));else q.push(\"\");if(Q.severity!==void 0&&Q.severity!==null)q.push(D4.toString(Q.severity));else q.push(\"\");if(Q.message&&$)q.push(Q.message.replace(\"¦\",\"\\\\¦\"));else q.push(\"\");if(Q.startLineNumber!==void 0&&Q.startLineNumber!==null)q.push(Q.startLineNumber.toString());else q.push(\"\");if(Q.startColumn!==void 0&&Q.startColumn!==null)q.push(Q.startColumn.toString());else q.push(\"\");if(Q.endLineNumber!==void 0&&Q.endLineNumber!==null)q.push(Q.endLineNumber.toString());else q.push(\"\");if(Q.endColumn!==void 0&&Q.endColumn!==null)q.push(Q.endColumn.toString());else q.push(\"\");return q.push(\"\"),q.join(\"¦\")}J.makeKeyOptionalMessage=Z})(NZ0||(NZ0={}));var uX=W0(\"markerService\");var KO0=new Set([T0.inMemory,T0.vscodeSourceControl,T0.walkThrough,T0.walkThroughSnippet,T0.vscodeChatCodeBlock,T0.vscodeTerminal]);class wZ0{constructor(){this._byResource=new r6,this._byOwner=new Map}set(J,X,Y){let Z=this._byResource.get(J);if(!Z)Z=new Map,this._byResource.set(J,Z);Z.set(X,Y);let Q=this._byOwner.get(X);if(!Q)Q=new r6,this._byOwner.set(X,Q);Q.set(J,Y)}get(J,X){return this._byResource.get(J)?.get(X)}delete(J,X){let Y=!1,Z=!1,Q=this._byResource.get(J);if(Q)Y=Q.delete(X);let $=this._byOwner.get(X);if($)Z=$.delete(J);if(Y!==Z)throw Error(\"illegal state\");return Y&&Z}values(J){if(typeof J===\"string\")return this._byOwner.get(J)?.values()??s0.empty();if(R0.isUri(J))return this._byResource.get(J)?.values()??s0.empty();return s0.map(s0.concat(...this._byOwner.values()),(X)=>X[1])}}class TZ0{constructor(J){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new r6,this._service=J,this._subscription=J.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(J){for(let X of J){let Y=this._data.get(X);if(Y)this._substract(Y);let Z=this._resourceStats(X);this._add(Z),this._data.set(X,Z)}}_resourceStats(J){let X={errors:0,warnings:0,infos:0,unknowns:0};if(KO0.has(J.scheme))return X;for(let{severity:Y}of this._service.read({resource:J}))if(Y===D4.Error)X.errors+=1;else if(Y===D4.Warning)X.warnings+=1;else if(Y===D4.Info)X.infos+=1;else X.unknowns+=1;return X}_substract(J){this.errors-=J.errors,this.warnings-=J.warnings,this.infos-=J.infos,this.unknowns-=J.unknowns}_add(J){this.errors+=J.errors,this.warnings+=J.warnings,this.infos+=J.infos,this.unknowns+=J.unknowns}}class K3{constructor(){this._onMarkerChanged=new zz({merge:K3._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new wZ0,this._stats=new TZ0(this),this._filteredResources=new r6}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(J,X){for(let Y of X||[])this.changeOne(J,Y,[])}changeOne(J,X,Y){if(ir(Y)){if(this._data.delete(X,J))this._onMarkerChanged.fire([X])}else{let Z=[];for(let Q of Y){let $=K3._toMarker(J,X,Q);if($)Z.push($)}this._data.set(X,J,Z),this._onMarkerChanged.fire([X])}}static _toMarker(J,X,Y){let{code:Z,severity:Q,message:$,source:q,startLineNumber:G,startColumn:U,endLineNumber:H,endColumn:V,relatedInformation:K,modelVersionId:j,tags:W,origin:z}=Y;if(!$)return;return G=G>0?G:1,U=U>0?U:1,H=H>=G?H:G,V=V>0?V:U,{resource:X,owner:J,code:Z,severity:Q,message:$,source:q,startLineNumber:G,startColumn:U,endLineNumber:H,endColumn:V,relatedInformation:K,modelVersionId:j,tags:W,origin:z}}changeAll(J,X){let Y=[],Z=this._data.values(J);if(Z)for(let Q of Z){let $=s0.first(Q);if($)Y.push($.resource),this._data.delete($.resource,J)}if(Yq(X)){let Q=new r6;for(let{resource:$,marker:q}of X){let G=K3._toMarker(J,$,q);if(!G)continue;let U=Q.get($);if(!U)Q.set($,[G]),Y.push($);else U.push(G)}for(let[$,q]of Q)this._data.set($,J,q)}if(Y.length>0)this._onMarkerChanged.fire(Y)}_createFilteredMarker(J,X){let Y=X.length===1?F(1801,'Problems are paused because: \"{0}\"',X[0]):F(1802,'Problems are paused because: \"{0}\" and {1} more',X[0],X.length-1);return{owner:\"markersFilter\",resource:J,severity:D4.Info,message:Y,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1}}read(J=Object.create(null)){let{owner:X,resource:Y,severities:Z,take:Q}=J;if(!Q||Q<0)Q=-1;if(X&&Y){let $=!J.ignoreResourceFilters?this._filteredResources.get(Y):void 0;if($?.length)return[this._createFilteredMarker(Y,$)];let q=this._data.get(Y,X);if(!q)return[];let G=[];for(let U of q){if(Q>0&&G.length===Q)break;let H=!J.ignoreResourceFilters?this._filteredResources.get(Y):void 0;if(H?.length)G.push(this._createFilteredMarker(Y,H));else if(K3._accept(U,Z))G.push(U)}return G}else{let $=!X&&!Y?this._data.values():this._data.values(Y??X),q=[],G=new Qb;for(let U of $)for(let H of U){if(G.has(H.resource))continue;if(Q>0&&q.length===Q)break;let V=!J.ignoreResourceFilters?this._filteredResources.get(H.resource):void 0;if(V?.length)q.push(this._createFilteredMarker(H.resource,V)),G.add(H.resource);else if(K3._accept(H,Z))q.push(H)}return q}}static _accept(J,X){return X===void 0||(X&J.severity)===J.severity}static _merge(J){let X=new r6;for(let Y of J)for(let Z of Y)X.set(Z,!0);return Array.from(X.keys())}}var fT=W0(\"progressService\");class jO0{static{this.None=Object.freeze({report(){}})}constructor(J){this.callback=J}report(J){this._value=J,this.callback(this._value)}}var $j=W0(\"editorProgressService\");class hT{constructor(){this._modifierObservables=new WeakMap}readModifierKeyStatus(J,X){let Y=J instanceof Window?J:Q0(J),Z=this._modifierObservables.get(Y);if(!Z){let Q=kJ.getInstance();Z=c1(this,Q.event,()=>({ctrlKey:Q.keyStatus.ctrlKey,shiftKey:Q.keyStatus.shiftKey,altKey:Q.keyStatus.altKey,metaKey:Q.keyStatus.metaKey})),this._modifierObservables.set(Y,Z)}return Z.read(X)}createFocusTracker(J,X){let Y=X.add(L7(J)),Q=A0(\"isFocused\",(($)=>{if($ instanceof Window)return $.document.hasFocus();let q=$.getRootNode()instanceof ShadowRoot?$.getRootNode():null,G=q?q.activeElement:$.ownerDocument.activeElement;return $.contains(G)})(J));return X.add(Y.onDidFocus(()=>Q.set(!0,void 0))),X.add(Y.onDidBlur(()=>Q.set(!1,void 0))),Q}createHoverTracker(J,X){let Y=A0(\"isHovered\",!1),Z=()=>Y.set(!0,void 0),Q=()=>Y.set(!1,void 0);return J.addEventListener(\"mouseenter\",Z),J.addEventListener(\"mouseleave\",Q),X.add({dispose:()=>{J.removeEventListener(\"mouseenter\",Z),J.removeEventListener(\"mouseleave\",Q)}}),Y}createDomFocusTracker(J){return L7(J)}}f0(CX,hT,1);var qj=W0(\"contextService\");class qm{constructor(J,X){this.raw=X,this.uri=J.uri,this.index=J.index,this.name=J.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}var WO0=\"code-workspace\";F(2119,\"Code Workspace\");var LZ0=\"4064f6ec-cb38-4ad0-af64-ee6467e63c82\";var IZ0=W0(\"workspaceTrustManagementService\");var Uj=W0(\"IWorkspaceEditService\");class m_{constructor(J){this.metadata=J}static convert(J){return J.edits.map((X)=>{if(KZ.is(X))return KZ.lift(X);if(Gj.is(X))return Gj.lift(X);throw Error(\"Unsupported edit\")})}}class KZ extends m_{static is(J){if(J instanceof KZ)return!0;return E6(J)&&R0.isUri(J.resource)&&E6(J.textEdit)}static lift(J){if(J instanceof KZ)return J;else return new KZ(J.resource,J.textEdit,J.versionId,J.metadata)}constructor(J,X,Y=void 0,Z){super(Z);this.resource=J,this.textEdit=X,this.versionId=Y}}class Gj extends m_{static is(J){if(J instanceof Gj)return!0;else return E6(J)&&(Boolean(J.newResource)||Boolean(J.oldResource))}static lift(J){if(J instanceof Gj)return J;else return new Gj(J.oldResource,J.newResource,J.options,J.metadata)}constructor(J,X,Y={},Z){super(Z);this.oldResource=J,this.newResource=X,this.options=Y}}var u_;(function(J){J[J.API=0]=\"API\",J[J.USER=1]=\"USER\"})(u_||(u_={}));var Hm=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},vT=function(J,X){return function(Y,Z){X(Y,Z,J)}},Gm=class{constructor(X){this._commandService=X}async open(X,Y){if(!Ez(X,T0.command))return!1;if(!Y?.allowCommands)return!0;if(typeof X===\"string\")X=R0.parse(X);if(Array.isArray(Y.allowCommands)){if(!Y.allowCommands.includes(X.path))return!0}let Z=[];try{Z=eB(decodeURIComponent(X.query))}catch{try{Z=eB(X.query)}catch{}}if(!Array.isArray(Z))Z=[Z];return await this._commandService.executeCommand(X.path,...Z),!0}};Gm=Hm([vT(0,h8)],Gm);var Um=class{constructor(X){this._editorService=X}async open(X,Y){if(typeof X===\"string\")X=R0.parse(X);let{selection:Z,uri:Q}=yJ0(X);if(X=Q,X.scheme===T0.file)X=De(X);return await this._editorService.openCodeEditor({resource:X,options:{selection:Z,source:Y?.fromUserGesture?u_.USER:u_.API,...Y?.editorOptions}},this._editorService.getFocusedCodeEditor(),Y?.openToSide),!0}};Um=Hm([vT(0,l1)],Um);var gT=class{constructor(X,Y){this._openers=new x6,this._validators=new x6,this._resolvers=new x6,this._resolvedUriTargets=new r6((Z)=>Z.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new x6,this._defaultExternalOpener={openExternal:async(Z)=>{if(wx(Z,T0.http,T0.https))FM(Z);else X1.location.href=Z;return!0}},this._openers.push({open:async(Z,Q)=>{if(Q?.openExternal||wx(Z,T0.mailto,T0.http,T0.https,T0.vsls))return await this._doOpenExternal(Z,Q),!0;return!1}}),this._openers.push(new Gm(Y)),this._openers.push(new Um(X))}registerOpener(X){return{dispose:this._openers.unshift(X)}}async open(X,Y){let Z=typeof X===\"string\"?R0.parse(X):X;if(Z.scheme===T0.internal)return!1;if(!Y?.skipValidation){let Q=this._resolvedUriTargets.get(Z)??X;for(let $ of this._validators)if(!await $.shouldOpen(Q,Y))return!1}for(let Q of this._openers)if(await Q.open(X,Y))return!0;return!1}async resolveExternalUri(X,Y){for(let Z of this._resolvers)try{let Q=await Z.resolveExternalUri(X,Y);if(Q){if(!this._resolvedUriTargets.has(Q.resolved))this._resolvedUriTargets.set(Q.resolved,X);return Q}}catch{}throw Error(\"Could not resolve external URI: \"+X.toString())}async _doOpenExternal(X,Y){let Z=typeof X===\"string\"?R0.parse(X):X,Q;try{Q=(await this.resolveExternalUri(Z,Y)).resolved}catch{Q=Z}let $;if(typeof X===\"string\"&&Z.toString()===Q.toString())$=X;else $=encodeURI(Q.toString(!0));if(Y?.allowContributedOpeners){let q=typeof Y?.allowContributedOpeners===\"string\"?Y?.allowContributedOpeners:void 0;for(let G of this._externalOpeners)if(await G.openExternal($,{sourceUri:Z,preferredOpenerId:q},U8.None))return!0}return this._defaultExternalOpener.openExternal($,{sourceUri:Z},U8.None)}dispose(){this._validators.clear()}};gT=Hm([vT(0,l1),vT(1,h8)],gT);var kZ0=W0(\"renameSymbolTrackerService\");class Vm{constructor(){this._trackedWord=A0(this,void 0),this.trackedWord=this._trackedWord,this._trackedWord.set(void 0,void 0)}}var Q5={enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5000,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:\"inherit\",diffAlgorithm:\"advanced\",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1};var zO0=Object.freeze({id:\"editor\",order:5,type:\"object\",title:F(163,\"Editor\"),scope:6}),mT={...zO0,properties:{\"editor.tabSize\":{type:\"number\",default:L8.tabSize,minimum:1,maximum:100,markdownDescription:F(164,\"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.\",\"`#editor.detectIndentation#`\")},\"editor.indentSize\":{anyOf:[{type:\"string\",enum:[\"tabSize\"]},{type:\"number\",minimum:1}],default:\"tabSize\",markdownDescription:F(165,'The number of spaces used for indentation or `\"tabSize\"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},\"editor.insertSpaces\":{type:\"boolean\",default:L8.insertSpaces,markdownDescription:F(166,\"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.\",\"`#editor.detectIndentation#`\")},\"editor.detectIndentation\":{type:\"boolean\",default:L8.detectIndentation,markdownDescription:F(167,\"Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.\",\"`#editor.tabSize#`\",\"`#editor.insertSpaces#`\")},\"editor.trimAutoWhitespace\":{type:\"boolean\",default:L8.trimAutoWhitespace,description:F(168,\"Remove trailing auto inserted whitespace.\")},\"editor.largeFileOptimizations\":{type:\"boolean\",default:L8.largeFileOptimizations,description:F(169,\"Special handling for large files to disable certain memory intensive features.\")},\"editor.wordBasedSuggestions\":{enum:[\"off\",\"offWithInlineSuggestions\",\"currentDocument\",\"matchingDocuments\",\"allDocuments\"],default:\"offWithInlineSuggestions\",enumDescriptions:[F(170,\"Turn off Word Based Suggestions.\"),F(171,\"Turn off Word Based Suggestions when Inline Suggestions are present.\"),F(172,\"Only suggest words from the active document.\"),F(173,\"Suggest words from all open documents of the same language.\"),F(174,\"Suggest words from all open documents.\")],description:F(175,\"Controls whether completions should be computed based on words in the document and from which documents they are computed.\"),experiment:{mode:\"auto\"}},\"editor.semanticHighlighting.enabled\":{enum:[!0,!1,\"configuredByTheme\"],enumDescriptions:[F(176,\"Semantic highlighting enabled for all color themes.\"),F(177,\"Semantic highlighting disabled for all color themes.\"),F(178,\"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.\")],default:\"configuredByTheme\",description:F(179,\"Controls whether the semanticHighlighting is shown for the languages that support it.\")},\"editor.stablePeek\":{type:\"boolean\",default:!1,markdownDescription:F(180,\"Keep peek editors open even when double-clicking their content or when hitting `Escape`.\")},\"editor.maxTokenizationLineLength\":{type:\"integer\",default:20000,description:F(181,\"Lines above this length will not be tokenized for performance reasons\")},\"editor.experimental.asyncTokenization\":{type:\"boolean\",default:!0,description:F(182,\"Controls whether the tokenization should happen asynchronously on a web worker.\"),tags:[\"experimental\"]},\"editor.experimental.asyncTokenizationLogging\":{type:\"boolean\",default:!1,description:F(183,\"Controls whether async tokenization should be logged. For debugging only.\")},\"editor.experimental.asyncTokenizationVerification\":{type:\"boolean\",default:!1,description:F(184,\"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only.\"),tags:[\"experimental\"]},\"editor.experimental.treeSitterTelemetry\":{type:\"boolean\",default:!1,markdownDescription:F(185,\"Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `#editor.experimental.preferTreeSitter#` for specific languages will take precedence.\"),tags:[\"experimental\"],experiment:{mode:\"auto\"}},\"editor.experimental.preferTreeSitter.css\":{type:\"boolean\",default:!1,markdownDescription:F(186,\"Controls whether tree sitter parsing should be turned on for css. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for css.\"),tags:[\"experimental\"],experiment:{mode:\"auto\"}},\"editor.experimental.preferTreeSitter.typescript\":{type:\"boolean\",default:!1,markdownDescription:F(187,\"Controls whether tree sitter parsing should be turned on for typescript. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for typescript.\"),tags:[\"experimental\"],experiment:{mode:\"auto\"}},\"editor.experimental.preferTreeSitter.ini\":{type:\"boolean\",default:!1,markdownDescription:F(188,\"Controls whether tree sitter parsing should be turned on for ini. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for ini.\"),tags:[\"experimental\"],experiment:{mode:\"auto\"}},\"editor.experimental.preferTreeSitter.regex\":{type:\"boolean\",default:!1,markdownDescription:F(189,\"Controls whether tree sitter parsing should be turned on for regex. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for regex.\"),tags:[\"experimental\"],experiment:{mode:\"auto\"}},\"editor.language.brackets\":{type:[\"array\",\"null\"],default:null,description:F(190,\"Defines the bracket symbols that increase or decrease the indentation.\"),items:{type:\"array\",items:[{type:\"string\",description:F(191,\"The opening bracket character or string sequence.\")},{type:\"string\",description:F(192,\"The closing bracket character or string sequence.\")}]}},\"editor.language.colorizedBracketPairs\":{type:[\"array\",\"null\"],default:null,description:F(193,\"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled.\"),items:{type:\"array\",items:[{type:\"string\",description:F(194,\"The opening bracket character or string sequence.\")},{type:\"string\",description:F(195,\"The closing bracket character or string sequence.\")}]}},\"diffEditor.maxComputationTime\":{type:\"number\",default:Q5.maxComputationTime,description:F(196,\"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.\")},\"diffEditor.maxFileSize\":{type:\"number\",default:Q5.maxFileSize,description:F(197,\"Maximum file size in MB for which to compute diffs. Use 0 for no limit.\")},\"diffEditor.renderSideBySide\":{type:\"boolean\",default:Q5.renderSideBySide,description:F(198,\"Controls whether the diff editor shows the diff side by side or inline.\"),agentsWindow:{default:!0}},\"diffEditor.renderSideBySideInlineBreakpoint\":{type:\"number\",default:Q5.renderSideBySideInlineBreakpoint,description:F(199,\"If the diff editor width is smaller than this value, the inline view is used.\")},\"diffEditor.useInlineViewWhenSpaceIsLimited\":{type:\"boolean\",default:Q5.useInlineViewWhenSpaceIsLimited,description:F(200,\"If enabled and the editor width is too small, the inline view is used.\"),agentsWindow:{default:!0}},\"diffEditor.renderMarginRevertIcon\":{type:\"boolean\",default:Q5.renderMarginRevertIcon,description:F(201,\"When enabled, the diff editor shows arrows in its glyph margin to revert changes.\"),agentsWindow:{default:!1}},\"diffEditor.renderGutterMenu\":{type:\"boolean\",default:Q5.renderGutterMenu,description:F(202,\"When enabled, the diff editor shows a special gutter for revert and stage actions.\"),agentsWindow:{default:!1}},\"diffEditor.ignoreTrimWhitespace\":{type:\"boolean\",default:Q5.ignoreTrimWhitespace,description:F(203,\"When enabled, the diff editor ignores changes in leading or trailing whitespace.\")},\"diffEditor.renderIndicators\":{type:\"boolean\",default:Q5.renderIndicators,description:F(204,\"Controls whether the diff editor shows +/- indicators for added/removed changes.\"),agentsWindow:{default:!1}},\"diffEditor.codeLens\":{type:\"boolean\",default:Q5.diffCodeLens,description:F(205,\"Controls whether the editor shows CodeLens.\")},\"diffEditor.wordWrap\":{type:\"string\",enum:[\"off\",\"on\",\"inherit\"],default:Q5.diffWordWrap,markdownEnumDescriptions:[F(206,\"Lines will never wrap.\"),F(207,\"Lines will wrap at the viewport width.\"),F(208,\"Lines will wrap according to the {0} setting.\",\"`#editor.wordWrap#`\")]},\"diffEditor.diffAlgorithm\":{type:\"string\",enum:[\"legacy\",\"advanced\",\"advanced-external\",\"advanced-wasm\"],default:Q5.diffAlgorithm,markdownEnumDescriptions:[F(209,\"Uses the legacy diffing algorithm.\"),F(210,\"Uses the advanced diffing algorithm.\"),F(211,\"Uses the advanced diffing algorithm from the external `@vscode/diff` package (pure JavaScript).\"),F(212,\"Uses the advanced diffing algorithm from the external `@vscode/diff` package (WebAssembly).\")]},\"diffEditor.hideUnchangedRegions.enabled\":{type:\"boolean\",default:Q5.hideUnchangedRegions.enabled,markdownDescription:F(213,\"Controls whether the diff editor shows unchanged regions.\"),agentsWindow:{default:!0}},\"diffEditor.hideUnchangedRegions.revealLineCount\":{type:\"integer\",default:Q5.hideUnchangedRegions.revealLineCount,markdownDescription:F(214,\"Controls how many lines are used for unchanged regions.\"),minimum:1},\"diffEditor.hideUnchangedRegions.minimumLineCount\":{type:\"integer\",default:Q5.hideUnchangedRegions.minimumLineCount,markdownDescription:F(215,\"Controls how many lines are used as a minimum for unchanged regions.\"),minimum:1},\"diffEditor.hideUnchangedRegions.contextLineCount\":{type:\"integer\",default:Q5.hideUnchangedRegions.contextLineCount,markdownDescription:F(216,\"Controls how many lines are used as context when comparing unchanged regions.\"),minimum:1},\"diffEditor.experimental.showMoves\":{type:\"boolean\",default:Q5.experimental.showMoves,markdownDescription:F(217,\"Controls whether the diff editor should show detected code moves.\")},\"diffEditor.experimental.showEmptyDecorations\":{type:\"boolean\",default:Q5.experimental.showEmptyDecorations,description:F(218,\"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.\")},\"diffEditor.experimental.useTrueInlineView\":{type:\"boolean\",default:Q5.experimental.useTrueInlineView,description:F(219,\"If enabled and the editor uses the inline view, word changes are rendered inline.\")}}};function FO0(J){return typeof J.type<\"u\"||typeof J.anyOf<\"u\"}for(let J of l$){let X=J.schema;if(typeof X<\"u\"){if(FO0(X))mT.properties[`editor.${J.name}`]=X;else for(let Y in X)if(Object.hasOwnProperty.call(X,Y))mT.properties[Y]=X[Y]}}var pT=null;function EZ0(){if(pT===null)pT=Object.create(null),Object.keys(mT.properties).forEach((J)=>{pT[J]=!0});return pT}function yZ0(J){return EZ0()[`editor.${J}`]||!1}function xZ0(J){return EZ0()[`diffEditor.${J}`]||!1}var BO0=y1.as(v9.Configuration);BO0.registerConfiguration(mT);class e6{static insert(J,X){return{range:new T(J.lineNumber,J.column,J.lineNumber,J.column),text:X,forceMoveMarkers:!0}}static delete(J){return{range:J,text:null}}static replace(J,X){return{range:J,text:X}}static replaceMove(J,X){return{range:J,text:X,forceMoveMarkers:!0}}}var _O0=[];function bZ0(){return _O0.slice(0)}var Hj=[],Km=[],SZ0=[];function c_(J,X=!1){AO0(J,!1,X)}function AO0(J,X,Y){let Z=PO0(J,X);if(Hj.push(Z),!Z.userConfigured)Km.push(Z);else SZ0.push(Z);if(Y&&!Z.userConfigured)Hj.forEach((Q)=>{if(Q.mime===Z.mime||Q.userConfigured)return;if(Z.extension&&Q.extension===Z.extension)console.warn(`Overwriting extension <<${Z.extension}>> to now point to mime <<${Z.mime}>>`);if(Z.filename&&Q.filename===Z.filename)console.warn(`Overwriting filename <<${Z.filename}>> to now point to mime <<${Z.mime}>>`);if(Z.filepattern&&Q.filepattern===Z.filepattern)console.warn(`Overwriting filepattern <<${Z.filepattern}>> to now point to mime <<${Z.mime}>>`);if(Z.firstline&&Q.firstline===Z.firstline)console.warn(`Overwriting firstline <<${Z.firstline}>> to now point to mime <<${Z.mime}>>`)})}function PO0(J,X){return{id:J.id,mime:J.mime,filename:J.filename,extension:J.extension,filepattern:J.filepattern,firstline:J.firstline,userConfigured:X,filepatternParsed:J.filepattern?Cg(J.filepattern,{ignoreCase:!0}):void 0,filepatternOnPath:J.filepattern?J.filepattern.indexOf(r1.sep)>=0:!1}}function fZ0(){Hj=Hj.filter((J)=>J.userConfigured),Km=[]}function hZ0(J,X){return DO0(J,X).map((Y)=>Y.id)}function DO0(J,X){let Y;if(J)switch(J.scheme){case T0.file:Y=J.fsPath;break;case T0.data:{Y=uq.parseMetaData(J).get(uq.META_DATA_LABEL);break}case T0.vscodeNotebookCell:Y=void 0;break;default:Y=J.path}if(!Y)return[{id:\"unknown\",mime:s1.unknown}];Y=Y.toLowerCase();let Z=Dz(Y),Q=CZ0(Y,Z,SZ0);if(Q)return[Q,{id:W5,mime:s1.text}];let $=CZ0(Y,Z,Km);if($)return[$,{id:W5,mime:s1.text}];if(X){let q=OO0(X);if(q)return[q,{id:W5,mime:s1.text}]}return[{id:\"unknown\",mime:s1.unknown}]}function CZ0(J,X,Y){let Z=void 0,Q=void 0,$=void 0;for(let q=Y.length-1;q>=0;q--){let G=Y[q];if(sn(X,G.filename)){Z=G;break}if(G.filepattern){if(!Q||G.filepattern.length>Q.filepattern.length){let U=G.filepatternOnPath?J:X;if(G.filepatternParsed?.(U))Q=G}}if(G.extension){if(!$||G.extension.length>$.extension.length){if(cO(X,G.extension))$=G}}}if(Z)return Z;if(Q)return Q;if($)return $;return}function OO0(J){if(nH(J))J=J.substring(1);if(J.length>0)for(let X=Hj.length-1;X>=0;X--){let Y=Hj[X];if(!Y.firstline)continue;let Z=J.match(Y.firstline);if(Z&&Z.length>0)return Y}return}var uT=Object.prototype.hasOwnProperty,vZ0=\"vs.editor.nullLanguage\";class gZ0{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(vZ0,0),this._register(W5,1),this._nextLanguageId=2}_register(J,X){this._languageIdToLanguage[X]=J,this._languageToLanguageId.set(J,X)}register(J){if(this._languageToLanguageId.has(J))return;let X=this._nextLanguageId++;this._register(J,X)}encodeLanguageId(J){return this._languageToLanguageId.get(J)||0}decodeLanguageId(J){return this._languageIdToLanguage[J]||vZ0}}class d_ extends y{static{this.instanceCount=0}constructor(J=!0,X=!1){super();if(this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,d_.instanceCount++,this._warnOnOverwrite=X,this.languageIdCodec=new gZ0,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},J)this._initializeFromRegistry(),this._register(W2.onDidChangeLanguages((Y)=>{this._initializeFromRegistry()}))}dispose(){d_.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},fZ0();let J=[].concat(W2.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(J)}_registerLanguages(J){for(let X of J)this._registerLanguage(X);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((X)=>{let Y=this._languages[X];if(Y.name)this._nameMap[Y.name]=Y.identifier;Y.aliases.forEach((Z)=>{this._lowercaseNameMap[Z.toLowerCase()]=Y.identifier}),Y.mimetypes.forEach((Z)=>{this._mimeTypesMap[Z]=Y.identifier})}),y1.as(v9.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(J){let X=J.id,Y;if(uT.call(this._languages,X))Y=this._languages[X];else this.languageIdCodec.register(X),Y={identifier:X,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[X]=Y;this._mergeLanguage(Y,J)}_mergeLanguage(J,X){let Y=X.id,Z=null;if(Array.isArray(X.mimetypes)&&X.mimetypes.length>0)J.mimetypes.push(...X.mimetypes),Z=X.mimetypes[0];if(!Z)Z=`text/x-${Y}`,J.mimetypes.push(Z);if(Array.isArray(X.extensions)){if(X.configuration)J.extensions=X.extensions.concat(J.extensions);else J.extensions=J.extensions.concat(X.extensions);for(let q of X.extensions)c_({id:Y,mime:Z,extension:q},this._warnOnOverwrite)}if(Array.isArray(X.filenames))for(let q of X.filenames)c_({id:Y,mime:Z,filename:q},this._warnOnOverwrite),J.filenames.push(q);if(Array.isArray(X.filenamePatterns))for(let q of X.filenamePatterns)c_({id:Y,mime:Z,filepattern:q},this._warnOnOverwrite);if(typeof X.firstLine===\"string\"&&X.firstLine.length>0){let q=X.firstLine;if(q.charAt(0)!==\"^\")q=\"^\"+q;try{let G=new RegExp(q);if(!mO(G))c_({id:Y,mime:Z,firstline:G},this._warnOnOverwrite)}catch(G){console.warn(`[${X.id}]: Invalid regular expression \\`${q}\\`: `,G)}}J.aliases.push(Y);let Q=null;if(typeof X.aliases<\"u\"&&Array.isArray(X.aliases))if(X.aliases.length===0)Q=[null];else Q=X.aliases;if(Q!==null)for(let q of Q){if(!q||q.length===0)continue;J.aliases.push(q)}let $=Q!==null&&Q.length>0;if($&&Q[0]===null);else{let q=($?Q[0]:null)||Y;if($||!J.name)J.name=q}if(X.configuration)J.configurationFiles.push(X.configuration);if(X.icon)J.icons.push(X.icon)}isRegisteredLanguageId(J){if(!J)return!1;return uT.call(this._languages,J)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(J){let X=J.toLowerCase();if(!uT.call(this._lowercaseNameMap,X))return null;return this._lowercaseNameMap[X]}getLanguageIdByMimeType(J){if(!J)return null;if(uT.call(this._mimeTypesMap,J))return this._mimeTypesMap[J];return null}guessLanguageIdByFilepathOrFirstLine(J,X){if(!J&&!X)return[];return hZ0(J,X)}}class l_ extends y{static{this.instanceCount=0}constructor(J=!1){super();this._onDidRequestBasicLanguageFeatures=this._register(new E),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new E),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new E({leakWarningThreshold:200,leakWarningName:\"LanguageService._onDidChange\"})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,l_.instanceCount++,this._registry=this._register(new d_(!0,J)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){l_.instanceCount--,super.dispose()}isRegisteredLanguageId(J){return this._registry.isRegisteredLanguageId(J)}getLanguageIdByLanguageName(J){return this._registry.getLanguageIdByLanguageName(J)}getLanguageIdByMimeType(J){return this._registry.getLanguageIdByMimeType(J)}guessLanguageIdByFilepathOrFirstLine(J,X){return this._registry.guessLanguageIdByFilepathOrFirstLine(J,X).at(0)??null}createById(J){return new jm(this.onDidChange,()=>{return this._createAndGetLanguageIdentifier(J)})}createByFilepathOrFirstLine(J,X){return new jm(this.onDidChange,()=>{let Y=this.guessLanguageIdByFilepathOrFirstLine(J,X);return this._createAndGetLanguageIdentifier(Y)})}_createAndGetLanguageIdentifier(J){if(!J||!this.isRegisteredLanguageId(J))J=W5;return J}requestBasicLanguageFeatures(J){if(!this._requestedBasicLanguages.has(J))this._requestedBasicLanguages.add(J),this._onDidRequestBasicLanguageFeatures.fire(J)}requestRichLanguageFeatures(J){if(!this._requestedRichLanguages.has(J))this._requestedRichLanguages.add(J),this.requestBasicLanguageFeatures(J),f1.getOrCreate(J),this._onDidRequestRichLanguageFeatures.fire(J)}}class jm{constructor(J,X){this._value=c1(this,J,()=>X()),this.onDidChange=i.fromObservable(this._value)}get languageId(){return this._value.get()}}var MO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},pZ0=function(J,X){return function(Y,Z){X(Y,Z,J)}},cT=class extends y{constructor(X,Y){super();this._markerService=Y,this._onDidChangeMarker=this._register(new E),this._suppressedRanges=new r6,this._markerDecorations=new r6,X.getModels().forEach((Z)=>this._onModelAdded(Z)),this._register(X.onModelAdded(this._onModelAdded,this)),this._register(X.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((X)=>X.dispose()),this._markerDecorations.clear()}getMarker(X,Y){let Z=this._markerDecorations.get(X);return Z?Z.getMarker(Y)||null:null}_handleMarkerChange(X){X.forEach((Y)=>{let Z=this._markerDecorations.get(Y);if(Z)this._updateDecorations(Z)})}_onModelAdded(X){let Y=new mZ0(X);this._markerDecorations.set(X.uri,Y),this._updateDecorations(Y)}_onModelRemoved(X){let Y=this._markerDecorations.get(X.uri);if(Y)Y.dispose(),this._markerDecorations.delete(X.uri);if(X.uri.scheme===T0.inMemory||X.uri.scheme===T0.internal||X.uri.scheme===T0.vscode)this._markerService?.read({resource:X.uri}).map((Z)=>Z.owner).forEach((Z)=>this._markerService.remove(Z,[X.uri]))}_updateDecorations(X){let Y=this._markerService.read({resource:X.model.uri,take:500}),Z=this._suppressedRanges.get(X.model.uri);if(Z)Y=Y.filter((Q)=>{return!s0.some(Z,($)=>T.areIntersectingOrTouching($,Q))});if(X.update(Y))this._onDidChangeMarker.fire(X.model)}};cT=MO0([pZ0(0,j8),pZ0(1,uX)],cT);class mZ0 extends y{constructor(J){super();this.model=J,this._map=new $b,this._register(J0(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(J){let{added:X,removed:Y}=h70(new Set(this._map.keys()),new Set(J));if(X.length===0&&Y.length===0)return!1;let Z=Y.map((q)=>this._map.get(q)),Q=X.map((q)=>{return{range:this._createDecorationRange(this.model,q),options:this._createDecorationOption(q)}}),$=this.model.deltaDecorations(Z,Q);for(let q of Y)this._map.delete(q);for(let q=0;q<$.length;q++)this._map.set(X[q],$[q]);return!0}getMarker(J){return this._map.getKey(J.id)}_createDecorationRange(J,X){let Y=T.lift(X);if(X.severity===D4.Hint&&!this._hasMarkerTag(X,1)&&!this._hasMarkerTag(X,2))Y=Y.setEndPosition(Y.startLineNumber,Y.startColumn+2);if(Y=J.validateRange(Y),Y.isEmpty()){let Z=J.getLineLastNonWhitespaceColumn(Y.startLineNumber)||J.getLineMaxColumn(Y.startLineNumber);if(Z===1||Y.endColumn>=Z)return Y;let Q=J.getWordAtPosition(Y.getStartPosition());if(Q)Y=new T(Y.startLineNumber,Q.startColumn,Y.endLineNumber,Q.endColumn)}else if(X.endColumn===Number.MAX_VALUE&&X.startColumn===1&&Y.startLineNumber===Y.endLineNumber){let Z=J.getLineFirstNonWhitespaceColumn(X.startLineNumber);if(Z<Y.endColumn)Y=new T(Y.startLineNumber,Z,Y.endLineNumber,Y.endColumn),X.startColumn=Z}return Y}_createDecorationOption(J){let X,Y=void 0,Z,Q=void 0,$;switch(J.severity){case D4.Hint:if(this._hasMarkerTag(J,2))X=void 0;else if(this._hasMarkerTag(J,1))X=\"squiggly-unnecessary\";else X=\"squiggly-hint\";Z=0;break;case D4.Info:X=\"squiggly-info\",Y=n6(k50),Z=10,$={color:n6(Q60),position:1};break;case D4.Warning:X=\"squiggly-warning\",Y=n6(I50),Z=20,$={color:n6($60),position:1};break;case D4.Error:default:X=\"squiggly-error\",Y=n6(L50),Z=30,$={color:n6(q60),position:1};break}if(J.tags){if(J.tags.indexOf(1)!==-1)Q=\"squiggly-inline-unnecessary\";if(J.tags.indexOf(2)!==-1)Q=\"squiggly-inline-deprecated\"}return{description:\"marker-decoration\",stickiness:1,className:X,showIfCollapsed:!0,overviewRuler:{color:Y,position:m5.Right},minimap:$,zIndex:Z,inlineClassName:Q}}_hasMarkerTag(J,X){if(J.tags)return J.tags.indexOf(X)>=0;return!1}}var RO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},dT=function(J,X){return function(Y,Z){X(Y,Z,J)}},Vj;function UU(J){return J.toString()}class uZ0{constructor(J,X,Y){this.model=J,this._modelEventListeners=new a,this.model=J,this._modelEventListeners.add(J.onWillDispose(()=>X(J))),this._modelEventListeners.add(J.onDidChangeLanguage((Z)=>Y(J,Z)))}dispose(){this._modelEventListeners.dispose()}}var NO0=y6||I0?1:2;class cZ0{constructor(J,X,Y,Z,Q,$,q,G){this.uri=J,this.initialUndoRedoSnapshot=X,this.time=Y,this.sharesUndoRedoStack=Z,this.heapSize=Q,this.sha1=$,this.versionId=q,this.alternativeVersionId=G}}var lT=class extends y{static{Vj=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(X,Y,Z,Q){super();this._configurationService=X,this._resourcePropertiesService=Y,this._undoRedoService=Z,this._instantiationService=Q,this._onModelAdded=this._register(new E),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new E),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new E),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(($)=>this._updateModelOptions($))),this._updateModelOptions(void 0)}static _readModelOptions(X,Y){let Z=L8.tabSize;if(X.editor&&typeof X.editor.tabSize<\"u\")Z=zX(X.editor.tabSize,L8.tabSize,1,100);let Q=\"tabSize\";if(X.editor&&typeof X.editor.indentSize<\"u\"&&X.editor.indentSize!==\"tabSize\")Q=zX(X.editor.indentSize,\"tabSize\",1,100);let $=L8.insertSpaces;if(X.editor&&typeof X.editor.insertSpaces<\"u\")$=X.editor.insertSpaces===\"false\"?!1:Boolean(X.editor.insertSpaces);let q=NO0,G=X.eol;if(G===`\\r\n`)q=2;else if(G===`\n`)q=1;let U=L8.trimAutoWhitespace;if(X.editor&&typeof X.editor.trimAutoWhitespace<\"u\")U=X.editor.trimAutoWhitespace===\"false\"?!1:Boolean(X.editor.trimAutoWhitespace);let H=L8.detectIndentation;if(X.editor&&typeof X.editor.detectIndentation<\"u\")H=X.editor.detectIndentation===\"false\"?!1:Boolean(X.editor.detectIndentation);let V=L8.largeFileOptimizations;if(X.editor&&typeof X.editor.largeFileOptimizations<\"u\")V=X.editor.largeFileOptimizations===\"false\"?!1:Boolean(X.editor.largeFileOptimizations);let K=L8.bracketPairColorizationOptions;if(X.editor?.bracketPairColorization&&typeof X.editor.bracketPairColorization===\"object\"){let j=X.editor.bracketPairColorization;K={enabled:!!j.enabled,independentColorPoolPerBracketType:!!j.independentColorPoolPerBracketType}}return{isForSimpleWidget:Y,tabSize:Z,indentSize:Q,insertSpaces:$,detectIndentation:H,defaultEOL:q,trimAutoWhitespace:U,largeFileOptimizations:V,bracketPairColorizationOptions:K}}_getEOL(X,Y){if(X)return this._resourcePropertiesService.getEOL(X,Y);let Z=this._configurationService.getValue(\"files.eol\",{overrideIdentifier:Y});if(Z&&typeof Z===\"string\"&&Z!==\"auto\")return Z;return h5===3||h5===2?`\n`:`\\r\n`}_shouldRestoreUndoStack(){let X=this._configurationService.getValue(\"files.restoreUndoStack\");if(typeof X===\"boolean\")return X;return!0}getCreationOptions(X,Y,Z){let Q=typeof X===\"string\"?X:X.languageId,$=this._modelCreationOptionsByLanguageAndResource[Q+Y];if(!$){let q=this._configurationService.getValue(\"editor\",{overrideIdentifier:Q,resource:Y}),G=this._getEOL(Y,Q);$=Vj._readModelOptions({editor:q,eol:G},Z),this._modelCreationOptionsByLanguageAndResource[Q+Y]=$}return $}_updateModelOptions(X){let Y=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let Z=Object.keys(this._models);for(let Q=0,$=Z.length;Q<$;Q++){let q=Z[Q],G=this._models[q],U=G.model.getLanguageId(),H=G.model.uri;if(X&&!X.affectsConfiguration(\"editor\",{overrideIdentifier:U,resource:H})&&!X.affectsConfiguration(\"files.eol\",{overrideIdentifier:U,resource:H}))continue;let V=Y[U+H],K=this.getCreationOptions(U,H,G.model.isForSimpleWidget);Vj._setModelOptionsForModel(G.model,K,V)}}static _setModelOptionsForModel(X,Y,Z){if(Z&&Z.defaultEOL!==Y.defaultEOL&&X.getLineCount()===1)X.setEOL(Y.defaultEOL===1?0:1);if(Z&&Z.detectIndentation===Y.detectIndentation&&Z.insertSpaces===Y.insertSpaces&&Z.tabSize===Y.tabSize&&Z.indentSize===Y.indentSize&&Z.trimAutoWhitespace===Y.trimAutoWhitespace&&O8(Z.bracketPairColorizationOptions,Y.bracketPairColorizationOptions))return;if(Y.detectIndentation)X.detectIndentation(Y.insertSpaces,Y.tabSize),X.updateOptions({trimAutoWhitespace:Y.trimAutoWhitespace,bracketColorizationOptions:Y.bracketPairColorizationOptions});else X.updateOptions({insertSpaces:Y.insertSpaces,tabSize:Y.tabSize,indentSize:Y.indentSize,trimAutoWhitespace:Y.trimAutoWhitespace,bracketColorizationOptions:Y.bracketPairColorizationOptions})}_insertDisposedModel(X){this._disposedModels.set(UU(X.uri),X),this._disposedModelsHeapSize+=X.heapSize}_removeDisposedModel(X){let Y=this._disposedModels.get(UU(X));if(Y)this._disposedModelsHeapSize-=Y.heapSize;return this._disposedModels.delete(UU(X)),Y}_ensureDisposedModelsHeapSize(X){if(this._disposedModelsHeapSize>X){let Y=[];this._disposedModels.forEach((Z)=>{if(!Z.sharesUndoRedoStack)Y.push(Z)}),Y.sort((Z,Q)=>Z.time-Q.time);while(Y.length>0&&this._disposedModelsHeapSize>X){let Z=Y.shift();if(this._removeDisposedModel(Z.uri),Z.initialUndoRedoSnapshot!==null)this._undoRedoService.restoreSnapshot(Z.initialUndoRedoSnapshot)}}}_createModelData(X,Y,Z,Q){let $=this.getCreationOptions(Y,Z,Q),q=this._instantiationService.createInstance(oN,X,Y,$,Z);if(Z&&this._disposedModels.has(UU(Z))){let H=this._removeDisposedModel(Z),V=this._undoRedoService.getElements(Z),K=this._getSHA1Computer(),j=K.canComputeSHA1(q)?K.computeSHA1(q)===H.sha1:!1;if(j||H.sharesUndoRedoStack){for(let W of V.past)if(dY(W)&&W.matchesResource(Z))W.setModel(q);for(let W of V.future)if(dY(W)&&W.matchesResource(Z))W.setModel(q);if(this._undoRedoService.setElementsValidFlag(Z,!0,(W)=>dY(W)&&W.matchesResource(Z)),j)q._overwriteVersionId(H.versionId),q._overwriteAlternativeVersionId(H.alternativeVersionId),q._overwriteInitialUndoRedoSnapshot(H.initialUndoRedoSnapshot)}else if(H.initialUndoRedoSnapshot!==null)this._undoRedoService.restoreSnapshot(H.initialUndoRedoSnapshot)}let G=UU(q.uri);if(this._models[G])throw Error(\"ModelService: Cannot add model because it already exists!\");let U=new uZ0(q,(H)=>this._onWillDispose(H),(H,V)=>this._onDidChangeLanguage(H,V));return this._models[G]=U,U}createModel(X,Y,Z,Q=!1){let $;if(Y)$=this._createModelData(X,Y,Z,Q);else $=this._createModelData(X,W5,Z,Q);return this._onModelAdded.fire($.model),$.model}getModels(){let X=[],Y=Object.keys(this._models);for(let Z=0,Q=Y.length;Z<Q;Z++){let $=Y[Z];X.push(this._models[$].model)}return X}getModel(X){let Y=UU(X),Z=this._models[Y];if(!Z)return null;return Z.model}_schemaShouldMaintainUndoRedoElements(X){return X.scheme===T0.file||X.scheme===T0.vscodeRemote||X.scheme===T0.vscodeUserData||X.scheme===T0.vscodeNotebookCell||X.scheme===\"fake-fs\"}_onWillDispose(X){let Y=UU(X.uri),Z=this._models[Y],Q=this._undoRedoService.getUriComparisonKey(X.uri)!==X.uri.toString(),$=!1,q=0;if(Q||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(X.uri)){let H=this._undoRedoService.getElements(X.uri);if(H.past.length>0||H.future.length>0){for(let V of H.past)if(dY(V)&&V.matchesResource(X.uri))$=!0,q+=V.heapSize(X.uri),V.setModel(X.uri);for(let V of H.future)if(dY(V)&&V.matchesResource(X.uri))$=!0,q+=V.heapSize(X.uri),V.setModel(X.uri)}}let G=Vj.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,U=this._getSHA1Computer();if(!$){if(!Q){let H=Z.model.getInitialUndoRedoSnapshot();if(H!==null)this._undoRedoService.restoreSnapshot(H)}}else if(!Q&&(q>G||!U.canComputeSHA1(X))){let H=Z.model.getInitialUndoRedoSnapshot();if(H!==null)this._undoRedoService.restoreSnapshot(H)}else this._ensureDisposedModelsHeapSize(G-q),this._undoRedoService.setElementsValidFlag(X.uri,!1,(H)=>dY(H)&&H.matchesResource(X.uri)),this._insertDisposedModel(new cZ0(X.uri,Z.model.getInitialUndoRedoSnapshot(),Date.now(),Q,q,U.computeSHA1(X),X.getVersionId(),X.getAlternativeVersionId()));delete this._models[Y],Z.dispose(),delete this._modelCreationOptionsByLanguageAndResource[X.getLanguageId()+X.uri],this._onModelRemoved.fire(X)}_onDidChangeLanguage(X,Y){let Z=Y.oldLanguage,Q=X.getLanguageId(),$=this.getCreationOptions(Z,X.uri,X.isForSimpleWidget),q=this.getCreationOptions(Q,X.uri,X.isForSimpleWidget);Vj._setModelOptionsForModel(X,q,$),this._onModelModeChanged.fire({model:X,oldLanguageId:Z})}_getSHA1Computer(){return new Wm}};lT=Vj=RO0([dT(0,o0),dT(1,sM),dT(2,KK),dT(3,w0)],lT);class Wm{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(J){return J.getValueLength()<=Wm.MAX_MODEL_SIZE}computeSHA1(J){let X=new YM,Y=J.createSnapshot(),Z;while(Z=Y.read())X.update(Z);return X.digest()}}var dZ0;(function(J){J.inspectTokensAction=F(821,\"Developer: Inspect Tokens\")})(dZ0||(dZ0={}));var lZ0;(function(J){J.gotoLineActionLabel=F(822,\"Go to Line/Column...\"),J.gotoOffsetActionLabel=F(823,\"Go to Offset...\")})(lZ0||(lZ0={}));var sZ0;(function(J){J.helpQuickAccessActionLabel=F(824,\"Show all Quick Access Providers\")})(sZ0||(sZ0={}));var aZ0;(function(J){J.quickCommandActionLabel=F(825,\"Command Palette\"),J.quickCommandHelp=F(826,\"Show And Run Commands\")})(aZ0||(aZ0={}));var iZ0;(function(J){J.quickOutlineActionLabel=F(827,\"Go to Symbol...\"),J.quickOutlineByCategoryActionLabel=F(828,\"Go to Symbol by Category...\")})(iZ0||(iZ0={}));var sT;(function(J){J.editorViewAccessibleLabel=F(829,\"Editor content\")})(sT||(sT={}));var rZ0;(function(J){J.toggleHighContrast=F(830,\"Toggle High Contrast Theme\")})(rZ0||(rZ0={}));var aT;(function(J){J.bulkEditServiceSummary=F(831,\"Made {0} edits in {1} files\")})(aT||(aT={}));var O4=W0(\"themeService\");var iT;(function(J){J[J.PRESERVE=0]=\"PRESERVE\",J[J.LAST=1]=\"LAST\"})(iT||(iT={}));var zm={Quickaccess:\"workbench.contributions.quickaccess\"};class oZ0{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(J){if(J.prefix.length===0)this.defaultProvider=J;else this.providers.push(J);return this.providers.sort((X,Y)=>Y.prefix.length-X.prefix.length),J0(()=>{if(this.providers.splice(this.providers.indexOf(J),1),this.defaultProvider===J)this.defaultProvider=void 0})}getQuickAccessProviders(J){return r4([this.defaultProvider,...this.providers]).filter((X)=>!X.when||J.contextMatchesRules(X.when))}getQuickAccessProvider(J,X){return(J?this.providers.find((Z)=>J.startsWith(Z.prefix)&&(!Z.when||X.contextMatchesRules(Z.when))):void 0)||this.defaultProvider}}y1.add(zm.Quickaccess,new oZ0);var wO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Fm=function(J,X){return function(Y,Z){X(Y,Z,J)}},rT=class extends y{constructor(X,Y,Z){super();this.quickInputService=X,this.instantiationService=Y,this.contextKeyService=Z,this.registry=y1.as(zm.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0,this._register(J0(()=>{for(let Q of this.mapProviderToDescriptor.values())if(WY(Q))Q.dispose();this.visibleQuickAccess?.picker.dispose()}))}show(X=\"\",Y){this.doShowOrPick(X,!1,Y)}doShowOrPick(X,Y,Z){let[Q,$]=this.getOrInstantiateProvider(X,Z?.enabledProviderPrefixes),q=this.visibleQuickAccess,G=q?.descriptor;if(q&&$&&G===$){if(X!==$.prefix&&!Z?.preserveValue)q.picker.value=X;this.adjustValueSelection(q.picker,$,Z);return}if($&&!Z?.preserveValue){let z=void 0;if(q&&G&&G!==$){let B=q.value.substr(G.prefix.length);if(B)z=`${$.prefix}${B}`}if(!z){let B=Q?.defaultFilterValue;if(B===iT.LAST)z=this.lastAcceptedPickerValues.get($);else if(typeof B===\"string\")z=`${$.prefix}${B}`}if(typeof z===\"string\")X=z}let U=q?.picker?.valueSelection,H=q?.picker?.value,V=new a,K=V.add(this.quickInputService.createQuickPick({useSeparators:!0}));if(K.value=X,this.adjustValueSelection(K,$,Z),K.placeholder=Z?.placeholder??$?.placeholder,K.quickNavigate=Z?.quickNavigateConfiguration,K.hideInput=!!K.quickNavigate&&!q,typeof Z?.itemActivation===\"number\"||Z?.quickNavigateConfiguration)K.itemActivation=Z?.itemActivation??aJ.SECOND;K.contextKey=$?.contextKey,K.filterValue=(z)=>z.substring($?$.prefix.length:0);let j=void 0;if(Y)j=new DY,V.add(i.once(K.onWillAccept)((z)=>{z.veto(),K.hide()}));V.add(this.registerPickerListeners(K,Q,$,X,Z));let W=V.add(new S8);if(Q)V.add(Q.provide(K,W.token,Z?.providerOptions));if(i.once(K.onDidHide)(()=>{if(K.selectedItems.length===0)W.cancel();V.dispose(),j?.complete(K.selectedItems.slice(0))}),K.show(),U&&H===X)K.valueSelection=U;if(Y)return j?.p}adjustValueSelection(X,Y,Z){let Q;if(Z?.preserveValue)Q=[X.value.length,X.value.length];else Q=[Y?.prefix.length??0,X.value.length];X.valueSelection=Q}registerPickerListeners(X,Y,Z,Q,$){let q=new a,G=this.visibleQuickAccess={picker:X,descriptor:Z,value:Q};if(q.add(J0(()=>{if(G===this.visibleQuickAccess)this.visibleQuickAccess=void 0})),q.add(X.onDidChangeValue((U)=>{let[H]=this.getOrInstantiateProvider(U,$?.enabledProviderPrefixes);if(H!==Y)this.show(U,{enabledProviderPrefixes:$?.enabledProviderPrefixes,preserveValue:!0,providerOptions:$?.providerOptions});else G.value=U})),Z)q.add(X.onDidAccept(()=>{this.lastAcceptedPickerValues.set(Z,X.value)}));return q}getOrInstantiateProvider(X,Y){let Z=this.registry.getQuickAccessProvider(X,this.contextKeyService);if(!Z||Y&&!Y?.includes(Z.prefix))return[void 0,void 0];let Q=this.mapProviderToDescriptor.get(Z);if(!Q)Q=this.instantiationService.createInstance(Z.ctor),this.mapProviderToDescriptor.set(Z,Q);return[Q,Z]}};rT=wO0([Fm(0,g7),Fm(1,w0),Fm(2,E0)],rT);var TO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$};class Bm{constructor(J){this.nodes=J}toString(){return this.nodes.map((J)=>typeof J===\"string\"?J:J.label).join(\"\")}}TO0([a1],Bm.prototype,\"toString\",null);var LO0=/\\[([^\\]]+)\\]\\(((?:https?:\\/\\/|command:|file:)[^\\)\\s]+)(?: ([\"'])(.+?)(\\3))?\\)/gi;function nZ0(J){let X=[],Y=0,Z;while(Z=LO0.exec(J)){if(Z.index-Y>0)X.push(J.substring(Y,Z.index));let[,Q,$,,q]=Z;if(q)X.push({label:Q,href:$,title:q});else X.push({label:Q,href:$});Y=Z.index+Z[0].length}if(Y<J.length)X.push(J.substring(Y));return new Bm(X)}var _m={},IO0=new zw(\"quick-input-button-icon-\");function kO0(J){if(!J)return;let X,Y=J.dark.toString();if(_m[Y])X=_m[Y];else X=IO0.nextId(),$R(`.${X}, .hc-light .${X}`,`background-image: ${B4(J.light||J.dark)}`),$R(`.vs-dark .${X}, .hc-black .${X}`,`background-image: ${B4(J.dark)}`),_m[Y]=X;return X}class tZ0{constructor(J,X,Y,Z,Q,$,q){this.id=J,this.label=X,this.tooltip=Y,this.enabled=Q,this._checked=$,this._run=q,this.class=Z}get checked(){return this._checked}set checked(J){this._checked=J,this._run()}run(){return this._checked=!this._checked,this._run()}}function Am(J,X,Y){let Z=J.iconClass||kO0(J.iconPath);if(J.alwaysVisible)Z=Z?`${Z} always-visible`:\"always-visible\";let Q=()=>{if(J.toggle)J.toggle.checked=!J.toggle.checked;return Y()};return J.toggle?new tZ0(X,J.tooltip||\"\",\"\",Z,!0,J.toggle.checked,Q):{id:X,label:\"\",tooltip:J.tooltip||\"\",class:Z,enabled:!0,run:Q}}function J$(J,X,Y){let Z=[],Q=[];return J.forEach(($,q)=>{let G=Am($,`${X}-${q}`,async()=>Y($));if($.label)G.label=$.label;if($.secondary)Q.push(G);else Z.push(G)}),{primary:Z,secondary:Q}}function eZ0(J,X,Y){$8(X);let Z=nZ0(J),Q=0;for(let $ of Z.nodes)if(typeof $===\"string\")X.append(...sJ($));else{let q=$.title;if(!q&&$.href.startsWith(\"command:\"))q=F(1835,\"Click to execute command '{0}'\",$.href.substring(8));else if(!q)q=$.href;let G=$0(\"a\",{href:$.href,title:q,tabIndex:Q++},$.label);G.style.textDecoration=\"underline\";let U=(W)=>{if(St(W))d0.stop(W,!0);Y.callback($.href)},H=Y.disposables.add(new G1(G,r.CLICK)).event,V=Y.disposables.add(new G1(G,r.KEY_DOWN)).event,K=i.chain(V,(W)=>W.filter((z)=>{let B=new Y1(z);return B.equals(10)||B.equals(3)}));Y.disposables.add(O1.addTarget(G));let j=Y.disposables.add(new G1(G,P1.Tap)).event;i.any(H,j,K)(U,null,Y.disposables),X.appendChild(G)}}var EO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},JQ0=function(J,X){return function(Y,Z){X(Y,Z,J)}},XQ0=\"inQuickInput\",YQ0=new G0(XQ0,!1,F(1812,\"Whether keyboard focus is inside the quick input control\")),Kj=P0.has(XQ0),yO0=\"quickInputAlignment\",ZQ0=new G0(yO0,\"top\",F(1813,\"The alignment of the quick input\")),j3=\"quickInputType\",QQ0=new G0(j3,void 0,F(1814,\"The type of the currently visible quick input\")),$Q0=\"cursorAtEndOfQuickInputBox\",qQ0=new G0($Q0,!1,F(1815,\"Whether the cursor in the quick input is at the end of the input box\")),GQ0=P0.has($Q0),Pm={iconClass:M0.asClassName(t.quickInputBack),tooltip:F(1816,\"Back\")};class HU extends y{static{this.noPromptMessage=F(1817,\"Press 'Enter' to confirm your input or 'Escape' to cancel\")}constructor(J){super();this.ui=J,this._visible=A0(\"visible\",!1),this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this._inputButtons=[],this.buttonsUpdated=!1,this.noValidationMessage=HU.noPromptMessage,this._severity=U6.Ignore,this.onDidTriggerButtonEmitter=this._register(new E),this.onDidHideEmitter=this._register(new E),this.onWillHideEmitter=this._register(new E),this.onDisposeEmitter=this._register(new E),this.visibleDisposables=this._register(new a),this.onDidTriggerButton=this.onDidTriggerButtonEmitter.event,this.onDidHide=this.onDidHideEmitter.event}get visible(){return this._visible.get()}get title(){return this._title}set title(J){this._title=J,this.update()}get description(){return this._description}set description(J){this._description=J,this.update()}get step(){return this._steps}set step(J){this._steps=J,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(J){this._totalSteps=J,this.update()}get enabled(){return this._enabled}set enabled(J){this._enabled=J,this.update()}get contextKey(){return this._contextKey}set contextKey(J){this._contextKey=J,this.update()}get busy(){return this._busy}set busy(J){this._busy=J,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(J){let X=this._ignoreFocusOut!==J&&!n7;if(this._ignoreFocusOut=J&&!n7,X)this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons,...this._inputButtons]}set buttons(J){let X=[],Y=[],Z=[],Q=[];for(let $ of J)if($===Pm)X.push($);else switch($.location){case q_.Inline:Z.push($);break;case q_.Input:Q.push($);break;default:Y.push($);break}this._leftButtons=X,this._rightButtons=Y,this._inlineButtons=Z,this._inputButtons=Q,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(J){this._validationMessage=J,this.update()}get severity(){return this._severity}set severity(J){this._severity=J,this.update()}show(){if(this.visible)return;if(this.visibleDisposables.add(this.ui.onDidTriggerButton((J)=>{if(this.buttons.indexOf(J)!==-1)this.onDidTriggerButtonEmitter.fire(J)})),this.ui.show(this),this._visible.set(!0,void 0),this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length)this.buttonsUpdated=!0;this.update()}hide(){if(!this.visible)return;this.ui.hide()}didHide(J=iG.Other){this._visible.set(!1,void 0),this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:J})}willHide(J=iG.Other){this.onWillHideEmitter.fire({reason:J})}update(){if(!this.visible)return;let J=this.getTitle();if(J&&this.ui.title.textContent!==J)this.ui.title.textContent=J;else if(!J&&this.ui.title.innerHTML!==\"&nbsp;\")this.ui.title.innerText=\" \";let X=this.getDescription();if(this.ui.description1.textContent!==X)this.ui.description1.textContent=X;if(this.ui.description2.textContent!==X)this.ui.description2.textContent=X;if(this.busy&&!this.busyDelay)this.busyDelay=new i8,this.busyDelay.setIfNotSet(()=>{if(this.visible)this.ui.progressBar.infinite(),this.ui.progressBar.getContainer().removeAttribute(\"aria-hidden\")},800);if(!this.busy&&this.busyDelay)this.ui.progressBar.stop(),this.ui.progressBar.getContainer().setAttribute(\"aria-hidden\",\"true\"),this.busyDelay.cancel(),this.busyDelay=void 0;if(this.buttonsUpdated){this.buttonsUpdated=!1;let Z=J$(this._leftButtons,\"left-button\",(G)=>this.onDidTriggerButtonEmitter.fire(G));this.ui.leftActionBar.setActions(Z.primary,Z.secondary);let Q=J$(this._rightButtons,\"right-button\",(G)=>this.onDidTriggerButtonEmitter.fire(G));this.ui.rightActionBar.setActions(Q.primary,Q.secondary);let $=J$(this._inlineButtons,\"inline-button\",(G)=>this.onDidTriggerButtonEmitter.fire(G));this.ui.inlineActionBar.setActions($.primary,$.secondary);let q=this._inputButtons.length*22;this.ui.countContainer.style.right=q>0?`${4+q}px`:\"4px\",this.ui.inputBox.actions=this._inputButtons.map((G,U)=>Am(G,`id-${U}`,async()=>this.onDidTriggerButtonEmitter.fire(G)))}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);let Y=this.validationMessage||this.noValidationMessage;if(this._lastValidationMessage!==Y){if(this._lastValidationMessage=Y,$8(this.ui.message),Y)eZ0(Y,this.ui.message,{callback:(Z)=>{this.ui.linkOpenerDelegate(Z)},disposables:this.visibleDisposables})}if(this._lastSeverity!==this.severity)this._lastSeverity=this.severity,this.showMessageDecoration(this.severity)}getTitle(){if(this.title&&this.step)return`${this.title} (${this.getSteps()})`;if(this.title)return this.title;if(this.step)return this.getSteps();return\"\"}getDescription(){return this.description||\"\"}getSteps(){if(this.step&&this.totalSteps)return F(1818,\"{0}/{1}\",this.step,this.totalSteps);if(this.step)return String(this.step);return\"\"}showMessageDecoration(J){if(this.ui.inputBox.showDecoration(J),J!==U6.Ignore){let X=this.ui.inputBox.stylesForType(J);this.ui.message.style.color=X.foreground?`${X.foreground}`:\"\",this.ui.message.style.backgroundColor=X.background?`${X.background}`:\"\",this.ui.message.style.border=X.border?`1px solid ${X.border}`:\"\",this.ui.message.style.marginBottom=\"-2px\"}else this.ui.message.style.color=\"\",this.ui.message.style.backgroundColor=\"\",this.ui.message.style.border=\"\",this.ui.message.style.marginBottom=\"\"}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class VU extends HU{static{this.DEFAULT_ARIA_LABEL=F(1819,\"Type to narrow down results.\")}constructor(J){super(J);this._value=\"\",this.onDidChangeValueEmitter=this._register(new E),this.onWillAcceptEmitter=this._register(new E),this.onDidAcceptEmitter=this._register(new E),this.onDidCustomEmitter=this._register(new E),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=\"fuzzy\",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=aJ.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new E),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new E),this.onDidTriggerItemButtonEmitter=this._register(new E),this.onDidTriggerSeparatorButtonEmitter=this._register(new E),this.valueSelectionUpdated=!0,this._ok=\"default\",this._customButton=!1,this._customButtonSecondary=!1,this._focusEventBufferer=new KX,this.type=\"quickPick\",this.filterValue=(X)=>X,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event,this.noValidationMessage=void 0}get quickNavigate(){return this._quickNavigate}set quickNavigate(J){this._quickNavigate=J,this.update()}get value(){return this._value}set value(J){this.doSetValue(J)}doSetValue(J,X){if(this._value!==J){if(this._value=J,!X)this.update();if(this.visible){if(this.ui.list.filter(this.filterValue(this._value)))this.trySelectFirst()}this.onDidChangeValueEmitter.fire(this._value)}}set ariaLabel(J){this._ariaLabel=J,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(J){this._placeholder=J,this.update()}get prompt(){return this.noValidationMessage}set prompt(J){this.noValidationMessage=J,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(J){this.ui.list.scrollTop=J}set items(J){this._items=J,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(J){this._canSelectMany=J,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(J){this._canAcceptInBackground=J}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(J){this._matchOnDescription=J,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(J){this._matchOnDetail=J,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(J){this._matchOnLabel=J,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(J){this._matchOnLabelMode=J,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(J){this._sortByLabel=J,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(J){this._keepScrollPosition=J}get itemActivation(){return this._itemActivation}set itemActivation(J){this._itemActivation=J}get activeItems(){return this._activeItems}set activeItems(J){this._activeItems=J,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(J){this._selectedItems=J,this.selectedItemsUpdated=!0,this.update()}get keyMods(){if(this._quickNavigate)return mJ0;return this.ui.keyMods}get valueSelection(){let J=this.ui.inputBox.getSelection();if(!J)return;return[J.start,J.end]}set valueSelection(J){this._valueSelection=J,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(J){this._customButton=J,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(J){this._customButtonLabel=J,this.update()}get customHover(){return this._customButtonHover}set customHover(J){this._customButtonHover=J,this.update()}get customButtonSecondary(){return this._customButtonSecondary}set customButtonSecondary(J){this._customButtonSecondary=J??!1,this.update()}get ok(){return this._ok}set ok(J){this._ok=J,this.update()}get okLabel(){return this._okLabel??F(1820,\"OK\")}set okLabel(J){this._okLabel=J,this.update()}get hideInput(){return!!this._hideInput}set hideInput(J){this._hideInput=J,this.update()}trySelectFirst(){if(!this.canSelectMany)this.ui.list.focus(W1.First)}show(){if(!this.visible)this.visibleDisposables.add(this.ui.inputBox.onDidChange((J)=>{this.doSetValue(J,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{if(this.canSelectMany){if(!this.ui.list.getCheckedElements().length)this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)}else if(this.activeItems[0])this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems);this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(J,X)=>X)((J)=>{if(this.activeItemsUpdated)return;if(this.activeItemsToConfirm!==this._activeItems&&w1(J,this._activeItems,(X,Y)=>X===Y))return;this._activeItems=J,this.onDidChangeActiveEmitter.fire(J)})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:J,event:X})=>{if(this.canSelectMany&&!J.some((Y)=>Y.pickable===!1)){if(J.length)this.ui.list.setSelectedElements([]);return}if(this.selectedItemsToConfirm!==this._selectedItems&&w1(J,this._selectedItems,(Y,Z)=>Y===Z))return;if(this._selectedItems=J,this.onDidChangeSelectionEmitter.fire(J),J.length)this.handleAccept(q2(X)&&X.button===1)})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((J)=>{if(!this.canSelectMany||!this.visible)return;if(this.selectedItemsToConfirm!==this._selectedItems&&w1(J,this._selectedItems,(X,Y)=>X===Y))return;this._selectedItems=J,this.onDidChangeSelectionEmitter.fire(J)})),this.visibleDisposables.add(this.ui.list.onButtonTriggered((J)=>this.onDidTriggerItemButtonEmitter.fire(J))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((J)=>this.onDidTriggerSeparatorButtonEmitter.fire(J))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0;super.show()}handleAccept(J){let X=!1;if(this.onWillAcceptEmitter.fire({veto:()=>X=!0}),!X)this.onDidAcceptEmitter.fire({inBackground:J})}registerQuickNavigation(){return f(this.ui.container,r.KEY_UP,(J)=>{if(this.canSelectMany||!this._quickNavigate)return;let X=new Y1(J),Y=X.keyCode;if(this._quickNavigate.keybindings.some(($)=>{let q=$.getChords();if(q.length>1)return!1;if(q[0].shiftKey&&Y===4){if(X.ctrlKey||X.altKey||X.metaKey)return!1;return!0}if(q[0].altKey&&Y===6)return!0;if(q[0].ctrlKey&&Y===5)return!0;if(q[0].metaKey&&Y===57)return!0;return!1})){if(this.activeItems[0])this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1);this._quickNavigate=void 0}})}update(){if(!this.visible)return;let J=this.keepScrollPosition?this.scrollTop:0,X=!!this.description,Y={title:!!this.title||!!this.step||!!this.titleButtons.length,description:X,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||X,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok===\"default\"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage||!!this.prompt,customButton:this.customButton};if(this.ui.setVisibilities(Y),super.update(),this.ui.inputBox.value!==this.value)this.ui.inputBox.value=this.value;if(this.valueSelectionUpdated)this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]});if(this.ui.inputBox.placeholder!==(this.placeholder||\"\"))this.ui.inputBox.placeholder=this.placeholder||\"\";let Z=this.ariaLabel;if(!Z&&Y.inputBox){if(Z=this.placeholder,this.title)Z=Z?`${Z} - ${this.title}`:this.title;if(!Z)Z=VU.DEFAULT_ARIA_LABEL}if(this.ui.list.ariaLabel!==Z)this.ui.list.ariaLabel=Z??null;if(this.ui.inputBox.ariaLabel!==Z)this.ui.inputBox.ariaLabel=Z??\"input\";if(this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case aJ.NONE:this._itemActivation=aJ.FIRST;break;case aJ.SECOND:this.ui.list.focus(W1.Second),this._itemActivation=aJ.FIRST;break;case aJ.LAST:this.ui.list.focus(W1.Last),this._itemActivation=aJ.FIRST;break;default:this.trySelectFirst();break}});if(this.ui.container.classList.contains(\"show-checkboxes\")!==!!this.canSelectMany)if(this.canSelectMany)this.ui.list.clearFocus();else this.trySelectFirst();if(this.activeItemsUpdated){if(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems)this.activeItemsToConfirm=null}if(this.selectedItemsUpdated){if(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany)this.ui.list.setCheckedElements(this.selectedItems);else this.ui.list.setSelectedElements(this.selectedItems);if(this.selectedItemsToConfirm===this._selectedItems)this.selectedItemsToConfirm=null}if(this.ui.ok.label=this.okLabel||\"\",this.ui.customButton.label=this.customLabel||\"\",this.ui.customButton.element.title=this.customHover||\"\",this.ui.customButton.secondary=this.customButtonSecondary||!1,!Y.inputBox){if(this.ui.list.domFocus(),this.canSelectMany)this.ui.list.focus(W1.First)}if(this.keepScrollPosition)this.scrollTop=J}focus(J){if(this.ui.list.focus(J),this.canSelectMany)this.ui.list.domFocus()}accept(J){if(J&&!this._canAcceptInBackground)return;if(this.activeItems[0]&&!this._canSelectMany)this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems);this.handleAccept(J??!1)}}class Dm extends HU{constructor(){super(...arguments);this._value=\"\",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new E),this.onDidAcceptEmitter=this._register(new E),this.type=\"inputBox\",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(J){this._value=J||\"\",this.update()}get valueSelection(){let J=this.ui.inputBox.getSelection();if(!J)return;return[J.start,J.end]}set valueSelection(J){this._valueSelection=J,this.valueSelectionUpdated=!0,this.update()}get placeholder(){return this._placeholder}set placeholder(J){this._placeholder=J,this.update()}get ariaLabel(){return this._ariaLabel}set ariaLabel(J){this._ariaLabel=J,this.update()}get password(){return this._password}set password(J){this._password=J,this.update()}get prompt(){return this._prompt}set prompt(J){this._prompt=J,this.noValidationMessage=J?F(1821,\"{0} (Press 'Enter' to confirm or 'Escape' to cancel)\",J):HU.noPromptMessage,this.update()}show(){if(!this.visible)this.visibleDisposables.add(this.ui.inputBox.onDidChange((J)=>{if(J===this.value)return;this._value=J,this.onDidValueChangeEmitter.fire(J)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0;super.show()}accept(){this.onDidAcceptEmitter.fire()}update(){if(!this.visible)return;this.ui.container.classList.remove(\"hidden-input\");let J={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};if(this.ui.setVisibilities(J),super.update(),this.ui.inputBox.value!==this.value)this.ui.inputBox.value=this.value;if(this.valueSelectionUpdated)this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]});if(this.ui.inputBox.placeholder!==(this.placeholder||\"\"))this.ui.inputBox.placeholder=this.placeholder||\"\";if(this.ui.inputBox.password!==this.password)this.ui.inputBox.password=this.password;let X=this.ariaLabel;if(!X&&J.inputBox)X=this.placeholder?this.title?`${this.placeholder} - ${this.title}`:this.placeholder:this.title?this.title:\"input\";if(this.ui.inputBox.ariaLabel!==X)this.ui.inputBox.ariaLabel=X||\"input\"}}var oT=class extends n2{constructor(X,Y){super(\"mouse\",void 0,(Z)=>this.getOverrideOptions(Z),X,Y)}getOverrideOptions(X){let Y=(a0(X.content)?X.content.textContent??\"\":typeof X.content===\"string\"?X.content:X.content.value).includes(`\n`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:Y,skipFadeInAnimation:!0}}}};oT=EO0([JQ0(0,o0),JQ0(1,fX)],oT);var jj=20,Wj=4,Om=\"--vscode-toolbar-action-min-width\";class cX extends y{get onDidChangeDropdownVisibility(){return this._onDidChangeDropdownVisibility.event}constructor(J,X,Y={orientation:0}){super();if(this.container=J,this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new sy),this.originalPrimaryActions=[],this.originalSecondaryActions=[],this.hiddenActions=[],this.disposables=this._register(new a),Y.hoverDelegate=Y.hoverDelegate??this._register(ow()),this.options=Y,this.toggleMenuAction=this._register(new KU(()=>this.toggleMenuActionViewItem?.show(),Y.toggleMenuTitle)),this.element=document.createElement(\"div\"),this.element.className=\"monaco-toolbar\",J.appendChild(this.element),this.actionBar=this._register(new m7(this.element,{orientation:Y.orientation,ariaLabel:Y.ariaLabel,actionRunner:Y.actionRunner,allowContextMenu:Y.allowContextMenu,highlightToggledItems:Y.highlightToggledItems,hoverDelegate:Y.hoverDelegate,actionViewItemProvider:(Z,Q)=>{if(Z.id===KU.ID)return this.toggleMenuActionViewItem=new XU(Z,{getActions:()=>this.toggleMenuAction.menuActions},X,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:M0.asClassNameArray(Y.moreIcon??t.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(Y.actionViewItemProvider){let $=Y.actionViewItemProvider(Z,Q);if($)return $}if(Z instanceof xJ){let $=new XU(Z,Z.actions,X,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:Z.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return $.setActionContext(this.actionBar.context),this.submenuActionViewItems.push($),this.disposables.add(this._onDidChangeDropdownVisibility.add($.onDidChangeVisibility)),$}return}})),this.options.responsiveBehavior?.enabled){this.element.classList.toggle(\"responsive\",!0),this.element.classList.toggle(\"responsive-all\",this.options.responsiveBehavior.kind===\"all\"),this.element.classList.toggle(\"responsive-last\",this.options.responsiveBehavior.kind===\"last\"),this.element.style.setProperty(Om,`${this.getConfiguredActionMinWidth()}px`);let Z=new ResizeObserver(()=>{this.updateActions(this.getAvailableWidth())});Z.observe(this.options.responsiveBehavior?.observedElement??this.element),this._store.add(J0(()=>Z.disconnect()))}}set actionRunner(J){this.actionBar.actionRunner=J}get actionRunner(){return this.actionBar.actionRunner}set context(J){this.actionBar.context=J,this.toggleMenuActionViewItem?.setActionContext(J);for(let X of this.submenuActionViewItems)X.setActionContext(J)}getElement(){return this.element}getItemAction(J){return this.actionBar.getAction(J)}getItemWidth(J){return this.actionBar.getWidth(J)}getItemsLength(){return this.actionBar.length()}setActions(J,X){this.clear(),this.originalPrimaryActions=J?J.slice(0):[],this.originalSecondaryActions=X?X.slice(0):[];let Y=J?J.slice(0):[];if(this.hasSecondaryActions=!!(X&&X.length>0),this.hasSecondaryActions&&X)this.toggleMenuAction.menuActions=X.slice(0),Y.push(this.toggleMenuAction);if(Y.length>0&&this.options.trailingSeparator)Y.push(new h1);if(Y.forEach((Z)=>{this.actionBar.push(Z,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(Z)})}),this.updateOverflowClassName(),this.applyResponsiveActionMinWidths(),this.options.responsiveBehavior?.enabled){if(this.hiddenActions.length=0,this.options.responsiveBehavior?.minItems!==void 0){let Z=this.options.responsiveBehavior.minItems,Q=this.originalPrimaryActions.slice(0,Z).reduce((q,G)=>q+this.getActionMinWidth(G),0),$=0;if(this.originalSecondaryActions.length>0||Z<this.originalPrimaryActions.length)$=jj+Wj;this.container.style.minWidth=`${Q+$}px`,this.element.style.minWidth=`${Q+$}px`}else{let Z=this.originalPrimaryActions.length>0?this.getActionMinWidth(this.originalPrimaryActions[0]):jj+Wj;this.container.style.minWidth=`${Z}px`,this.element.style.minWidth=`${Z}px`}this.updateActions(this.getAvailableWidth())}}getKeybindingLabel(J){return this.options.getKeyBinding?.(J)?.getLabel()??void 0}getConfiguredActionMinWidth(J){if(J?.id===KU.ID)return jj;return this.options.responsiveBehavior?.getActionMinWidth?.(J??this.toggleMenuAction)??this.options.responsiveBehavior?.actionMinWidth??jj}getActionMinWidth(J){return this.getConfiguredActionMinWidth(J)+Wj}getAvailableWidth(){if(this.options.responsiveBehavior?.getAvailableWidth)return this.options.responsiveBehavior.getAvailableWidth();return this.element.getBoundingClientRect().width}applyResponsiveActionMinWidths(){if(!this.options.responsiveBehavior?.enabled)return;if(this.options.responsiveBehavior.kind===\"last\"){let Y=this.actionBar.hasAction(this.toggleMenuAction)?this.actionBar.length()-2:this.actionBar.length()-1,Z=Y>=0?this.actionBar.getAction(Y):void 0,Q=`${this.getConfiguredActionMinWidth(Z)}px`;if(this.element.style.getPropertyValue(Om)!==Q)this.element.style.setProperty(Om,Q);return}let J=this.actionBar.getContainer().firstElementChild;if(!a0(J))return;for(let X=0;X<J.children.length;X++){let Y=J.children.item(X);if(!a0(Y))continue;let Z=this.actionBar.getAction(X),Q=`${this.getConfiguredActionMinWidth(Z)}px`;if(Y.style.minWidth!==Q)Y.style.minWidth=Q}}updateActions(J){if(this.actionBar.isEmpty())return;this.applyResponsiveActionMinWidths();let X=parseInt(this.element.style.minWidth);J=Math.max(J,Number.isNaN(X)?0:X);let Y=($)=>{if(this.options.responsiveBehavior?.kind===\"last\"){let q=this.actionBar.hasAction(this.toggleMenuAction),G=q?this.actionBar.length()-1:this.actionBar.length();if(G===0)return q?jj+Wj:0;let U=0;for(let V=0;V<G-1;V++)U+=this.actionBar.getWidth(V)+Wj;let H=this.actionBar.getAction(G-1);return U+=$?this.actionBar.getWidth(G-1):this.getActionMinWidth(H),U+=q?jj+Wj:0,U}else{let q=0;for(let G=0;G<this.actionBar.length();G++)q+=$?this.actionBar.getWidth(G):this.getActionMinWidth(this.actionBar.getAction(G));return q}},Z=Y(!1);if(Z<=J&&this.hiddenActions.length===0)return;if(Z>J){if(this.options.responsiveBehavior?.minItems!==void 0){if((this.actionBar.hasAction(this.toggleMenuAction)?this.actionBar.length()-1:this.actionBar.length())<=this.options.responsiveBehavior.minItems)return}while(Y(!1)>J&&this.actionBar.length()>0){let $=this.originalPrimaryActions.length-this.hiddenActions.length-1;if($<0)break;let q=this.originalPrimaryActions[$],G=Math.min(this.getActionMinWidth(q),this.getItemWidth($));if(this.hiddenActions.unshift({action:q,size:G}),this.actionBar.pull($),this.originalSecondaryActions.length===0&&this.hiddenActions.length===1)this.actionBar.push(this.toggleMenuAction,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(this.toggleMenuAction)}),this.updateOverflowClassName();this.applyResponsiveActionMinWidths()}}else while(this.hiddenActions.length>0){let $=this.hiddenActions.shift();if(Y(!0)+$.size>J){this.hiddenActions.unshift($);break}if(this.actionBar.push($.action,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel($.action),index:this.originalPrimaryActions.length-this.hiddenActions.length-1}),this.originalSecondaryActions.length===0&&this.hiddenActions.length===0)this.toggleMenuAction.menuActions=[],this.actionBar.pull(this.actionBar.length()-1),this.updateOverflowClassName();this.applyResponsiveActionMinWidths()}let Q=this.hiddenActions.map(($)=>$.action);if(this.originalSecondaryActions.length>0||Q.length>0){let $=this.originalSecondaryActions.slice(0);this.toggleMenuAction.menuActions=h1.join(Q,$)}this.updateOverflowClassName(),this.applyResponsiveActionMinWidths()}updateOverflowClassName(){this.actionBar.domNode.classList.toggle(\"has-overflow\",this.actionBar.hasAction(this.toggleMenuAction))}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),this.element.remove(),super.dispose()}}class KU extends S9{static{this.ID=\"toolbar.toggle.more\"}constructor(J,X){X=X||F(19,\"More Actions...\");super(KU.ID,X,void 0,!0);this._menuActions=[],this.toggleDropdownMenu=J}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(J){this._menuActions=J}}c.white.toString(),c.white.toString();var xO0=Object.freeze({allowedTags:{override:[\"b\",\"i\",\"u\",\"code\",\"span\"]},allowedAttributes:{override:[\"class\"]}}),bO0=Object.freeze({sanitizerConfig:{allowedAttributes:{override:[\"class\"]}}});class W3 extends y{get onDidClick(){return this._onDidClick.event}constructor(J,X){super();this._label=\"\",this._onDidClick=this._register(new E),this._onDidEscape=this._register(new E),this.options=X,this._element=document.createElement(\"a\"),this._element.classList.add(\"monaco-button\"),this._element.tabIndex=0,this._element.setAttribute(\"role\",\"button\"),this._element.classList.toggle(\"secondary\",!!X.secondary),this._element.classList.toggle(\"small\",!!X.small);let Y=X.secondary?X.buttonSecondaryBackground:X.buttonBackground,Z=X.secondary?X.buttonSecondaryForeground:X.buttonForeground,Q=X.secondary?X.buttonSecondaryBorder:X.buttonBorder;if(this._element.style.color=Z||\"\",this._element.style.backgroundColor=Y||\"\",Q)this._element.style.border=`1px solid ${Q}`;if(X.supportShortLabel)this._labelShortElement=document.createElement(\"div\"),this._labelShortElement.classList.add(\"monaco-button-label-short\"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement(\"div\"),this._labelElement.classList.add(\"monaco-button-label\"),this._element.appendChild(this._labelElement),this._element.classList.add(\"monaco-text-button-with-short-label\");if(typeof X.title===\"string\")this.setTitle(X.title);if(typeof X.ariaLabel===\"string\")this._element.setAttribute(\"aria-label\",X.ariaLabel);J.appendChild(this._element),this.enabled=!X.disabled,this._register(O1.addTarget(this._element)),[r.CLICK,P1.Tap].forEach(($)=>{this._register(f(this._element,$,(q)=>{if(!this.enabled){d0.stop(q);return}this._onDidClick.fire(q)}))}),this._register(f(this._element,r.KEY_DOWN,($)=>{let q=new Y1($),G=!1;if(this.enabled&&(q.equals(3)||q.equals(10)))this._onDidClick.fire($),G=!0;else if(q.equals(9))this._onDidEscape.fire($),this._element.blur(),G=!0;if(G)d0.stop(q,!0)})),this._register(f(this._element,r.MOUSE_OVER,($)=>{if(!this._element.classList.contains(\"disabled\"))this.updateStyles(!0)})),this._register(f(this._element,r.MOUSE_OUT,($)=>{this.updateStyles(!1)})),this.focusTracker=this._register(L7(this._element)),this._register(this.focusTracker.onDidFocus(()=>{if(this.enabled)this.updateStyles(!0)})),this._register(this.focusTracker.onDidBlur(()=>{if(this.enabled)this.updateStyles(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(J){let X=[];for(let Y of sJ(J))if(typeof Y===\"string\"){if(Y=Y.trim(),Y===\"\")continue;let Z=document.createElement(\"span\");Z.textContent=Y,X.push(Z)}else X.push(Y);return X}updateStyles(J){let X,Y,Z;if(this.options.secondary)X=J?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground,Y=this.options.buttonSecondaryForeground,Z=this.options.buttonSecondaryBorder;else X=J?this.options.buttonHoverBackground:this.options.buttonBackground,Y=this.options.buttonForeground,Z=this.options.buttonBorder;this._element.style.backgroundColor=X||\"\",this._element.style.color=Y||\"\",this._element.style.border=Z?`1px solid ${Z}`:\"\"}get element(){return this._element}set label(J){if(this._label===J)return;if(W4(this._label)&&W4(J)&&p90(this._label,J))return;this._element.classList.add(\"monaco-text-button\");let X=this.options.supportShortLabel?this._labelElement:this._element;if(W4(J)){let Z=hX(J,bO0,document.createElement(\"span\"));Z.dispose();let Q=Z.element.querySelector(\"p\")?.innerHTML;if(Q)Ow(X,Q,xO0);else $8(X)}else if(this.options.supportIcons)$8(X,...this.getContentElements(J));else X.textContent=J;let Y=\"\";if(typeof this.options.title===\"string\")Y=this.options.title;else if(this.options.title)Y=kJ0(J);this.setTitle(Y),this._setAriaLabel(),this._label=J}get label(){return this._label}_setAriaLabel(){if(typeof this.options.ariaLabel===\"string\")this._element.setAttribute(\"aria-label\",this.options.ariaLabel);else if(typeof this.options.title===\"string\")this._element.setAttribute(\"aria-label\",this.options.title)}set icon(J){this._setAriaLabel();let X=Array.from(this._element.classList).filter((Y)=>Y.startsWith(\"codicon-\"));this._element.classList.remove(...X),this._element.classList.add(...M0.asClassNameArray(J))}set enabled(J){if(J)this._element.classList.remove(\"disabled\"),this._element.setAttribute(\"aria-disabled\",String(!1)),this._element.tabIndex=0;else this._element.classList.add(\"disabled\"),this._element.setAttribute(\"aria-disabled\",String(!0))}get enabled(){return!this._element.classList.contains(\"disabled\")}set secondary(J){this._element.classList.toggle(\"secondary\",J),this.options.secondary=J,this.updateStyles(!1)}setTitle(J){if(!this._hover&&J!==\"\")this._hover=this._register(u8().setupManagedHover(this.options.hoverDelegate??A4(\"element\"),this._element,J));else if(this._hover)this._hover.update(J)}}class nT extends y{constructor(J,X,Y){super();this.options=X,this.styles=Y,this.count=0,this.hover=this._register(new Q1),this.element=q0(J,$0(\".monaco-count-badge\")),this._register(J0(()=>J.removeChild(this.element))),this.countFormat=this.options.countFormat||\"{0}\",this.titleFormat=this.options.titleFormat||\"\",this.setCount(this.options.count||0),this.updateHover()}setCount(J){this.count=J,this.render()}setTitleFormat(J){this.titleFormat=J,this.updateHover(),this.render()}updateHover(){if(this.titleFormat!==\"\"&&!this.hover.value)this.hover.value=u8().setupDelayedHoverAtMouse(this.element,()=>({content:i$(this.titleFormat,this.count),appearance:{compact:!0}}));else if(this.titleFormat===\"\"&&this.hover.value)this.hover.value=void 0}render(){if(this.element.textContent=i$(this.countFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackground??\"\",this.element.style.color=this.styles.badgeForeground??\"\",this.styles.badgeBorder)this.element.style.border=`1px solid ${this.styles.badgeBorder}`}}var UQ0=\"done\",HQ0=\"active\",Mm=\"infinite\",Rm=\"infinite-long-running\",VQ0=\"discrete\",CO0=F(16,\"Progress\");class tT extends y{static{this.LONG_RUNNING_INFINITE_THRESHOLD=1e4}constructor(J,X){super();this.progressSignal=this._register(new Q1),this.workedVal=0,this.showDelayedScheduler=this._register(new B1(()=>mz(this.element),0)),this.longRunningScheduler=this._register(new B1(()=>this.infiniteLongRunning(),tT.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(J,X)}create(J,X){this.element=document.createElement(\"div\"),this.element.classList.add(\"monaco-progress-container\"),this.element.setAttribute(\"role\",\"progressbar\"),this.element.setAttribute(\"aria-valuemin\",\"0\"),this.element.setAttribute(\"aria-label\",X?.ariaLabel&&X.ariaLabel.trim()?X.ariaLabel:CO0),J.appendChild(this.element),this.bit=document.createElement(\"div\"),this.bit.classList.add(\"progress-bit\"),this.bit.style.backgroundColor=X?.progressBarBackground||\"#0E70C0\",this.element.appendChild(this.bit)}off(){this.bit.style.width=\"inherit\",this.bit.style.opacity=\"1\",this.element.classList.remove(HQ0,Mm,Rm,VQ0),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(J){if(this.element.classList.add(UQ0),!this.element.classList.contains(Mm))if(this.bit.style.width=\"inherit\",J)setTimeout(()=>this.off(),200);else this.off();else if(this.bit.style.opacity=\"0\",J)setTimeout(()=>this.off(),200);else this.off();return this}infinite(){return this.bit.style.width=\"2%\",this.bit.style.opacity=\"1\",this.element.classList.remove(VQ0,UQ0,Rm),this.element.classList.add(HQ0,Mm),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(Rm)}getContainer(){return this.element}}var SO0=$0;class Nm extends y{constructor(J,X,Y){super();this.parent=J,this._listFocusMode=!1,this.onDidChange=(Z)=>{return this.findInput.onDidChange(Z)},this.container=q0(this.parent,SO0(\".quick-input-box\")),this.findInput=this._register(new C_(this.container,void 0,{label:\"\",inputBoxStyles:X,toggleStyles:Y,actionViewItemProvider:qZ(Y),hideHoverOnValueChange:!0}))}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(J){this.findInput.setValue(J)}select(J=null){this.findInput.inputBox.select(J)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute(\"placeholder\")||\"\"}set placeholder(J){this.findInput.inputBox.setPlaceHolder(J)}get password(){return this.findInput.inputBox.inputElement.type===\"password\"}set password(J){this.findInput.inputBox.inputElement.type=J?\"password\":\"text\"}set enabled(J){this.findInput.inputBox.inputElement.toggleAttribute(\"readonly\",!J)}set toggles(J){this.findInput.setAdditionalToggles(J)}set actions(J){this.setActions(J)}setActions(J,X){this.findInput.setActions(J,X)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute(\"aria-label\")||\"\"}set ariaLabel(J){this.findInput.inputBox.inputElement.setAttribute(\"aria-label\",J)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(J,X){this.findInput.inputBox.inputElement.setAttribute(J,X)}removeAttribute(J){this.findInput.inputBox.inputElement.removeAttribute(J)}setListFocusMode(J){if(this._listFocusMode===J)return;this._listFocusMode=J;let X=this.findInput.inputBox.inputElement;if(J)X.setAttribute(\"aria-haspopup\",\"listbox\"),X.setAttribute(\"aria-autocomplete\",\"list\");else X.removeAttribute(\"aria-haspopup\"),X.removeAttribute(\"aria-autocomplete\")}showDecoration(J){if(J===U6.Ignore)this.findInput.clearMessage();else this.findInput.showMessage({type:J===U6.Info?1:J===U6.Warning?2:3,content:\"\"})}stylesForType(J){return this.findInput.inputBox.stylesForType(J===U6.Info?1:J===U6.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}class z3 extends y{constructor(J,X){super();this.options=X,this.text=\"\",this.title=\"\",this.highlights=[],this.didEverRender=!1,this.domNode=q0(J,$0(\"span.monaco-highlighted-label\"))}get element(){return this.domNode}set(J,X=[],Y=\"\",Z,Q){if(!J)J=\"\";if(Z)J=z3.escapeNewLines(J,X);if(this.didEverRender&&this.text===J&&this.title===Y&&O8(this.highlights,X))return;this.text=J,this.title=Y,this.highlights=X,this.render(Q)}render(J){let X=[],Y=0;for(let Z of this.highlights){if(Z.end===Z.start)continue;if(Y<Z.start){let q=this.text.substring(Y,Z.start);if(J)X.push(...sJ(q,!0));else X.push(q);Y=Z.start}let Q=this.text.substring(Y,Z.end),$=$0(\"span.highlight\",void 0,...J?sJ(Q,!0):[Q]);if(Z.extraClasses)$.classList.add(...Z.extraClasses);X.push($),Y=Z.end}if(Y<this.text.length){let Z=this.text.substring(Y);if(J)X.push(...sJ(Z,!0));else X.push(Z)}if($8(this.domNode,...X),!this.customHover&&this.title!==\"\"){let Z=this.options?.hoverDelegate??A4(\"mouse\");this.customHover=this._register(u8().setupManagedHover(Z,this.domNode,this.title))}else if(this.customHover)this.customHover.update(this.title);this.didEverRender=!0}static escapeNewLines(J,X){let Y=0,Z=0;return J.replace(/\\r\\n|\\r|\\n/g,(Q,$)=>{Z=Q===`\\r\n`?-1:0,$+=Y;for(let q of X){if(q.end<=$)continue;if(q.start>=$)q.start+=Z;if(q.end>=$)q.end+=Z}return Y+=Z,\"⏎\"})}}class zj{constructor(J){this._element=J}get element(){return this._element}set textContent(J){if(this.disposed||J===this._textContent)return;this._textContent=J,this._element.textContent=J}set classNames(J){if(this.disposed||O8(J,this._classNames))return;this._classNames=J,this._element.classList.value=\"\",this._element.classList.add(...J)}set empty(J){if(this.disposed||J===this._empty)return;this._empty=J,this._element.style.marginLeft=J?\"0\":\"\"}dispose(){this.disposed=!0}}class Fj extends y{constructor(J,X){super();if(this.customHovers=new Map,this.creationOptions=X,this.domNode=this._register(new zj(q0(J,$0(\".monaco-icon-label\")))),this.labelContainer=q0(this.domNode.element,$0(\".monaco-icon-label-container\")),this.nameContainer=q0(this.labelContainer,$0(\"span.monaco-icon-name-container\")),X?.supportHighlights||X?.supportIcons)this.nameNode=this._register(new jQ0(this.nameContainer,!!X.supportIcons));else this.nameNode=new KQ0(this.nameContainer);this.hoverDelegate=X?.hoverDelegate??A4(\"mouse\")}get element(){return this.domNode.element}setLabel(J,X,Y){let Z=[\"monaco-icon-label\"],Q=[\"monaco-icon-label-container\"],$=\"\";if(Y){if(Y.extraClasses)Z.push(...Y.extraClasses);if(Y.bold)Z.push(\"bold\");if(Y.italic)Z.push(\"italic\");if(Y.strikethrough)Z.push(\"strikethrough\");if(Y.disabledCommand)Q.push(\"disabled\");if(Y.title)if(typeof Y.title===\"string\")$+=Y.title;else $+=J}let q=this.domNode.element.querySelector(\".monaco-icon-label-iconpath\");if(Y?.iconPath){let G;if(!q||!a0(q))G=$0(\".monaco-icon-label-iconpath\"),this.domNode.element.prepend(G);else G=q;if(M0.isThemeIcon(Y.iconPath)){let U=M0.asClassName(Y.iconPath);G.className=`monaco-icon-label-iconpath ${U}`,G.style.backgroundImage=\"\"}else G.style.backgroundImage=B4(Y?.iconPath);G.style.backgroundRepeat=\"no-repeat\",G.style.backgroundPosition=\"center\",G.style.backgroundSize=\"contain\"}else if(q)q.remove();if(this.domNode.classNames=Z,this.domNode.element.setAttribute(\"aria-label\",$),this.labelContainer.classList.value=\"\",this.labelContainer.classList.add(...Q),this.setupHover(Y?.descriptionTitle?this.labelContainer:this.element,Y?.title),this.nameNode.setLabel(J,Y),X||this.descriptionNode){let G=this.getOrCreateDescriptionNode();if(G instanceof z3){let U=Y?.supportIcons??this.creationOptions?.supportIcons;G.set(X||\"\",Y?Y.descriptionMatches:void 0,void 0,Y?.labelEscapeNewLines,U),this.setupHover(G.element,Y?.descriptionTitle)}else G.textContent=X&&Y?.labelEscapeNewLines?z3.escapeNewLines(X,[]):X||\"\",this.setupHover(G.element,Y?.descriptionTitle||\"\"),G.empty=!X}if(Y?.suffix||this.suffixNode){let G=this.getOrCreateSuffixNode();G.textContent=Y?.suffix??\"\"}}setupHover(J,X){let Y=this.customHovers.get(J);if(Y)Y.dispose(),this.customHovers.delete(J);if(!X){J.removeAttribute(\"title\");return}let Z=J;if(this.creationOptions?.hoverTargetOverride){if(!d1(J,this.creationOptions.hoverTargetOverride))throw Error(\"hoverTargetOverrride must be an ancestor of the htmlElement\");Z=this.creationOptions.hoverTargetOverride}let Q=u8().setupManagedHover(this.hoverDelegate,Z,X);if(Q)this.customHovers.set(J,Q)}dispose(){super.dispose();for(let J of this.customHovers.values())J.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){let J=this._register(new zj(vt(this.nameContainer,$0(\"span.monaco-icon-suffix-container\"))));this.suffixNode=this._register(new zj(q0(J.element,$0(\"span.label-suffix\"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){let J=this._register(new zj(q0(this.labelContainer,$0(\"span.monaco-icon-description-container\"))));if(this.creationOptions?.supportDescriptionHighlights)this.descriptionNode=this._register(new z3(q0(J.element,$0(\"span.label-description\"))));else this.descriptionNode=this._register(new zj(q0(J.element,$0(\"span.label-description\"))))}return this.descriptionNode}}class KQ0{constructor(J){this.container=J,this.label=void 0,this.singleLabel=void 0}setLabel(J,X){if(this.label===J&&O8(this.options,X))return;if(this.label=J,this.options=X,typeof J===\"string\"){if(!this.singleLabel)this.container.textContent=\"\",this.container.classList.remove(\"multiple\"),this.singleLabel=q0(this.container,$0(\"a.label-name\",{id:X?.domId}));this.singleLabel.textContent=J}else{this.container.textContent=\"\",this.container.classList.add(\"multiple\"),this.singleLabel=void 0;for(let Y=0;Y<J.length;Y++){let Z=J[Y],Q=X?.domId&&`${X?.domId}_${Y}`;if(q0(this.container,$0(\"a.label-name\",{id:Q,\"data-icon-label-count\":J.length,\"data-icon-label-index\":Y,role:\"treeitem\"},Z)),Y<J.length-1)q0(this.container,$0(\"span.label-separator\",void 0,X?.separator||\"/\"))}}}}function fO0(J,X,Y){if(!Y)return;let Z=0;return J.map((Q)=>{let $={start:Z,end:Z+Q.length},q=Y.map((G)=>m8.intersect($,G)).filter((G)=>!m8.isEmpty(G)).map(({start:G,end:U})=>({start:G-Z,end:U-Z}));return Z=$.end+X.length,q})}class jQ0 extends y{constructor(J,X){super();this.container=J,this.supportIcons=X,this.label=void 0,this.singleLabel=void 0,this._labelDisposables=this._register(new a)}setLabel(J,X){if(this.label===J&&O8(this.options,X))return;this.label=J,this.options=X;let Y=X?.supportIcons??this.supportIcons;if(typeof J===\"string\"){if(!this.singleLabel)this._labelDisposables.clear(),this.container.textContent=\"\",this.container.classList.remove(\"multiple\"),this.singleLabel=this._labelDisposables.add(new z3(q0(this.container,$0(\"a.label-name\",{id:X?.domId}))));this.singleLabel.set(J,X?.matches,void 0,X?.labelEscapeNewLines,Y)}else{this._labelDisposables.clear(),this.container.textContent=\"\",this.container.classList.add(\"multiple\"),this.singleLabel=void 0;let Z=X?.separator||\"/\",Q=fO0(J,Z,X?.matches);for(let $=0;$<J.length;$++){let q=J[$],G=Q?Q[$]:void 0,U=X?.domId&&`${X?.domId}_${$}`,H=$0(\"a.label-name\",{id:U,\"data-icon-label-count\":J.length,\"data-icon-label-index\":$,role:\"treeitem\"});if(this._labelDisposables.add(new z3(q0(this.container,H))).set(q,G,void 0,X?.labelEscapeNewLines,Y),$<J.length-1)q0(H,$0(\"span.label-separator\",void 0,Z))}}}}var eT=$0;class Bj extends y{constructor(J,X,Y){super();this.os=X,this.keyElements=new Set,this.options=Y||Object.create(null);let Z=this.options.keybindingLabelForeground;if(this.domNode=q0(J,eT(\".monaco-keybinding\")),Z)this.domNode.style.color=Z;this.hover=this._register(u8().setupManagedHover(A4(\"mouse\"),this.domNode,\"\")),this.didEverRender=!1,J.appendChild(this.domNode)}set(J,X){if(this.didEverRender&&this.keybinding===J&&Bj.areSame(this.matches,X))return;this.keybinding=J,this.matches=X,this.render()}render(){if(this.clear(),this.keybinding){let J=this.keybinding.getChords();if(J[0])this.renderChord(this.domNode,J[0],this.matches?this.matches.firstPart:null);for(let Y=1;Y<J.length;Y++)q0(this.domNode,eT(\"span.monaco-keybinding-key-chord-separator\",void 0,\" \")),this.renderChord(this.domNode,J[Y],this.matches?this.matches.chordPart:null);let X=this.options.disableTitle??!1?void 0:this.keybinding.getAriaLabel()||void 0;this.hover.update(X),this.domNode.setAttribute(\"aria-label\",X||\"\")}else if(this.options&&this.options.renderUnboundKeybindings)this.renderUnbound(this.domNode);this.didEverRender=!0}clear(){r8(this.domNode),this.keyElements.clear()}renderChord(J,X,Y){let Z=sK.modifierLabels[this.os];if(X.ctrlKey)this.renderKey(J,Z.ctrlKey,Boolean(Y?.ctrlKey),Z.separator);if(X.shiftKey)this.renderKey(J,Z.shiftKey,Boolean(Y?.shiftKey),Z.separator);if(X.altKey)this.renderKey(J,Z.altKey,Boolean(Y?.altKey),Z.separator);if(X.metaKey)this.renderKey(J,Z.metaKey,Boolean(Y?.metaKey),Z.separator);let Q=X.keyLabel;if(Q)this.renderKey(J,Q,Boolean(Y?.keyCode),\"\")}renderKey(J,X,Y,Z){if(q0(J,this.createKeyElement(X,Y?\".highlight\":\"\")),Z)q0(J,eT(\"span.monaco-keybinding-key-separator\",void 0,Z))}renderUnbound(J){q0(J,this.createKeyElement(F(15,\"Unbound\")))}createKeyElement(J,X=\"\"){let Y=eT(\"span.monaco-keybinding-key\"+X,void 0,J);if(this.keyElements.add(Y),this.options.keybindingLabelBackground)Y.style.backgroundColor=this.options.keybindingLabelBackground;if(this.options.keybindingLabelBorder)Y.style.borderColor=this.options.keybindingLabelBorder;if(this.options.keybindingLabelBottomBorder)Y.style.borderBottomColor=this.options.keybindingLabelBottomBorder;if(this.options.keybindingLabelShadow)Y.style.boxShadow=`inset 0 -1px 0 ${this.options.keybindingLabelShadow}`;return Y}static areSame(J,X){if(J===X||!J&&!X)return!0;return!!J&&!!X&&O8(J.firstPart,X.firstPart)&&O8(J.chordPart,X.chordPart)}}var WQ0=new f8(()=>{let J=IY.Collator(void 0,{numeric:!0,sensitivity:\"base\"}).value;return{collator:J,collatorIsNumeric:J.resolvedOptions().numeric}});new f8(()=>{return{collator:IY.Collator(void 0,{numeric:!0}).value}});new f8(()=>{return{collator:IY.Collator(void 0,{numeric:!0,sensitivity:\"accent\"}).value}});function hO0(J,X,Y=!1){let Z=J||\"\",Q=X||\"\",$=WQ0.value.collator.compare(Z,Q);if(WQ0.value.collatorIsNumeric&&$===0&&Z!==Q)return Z<Q?-1:1;return $}function zQ0(J,X,Y){let Z=J.toLowerCase(),Q=X.toLowerCase(),$=vO0(J,X,Y);if($)return $;let q=Z.endsWith(Y),G=Q.endsWith(Y);if(q!==G)return q?-1:1;let U=hO0(Z,Q);if(U!==0)return U;return Z.localeCompare(Q)}function vO0(J,X,Y){let Z=J.toLowerCase(),Q=X.toLowerCase(),$=Z.startsWith(Y),q=Q.startsWith(Y);if($!==q)return $?-1:1;else if($&&q){if(Z.length<Q.length)return-1;if(Z.length>Q.length)return 1}return 0}var a_=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},s_=function(J,X){return function(Y,Z){X(Y,Z,J)}},wm,Tm,jZ=$0;class Lm{constructor(J,X,Y){this.index=J,this.hasCheckbox=X,this._hidden=!1,this._init=new f8(()=>{let Z=Y.label??\"\",Q=dQ(Z).text.trim(),$=Y.ariaLabel||[Z,this.saneDescription,this.saneDetail].map((q)=>LK(q)).filter((q)=>!!q).join(\", \");return{saneLabel:Z,saneSortLabel:Q,saneAriaLabel:$}}),this._saneDescription=Y.description,this._saneTooltip=Y.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(J){this._element=J}get hidden(){return this._hidden}set hidden(J){this._hidden=J}get saneDescription(){return this._saneDescription}set saneDescription(J){this._saneDescription=J}get saneDetail(){return this._saneDetail}set saneDetail(J){this._saneDetail=J}get saneTooltip(){return this._saneTooltip}set saneTooltip(J){this._saneTooltip=J}get labelHighlights(){return this._labelHighlights}set labelHighlights(J){this._labelHighlights=J}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(J){this._descriptionHighlights=J}get detailHighlights(){return this._detailHighlights}set detailHighlights(J){this._detailHighlights=J}}class A5 extends Lm{constructor(J,X,Y,Z,Q,$,q){super(J,Y,$);this.childIndex=X,this.fireButtonTriggered=Z,this._onChecked=Q,this.item=$,this._separator=q,this._checked=!1,this.onChecked=Y?i.map(i.filter(this._onChecked.event,(G)=>G.element===this),(G)=>G.checked):i.None,this._saneDetail=$.detail,this._labelHighlights=$.highlights?.label,this._descriptionHighlights=$.highlights?.description,this._detailHighlights=$.highlights?.detail}get separator(){return this._separator}set separator(J){this._separator=J}get checked(){return this._checked}set checked(J){if(J!==this._checked)this._checked=J,this._onChecked.fire({element:this,checked:J})}get checkboxDisabled(){return!!this.item.disabled}}var WZ;(function(J){J[J.NONE=0]=\"NONE\",J[J.MOUSE_HOVER=1]=\"MOUSE_HOVER\",J[J.ACTIVE_ITEM=2]=\"ACTIVE_ITEM\"})(WZ||(WZ={}));class F3 extends Lm{constructor(J,X,Y){super(J,!1,Y);this.fireSeparatorButtonTriggered=X,this.separator=Y,this.children=[],this.focusInsideSeparator=WZ.NONE}}class BQ0{getHeight(J){if(J instanceof F3)return 30;return J.saneDetail?44:22}getTemplateId(J){if(J instanceof A5)return JL.ID;else return XL.ID}}class _Q0{getWidgetAriaLabel(){return F(1834,\"Quick Input\")}getAriaLabel(J){return J.separator?.label?`${J.saneAriaLabel}, ${J.separator.label}`:J.saneAriaLabel}getWidgetRole(){return\"listbox\"}getRole(J){return J.hasCheckbox?\"checkbox\":\"option\"}isChecked(J){if(!J.hasCheckbox||!(J instanceof A5))return;return{get value(){return J.checked},onDidChange:(X)=>J.onChecked(()=>X())}}}class Im extends y{constructor(J,X,Y){super();this.hoverDelegate=J,this.toggleStyles=X,this.contextMenuService=Y,this._onDidDisposeFocusedElement=this._register(new E),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(J){let X=Object.create(null);X.toDisposeElement=new a,X.toDisposeTemplate=new a,X.entry=q0(J,jZ(\".quick-input-list-entry\"));let Y=q0(X.entry,jZ(\"label.quick-input-list-label\"));X.outerLabel=Y,X.checkbox=X.toDisposeTemplate.add(new Q1),X.toDisposeTemplate.add(F6(Y,r.CLICK,(U)=>{if(X.checkbox.value&&!U.defaultPrevented&&X.checkbox.value.enabled){let H=!X.checkbox.value.checked;X.checkbox.value.checked=H,X.element.checked=H}}));let Z=q0(Y,jZ(\".quick-input-list-rows\")),Q=q0(Z,jZ(\".quick-input-list-row\")),$=q0(Z,jZ(\".quick-input-list-row\"));X.label=new Fj(Q,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),X.toDisposeTemplate.add(X.label),X.icon=G2(X.label.element,jZ(\".quick-input-list-icon\"));let q=q0(Q,jZ(\".quick-input-list-entry-keybinding\"));X.keybinding=new Bj(q,h5),X.toDisposeTemplate.add(X.keybinding);let G=q0($,jZ(\".quick-input-list-label-meta\"));return X.detail=new Fj(G,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),X.toDisposeTemplate.add(X.detail),X.separator=q0(X.entry,jZ(\".quick-input-list-separator\")),X.toolBar=new cX(X.entry,this.contextMenuService,{...this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0,actionViewItemProvider:qZ(this.toggleStyles),icon:!0,label:!1}),X.toolBar.getElement().classList.add(\"quick-input-list-entry-action-bar\"),X.toDisposeTemplate.add(X.toolBar),X}disposeTemplate(J){J.toDisposeElement.dispose(),J.toDisposeTemplate.dispose()}disposeElement(J,X,Y){if(Q2(Y.entry))this._onDidDisposeFocusedElement.fire();Y.toDisposeElement.clear(),Y.toolBar.setActions([])}}var JL=class extends Im{static{wm=this}static{this.ID=\"quickpickitem\"}constructor(X,Y,Z,Q){super(X,Y,Z);this.themeService=Q,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return wm.ID}ensureCheckbox(X,Y){if(!X.hasCheckbox){Y.checkbox.value?.domNode.remove(),Y.checkbox.clear();return}let Z=Y.checkbox.value;if(!Z)Z=new Jj(X.saneLabel,X.checked,{...iK,size:15}),Y.checkbox.value=Z,Y.outerLabel.prepend(Z.domNode),Z.domNode.tabIndex=-1;else Z.setTitle(X.saneLabel);if(X.checkboxDisabled)Z.disable();else Z.enable();Z.checked=X.checked,Y.toDisposeElement.add(X.onChecked((Q)=>Z.checked=Q)),Y.toDisposeElement.add(Z.onChange(()=>X.checked=Z.checked))}renderElement(X,Y,Z){let Q=X.element;Z.element=Q,Q.element=Z.entry??void 0;let $=Q.item;Q.element.classList.toggle(\"not-pickable\",Q.item.pickable===!1),this.ensureCheckbox(Q,Z);let{labelHighlights:q,descriptionHighlights:G,detailHighlights:U}=Q;if($.iconPath){let j=pJ(this.themeService.getColorTheme().type)?$.iconPath.dark:$.iconPath.light??$.iconPath.dark,W=R0.revive(j);Z.icon.className=\"quick-input-list-icon\",Z.icon.style.backgroundImage=B4(W)}else Z.icon.style.backgroundImage=\"\",Z.icon.className=$.iconClass?`quick-input-list-icon ${$.iconClass}`:\"\";let H;if(!Q.saneTooltip&&Q.saneDescription)H={markdown:{value:w4(Q.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:Q.saneDescription};let V={matches:q||[],descriptionTitle:H,descriptionMatches:G||[],labelEscapeNewLines:!0};if(V.extraClasses=$.iconClasses,V.italic=$.italic,V.strikethrough=$.strikethrough,Z.entry.classList.remove(\"quick-input-list-separator-as-item\"),Z.label.setLabel(Q.saneLabel,Q.saneDescription,V),Z.keybinding.set($.keybinding),Q.saneDetail){let j;if(!Q.saneTooltip)j={markdown:{value:w4(Q.saneDetail),supportThemeIcons:!0},markdownNotSupportedFallback:Q.saneDetail};Z.detail.element.style.display=\"\",Z.detail.setLabel(Q.saneDetail,void 0,{matches:U,title:j,labelEscapeNewLines:!0})}else Z.detail.element.style.display=\"none\";if(Q.separator?.label)Z.separator.textContent=Q.separator.label,Z.separator.style.display=\"\",this.addItemWithSeparator(Q);else Z.separator.style.display=\"none\";Z.entry.classList.toggle(\"quick-input-list-separator-border\",!!Q.separator&&Q.childIndex!==0);let K=$.buttons;if(K&&K.length){let{primary:j,secondary:W}=J$(K,\"quick-input-item\",(z)=>Q.fireButtonTriggered({button:z,item:Q.item}));Z.toolBar.setActions(j,W),Z.entry.classList.add(\"has-actions\")}else Z.toolBar.setActions([]),Z.entry.classList.remove(\"has-actions\")}disposeElement(X,Y,Z){this.removeItemWithSeparator(X.element),super.disposeElement(X,Y,Z)}isItemWithSeparatorVisible(X){return this._itemsWithSeparatorsFrequency.has(X)}addItemWithSeparator(X){this._itemsWithSeparatorsFrequency.set(X,(this._itemsWithSeparatorsFrequency.get(X)||0)+1)}removeItemWithSeparator(X){let Y=this._itemsWithSeparatorsFrequency.get(X)||0;if(Y>1)this._itemsWithSeparatorsFrequency.set(X,Y-1);else this._itemsWithSeparatorsFrequency.delete(X)}};JL=wm=a_([s_(2,Y5),s_(3,L6)],JL);var XL=class extends Im{static{Tm=this}static{this.ID=\"quickpickseparator\"}constructor(X,Y,Z){super(X,Y,Z);this._visibleSeparatorsFrequency=new Map}get templateId(){return Tm.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(X){return this._visibleSeparatorsFrequency.has(X)}renderElement(X,Y,Z){let Q=X.element;Z.element=Q,Q.element=Z.entry??void 0,Q.element.classList.toggle(\"focus-inside\",!!Q.focusInsideSeparator);let $=Q.separator,{labelHighlights:q,descriptionHighlights:G}=Q;Z.icon.style.backgroundImage=\"\",Z.icon.className=\"\";let U;if(!Q.saneTooltip&&Q.saneDescription)U={markdown:{value:w4(Q.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:Q.saneDescription};let H={matches:q||[],descriptionTitle:U,descriptionMatches:G||[],labelEscapeNewLines:!0};Z.entry.classList.add(\"quick-input-list-separator-as-item\"),Z.label.setLabel(Q.saneLabel,Q.saneDescription,H),Z.separator.style.display=\"none\",Z.entry.classList.add(\"quick-input-list-separator-border\");let V=$.buttons;if(V&&V.length){let{primary:K,secondary:j}=J$(V,\"quick-input-separator\",(W)=>Q.fireSeparatorButtonTriggered({button:W,separator:Q.separator}));Z.toolBar.setActions(K,j),Z.entry.classList.add(\"has-actions\")}else Z.toolBar.setActions([]),Z.entry.classList.remove(\"has-actions\");this.addSeparator(Q)}disposeElement(X,Y,Z){if(this.removeSeparator(X.element),!this.isSeparatorVisible(X.element))X.element.element?.classList.remove(\"focus-inside\");super.disposeElement(X,Y,Z)}addSeparator(X){this._visibleSeparatorsFrequency.set(X,(this._visibleSeparatorsFrequency.get(X)||0)+1)}removeSeparator(X){let Y=this._visibleSeparatorsFrequency.get(X)||0;if(Y>1)this._visibleSeparatorsFrequency.set(X,Y-1);else this._visibleSeparatorsFrequency.delete(X)}};XL=Tm=a_([s_(2,Y5)],XL);var _j=class extends y{constructor(X,Y,Z,Q,$,q,G){super();this.parent=X,this.hoverDelegate=Y,this.linkOpenerDelegate=Z,this.styles=$,this.accessibilityService=G,this._onLeave=this._register(new E),this.onLeave=this._onLeave.event,this._visibleCountObservable=A0(\"VisibleCount\",0),this.onChangedVisibleCount=i.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=A0(\"AllVisibleChecked\",!1),this.onChangedAllVisibleChecked=i.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=A0(\"CheckedCount\",0),this.onChangedCheckedCount=i.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=a2({equalsFn:w1},[]),this.onChangedCheckedElements=i.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=this._register(new E),this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=this._register(new E),this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=this._register(new E),this._elementCheckedEventBufferer=new KX,this._hasCheckboxes=!1,this._inputElements=[],this._elementTree=[],this._itemElements=[],this._elementDisposable=this._register(new a),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=\"fuzzy\",this._sortByLabel=!0,this._shouldLoop=!0,this._container=q0(this.parent,jZ(\".quick-input-list\")),this._separatorRenderer=this._register(q.createInstance(XL,Y,this.styles.toggle)),this._itemRenderer=this._register(q.createInstance(JL,Y,this.styles.toggle)),this._tree=this._register(q.createInstance(Qj,\"QuickInput\",this._container,new BQ0,[this._itemRenderer,this._separatorRenderer],{filter:{filter(U){return U.hidden?0:U instanceof F3?2:1}},sorter:{compare:(U,H)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;let V=this._lastQueryString.toLowerCase();return pO0(U,H,V)}},accessibilityProvider:new _Q0,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:tQ.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=Q,this._register(this._itemRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._register(this._separatorRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._registerListeners()}get onDidChangeFocus(){return i.map(this._tree.onDidChangeFocus,(X)=>X.elements.filter((Y)=>Y instanceof A5).map((Y)=>Y.item),this._store)}get onDidChangeSelection(){return i.map(this._tree.onDidChangeSelection,(X)=>({items:X.elements.filter((Y)=>Y instanceof A5).map((Y)=>Y.item),event:X.browserEvent}),this._store)}get displayed(){return this._container.style.display!==\"none\"}set displayed(X){this._container.style.display=X?\"\":\"none\"}get scrollTop(){return this._tree.scrollTop}set scrollTop(X){this._tree.scrollTop=X}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(X){this._tree.ariaLabel=X??\"\"}set enabled(X){this._tree.getHTMLElement().style.pointerEvents=X?\"\":\"none\"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(X){this._matchOnDescription=X}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(X){this._matchOnDetail=X}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(X){this._matchOnLabel=X}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(X){this._matchOnLabelMode=X}get sortByLabel(){return this._sortByLabel}set sortByLabel(X){this._sortByLabel=X}get shouldLoop(){return this._shouldLoop}set shouldLoop(X){this._shouldLoop=X}_registerListeners(){this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnContainerClick(){this._register(f(this._container,r.CLICK,(X)=>{if(X.x||X.y)this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(f(this._container,r.AUXCLICK,(X)=>{if(X.button===1)this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{let X=this._itemElements.filter((Y)=>!Y.hidden).length;if(this._visibleCountObservable.set(X,void 0),this._hasCheckboxes)this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(X,Y)=>Y)((X)=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu((X)=>{if(X.element)X.browserEvent.preventDefault(),this._tree.setSelection([X.element])}))}_registerHoverListeners(){let X=this._register(new Iz(typeof this.hoverDelegate.delay===\"function\"?this.hoverDelegate.delay():this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async(Y)=>{if(ix(Y.browserEvent.target)){X.cancel();return}if(!ix(Y.browserEvent.relatedTarget)&&d1(Y.browserEvent.relatedTarget,Y.element?.element))return;try{await X.trigger(async()=>{if(Y.element instanceof A5)this.showHover(Y.element)})}catch(Z){if(!n4(Z))throw Z}})),this._register(this._tree.onMouseOut((Y)=>{if(d1(Y.browserEvent.relatedTarget,Y.element?.element))return;X.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus((X)=>{let Y=X.elements[0]?this._tree.getParentElement(X.elements[0]):null;for(let Z of this._separatorRenderer.visibleSeparators){let Q=Z===Y;if(!!(Z.focusInsideSeparator&WZ.ACTIVE_ITEM)!==Q){if(Q)Z.focusInsideSeparator|=WZ.ACTIVE_ITEM;else Z.focusInsideSeparator&=~WZ.ACTIVE_ITEM;this._tree.rerender(Z)}}})),this._register(this._tree.onMouseOver((X)=>{let Y=X.element?this._tree.getParentElement(X.element):null;for(let Z of this._separatorRenderer.visibleSeparators){if(Z!==Y)continue;if(!(Z.focusInsideSeparator&WZ.MOUSE_HOVER))Z.focusInsideSeparator|=WZ.MOUSE_HOVER,this._tree.rerender(Z)}})),this._register(this._tree.onMouseOut((X)=>{let Y=X.element?this._tree.getParentElement(X.element):null;for(let Z of this._separatorRenderer.visibleSeparators){if(Z!==Y)continue;if(!!(Z.focusInsideSeparator&WZ.MOUSE_HOVER))Z.focusInsideSeparator&=~WZ.MOUSE_HOVER,this._tree.rerender(Z)}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection((X)=>{let Y=X.elements.filter((Z)=>Z instanceof A5);if(Y.length!==X.elements.length){if(X.elements.length===1&&X.elements[0]instanceof F3)this._tree.setFocus([X.elements[0].children[0]]),this._tree.reveal(X.elements[0],0);this._tree.setSelection(Y)}}))}setAllVisibleChecked(X){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach((Y)=>{if(!Y.hidden&&!Y.checkboxDisabled&&Y.item.pickable!==!1)Y.checked=X})})}setElements(X){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=X,this._hasCheckboxes=this.parent.classList.contains(\"show-checkboxes\");let Y;if(this._itemElements=[],this._elementTree=X.reduce((Z,Q,$)=>{let q;if(Q.type===\"separator\"){if(!Q.buttons)return Z;Y=new F3($,(G)=>this._onSeparatorButtonTriggered.fire(G),Q),q=Y}else{let G=$>0?X[$-1]:void 0,U;if(G&&G.type===\"separator\"&&!G.buttons)U=G;let H=new A5($,Y?.children?Y.children.length:$,this._hasCheckboxes&&Q.pickable!==!1,(V)=>this._onButtonTriggered.fire(V),this._elementChecked,Q,U);if(this._itemElements.push(H),Y)return Y.children.push(H),Z;q=H}return Z.push(q),Z},[]),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized())AX(()=>{let Z=this._tree.getHTMLElement().querySelector(\".monaco-list-row.focused\"),Q=Z?.parentNode;if(Z&&Q){let $=Z.nextSibling;Z.remove(),Q.insertBefore(Z,$)}},0,this._elementDisposable)}setFocusedElements(X){let Y=X.map((Z)=>this._itemElements.find((Q)=>Q.item===Z)).filter((Z)=>!!Z).filter((Z)=>!Z.hidden);if(this._tree.setFocus(Y),X.length>0){let Z=this._tree.getFocus()[0];if(Z)this._tree.reveal(Z)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(\"aria-activedescendant\")}setSelectedElements(X){let Y=X.map((Z)=>this._itemElements.find((Q)=>Q.item===Z)).filter((Z)=>!!Z);this._tree.setSelection(Y)}getCheckedElements(){return this._itemElements.filter((X)=>X.checked).map((X)=>X.item)}setCheckedElements(X){this._elementCheckedEventBufferer.bufferEvents(()=>{let Y=new Set;for(let Z of X)Y.add(Z);for(let Z of this._itemElements)Z.checked=Y.has(Z.item)})}focus(X){if(!this._itemElements.length)return;if(X===W1.Second&&this._itemElements.length<2)X=W1.First;switch(X){case W1.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,(Y)=>Y.element instanceof A5);break;case W1.Second:{this._tree.scrollTop=0;let Y=!1;this._tree.focusFirst(void 0,(Z)=>{if(!(Z.element instanceof A5))return!1;if(Y)return!0;return Y=!Y,!1});break}case W1.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,(Y)=>Y.element instanceof A5);break;case W1.Next:{let Y=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,(Q)=>{if(!(Q.element instanceof A5))return!1;return this._tree.reveal(Q.element),!0});let Z=this._tree.getFocus();if(Y.length&&Y[0]===Z[0])this._onLeave.fire();break}case W1.Previous:{let Y=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,(Q)=>{if(!(Q.element instanceof A5))return!1;let $=this._tree.getParentElement(Q.element);if($===null||$.children[0]!==Q.element)this._tree.reveal(Q.element);else this._tree.reveal($);return!0});let Z=this._tree.getFocus();if(Y.length&&Y[0]===Z[0])this._onLeave.fire();break}case W1.NextPage:this._tree.focusNextPage(void 0,(Y)=>{if(!(Y.element instanceof A5))return!1;return this._tree.reveal(Y.element),!0});break;case W1.PreviousPage:this._tree.focusPreviousPage(void 0,(Y)=>{if(!(Y.element instanceof A5))return!1;let Z=this._tree.getParentElement(Y.element);if(Z===null||Z.children[0]!==Y.element)this._tree.reveal(Y.element);else this._tree.reveal(Z);return!0});break;case W1.NextSeparator:{let Y=!1,Z=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,($)=>{if(Y)return!0;if($.element instanceof F3)if(Y=!0,this._separatorRenderer.isSeparatorVisible($.element))this._tree.reveal($.element.children[0]);else this._tree.reveal($.element,0);else if($.element instanceof A5){if($.element.separator){if(this._itemRenderer.isItemWithSeparatorVisible($.element))this._tree.reveal($.element);else this._tree.reveal($.element,0);return!0}else if($.element===this._elementTree[0])return this._tree.reveal($.element,0),!0}return!1});let Q=this._tree.getFocus()[0];if(Z===Q)this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,($)=>$.element instanceof A5);break}case W1.PreviousSeparator:{let Y,Z=!!this._tree.getFocus()[0]?.separator;if(this._tree.focusPrevious(void 0,!0,void 0,(Q)=>{if(Q.element instanceof F3)if(Z){if(!Y){if(this._separatorRenderer.isSeparatorVisible(Q.element))this._tree.reveal(Q.element);else this._tree.reveal(Q.element,0);Y=Q.element.children[0]}}else Z=!0;else if(Q.element instanceof A5){if(!Y){if(Q.element.separator){if(this._itemRenderer.isItemWithSeparatorVisible(Q.element))this._tree.reveal(Q.element);else this._tree.reveal(Q.element,0);Y=Q.element}else if(Q.element===this._elementTree[0])return this._tree.reveal(Q.element,0),!0}}return!1}),Y)this._tree.setFocus([Y]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(X){this._tree.getHTMLElement().style.maxHeight=X?`${Math.floor(X/44)*44+6}px`:\"\",this._tree.layout()}filter(X){if(this._lastQueryString=X,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;let Y=X;if(X=X.trim(),!X||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach((Z)=>{Z.labelHighlights=void 0,Z.descriptionHighlights=void 0,Z.detailHighlights=void 0,Z.hidden=!1;let Q=Z.index&&this._inputElements[Z.index-1];if(Z.item)Z.separator=Q&&Q.type===\"separator\"&&!Q.buttons?Q:void 0});else{let Z;this._itemElements.forEach((Q)=>{let $;if(this.matchOnLabelMode===\"fuzzy\")$=this.matchOnLabel?pG(X,dQ(Q.saneLabel))??void 0:void 0;else $=this.matchOnLabel?gO0(Y,dQ(Q.saneLabel))??void 0:void 0;let q=this.matchOnDescription?pG(X,dQ(Q.saneDescription||\"\"))??void 0:void 0,G=this.matchOnDetail?pG(X,dQ(Q.saneDetail||\"\"))??void 0:void 0;if($||q||G)Q.labelHighlights=$,Q.descriptionHighlights=q,Q.detailHighlights=G,Q.hidden=!1;else Q.labelHighlights=void 0,Q.descriptionHighlights=void 0,Q.detailHighlights=void 0,Q.hidden=Q.item?!Q.item.alwaysShow:!0;if(Q.item)Q.separator=void 0;else if(Q.separator)Q.hidden=!0;if(!this.sortByLabel){let U=Q.index&&this._inputElements[Q.index-1]||void 0;if(U?.type===\"separator\"&&!U.buttons)Z=U;if(Z&&!Q.hidden)Q.separator=Z,Z=void 0}})}return this._setElementsToTree(this._sortByLabel&&X?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{let X=this._tree.getFocus().filter((Z)=>Z instanceof A5),Y=this._allVisibleChecked(X);for(let Z of X)if(!Z.checkboxDisabled)Z.checked=!Y})}style(X){this._tree.style(X)}toggleHover(){let X=this._tree.getFocus()[0];if(!X?.saneTooltip||!(X instanceof A5))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(X);let Y=new a;if(Y.add(this._tree.onDidChangeFocus((Z)=>{if(Z.elements[0]instanceof A5)this.showHover(Z.elements[0])})),this._lastHover)Y.add(this._lastHover);this._elementDisposable.add(Y)}_setElementsToTree(X){let Y=[];for(let Z of X)if(Z instanceof F3)Y.push({element:Z,collapsible:!1,collapsed:!1,children:Z.children.map((Q)=>({element:Q,collapsible:!1,collapsed:!1}))});else Y.push({element:Z,collapsible:!1,collapsed:!1});this._tree.setChildren(null,Y)}_allVisibleChecked(X,Y=!0){for(let Z=0,Q=X.length;Z<Q;Z++){let $=X[Z];if(!$.hidden&&$.item.pickable!==!1)if(!$.checked)return!1;else Y=!0}return Y}_updateCheckedObservables(){k1((X)=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),X);let Y=this._itemElements.filter((Z)=>Z.checked).length;this._checkedCountObservable.set(Y,X),this._checkedElementsObservable.set(this.getCheckedElements(),X)})}showHover(X){if(this._lastHover&&!this._lastHover.isDisposed)this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose();if(!X.element||!X.saneTooltip)return;this._lastHover=this.hoverDelegate.showHover({content:X.saneTooltip,target:X.element,linkHandler:(Y)=>{this.linkOpenerDelegate(Y)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1)}};a_([a1],_j.prototype,\"onDidChangeFocus\",null);a_([a1],_j.prototype,\"onDidChangeSelection\",null);_j=a_([s_(5,w0),s_(6,c6)],_j);function gO0(J,X){let{text:Y,iconOffsets:Z}=X;if(!Z||Z.length===0)return FQ0(J,Y);let Q=r$(Y,\" \"),$=Y.length-Q.length,q=FQ0(J,Q);if(q)for(let G of q){let U=Z[G.start+$]+$;G.start+=U,G.end+=U}return q}function FQ0(J,X){let Y=X.toLowerCase().indexOf(J.toLowerCase());if(Y!==-1)return[{start:Y,end:Y+J.length}];return null}function pO0(J,X,Y){let Z=J.labelHighlights||[],Q=X.labelHighlights||[];if(Z.length&&!Q.length)return-1;if(!Z.length&&Q.length)return 1;if(Z.length===0&&Q.length===0)return 0;return zQ0(J.saneSortLabel,X.saneSortLabel,Y)}function mO0(J,X={}){p5.registerCommandAndKeybindingRule({weight:200,when:Kj,metadata:{description:F(1822,\"Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.\")},...J,secondary:km(J.primary,J.secondary??[],X)})}function c7(J,X={}){p5.registerCommandAndKeybindingRule({weight:200,when:P0.and(P0.or(P0.equals(j3,\"quickPick\"),P0.equals(j3,\"quickTree\")),Kj),metadata:{description:F(1823,\"Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.\")},...J,secondary:km(J.primary,J.secondary??[],X)})}var jU=I0?256:2048;function km(J,X,Y={}){if(Y.withAltMod)X.push(512+J);if(Y.withCtrlMod){if(X.push(jU+J),Y.withAltMod)X.push(512+jU+J)}if(Y.withShiftMod){if(X.push(1024+J),Y.withAltMod)X.push(1536+J);if(Y.withCtrlMod){if(X.push(jU+1024+J),Y.withAltMod)X.push(512+jU+1024+J)}}if(Y.withCmdMod&&I0){if(X.push(2048+J),Y.withCtrlMod)X.push(2304+J);if(Y.withAltMod){if(X.push(2560+J),Y.withCtrlMod)X.push(2816+J)}}return X}function W9(J,X){return(Y)=>{let Z=Y.get(g7).currentQuickInput;if(!Z)return;if(X&&Z.quickNavigate)return Z.focus(X);return Z.focus(J)}}c7({id:\"quickInput.pageNext\",primary:12,handler:W9(W1.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});c7({id:\"quickInput.pagePrevious\",primary:11,handler:W9(W1.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});c7({id:\"quickInput.first\",primary:jU+14,handler:W9(W1.First)},{withAltMod:!0,withCmdMod:!0});c7({id:\"quickInput.last\",primary:jU+13,handler:W9(W1.Last)},{withAltMod:!0,withCmdMod:!0});c7({id:\"quickInput.next\",primary:18,handler:W9(W1.Next)},{withCtrlMod:!0});c7({id:\"quickInput.previous\",primary:16,handler:W9(W1.Previous)},{withCtrlMod:!0});var AQ0=F(1824,\"If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator.\"),PQ0=F(1825,\"If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.\");if(I0)c7({id:\"quickInput.nextSeparatorWithQuickAccessFallback\",primary:2066,handler:W9(W1.NextSeparator,W1.Next),metadata:{description:AQ0}}),c7({id:\"quickInput.nextSeparator\",primary:2578,secondary:[2322],handler:W9(W1.NextSeparator)},{withCtrlMod:!0}),c7({id:\"quickInput.previousSeparatorWithQuickAccessFallback\",primary:2064,handler:W9(W1.PreviousSeparator,W1.Previous),metadata:{description:PQ0}}),c7({id:\"quickInput.previousSeparator\",primary:2576,secondary:[2320],handler:W9(W1.PreviousSeparator)},{withCtrlMod:!0});else c7({id:\"quickInput.nextSeparatorWithQuickAccessFallback\",primary:530,handler:W9(W1.NextSeparator,W1.Next),metadata:{description:AQ0}}),c7({id:\"quickInput.nextSeparator\",primary:2578,handler:W9(W1.NextSeparator)}),c7({id:\"quickInput.previousSeparatorWithQuickAccessFallback\",primary:528,handler:W9(W1.PreviousSeparator,W1.Previous),metadata:{description:PQ0}}),c7({id:\"quickInput.previousSeparator\",primary:2576,handler:W9(W1.PreviousSeparator)});p5.registerCommandAndKeybindingRule({id:\"quickInput.accept\",primary:3,weight:200,when:P0.and(P0.notEquals(j3,\"quickWidget\"),Kj,P0.not(\"isComposing\")),metadata:{description:F(1826,\"Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.\")},handler:(J)=>{J.get(g7).currentQuickInput?.accept()},secondary:km(3,[],{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0,withShiftMod:!0})});c7({id:\"quickInput.acceptInBackground\",when:P0.and(Kj,P0.equals(j3,\"quickPick\"),P0.or(B_.negate(),GQ0)),primary:17,weight:250,handler:(J)=>{J.get(g7).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});mO0({id:\"quickInput.hide\",primary:9,handler:(J)=>{J.get(g7).currentQuickInput?.hide()}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});c7({id:\"quickInput.toggleCheckbox\",when:P0.and(Kj,P0.or(P0.equals(j3,\"quickPick\"),P0.equals(j3,\"quickTree\")),B_.negate()),primary:10,handler:(J)=>{J.get(g7).toggle()}});c7({id:\"quickInput.toggleHover\",primary:jU|10,handler:(J)=>{J.get(g7).toggleHover()}});var uO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},DQ0=function(J,X){return function(Y,Z){X(Y,Z,J)}},Em,i_=$0;class ym extends y{constructor(){super(...arguments);this._onDidChangeCheckboxState=this._register(new E),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event}setCheckboxState(J,X){this._onDidChangeCheckboxState.fire({item:J,checked:X})}}var Aj=class extends y{static{Em=this}static{this.ID=\"quickInputTreeElement\"}constructor(X,Y,Z,Q,$,q,G){super();this._hoverDelegate=X,this._buttonTriggeredEmitter=Y,this.onCheckedEvent=Z,this._checkboxStateHandler=Q,this._toggleStyles=$,this._contextMenuService=q,this._themeService=G,this.templateId=Em.ID,this._onDidDisposeFocusedElement=this._register(new E),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(X){let Y=new a,Z=q0(X,i_(\".quick-input-tree-entry\")),Q=Y.add(new k_(\"\",!1,{...iK,size:15}));Z.appendChild(Q.domNode);let $=q0(Z,i_(\"label.quick-input-tree-label\")),q=q0($,i_(\".quick-input-tree-rows\")),G=q0(q,i_(\".quick-input-tree-row\")),U=G2(G,i_(\".quick-input-tree-icon\")),H=Y.add(new Fj(G,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this._hoverDelegate})),V=Y.add(new cX(Z,this._contextMenuService,{actionViewItemProvider:qZ(this._toggleStyles),hoverDelegate:this._hoverDelegate,icon:!0,label:!1}));return V.getElement().classList.add(\"quick-input-tree-entry-action-bar\"),{toDisposeTemplate:Y,entry:Z,checkbox:Q,icon:U,label:H,actionBar:V,toDisposeElement:new a}}renderElement(X,Y,Z,Q){let $=Z.toDisposeElement,q=X.element;if(q.pickable===!1)Z.checkbox.domNode.style.display=\"none\";else{let K=Z.checkbox;if(K.domNode.style.display=\"\",K.checked=q.checked??!1,$.add(i.filter(this.onCheckedEvent,(j)=>j.item===q)((j)=>K.checked=j.checked)),q.disabled)K.disable();$.add(K.onChange((j)=>this._checkboxStateHandler.setCheckboxState(q,K.checked)))}if(q.iconPath){let K=pJ(this._themeService.getColorTheme().type)?q.iconPath.dark:q.iconPath.light??q.iconPath.dark,j=R0.revive(K);Z.icon.className=\"quick-input-tree-icon\",Z.icon.style.backgroundImage=B4(j)}else Z.icon.style.backgroundImage=\"\",Z.icon.className=q.iconClass?`quick-input-tree-icon ${q.iconClass}`:\"\";let{labelHighlights:G,descriptionHighlights:U}=X.filterData||{},H;if(q.description)H={markdown:{value:w4(q.description),supportThemeIcons:!0},markdownNotSupportedFallback:q.description};Z.label.setLabel(q.label,q.description,{matches:G,descriptionMatches:U,extraClasses:q.iconClasses,italic:q.italic,strikethrough:q.strikethrough,labelEscapeNewLines:!0,descriptionTitle:H});let V=q.buttons;if(V&&V.length){let{primary:K,secondary:j}=J$(V,\"quick-input-tree\",(W)=>this._buttonTriggeredEmitter.fire({item:q,button:W}));Z.actionBar.setActions(K,j),Z.entry.classList.add(\"has-actions\")}else Z.actionBar.setActions([]),Z.entry.classList.remove(\"has-actions\")}disposeElement(X,Y,Z,Q){if(Q2(Z.entry))this._onDidDisposeFocusedElement.fire();Z.toDisposeElement.clear(),Z.actionBar.setActions([])}disposeTemplate(X){X.toDisposeElement.dispose(),X.toDisposeTemplate.dispose()}};Aj=Em=uO0([DQ0(5,Y5),DQ0(6,L6)],Aj);class xm{getHeight(J){return 22}getTemplateId(J){return Aj.ID}}function Pj(J){let X=!1,Y=!1,Z=!1;for(let $ of J){switch($.element?.checked){case\"mixed\":Z=!0;break;case!0:X=!0;break;default:Y=!0;break}if(X&&Y&&Z)break}return Y?Z?\"mixed\":X?\"mixed\":!1:Z?\"mixed\":X}class bm{constructor(J){this.onCheckedEvent=J}getWidgetAriaLabel(){return F(1836,\"Quick Tree\")}getAriaLabel(J){return J.ariaLabel||[J.label,J.description].map((X)=>LK(X)).filter((X)=>!!X).join(\", \")}getWidgetRole(){return\"tree\"}getRole(J){return\"checkbox\"}isChecked(J){return{get value(){return J.checked===\"mixed\"?\"mixed\":!!J.checked},onDidChange:(X)=>i.filter(this.onCheckedEvent,(Y)=>Y.item===J)((Y)=>X())}}}class Cm{constructor(){this.filterValue=\"\",this.matchOnLabel=!0,this.matchOnDescription=!1}filter(J,X){if(!this.filterValue||!(this.matchOnLabel||this.matchOnDescription))return J.children?{visibility:2,data:{}}:{visibility:1,data:{}};let Y=this.matchOnLabel?pG(this.filterValue,dQ(J.label))??void 0:void 0,Z=this.matchOnDescription?pG(this.filterValue,dQ(J.description||\"\"))??void 0:void 0;return{visibility:X===1?1:Y||Z?1:J.children?2:0,data:{labelHighlights:Y,descriptionHighlights:Z}}}}class Sm extends y{constructor(){super(...arguments);this._sortByLabel=!0}get sortByLabel(){return this._sortByLabel}set sortByLabel(J){this._sortByLabel=J}compare(J,X){if(!this._sortByLabel)return 0;if(J.label<X.label)return-1;else if(J.label>X.label)return 1;if(J.description&&X.description){if(J.description<X.description)return-1;else if(J.description>X.description)return 1}else if(J.description)return-1;else if(X.description)return 1;return 0}}var cO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},dO0=function(J,X){return function(Y,Z){X(Y,Z,J)}},lO0=$0,sO0=\"quick-input-tree-flat\";class OQ0{constructor(){this._elementIds=new WeakMap,this._counter=0}getId(J){let X=J.id;if(X!==void 0)return X;if(X=this._elementIds.get(J),X!==void 0)return X;return X=`__generated_${this._counter++}`,this._elementIds.set(J,X),X}}var YL=class extends y{constructor(X,Y,Z,Q){super();this.instantiationService=Q,this._onDidTriggerButton=this._register(new E),this._onDidChangeCheckboxState=this._register(new E),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event,this._onDidCheckedLeafItemsChange=this._register(new E),this.onDidChangeCheckedLeafItems=this._onDidCheckedLeafItemsChange.event,this._onLeave=this._register(new E),this.onLeave=this._onLeave.event,this._onDidAccept=this._register(new E),this.onDidAccept=this._onDidAccept.event,this._container=q0(X,lO0(\".quick-input-tree\")),this._checkboxStateHandler=this._register(new ym),this._renderer=this._register(this.instantiationService.createInstance(Aj,Y,this._onDidTriggerButton,this.onDidChangeCheckboxState,this._checkboxStateHandler,Z.toggle)),this._filter=this.instantiationService.createInstance(Cm),this._sorter=this._register(new Sm),this._tree=this._register(this.instantiationService.createInstance(Qj,\"QuickInputTree\",this._container,new xm,[this._renderer],{accessibilityProvider:new bm(this.onDidChangeCheckboxState),horizontalScrolling:!1,multipleSelectionSupport:!1,findWidgetEnabled:!1,alwaysConsumeMouseWheel:!0,hideTwistiesOfChildlessElements:!0,renderIndentGuides:tQ.None,expandOnDoubleClick:!0,expandOnlyOnTwistieClick:!0,disableExpandOnSpacebar:!0,sorter:this._sorter,filter:this._filter,identityProvider:new OQ0})),this._register(this._renderer.onDidDisposeFocusedElement(()=>{this._tree.domFocus()})),this.registerCheckboxStateListeners(),this.registerOnDidChangeFocus()}get tree(){return this._tree}get displayed(){return this._container.style.display!==\"none\"}set displayed(X){this._container.style.display=X?\"\":\"none\"}get sortByLabel(){return this._sorter.sortByLabel}set sortByLabel(X){this._sorter.sortByLabel=X,this._tree.resort(null,!0)}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(\"aria-activedescendant\")}filter(X){this._filter.filterValue=X,this._tree.refilter()}updateFilterOptions(X){if(X.matchOnLabel!==void 0)this._filter.matchOnLabel=X.matchOnLabel;if(X.matchOnDescription!==void 0)this._filter.matchOnDescription=X.matchOnDescription;this._tree.refilter()}setTreeData(X){let Y=!1,Z=($)=>{let q;if($.children&&$.children.length>0)Y=!0,q=$.children.map((G)=>Z(G)),$.checked=Pj(q);return{element:$,children:q,collapsible:!!q,collapsed:$.collapsed?a5.PreserveOrCollapsed:a5.PreserveOrExpanded}},Q=X.map(($)=>Z($));this._tree.setChildren(null,Q),this._container.classList.toggle(sO0,!Y)}layout(X){this._tree.getHTMLElement().style.maxHeight=X?`${Math.floor(X/44)*44+6}px`:\"\",this._tree.layout()}focus(X){switch(X){case W1.First:this._tree.scrollTop=0,this._tree.focusFirst();break;case W1.Second:{this._tree.scrollTop=0;let Y=!1;this._tree.focusFirst(void 0,(Z)=>{if(Y)return!0;return Y=!Y,!1});break}case W1.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast();break;case W1.Next:{let Y=this._tree.getFocus();this._tree.focusNext(void 0,!1,void 0,(Q)=>{return this._tree.reveal(Q.element),!0});let Z=this._tree.getFocus();if(Y.length&&Y[0]===Z[0])this._onLeave.fire();break}case W1.Previous:{let Y=this._tree.getFocus();this._tree.focusPrevious(void 0,!1,void 0,(Q)=>{return this._tree.reveal(Q.element),!0});let Z=this._tree.getFocus();if(Y.length&&Y[0]===Z[0])this._onLeave.fire();break}case W1.NextPage:this._tree.focusNextPage(void 0,(Y)=>{return this._tree.reveal(Y.element),!0});break;case W1.PreviousPage:this._tree.focusPreviousPage(void 0,(Y)=>{return this._tree.reveal(Y.element),!0});break;case W1.NextSeparator:case W1.PreviousSeparator:return}}registerCheckboxStateListeners(){this._register(this._tree.onDidOpen((X)=>{let Y=X.element;if(!Y)return;if(Y.disabled)return;if(Y.pickable===!1){this._tree.setFocus([Y]),this._onDidAccept.fire();return}let Z=X.browserEvent?.target;if(Z&&Z.classList.contains(Jj.CLASS_NAME))return;this.updateCheckboxState(Y,Y.checked===!0)})),this._register(this._checkboxStateHandler.onDidChangeCheckboxState((X)=>{this.updateCheckboxState(X.item,X.checked===!0,!0),this._tree.setFocus([X.item]),this._tree.setSelection([X.item])}))}updateCheckboxState(X,Y,Z=!1){if((X.checked??!1)===Y)return;if(X.checked=Y,!Z)this._tree.rerender(X);let Q=new Set,$=[...this._tree.getNode(X).children];while($.length){let G=$.shift();if(G?.element&&!Q.has(G.element)){if(Q.add(G.element),(G.element.checked??!1)!==X.checked)G.element.checked=X.checked,this._tree.rerender(G.element);$.push(...G.children)}}let q=this._tree.getParentElement(X);while(q){let G=[...this._tree.getNode(q).children],U=Pj(G);if((q.checked??!1)!==U)q.checked=U,this._tree.rerender(q);q=this._tree.getParentElement(q)}this._onDidChangeCheckboxState.fire({item:X,checked:X.checked??!1}),this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}registerOnDidChangeFocus(){this._register(this._tree.onDidChangeFocus((X)=>{let Y=this._tree.getFocus().findLast((Z)=>Z!==null);this._tree.setSelection(Y?[Y]:[],X.browserEvent)}))}getCheckedLeafItems(){let X=new Set,Y=[...this._tree.getNode().children],Z=[];while(Y.length){let Q=Y.shift();if(!Q?.element||X.has(Q.element))continue;if(Q.element.checked){if(X.add(Q.element),Y.push(...Q.children),!Q.element.children)Z.push(Q.element)}}return Z}getActiveItems(){return this._tree.getFocus().filter((X)=>X!==null)}toggleCheckbox(){for(let X of this.getActiveItems())if(X.pickable!==!1&&!X.disabled)this.updateCheckboxState(X,X.checked!==!0)}checkAll(X){let Y=new Set,Z=[...this._tree.getNode().children],Q=!1;while(Z.length){let $=Z.shift();if(!$?.element||Y.has($.element))continue;if($.element.checked!==X)Q=!0,$.element.checked=X,Z.push(...$.children),Y.add($.element),this._tree.rerender($.element),this._onDidChangeCheckboxState.fire({item:$.element,checked:$.element.checked})}if(Q)this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}};YL=cO0([dO0(3,w0)],YL);class ZL extends HU{static{this.DEFAULT_ARIA_LABEL=F(1837,\"Type to narrow down results.\")}constructor(J){super(J);this.type=\"quickTree\",this._value=A0(\"value\",\"\"),this._ariaLabel=A0(\"ariaLabel\",void 0),this._placeholder=A0(\"placeholder\",void 0),this._matchOnDescription=A0(\"matchOnDescription\",!1),this._matchOnLabel=A0(\"matchOnLabel\",!0),this._sortByLabel=A0(\"sortByLabel\",!0),this._activeItems=A0(\"activeItems\",[]),this._itemTree=A0(\"itemTree\",[]),this._onDidChangeCheckedLeafItems=this._register(new E),this._onDidChangeCheckboxState=this._register(new E),this._onDidAcceptEmitter=this._register(new E),this.onDidAccept=i.any(J.onDidAccept,this._onDidAcceptEmitter.event),this._registerAutoruns(),this._register(J.tree.onDidChangeCheckedLeafItems((X)=>this._onDidChangeCheckedLeafItems.fire(X))),this._register(J.tree.onDidChangeCheckboxState((X)=>this._onDidChangeCheckboxState.fire(X.item))),this._register(J.tree.tree.onDidChangeFocus((X)=>{this._activeItems.set(J.tree.getActiveItems(),void 0)}))}get placeholder(){return this._placeholder.get()}set placeholder(J){this._placeholder.set(J,void 0)}show(){if(!this.visible){let X={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,list:!1,tree:!0,message:!!this.validationMessage,customButton:!1};this.ui.setVisibilities(X),this.visibleDisposables.add(this.ui.inputBox.onDidChange((Y)=>{this._value.set(Y,void 0)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckboxState((Y)=>{let Z=Pj([...this.ui.tree.tree.getNode().children]);if(this.ui.checkAll.checked!==Z)this.ui.checkAll.checked=Z})),this.visibleDisposables.add(this.ui.checkAll.onChange((Y)=>{let Z=this.ui.checkAll.checked;this.ui.tree.checkAll(Z)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckedLeafItems((Y)=>{this.ui.count.setCount(Y.length)}))}super.show(),OJ(()=>this.ui.count.setCount(this.ui.tree.getCheckedLeafItems().length));let J=Pj([...this.ui.tree.tree.getNode().children]);if(this.ui.checkAll.checked!==J)this.ui.checkAll.checked=J}update(){if(!this.visible)return;let J={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,tree:!0,message:!!this.validationMessage};this.ui.setVisibilities(J),super.update()}_registerAutoruns(){this.registerVisibleAutorun((J)=>{let X=this._value.read(J);this.ui.inputBox.value=X,this.ui.tree.filter(X)}),this.registerVisibleAutorun((J)=>{let X=this._ariaLabel.read(J);if(!X){if(X=this.placeholder||ZL.DEFAULT_ARIA_LABEL,this.title)X+=` - ${this.title}`}if(this.ui.list.ariaLabel!==X)this.ui.list.ariaLabel=X??null;if(this.ui.inputBox.ariaLabel!==X)this.ui.inputBox.ariaLabel=X??\"input\"}),this.registerVisibleAutorun((J)=>{let X=this._placeholder.read(J);if(this.ui.inputBox.placeholder!==X)this.ui.inputBox.placeholder=X??\"\"}),this.registerVisibleAutorun((J)=>{let X=this._matchOnLabel.read(J),Y=this._matchOnDescription.read(J);this.ui.tree.updateFilterOptions({matchOnLabel:X,matchOnDescription:Y})}),this.registerVisibleAutorun((J)=>{let X=this._sortByLabel.read(J);this.ui.tree.sortByLabel=X}),this.registerVisibleAutorun((J)=>{let X=this._itemTree.read(J);this.ui.tree.setTreeData(X)})}registerVisibleAutorun(J){this._register(C0((X)=>{if(this._visible.read(X))J(X)}))}focus(J){this.ui.tree.focus(J),this.ui.tree.tree.domFocus()}accept(J){this._onDidAcceptEmitter.fire()}}var MQ0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},B3=function(J,X){return function(Y,Z){X(Y,Z,J)}},hm,z9=$0,fm=\"workbench.quickInput.viewState\",QL=class extends y{static{hm=this}static{this.MAX_WIDTH=600}get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(X,Y,Z,Q,$,q){super();this.options=X,this.layoutService=Y,this.instantiationService=Z,this.storageService=$,this.contextMenuService=q,this.enabled=!0,this.onDidAcceptEmitter=this._register(new E),this.onDidCustomEmitter=this._register(new E),this.onDidTriggerButtonEmitter=this._register(new E),this.keyMods={ctrlCmd:!1,alt:!1,shift:!1},this.controller=null,this.onShowEmitter=this._register(new E),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new E),this.onHide=this.onHideEmitter.event,this._alignment=A0(this,\"top\"),this.alignment=this._alignment,this.inQuickInputContext=YQ0.bindTo(Q),this.quickInputTypeContext=QQ0.bindTo(Q),this.endOfQuickInputBoxContext=qQ0.bindTo(Q),this.idPrefix=X.idPrefix,this._container=X.container,this.styles=X.styles,this._register(i.runAndSubscribe(KQ,({window:G,disposables:U})=>this.registerKeyModsListeners(G,U),{window:X1,disposables:this._store})),this._register(It((G)=>{if(this.ui&&Q0(this.ui.container)===G)this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop)})),this.viewState=this.loadViewState()}registerKeyModsListeners(X,Y){let Z=(Q)=>{this.keyMods.ctrlCmd=Q.ctrlKey||Q.metaKey,this.keyMods.alt=Q.altKey,this.keyMods.shift=Q.shiftKey};for(let Q of[r.KEY_DOWN,r.KEY_UP,r.MOUSE_DOWN])Y.add(f(X,Q,Z,!0))}getUI(X){if(this.ui){if(X){if(Q0(this._container)!==Q0(this.layoutService.activeContainer))this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)}return this.ui}let Y=q0(this._container,z9(\".quick-input-widget.show-file-icons\"));Y.tabIndex=-1,Y.style.display=\"none\";let Z=z5(Y),Q=q0(Y,z9(\".quick-input-titlebar\")),$=this._register(new cX(Q,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:qZ(this.styles.toggle),icon:!0,label:!1}));$.getElement().classList.add(\"quick-input-left-action-bar\");let q=q0(Q,z9(\".quick-input-title\")),G=this._register(new cX(Q,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:qZ(this.styles.toggle),icon:!0,label:!1}));G.getElement().classList.add(\"quick-input-right-action-bar\");let U=q0(Y,z9(\".quick-input-header\")),H=this._register(new k_(F(1827,\"Toggle all checkboxes\"),!1,{...iK,size:15}));q0(U,H.domNode),this._register(H.onChange(()=>{let l=H.checked;u.setAllVisibleChecked(l===!0)})),this._register(f(H.domNode,r.CLICK,(l)=>{if(l.x||l.y)W.setFocus()}));let V=q0(U,z9(\".quick-input-description\")),K=q0(U,z9(\".quick-input-and-message\")),j=q0(K,z9(\".quick-input-filter\")),W=this._register(new Nm(j,this.styles.inputBox,this.styles.toggle));W.setAttribute(\"aria-describedby\",`${this.idPrefix}message`);let z=q0(j,z9(\".quick-input-visible-count\"));z.setAttribute(\"aria-live\",\"polite\"),z.setAttribute(\"aria-atomic\",\"true\");let B=this._register(new nT(z,{countFormat:F(1828,\"{0} Results\")},this.styles.countBadge)),P=q0(j,z9(\".quick-input-count\"));P.setAttribute(\"aria-live\",\"polite\");let _=this._register(new nT(P,{countFormat:F(1829,\"{0} Selected\")},this.styles.countBadge)),A=this._register(new cX(U,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:qZ(this.styles.toggle),icon:!0,label:!1}));A.getElement().classList.add(\"quick-input-inline-action-bar\");let O=q0(U,z9(\".quick-input-action\")),D=this._register(new W3(O,this.styles.button));D.label=F(1830,\"OK\"),this._register(D.onDidClick((l)=>{this.onDidAcceptEmitter.fire()}));let R=q0(U,z9(\".quick-input-action\")),N=this._register(new W3(R,{...this.styles.button,supportIcons:!0}));N.label=F(1831,\"Custom\"),this._register(N.onDidClick((l)=>{this.onDidCustomEmitter.fire()}));let w=q0(K,z9(`#${this.idPrefix}message.quick-input-message`)),k=this._register(new tT(Y,this.styles.progressBar));k.getContainer().classList.add(\"quick-input-progress\");let I=q0(Y,z9(\".quick-input-html-widget\"));I.tabIndex=-1;let S=q0(Y,z9(\".quick-input-description\")),h=this.idPrefix+\"list\",u=this._register(this.instantiationService.createInstance(_j,Y,this.options.hoverDelegate,this.options.linkOpenerDelegate,h,this.styles));W.setAttribute(\"aria-controls\",h),this._register(u.onDidChangeFocus(()=>{if(W.hasFocus()){let l=u.getActiveDescendant();if(l)W.setAttribute(\"aria-activedescendant\",l),W.setListFocusMode(!0);else W.removeAttribute(\"aria-activedescendant\"),W.setListFocusMode(!1)}})),this._register(u.onChangedAllVisibleChecked((l)=>{H.checked=l})),this._register(u.onChangedVisibleCount((l)=>{B.setCount(l)})),this._register(u.onChangedCheckedCount((l)=>{OJ(()=>_.setCount(l))})),this._register(u.onLeave(()=>{setTimeout(()=>{if(!this.controller)return;if(W.setFocus(),this.controller instanceof VU&&this.controller.canSelectMany)u.clearFocus()},0)}));let p=this._register(this.instantiationService.createInstance(YL,Y,this.options.hoverDelegate,this.styles));this._register(p.tree.onDidChangeFocus(()=>{if(W.hasFocus()){let l=p.getActiveDescendant();if(l)W.setAttribute(\"aria-activedescendant\",l),W.setListFocusMode(!0);else W.removeAttribute(\"aria-activedescendant\"),W.setListFocusMode(!1)}})),this._register(p.onLeave(()=>{setTimeout(()=>{if(!this.controller)return;W.setFocus(),p.tree.setFocus([])},0)})),this._register(p.onDidAccept(()=>{this.onDidAcceptEmitter.fire()})),this._register(p.tree.onDidChangeContentHeight(()=>this.updateLayout()));let s=L7(Y);return this._register(s),this._register(f(Y,r.FOCUS,(l)=>{let n=this.getUI();if(d1(l.relatedTarget,n.inputContainer)){let X0=n.inputBox.isSelectionAtEnd();if(this.endOfQuickInputBoxContext.get()!==X0)this.endOfQuickInputBoxContext.set(X0)}if(d1(l.relatedTarget,n.container))return;this.inQuickInputContext.set(!0),this.previousFocusElement=a0(l.relatedTarget)?l.relatedTarget:void 0},!0)),this._register(s.onDidBlur(()=>{if(!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut())this.hide(iG.Blur);this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(W.onKeyDown((l)=>{let n=this.getUI().inputBox.isSelectionAtEnd();if(this.endOfQuickInputBoxContext.get()!==n)this.endOfQuickInputBoxContext.set(n);if(!Pz(l.keyCode))W.removeAttribute(\"aria-activedescendant\"),W.setListFocusMode(!1)})),this._register(f(Y,r.FOCUS,(l)=>{W.setFocus()})),this.dndController=this._register(this.instantiationService.createInstance(vm,this._container,Y,[{node:Q,includeChildren:!0,excludeNodes:[$.getElement(),G.getElement()]},{node:U,includeChildren:!1}],this.viewState)),this._register(C0((l)=>{let n=this.dndController?.dndViewState.read(l);if(!n)return;if(n.top!==void 0&&n.left!==void 0)this.viewState={...this.viewState,top:n.top,left:n.left};else this.viewState=void 0;if(this.updateLayout(),n.done)this.saveViewState(this.viewState)})),this._register(C0((l)=>{this._alignment.set(this.dndController.alignment.read(l),void 0)})),this.ui={container:Y,styleSheet:Z,leftActionBar:$,titleBar:Q,title:q,description1:S,description2:V,widget:I,rightActionBar:G,inlineActionBar:A,checkAll:H,inputContainer:K,filterContainer:j,inputBox:W,visibleCountContainer:z,visibleCount:B,countContainer:P,count:_,okContainer:O,ok:D,message:w,customButtonContainer:R,customButton:N,list:u,tree:p,progressBar:k,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:(l)=>this.show(l),hide:()=>this.hide(),setVisibilities:(l)=>this.setVisibilities(l),setEnabled:(l)=>this.setEnabled(l),setContextKey:(l)=>this.options.setContextKey(l),linkOpenerDelegate:(l)=>this.options.linkOpenerDelegate(l)},this.updateStyles(),this.ui}reparentUI(X){if(this.ui)this._container=X,q0(this._container,this.ui.container),this.dndController?.reparentUI(this._container)}pick(X,Y={},Z=U8.None){return new Promise((Q,$)=>{let q=(V)=>{q=Q,Y.onKeyMods?.(G.keyMods),Q(V)};if(Z.isCancellationRequested){q(void 0);return}let G=this.createQuickPick({useSeparators:!0}),U,H=[G,G.onDidAccept(()=>{if(G.canSelectMany)q(G.selectedItems.slice()),G.hide();else{let V=G.activeItems[0];if(V)q(V),G.hide()}}),G.onDidChangeActive((V)=>{let K=V[0];if(K&&Y.onDidFocus)Y.onDidFocus(K)}),G.onDidChangeSelection((V)=>{if(!G.canSelectMany){let K=V[0];if(K)q(K),G.hide()}}),G.onDidTriggerItemButton((V)=>Y.onDidTriggerItemButton&&Y.onDidTriggerItemButton({...V,removeItem:()=>{let K=G.items.indexOf(V.item);if(K!==-1){let j=G.items.slice(),W=j.splice(K,1),z=G.activeItems.filter((P)=>P!==W[0]),B=G.keepScrollPosition;if(G.keepScrollPosition=!0,G.items=j,z)G.activeItems=z;G.keepScrollPosition=B}}})),G.onDidTriggerSeparatorButton((V)=>Y.onDidTriggerSeparatorButton?.(V)),G.onDidChangeValue((V)=>{if(U&&!V&&(G.activeItems.length!==1||G.activeItems[0]!==U))G.activeItems=[U]}),Z.onCancellationRequested(()=>{G.hide()}),G.onDidHide(()=>{D1(H),q(void 0)})];if(G.title=Y.title,Y.value)G.value=Y.value;if(G.canSelectMany=!!Y.canPickMany,G.placeholder=Y.placeHolder,G.prompt=Y.prompt,G.ignoreFocusOut=!!Y.ignoreFocusLost,G.matchOnDescription=!!Y.matchOnDescription,G.matchOnDetail=!!Y.matchOnDetail,Y.sortByLabel!==void 0)G.sortByLabel=Y.sortByLabel;G.matchOnLabel=Y.matchOnLabel===void 0||Y.matchOnLabel,G.quickNavigate=Y.quickNavigate,G.hideInput=!!Y.hideInput,G.contextKey=Y.contextKey,G.anchor=Y.anchor,G.anchorPosition=Y.anchorPosition,G.busy=!0,Promise.all([X,Y.activeItem]).then(([V,K])=>{if(U=K,G.busy=!1,G.items=V,G.canSelectMany)G.selectedItems=V.filter((j)=>j.type!==\"separator\"&&j.picked);if(U)G.activeItems=[U]}),G.show(),Promise.resolve(X).then(void 0,(V)=>{$(V),G.hide()})})}setValidationOnInput(X,Y){if(Y&&t1(Y))X.severity=U6.Error,X.validationMessage=Y;else if(Y&&!t1(Y))X.severity=Y.severity,X.validationMessage=Y.content;else X.severity=U6.Ignore,X.validationMessage=void 0}input(X={},Y=U8.None){return new Promise((Z)=>{if(Y.isCancellationRequested){Z(void 0);return}let Q=this.createInputBox(),$=X.validateInput||(()=>Promise.resolve(void 0)),q=i.debounce(Q.onDidChangeValue,(V,K)=>K,100),G=X.value||\"\",U=Promise.resolve($(G)),H=[Q,q((V)=>{if(V!==G)U=Promise.resolve($(V)),G=V;U.then((K)=>{if(V===G)this.setValidationOnInput(Q,K)})}),Q.onDidAccept(()=>{let V=Q.value;if(V!==G)U=Promise.resolve($(V)),G=V;U.then((K)=>{if(!K||!t1(K)&&K.severity!==U6.Error)Z(V),Q.hide();else if(V===G)this.setValidationOnInput(Q,K)})}),Y.onCancellationRequested(()=>{Q.hide()}),Q.onDidHide(()=>{D1(H),Z(void 0)})];Q.title=X.title,Q.value=X.value||\"\",Q.valueSelection=X.valueSelection,Q.prompt=X.prompt,Q.placeholder=X.placeHolder,Q.password=!!X.password,Q.ignoreFocusOut=!!X.ignoreFocusLost,Q.show()})}createQuickPick(X={useSeparators:!1}){let Y=this.getUI(!0);return new VU(Y)}createInputBox(){let X=this.getUI(!0);return new Dm(X)}show(X){let Y=this.getUI(!0),Z=this.controller;if(this.controller=X,Z?.didHide(),a0(X.anchor)){let $=Q0(X.anchor);if(Q0(this._container)!==$)this.reparentUI(this.layoutService.getContainer($))}this.setEnabled(!0),Y.leftActionBar.setActions([]),Y.title.textContent=\"\",Y.description1.textContent=\"\",Y.description2.textContent=\"\",$8(Y.widget),Y.rightActionBar.setActions([]),Y.inlineActionBar.setActions([]),Y.checkAll.checked=!1,Y.inputBox.placeholder=\"\",Y.inputBox.password=!1,Y.inputBox.showDecoration(U6.Ignore),Y.visibleCount.setCount(0),Y.count.setCount(0),Y.countContainer.style.right=\"4px\",$8(Y.message),Y.progressBar.stop(),Y.progressBar.getContainer().setAttribute(\"aria-hidden\",\"true\"),Y.list.setElements([]),Y.list.matchOnDescription=!1,Y.list.matchOnDetail=!1,Y.list.matchOnLabel=!0,Y.list.sortByLabel=!0,Y.tree.updateFilterOptions({matchOnDescription:!1,matchOnLabel:!0}),Y.tree.sortByLabel=!0,Y.ignoreFocusOut=!1,Y.inputBox.toggles=void 0,Y.inputBox.actions=void 0;let Q=this.options.backKeybindingLabel();if(Pm.tooltip=Q?F(1832,\"Back ({0})\",Q):F(1833,\"Back\"),Y.container.style.display=\"\",this.updateLayout(),this.dndController?.setEnabled(!X.anchor),this.dndController?.layoutContainer(),X.anchor)this._alignment.set(\"custom\",void 0);else this._alignment.set(this.dndController?.alignment.get()??\"top\",void 0);this.onShowEmitter.fire(),Y.inputBox.setFocus(),this.quickInputTypeContext.set(X.type)}isVisible(){return!!this.ui&&this.ui.container.style.display!==\"none\"}setVisibilities(X){let Y=this.getUI();Y.title.style.display=X.title?\"\":\"none\",Y.description1.style.display=X.description&&(X.inputBox||X.checkAll)?\"\":\"none\",Y.description2.style.display=X.description&&!(X.inputBox||X.checkAll)?\"\":\"none\",Y.checkAll.domNode.style.display=X.checkAll?\"\":\"none\",Y.inputContainer.style.display=X.inputBox?\"\":\"none\",Y.filterContainer.style.display=X.inputBox?\"\":\"none\",Y.visibleCountContainer.style.display=X.visibleCount?\"\":\"none\",Y.countContainer.style.display=X.count?\"\":\"none\",Y.okContainer.style.display=X.ok?\"\":\"none\",Y.customButtonContainer.style.display=X.customButton?\"\":\"none\",Y.message.style.display=X.message?\"\":\"none\",Y.progressBar.getContainer().style.display=X.progressBar?\"\":\"none\",Y.list.displayed=!!X.list,Y.tree.displayed=!!X.tree,Y.container.classList.toggle(\"show-checkboxes\",!!X.checkBox),Y.container.classList.toggle(\"hidden-input\",!X.inputBox&&!X.description),this.updateLayout()}setEnabled(X){if(X!==this.enabled){this.enabled=X;let Y=this.getUI();for(let Z=0;Z<Y.leftActionBar.getItemsLength();Z++){let Q=Y.leftActionBar.getItemAction(Z);if(Q)Q.enabled=X}for(let Z=0;Z<Y.rightActionBar.getItemsLength();Z++){let Q=Y.rightActionBar.getItemAction(Z);if(Q)Q.enabled=X}if(X)Y.checkAll.enable();else Y.checkAll.disable();Y.inputBox.enabled=X,Y.ok.enabled=X,Y.list.enabled=X}}hide(X){let Y=this.controller;if(!Y)return;Y.willHide(X);let Z=this.ui?.container,Q=Z&&!Q2(Z);if(this.controller=null,this.onHideEmitter.fire(),Z)Z.style.display=\"none\";if(!Q){let $=this.previousFocusElement;while($&&!$.offsetParent)$=$.parentElement??void 0;if($?.offsetParent)$.focus(),this.previousFocusElement=void 0;else this.options.returnFocus()}Y.didHide(X)}toggle(){if(!this.isVisible())return;if(this.controller instanceof VU&&this.controller.canSelectMany)this.getUI().list.toggleCheckbox();else if(this.controller instanceof ZL)this.getUI().tree.toggleCheckbox()}toggleHover(){if(this.isVisible()&&this.controller instanceof VU)this.getUI().list.toggleHover()}layout(X,Y){this.dimension=X,this.titleBarOffset=Y,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){let X=this.ui.container.style,Y=Math.min(this.dimension.width*0.62,hm.MAX_WIDTH);X.width=Y+\"px\";let Z=this.dimension&&this.dimension.height*0.4;if(this.controller?.anchor){let Q=this.controller.anchor,q=a0(Q)?Q0(Q):i0(),G=this.layoutService.getContainer(q).getBoundingClientRect(),U=48,H=Z_(Q),V=1,K=0.2,j=200;if(this.controller.anchorPosition===\"overlay\")Y=H.width+12,K=0.4,H={top:H.top-7,left:H.left-7,width:H.width,height:0},j=Math.min(400,G.bottom-H.top-48),V=0;else Y=380;Z=this.dimension?Math.min(this.dimension.height*K,j):j;let W=Math.floor(Z)+48,{top:z,left:B,right:P,bottom:_,anchorAlignment:A,anchorPosition:O}=Nw(G,{width:Y,height:W},H,{anchorPosition:V});if(A===1)X.right=`${P}px`,X.left=\"initial\";else X.left=`${B}px`,X.right=\"initial\";if(O===1)X.bottom=`${_}px`,X.top=\"initial\";else X.top=`${z}px`,X.bottom=\"initial\";X.width=`${Y}px`,X.height=\"\"}else X.top=`${this.viewState?.top!==void 0?Math.round(this.dimension.height*this.viewState.top):this.titleBarOffset}px`,X.left=`${Math.round(this.dimension.width*(this.viewState?.left??0.5)-Y/2)}px`,X.right=\"\",X.bottom=\"\",X.height=\"\";this.ui.inputBox.layout(),this.ui.list.layout(Z),this.ui.tree.layout(Z)}}applyStyles(X){this.styles=X,this.updateStyles()}updateStyles(){if(this.ui){let{quickInputTitleBackground:X,quickInputBackground:Y,quickInputForeground:Z,widgetBorder:Q}=this.styles.widget;this.ui.titleBar.style.backgroundColor=X??\"\",this.ui.container.style.backgroundColor=Y??\"\",this.ui.container.style.color=Z??\"\",this.ui.container.style.border=Q?`1px solid ${Q}`:\"\",this.ui.list.style(this.styles.list),this.ui.tree.tree.style(this.styles.list);let $=[];if(this.styles.pickerGroup.pickerGroupBorder)$.push(`.quick-input-list .quick-input-list-entry { border-top-color:  ${this.styles.pickerGroup.pickerGroupBorder}; }`);if(this.styles.pickerGroup.pickerGroupForeground)$.push(`.quick-input-list .quick-input-list-separator { color:  ${this.styles.pickerGroup.pickerGroupForeground}; }`);if(this.styles.pickerGroup.pickerGroupForeground)$.push(\".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }\");if(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground){if($.push(\".quick-input-list .monaco-keybinding > .monaco-keybinding-key {\"),this.styles.keybindingLabel.keybindingLabelBackground)$.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`);if(this.styles.keybindingLabel.keybindingLabelBorder)$.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`);if(this.styles.keybindingLabel.keybindingLabelBottomBorder)$.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`);if(this.styles.keybindingLabel.keybindingLabelShadow)$.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`);if(this.styles.keybindingLabel.keybindingLabelForeground)$.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`);$.push(\"}\")}let q=$.join(`\n`);if(q!==this.ui.styleSheet.textContent)this.ui.styleSheet.textContent=q}}loadViewState(){try{let X=JSON.parse(this.storageService.get(fm,-1,\"{}\"));if(X.top!==void 0||X.left!==void 0)return X}catch{}return}saveViewState(X){if(this.layoutService.activeContainer!==this.layoutService.mainContainer)return;if(X!==void 0)this.storageService.store(fm,JSON.stringify(X),-1,1);else this.storageService.remove(fm,-1)}};QL=hm=MQ0([B3(1,l5),B3(2,w0),B3(3,E0),B3(4,z7),B3(5,Y5)],QL);var vm=class extends y{constructor(X,Y,Z,Q,$,q,G){super();this._container=X,this._quickInputContainer=Y,this._quickInputDragAreas=Z,this._layoutService=$,this.configurationService=G,this.dndViewState=A0(this,void 0),this._enabled=!0,this._snapThreshold=20,this._snapLineHorizontalRatio=0.25,this._alignment=A0(this,\"top\"),this.alignment=this._alignment,this._quickInputAlignmentContext=ZQ0.bindTo(q);let U=KY0(this.configurationService)===\"custom\";if(this._controlsOnLeft=U&&kD===1,this._controlsOnRight=U&&(kD===3||kD===2),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...Q,done:!0},void 0),Q?.top!==void 0&&Q?.left!==void 0)this._setAlignmentState(void 0)}reparentUI(X){this._container=X}layoutContainer(X=this._layoutService.activeContainerDimension){if(!this._enabled)return;let Y=this.dndViewState.get(),Z=this._quickInputContainer.getBoundingClientRect();if(Y?.top!==void 0&&Y?.left!==void 0){let Q=Math.round(Y.left*100)/100,$=X.width,q=Z.width,G=Q*$-q/2;this._layout(Y.top*X.height,G)}}setEnabled(X){this._enabled=X,this._quickInputContainer.classList.toggle(\"no-drag\",!X)}_setAlignmentState(X){this._quickInputAlignmentContext.set(X),this._alignment.set(X??\"custom\",void 0)}_registerLayoutListener(){this._register(i.filter(this._layoutService.onDidLayoutContainer,(X)=>X.container===this._container)((X)=>this.layoutContainer(X.dimension)))}registerMouseListeners(){let X=this._quickInputContainer;this._register(sx(X,(Y)=>{if(!this._enabled)return;let Z=new k8(Q0(X),Y);if(Z.detail!==2)return;let Q=this._quickInputDragAreas.find(({node:$,includeChildren:q})=>q?d1(Z.target,$):Z.target===$);if(!Q||Q.excludeNodes?.some(($)=>d1(Z.target,$)))return;this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0),this._setAlignmentState(\"top\")})),this._register(ZV(X,(Y)=>{if(!this._enabled)return;let Z=Q0(this._layoutService.activeContainer),Q=new k8(Z,Y),$=this._quickInputDragAreas.find(({node:j,includeChildren:W})=>W?d1(Q.target,j):Q.target===j);if(!$||$.excludeNodes?.some((j)=>d1(Q.target,j)))return;let q=this._quickInputContainer.getBoundingClientRect(),G=Q.browserEvent.clientX-q.left,U=Q.browserEvent.clientY-q.top,H=!1,V=yt(Z,(j)=>{if(new k8(Z,j).preventDefault(),!H)H=!0;this._layout(j.clientY-U,j.clientX-G)}),K=sx(Z,(j)=>{if(H){let W=this.dndViewState.get();this.dndViewState.set({top:W?.top,left:W?.left,done:!0},void 0)}V.dispose(),K.dispose()})}))}_layout(X,Y){let Z=this._getTopSnapValue(),Q=this._getCenterYSnapValue(),$=this._getCenterXSnapValue();if(X=Math.max(0,Math.min(X,this._container.clientHeight-this._quickInputContainer.clientHeight)),X<this._layoutService.activeContainerOffset.top){if(this._controlsOnLeft)Y=Math.max(Y,80/Tz(i0()));else if(this._controlsOnRight)Y=Math.min(Y,this._container.clientWidth-this._quickInputContainer.clientWidth-140/Tz(i0()))}let q=Math.abs(X-Z)<this._snapThreshold;X=q?Z:X;let G=Math.abs(X-Q)<this._snapThreshold;X=G?Q:X;let U=X/this._container.clientHeight;Y=Math.max(0,Math.min(Y,this._container.clientWidth-this._quickInputContainer.clientWidth));let H=Math.abs(Y-$)<this._snapThreshold;Y=H?$:Y;let V=this._container.clientWidth,K=this._quickInputContainer.clientWidth,W=(Y+K/2)/V;if(this.dndViewState.set({top:U,left:W,done:!1},void 0),H){if(q){this._setAlignmentState(\"top\");return}else if(G){this._setAlignmentState(\"center\");return}}this._setAlignmentState(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};vm=MQ0([B3(4,l5),B3(5,E0),B3(6,o0)],vm);var aO0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},r_=function(J,X){return function(Y,Z){X(Y,Z,J)}},$L=class extends sS{get controller(){if(!this._controller)this._controller=this._register(this.createController());return this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){if(!this._quickAccess)this._quickAccess=this._register(this.instantiationService.createInstance(rT));return this._quickAccess}constructor(X,Y,Z,Q,$){super(Z);this.instantiationService=X,this.contextKeyService=Y,this.layoutService=Q,this.configurationService=$,this._alignment=A0(this,\"top\"),this._onShow=this._register(new E),this._onHide=this._register(new E),this.contexts=new Map}createController(X=this.layoutService,Y){let Z={idPrefix:\"quickInput_\",container:X.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{return},setContextKey:($)=>this.setContextKey($),linkOpenerDelegate:($)=>{this.instantiationService.invokeFunction((q)=>{q.get(p4).open($,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>X.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(oT))},Q=this._register(this.instantiationService.createInstance(QL,{...Z,...Y}));return Q.layout(X.activeContainerDimension,X.activeContainerOffset.quickPickTop),this._register(X.onDidLayoutActiveContainer(($)=>{if(Q0(X.activeContainer)===Q0(Q.container))Q.layout($,X.activeContainerOffset.quickPickTop)})),this._register(X.onDidChangeActiveContainer(()=>{if(Q.isVisible())return;Q.layout(X.activeContainerDimension,X.activeContainerOffset.quickPickTop)})),this._register(Q.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(Q.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),this._register(C0(($)=>{this._alignment.set(Q.alignment.read($),void 0)})),Q}setContextKey(X){let Y;if(X){if(Y=this.contexts.get(X),!Y)Y=new G0(X,!1).bindTo(this.contextKeyService),this.contexts.set(X,Y)}if(Y&&Y.get())return;this.resetContextKeys(),Y?.set(!0)}resetContextKeys(){this.contexts.forEach((X)=>{if(X.get())X.reset()})}pick(X,Y,Z=U8.None){return this.controller.pick(X,Y,Z)}input(X={},Y=U8.None){return this.controller.input(X,Y)}createQuickPick(X={useSeparators:!1}){return this.controller.createQuickPick(X)}createInputBox(){return this.controller.createInputBox()}toggle(){this.controller.toggle()}toggleHover(){if(this.hasController)this.controller.toggleHover()}updateStyles(){if(this.hasController)this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:Z0(OR),quickInputForeground:Z0(W80),quickInputTitleBackground:Z0(z80),widgetBorder:Z0(zR),widgetShadow:Z0(w2)},inputBox:rK,toggle:aK,countBadge:QY0,button:XY0,progressBar:YY0,keybindingLabel:JY0,list:YU({listBackground:OR,listFocusBackground:hV,listFocusForeground:fV,listInactiveFocusForeground:fV,listInactiveSelectionIconForeground:RR,listInactiveFocusBackground:hV,listInactiveSelectionBackground:hV,listInactiveSelectionForeground:fV,listFocusOutline:v1,listInactiveFocusOutline:v1,treeStickyScrollBackground:OR}),pickerGroup:{pickerGroupBorder:Z0(F80),pickerGroupForeground:Z0(MR)}}}};$L=aO0([r_(0,w0),r_(1,E0),r_(2,L6),r_(3,l5),r_(4,o0)],$L);var RQ0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},WU=function(J,X){return function(Y,Z){X(Y,Z,J)}},gm=class extends $L{constructor(X,Y,Z,Q,$,q){super(Y,Z,Q,new gw(X.getContainerDomNode(),$),q);this.host=void 0;let G=o_.get(X);if(G){let U=G.widget;this.host={_serviceBrand:void 0,get mainContainer(){return U.getDomNode()},getContainer(){return U.getDomNode()},whenContainerStylesLoaded(){return},get containers(){return[U.getDomNode()]},get activeContainer(){return U.getDomNode()},get mainContainerDimension(){return X.getLayoutInfo()},get activeContainerDimension(){return X.getLayoutInfo()},get onDidLayoutMainContainer(){return X.onDidLayoutChange},get onDidLayoutActiveContainer(){return X.onDidLayoutChange},get onDidLayoutContainer(){return i.map(X.onDidLayoutChange,(H)=>({container:U.getDomNode(),dimension:H}))},get onDidChangeActiveContainer(){return i.None},get onDidAddContainer(){return i.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>X.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};gm=RQ0([WU(1,w0),WU(2,E0),WU(3,L6),WU(4,l1),WU(5,o0)],gm);var qL=class{get activeService(){let X=this.codeEditorService.getFocusedCodeEditor();if(!X)throw Error(\"Quick input service needs a focused editor to work.\");let Y=this.mapEditorToService.get(X);if(!Y){let Z=Y=this.instantiationService.createInstance(gm,X);this.mapEditorToService.set(X,Y),oZ(X.onDidDispose)(()=>{Z.dispose(),this.mapEditorToService.delete(X)})}return Y}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(X,Y){this.instantiationService=X,this.codeEditorService=Y,this.mapEditorToService=new Map}pick(X,Y,Z=U8.None){return this.activeService.pick(X,Y,Z)}input(X,Y){return this.activeService.input(X,Y)}createQuickPick(X={useSeparators:!1}){return this.activeService.createQuickPick(X)}createInputBox(){return this.activeService.createInputBox()}toggle(){return this.activeService.toggle()}toggleHover(){return this.activeService.toggleHover()}};qL=RQ0([WU(0,w0),WU(1,l1)],qL);class o_{static{this.ID=\"editor.controller.quickInput\"}static get(J){return J.getContribution(o_.ID)}constructor(J){this.editor=J,this.widget=new pm(this.editor)}dispose(){this.widget.dispose()}}class pm{static{this.ID=\"editor.contrib.quickInputWidget\"}constructor(J){this.codeEditor=J,this.domNode=document.createElement(\"div\"),this.codeEditor.addOverlayWidget(this)}getId(){return pm.ID}getDomNode(){return this.domNode}getPosition(){return{preference:{top:0,left:0}}}dispose(){this.codeEditor.removeOverlayWidget(this)}}E7(o_.ID,o_,4);class GL{static{this._workerIdPool=0}createWorkerClient(J){let X,Y=++GL._workerIdPool;if(J instanceof Worker||oO0(J))X=Promise.resolve(J);else X=this._createWorker(J);return new _b(new wQ0(X,Y))}_createWorker(J){let X=this.getWorkerUrl(J),Y=iO0(J.label,X,this._getWorkerLoadingFailedErrorMessage(J)),Z=new Worker(NQ0?NQ0.createScriptURL(Y):Y,{name:J.label,type:\"module\"});return rO0(Z)}_getWorkerLoadingFailedErrorMessage(J){return}getWorkerUrl(J){if(!J.esmModuleLocation)throw Error(\"Missing esmModuleLocation in WebWorkerDescriptor\");return(typeof J.esmModuleLocation===\"function\"?J.esmModuleLocation():J.esmModuleLocation).toString(!0)}}var NQ0=(()=>{let J=globalThis;if(typeof self===\"object\"&&self.constructor&&self.constructor.name===\"DedicatedWorkerGlobalScope\"&&J.workerttPolicy!==void 0)return J.workerttPolicy;else return q4(\"defaultWorkerFactory\",{createScriptURL:(X)=>X})})();function iO0(J,X,Y){if(/^((http:)|(https:)|(file:))/.test(X)&&X.substring(0,globalThis.origin.length)!==globalThis.origin);else{let Q=X.lastIndexOf(\"?\"),$=X.lastIndexOf(\"#\",Q),q=Q>0?new URLSearchParams(X.substring(Q+1,~$?$:void 0)):new URLSearchParams;if(JM.addSearchParam(q,!0,!0),!q.toString())X=`${X}#${J}`;else X=`${X}?${q.toString()}#${J}`}let Z=new Blob([r4([`/*${J}*/`,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(fy())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(Uz())};`,`globalThis._VSCODE_FILE_ROOT = ${JSON.stringify(globalThis._VSCODE_FILE_ROOT)};`,\"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });\",\"globalThis.workerttPolicy = ttPolicy;\",Y?\"try {\":\"\",`await import(ttPolicy?.createScriptURL(${JSON.stringify(X)}) ?? ${JSON.stringify(X)});`,Y?`} catch (err) { console.error(${JSON.stringify(Y)}, err); throw err; }`:\"\",\"globalThis.postMessage({ type: 'vscode-worker-ready' });\",`/*${J}*/`]).join(\"\")],{type:\"application/javascript\"});return URL.createObjectURL(Z)}function rO0(J){return new Promise((X,Y)=>{J.onmessage=function(Z){if(Z.data.type===\"vscode-worker-ready\")J.onmessage=null,X(J)},J.onerror=Y})}function oO0(J){return!!J&&typeof J.then===\"function\"}class wQ0 extends y{constructor(J,X){super();this._onMessage=this._register(new E),this.onMessage=this._onMessage.event,this._onError=this._register(new E),this.onError=this._onError.event,this.id=X,this.worker=J,this.postMessage(\"-please-ignore-\",[]);let Y=(Z)=>{this._onError.fire(Z)};this.worker.then((Z)=>{if(Z.onmessage=(Q)=>{this._onMessage.fire(Q.data)},Z.onmessageerror=(Q)=>{this._onError.fire(Q)},typeof Z.addEventListener===\"function\")Z.addEventListener(\"error\",Y)}),this._register(J0(()=>{this.worker?.then((Z)=>{Z.onmessage=null,Z.onmessageerror=null,Z.removeEventListener(\"error\",Y),Z.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(J,X){this.worker?.then((Y)=>{try{Y.postMessage(J,X)}catch(Z){b0(Z),b0(Error(\"FAILED to post message to worker\",{cause:Z}))}})}}class mm extends GL{_createWorker(J){let X=Tq();if(X){if(typeof X.getWorker===\"function\"){let Y=X.getWorker(\"workerMain.js\",J.label);if(Y!==void 0)return Promise.resolve(Y)}}return super._createWorker(J)}_getWorkerLoadingFailedErrorMessage(J){return`Failed to load worker script for label: ${J.label}.\nEnsure your bundler properly bundles modules referenced by \"new URL('...?esm', import.meta.url)\".`}getWorkerUrl(J){let X=Tq();if(X){if(typeof X.getWorkerUrl===\"function\"){let Q=X.getWorkerUrl(\"workerMain.js\",J.label);if(Q!==void 0)return new URL(Q,document.baseURI).toString()}}if(!J.esmModuleLocationBundler)throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker for the worker label: ${J.label}`);return(typeof J.esmModuleLocationBundler===\"function\"?J.esmModuleLocationBundler():J.esmModuleLocationBundler).toString()}}var TQ0={base:\"vs\",inherit:!1,rules:[{token:\"\",foreground:\"000000\",background:\"fffffe\"},{token:\"invalid\",foreground:\"cd3131\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"001188\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"constant\",foreground:\"dd0000\"},{token:\"comment\",foreground:\"008000\"},{token:\"number\",foreground:\"098658\"},{token:\"number.hex\",foreground:\"3030c0\"},{token:\"regexp\",foreground:\"800000\"},{token:\"annotation\",foreground:\"808080\"},{token:\"type\",foreground:\"008080\"},{token:\"delimiter\",foreground:\"000000\"},{token:\"delimiter.html\",foreground:\"383838\"},{token:\"delimiter.xml\",foreground:\"0000FF\"},{token:\"tag\",foreground:\"800000\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"800000\"},{token:\"metatag\",foreground:\"e00000\"},{token:\"metatag.content.html\",foreground:\"FF0000\"},{token:\"metatag.html\",foreground:\"808080\"},{token:\"metatag.xml\",foreground:\"808080\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"863B00\"},{token:\"string.key.json\",foreground:\"A31515\"},{token:\"string.value.json\",foreground:\"0451A5\"},{token:\"attribute.name\",foreground:\"FF0000\"},{token:\"attribute.value\",foreground:\"0451A5\"},{token:\"attribute.value.number\",foreground:\"098658\"},{token:\"attribute.value.unit\",foreground:\"098658\"},{token:\"attribute.value.html\",foreground:\"0000FF\"},{token:\"attribute.value.xml\",foreground:\"0000FF\"},{token:\"string\",foreground:\"A31515\"},{token:\"string.html\",foreground:\"0000FF\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"string.yaml\",foreground:\"0451A5\"},{token:\"keyword\",foreground:\"0000FF\"},{token:\"keyword.json\",foreground:\"0451A5\"},{token:\"keyword.flow\",foreground:\"AF00DB\"},{token:\"keyword.flow.scss\",foreground:\"0000FF\"},{token:\"operator.scss\",foreground:\"666666\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"666666\"},{token:\"predefined.sql\",foreground:\"C700C7\"}],colors:{[b4]:\"#FFFFFE\",[VG]:\"#000000\",[gC]:\"#E5EBF1\",[IG]:\"#D3D3D3\",[kG]:\"#939393\",[KG]:\"#ADD6FF4D\"}},LQ0={base:\"vs-dark\",inherit:!1,rules:[{token:\"\",foreground:\"D4D4D4\",background:\"1E1E1E\"},{token:\"invalid\",foreground:\"f44747\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"74B0DF\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"variable.parameter\",foreground:\"9CDCFE\"},{token:\"constant\",foreground:\"569CD6\"},{token:\"comment\",foreground:\"608B4E\"},{token:\"number\",foreground:\"B5CEA8\"},{token:\"number.hex\",foreground:\"5BB498\"},{token:\"regexp\",foreground:\"B46695\"},{token:\"annotation\",foreground:\"cc6666\"},{token:\"type\",foreground:\"3DC9B0\"},{token:\"delimiter\",foreground:\"DCDCDC\"},{token:\"delimiter.html\",foreground:\"808080\"},{token:\"delimiter.xml\",foreground:\"808080\"},{token:\"tag\",foreground:\"569CD6\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"A79873\"},{token:\"meta.tag\",foreground:\"CE9178\"},{token:\"metatag\",foreground:\"DD6A6F\"},{token:\"metatag.content.html\",foreground:\"9CDCFE\"},{token:\"metatag.html\",foreground:\"569CD6\"},{token:\"metatag.xml\",foreground:\"569CD6\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"9CDCFE\"},{token:\"string.key.json\",foreground:\"9CDCFE\"},{token:\"string.value.json\",foreground:\"CE9178\"},{token:\"attribute.name\",foreground:\"9CDCFE\"},{token:\"attribute.value\",foreground:\"CE9178\"},{token:\"attribute.value.number.css\",foreground:\"B5CEA8\"},{token:\"attribute.value.unit.css\",foreground:\"B5CEA8\"},{token:\"attribute.value.hex.css\",foreground:\"D4D4D4\"},{token:\"string\",foreground:\"CE9178\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"keyword\",foreground:\"569CD6\"},{token:\"keyword.flow\",foreground:\"C586C0\"},{token:\"keyword.json\",foreground:\"CE9178\"},{token:\"keyword.flow.scss\",foreground:\"569CD6\"},{token:\"operator.scss\",foreground:\"909090\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"909090\"},{token:\"predefined.sql\",foreground:\"FF00FF\"}],colors:{[b4]:\"#1E1E1E\",[VG]:\"#D4D4D4\",[gC]:\"#3A3D41\",[IG]:\"#404040\",[kG]:\"#707070\",[KG]:\"#ADD6FF26\"}},IQ0={base:\"hc-black\",inherit:!1,rules:[{token:\"\",foreground:\"FFFFFF\",background:\"000000\"},{token:\"invalid\",foreground:\"f44747\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"1AEBFF\"},{token:\"variable.parameter\",foreground:\"9CDCFE\"},{token:\"constant\",foreground:\"569CD6\"},{token:\"comment\",foreground:\"608B4E\"},{token:\"number\",foreground:\"FFFFFF\"},{token:\"regexp\",foreground:\"C0C0C0\"},{token:\"annotation\",foreground:\"569CD6\"},{token:\"type\",foreground:\"3DC9B0\"},{token:\"delimiter\",foreground:\"FFFF00\"},{token:\"delimiter.html\",foreground:\"FFFF00\"},{token:\"tag\",foreground:\"569CD6\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta\",foreground:\"D4D4D4\"},{token:\"meta.tag\",foreground:\"CE9178\"},{token:\"metatag\",foreground:\"569CD6\"},{token:\"metatag.content.html\",foreground:\"1AEBFF\"},{token:\"metatag.html\",foreground:\"569CD6\"},{token:\"metatag.xml\",foreground:\"569CD6\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"9CDCFE\"},{token:\"string.key\",foreground:\"9CDCFE\"},{token:\"string.value\",foreground:\"CE9178\"},{token:\"attribute.name\",foreground:\"569CD6\"},{token:\"attribute.value\",foreground:\"3FF23F\"},{token:\"string\",foreground:\"CE9178\"},{token:\"string.sql\",foreground:\"FF0000\"},{token:\"keyword\",foreground:\"569CD6\"},{token:\"keyword.flow\",foreground:\"C586C0\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"909090\"},{token:\"predefined.sql\",foreground:\"FF00FF\"}],colors:{[b4]:\"#000000\",[VG]:\"#FFFFFF\",[IG]:\"#FFFFFF\",[kG]:\"#FFFFFF\"}},kQ0={base:\"hc-light\",inherit:!1,rules:[{token:\"\",foreground:\"292929\",background:\"FFFFFF\"},{token:\"invalid\",foreground:\"B5200D\"},{token:\"emphasis\",fontStyle:\"italic\"},{token:\"strong\",fontStyle:\"bold\"},{token:\"variable\",foreground:\"264F70\"},{token:\"variable.predefined\",foreground:\"4864AA\"},{token:\"constant\",foreground:\"dd0000\"},{token:\"comment\",foreground:\"008000\"},{token:\"number\",foreground:\"098658\"},{token:\"number.hex\",foreground:\"3030c0\"},{token:\"regexp\",foreground:\"800000\"},{token:\"annotation\",foreground:\"808080\"},{token:\"type\",foreground:\"008080\"},{token:\"delimiter\",foreground:\"000000\"},{token:\"delimiter.html\",foreground:\"383838\"},{token:\"tag\",foreground:\"800000\"},{token:\"tag.id.pug\",foreground:\"4F76AC\"},{token:\"tag.class.pug\",foreground:\"4F76AC\"},{token:\"meta.scss\",foreground:\"800000\"},{token:\"metatag\",foreground:\"e00000\"},{token:\"metatag.content.html\",foreground:\"B5200D\"},{token:\"metatag.html\",foreground:\"808080\"},{token:\"metatag.xml\",foreground:\"808080\"},{token:\"metatag.php\",fontStyle:\"bold\"},{token:\"key\",foreground:\"863B00\"},{token:\"string.key.json\",foreground:\"A31515\"},{token:\"string.value.json\",foreground:\"0451A5\"},{token:\"attribute.name\",foreground:\"264F78\"},{token:\"attribute.value\",foreground:\"0451A5\"},{token:\"string\",foreground:\"A31515\"},{token:\"string.sql\",foreground:\"B5200D\"},{token:\"keyword\",foreground:\"0000FF\"},{token:\"keyword.flow\",foreground:\"AF00DB\"},{token:\"operator.sql\",foreground:\"778899\"},{token:\"operator.swift\",foreground:\"666666\"},{token:\"predefined.sql\",foreground:\"C700C7\"}],colors:{[b4]:\"#FFFFFF\",[VG]:\"#292929\",[IG]:\"#292929\",[kG]:\"#292929\"}};var nO0={IconContribution:\"base.contributions.icons\"},EQ0;(function(J){function X(Y,Z){let Q=Y.defaults;while(M0.isThemeIcon(Q)){let $=zU.getIcon(Q.id);if(!$)return;Q=$.defaults}return Q}J.getDefinition=X})(EQ0||(EQ0={}));var yQ0;(function(J){function X(Z){return{weight:Z.weight,style:Z.style,src:Z.src.map((Q)=>({format:Q.format,location:Q.location.toString()}))}}J.toJSONObject=X;function Y(Z){let Q=($)=>t1($)?$:void 0;if(Z&&Array.isArray(Z.src)&&Z.src.every(($)=>t1($.format)&&t1($.location)))return{weight:Q(Z.weight),style:Q(Z.style),src:Z.src.map(($)=>({format:$.format,location:R0.parse($.location)}))};return}J.fromJSONObject=Y})(yQ0||(yQ0={}));var tO0=/^([\\w_-]+)$/,eO0=F(2093,\"The font ID must only contain letters, numbers, underscores and dashes.\");class bQ0 extends y{constructor(){super();this._onDidChange=this._register(new E),this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:\"object\",properties:{fontId:{type:\"string\",description:F(2094,\"The id of the font to use. If not set, the font that is defined first is used.\"),pattern:tO0.source,patternErrorMessage:eO0},fontCharacter:{type:\"string\",description:F(2095,\"The font character associated with the icon definition.\")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:\"\\\\\\\\e030\"}}]}},type:\"object\",properties:{}},this.iconReferenceSchema={type:\"string\",pattern:`^${M0.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(J,X,Y,Z){let Q=this.iconsById[J];if(Q){if(Y&&!Q.description){Q.description=Y,this.iconSchema.properties[J].markdownDescription=`${Y} $(${J})`;let G=this.iconReferenceSchema.enum.indexOf(J);if(G!==-1)this.iconReferenceSchema.enumDescriptions[G]=Y;this._onDidChange.fire()}return Q}let $={id:J,description:Y,defaults:X,deprecationMessage:Z};this.iconsById[J]=$;let q={$ref:\"#/definitions/icons\"};if(Z)q.deprecationMessage=Z;if(Y)q.markdownDescription=`${Y}: $(${J})`;return this.iconSchema.properties[J]=q,this.iconReferenceSchema.enum.push(J),this.iconReferenceSchema.enumDescriptions.push(Y||\"\"),this._onDidChange.fire(),{id:J}}getIcons(){return Object.keys(this.iconsById).map((J)=>this.iconsById[J])}getIcon(J){return this.iconsById[J]}getIconSchema(){return this.iconSchema}toString(){let J=(Q,$)=>{return Q.id.localeCompare($.id)},X=(Q)=>{while(M0.isThemeIcon(Q.defaults))Q=this.iconsById[Q.defaults.id];return`codicon codicon-${Q?Q.id:\"\"}`},Y=[];Y.push(\"| preview     | identifier                        | default codicon ID                | description\"),Y.push(\"| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |\");let Z=Object.keys(this.iconsById).map((Q)=>this.iconsById[Q]);for(let Q of Z.filter(($)=>!!$.description).sort(J))Y.push(`|<i class=\"${X(Q)}\"></i>|${Q.id}|${M0.isThemeIcon(Q.defaults)?Q.defaults.id:Q.id}|${Q.description||\"\"}|`);Y.push(\"| preview     | identifier                        \"),Y.push(\"| ----------- | --------------------------------- |\");for(let Q of Z.filter(($)=>!M0.isThemeIcon($.defaults)).sort(J))Y.push(`|<i class=\"${X(Q)}\"></i>|${Q.id}|`);return Y.join(`\n`)}}var zU=new bQ0;y1.add(nO0.IconContribution,zU);function c8(J,X,Y,Z){return zU.registerIcon(J,X,Y,Z)}function um(){return zU}function JM0(){let J=uD();for(let X in J){let Y=\"\\\\\"+J[X].toString(16);zU.registerIcon(X,{fontCharacter:Y})}}JM0();var CQ0=\"vscode://schemas/icons\",SQ0=y1.as(dq.JSONContribution);SQ0.registerSchema(CQ0,zU.getIconSchema());var xQ0=new B1(()=>SQ0.notifySchemaChanged(CQ0),200);zU.onDidChange(()=>{if(!xQ0.isScheduled())xQ0.schedule()});var fQ0=c8(\"widget-close\",t.close,F(2096,\"Icon for the close action in widgets.\"));c8(\"goto-previous-location\",t.arrowUp,F(2097,\"Icon for goto previous editor location.\"));c8(\"goto-next-location\",t.arrowDown,F(2098,\"Icon for goto next editor location.\"));M0.modify(t.sync,\"spin\");M0.modify(t.loading,\"spin\");function hQ0(J){let X=new a,Y=X.add(new E),Z=um();if(X.add(Z.onDidChange(()=>Y.fire())),J)X.add(J.onDidProductIconThemeChange(()=>Y.fire()));return{dispose:()=>X.dispose(),onDidChange:Y.event,getCSS(){let Q=J?J.getProductIconTheme():new UL,$={},q=new P_,G=new P_;for(let U of Z.getIcons()){let H=Q.getIcon(U);if(!H)continue;let V=H.font,K=_4`--vscode-icon-${A_(U.id)}-font-family`,j=_4`--vscode-icon-${A_(U.id)}-content`;if(V)$[V.id]=V.definition,G.push(_4`${K}: ${aQ(V.id)};`,_4`${j}: ${aQ(H.fontCharacter)};`),q.push(_4`.codicon-${A_(U.id)}:before { content: ${aQ(H.fontCharacter)}; font-family: ${aQ(V.id)}; }`);else G.push(_4`${j}: ${aQ(H.fontCharacter)}; ${K}: 'codicon';`),q.push(_4`.codicon-${A_(U.id)}:before { content: ${aQ(H.fontCharacter)}; }`)}for(let U in $){let H=$[U],V=H.weight?_4`font-weight: ${eg(H.weight)};`:_4``,K=H.style?_4`font-style: ${eg(H.style)};`:_4``,j=new P_;for(let W of H.src)j.push(_4`${B4(W.location)} format(${aQ(W.format)})`);q.push(_4`@font-face { src: ${j.join(\", \")}; font-family: ${aQ(U)};${V}${K} font-display: block; }`)}return q.push(_4`:root { ${G.join(\" \")} }`),q.join(`\n`)}}}class UL{getIcon(J){let X=um(),Y=J.defaults;while(M0.isThemeIcon(Y)){let Z=X.getIcon(Y.id);if(!Z)return;Y=Z.defaults}return Y}}var _3=\"vs\",n_=\"vs-dark\",Dj=\"hc-black\",Oj=\"hc-light\",vQ0=y1.as(bC.ColorContribution),XM0=y1.as(lS.ThemingContribution);class dm{constructor(J,X){this.semanticHighlighting=!1,this.themeData=X;let Y=X.base;if(J.length>0){if(VL(J))this.id=J;else this.id=Y+\" \"+J;this.themeName=J}else this.id=Y,this.themeName=Y;this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){if(this.themeData.inherit)this.colors=null,this._tokenTheme=null}getColors(){if(!this.colors){let J=new Map;for(let X in this.themeData.colors)J.set(X,c.fromHex(this.themeData.colors[X]));if(this.themeData.inherit){let X=cm(this.themeData.base);for(let Y in X.colors)if(!J.has(Y))J.set(Y,c.fromHex(X.colors[Y]))}this.colors=J}return this.colors}getColor(J,X){let Y=this.getColors().get(J);if(Y)return Y;if(X!==!1)return this.getDefault(J);return}getDefault(J){let X=this.defaultColors[J];if(X)return X;return X=vQ0.resolveDefaultColor(J,this),this.defaultColors[J]=X,X}defines(J){return this.getColors().has(J)}get type(){switch(this.base){case _3:return S4.LIGHT;case Dj:return S4.HIGH_CONTRAST_DARK;case Oj:return S4.HIGH_CONTRAST_LIGHT;default:return S4.DARK}}get tokenTheme(){if(!this._tokenTheme){let J=[],X=[];if(this.themeData.inherit){let Q=cm(this.themeData.base);if(J=Q.rules,Q.encodedTokensColors)X=Q.encodedTokensColors}let Y=this.themeData.colors[\"editor.foreground\"],Z=this.themeData.colors[\"editor.background\"];if(Y||Z){let Q={token:\"\"};if(Y)Q.foreground=Y;if(Z)Q.background=Z;J.push(Q)}if(J=J.concat(this.themeData.rules),this.themeData.encodedTokensColors)X=this.themeData.encodedTokensColors;this._tokenTheme=hN.createFromRawTokenTheme(J,X)}return this._tokenTheme}getTokenStyleMetadata(J,X,Y){let Q=this.tokenTheme._match([J].concat(X).join(\".\")).metadata,$=I5.getForeground(Q),q=I5.getFontStyle(Q);return{foreground:$,italic:Boolean(q&1),bold:Boolean(q&2),underline:Boolean(q&4),strikethrough:Boolean(q&8)}}get tokenColorMap(){return[]}}function VL(J){return J===_3||J===n_||J===Dj||J===Oj}function cm(J){switch(J){case _3:return TQ0;case n_:return LQ0;case Dj:return IQ0;case Oj:return kQ0}}function HL(J){let X=cm(J);return new dm(J,X)}class lm extends y{constructor(){super();this._onColorThemeChange=this._register(new E),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new E),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new UL,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(_3,HL(_3)),this._knownThemes.set(n_,HL(n_)),this._knownThemes.set(Dj,HL(Dj)),this._knownThemes.set(Oj,HL(Oj));let J=this._register(hQ0(this));this._codiconCSS=J.getCSS(),this._themeCSS=\"\",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(_3),this._onOSSchemeChanged(),this._register(J.onDidChange(()=>{this._codiconCSS=J.getCSS(),this._updateCSS()})),Fx(X1,\"(forced-colors: active)\",()=>{this._onOSSchemeChanged()})}registerEditorContainer(J){if(Sq(J))return this._registerShadowDomContainer(J);return this._registerRegularEditorContainer()}_registerRegularEditorContainer(){if(!this._globalStyleElement)this._globalStyleElement=z5(void 0,(J)=>{J.className=\"monaco-colors\",J.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement);return y.None}_registerShadowDomContainer(J){let X=z5(J,(Y)=>{Y.className=\"monaco-colors\",Y.textContent=this._allCSS});return this._styleElements.push(X),{dispose:()=>{for(let Y=0;Y<this._styleElements.length;Y++)if(this._styleElements[Y]===X){this._styleElements.splice(Y,1);return}}}}defineTheme(J,X){if(!/^[a-z0-9\\-]+$/i.test(J))throw Error(\"Illegal theme name!\");if(!VL(X.base)&&!VL(J))throw Error(\"Illegal theme base!\");if(this._knownThemes.set(J,new dm(J,X)),VL(J))this._knownThemes.forEach((Y)=>{if(Y.base===J)Y.notifyBaseUpdated()});if(this._theme.themeName===J)this.setTheme(J)}getColorTheme(){return this._theme}setColorMapOverride(J){this._colorMapOverride=J,this._updateThemeOrColorMap()}setTheme(J){let X;if(this._knownThemes.has(J))X=this._knownThemes.get(J);else X=this._knownThemes.get(_3);this._updateActualTheme(X)}_updateActualTheme(J){if(!J||this._theme===J)return;this._theme=J,this._updateThemeOrColorMap()}_onOSSchemeChanged(){if(this._autoDetectHighContrast){let J=X1.matchMedia(\"(forced-colors: active)\").matches;if(J!==l9(this._theme.type)){let X;if(pJ(this._theme.type))X=J?Dj:n_;else X=J?Oj:_3;this._updateActualTheme(this._knownThemes.get(X))}}}setAutoDetectHighContrast(J){this._autoDetectHighContrast=J,this._onOSSchemeChanged()}_updateThemeOrColorMap(){let J=[],X={},Y={addRule:($)=>{if(!X[$])J.push($),X[$]=!0}};XM0.getThemingParticipants().forEach(($)=>$(this._theme,Y,this._environment));let Z=[];for(let $ of vQ0.getColors()){let q=this._theme.getColor($.id,!0);if(q)Z.push(`${qR($.id)}: ${q.toString()};`)}Y.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${Z.join(`\n`)} }`);let Q=this._colorMapOverride||this._theme.tokenTheme.getColorMap();Y.addRule(w40(Q)),Y.addRule(\".monaco-editor, .monaco-diff-editor, .monaco-component { forced-color-adjust: none; }\"),this._themeCSS=J.join(`\n`),this._updateCSS(),f1.setColorMap(Q),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._styleElements.forEach((J)=>J.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}class sm{getParserClass(){throw Error(\"not implemented in StandaloneTreeSitterLibraryService\")}supportsLanguage(J,X){return!1}getLanguage(J,X,Y){return}getInjectionQueries(J,X){return null}getHighlightingQueries(J,X){return null}}var X$=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},$5=function(J,X){return function(Y,Z){X(Y,Z,J)}};class pQ0{constructor(J){this.disposed=!1,this.model=J,this._onWillDispose=new E}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}var am=class{constructor(X){this.modelService=X}createModelReference(X){let Y=this.modelService.getModel(X);if(!Y)return Promise.reject(Error(\"Model not found\"));return Promise.resolve(new py(new pQ0(Y)))}};am=X$([$5(0,j8)],am);class Ju{static{this.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}}}show(){return Ju.NULL_PROGRESS_RUNNER}async showWhile(J,X){await J}}class mQ0{withProgress(J,X,Y){return X({report:()=>{}})}}class uQ0{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class cQ0{async confirm(J){return{confirmed:this.doConfirm(J.message,J.detail),checkboxChecked:!1}}doConfirm(J,X){let Y=J;if(X)Y=Y+`\n\n`+X;return X1.confirm(Y)}async prompt(J){let X=void 0;if(this.doConfirm(J.message,J.detail)){let Z=[...J.buttons??[]];if(J.cancelButton&&typeof J.cancelButton!==\"string\"&&typeof J.cancelButton!==\"boolean\")Z.push(J.cancelButton);X=await Z[0]?.run({checkboxChecked:!1})}return{result:X}}async error(J,X){await this.prompt({type:U6.Error,message:J,detail:X})}}class KL{static{this.NO_OP=new Lf}info(J){return this.notify({severity:U6.Info,message:J})}warn(J){return this.notify({severity:U6.Warning,message:J})}error(J){return this.notify({severity:U6.Error,message:J})}notify(J){switch(J.severity){case U6.Error:console.error(J.message);break;case U6.Warning:console.warn(J.message);break;default:console.log(J.message);break}return KL.NO_OP}prompt(J,X,Y,Z){return KL.NO_OP}status(J,X){return{close:()=>{}}}}var im=class{constructor(X){this._onWillExecuteCommand=new E,this._onDidExecuteCommand=new E,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=X}executeCommand(X,...Y){let Z=S6.getCommand(X);if(!Z)return Promise.reject(Error(`command '${X}' not found`));try{this._onWillExecuteCommand.fire({commandId:X,args:Y});let Q=this._instantiationService.invokeFunction.apply(this._instantiationService,[Z.handler,...Y]);return this._onDidExecuteCommand.fire({commandId:X,args:Y}),Promise.resolve(Q)}catch(Q){return Promise.reject(Q)}}};im=X$([$5(0,w0)],im);var A3=class extends Lp{constructor(X,Y,Z,Q,$,q){super(X,Y,Z,Q,$);this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];let G=(W)=>{let z=new a;z.add(f(W,r.KEY_DOWN,(B)=>{let P=new Y1(B);if(this._dispatch(P,P.target))P.preventDefault(),P.stopPropagation()})),z.add(f(W,r.KEY_UP,(B)=>{let P=new Y1(B);if(this._singleModifierDispatch(P,P.target))P.preventDefault()})),this._domNodeListeners.push(new dQ0(W,z))},U=(W)=>{for(let z=0;z<this._domNodeListeners.length;z++){let B=this._domNodeListeners[z];if(B.domNode===W)this._domNodeListeners.splice(z,1),B.dispose()}},H=(W)=>{if(W.getOption(70))return;G(W.getContainerDomNode())},V=(W)=>{if(W.getOption(70))return;U(W.getContainerDomNode())};this._register(q.onCodeEditorAdd(H)),this._register(q.onCodeEditorRemove(V)),q.listCodeEditors().forEach(H);let K=(W)=>{G(W.getContainerDomNode())},j=(W)=>{U(W.getContainerDomNode())};this._register(q.onDiffEditorAdd(K)),this._register(q.onDiffEditorRemove(j)),q.listDiffEditors().forEach(K)}addDynamicKeybinding(X,Y,Z,Q){return e7(S6.registerCommand(X,Z),this.addDynamicKeybindings([{keybinding:Y,command:X,when:Q}]))}addDynamicKeybindings(X){let Y=X.map((Z)=>{return{keybinding:Lz(Z.keybinding,h5),command:Z.command??null,commandArgs:Z.commandArgs,when:Z.when,weight1:1000,weight2:0,extensionId:null,isBuiltinExtension:!1}});return this._dynamicKeybindings=this._dynamicKeybindings.concat(Y),this.updateResolver(),J0(()=>{for(let Z=0;Z<this._dynamicKeybindings.length;Z++)if(this._dynamicKeybindings[Z]===Y[0]){this._dynamicKeybindings.splice(Z,Y.length),this.updateResolver();return}})}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){let X=this._toNormalizedKeybindingItems(p5.getDefaultKeybindings(),!0),Y=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new QU(X,Y,(Z)=>this._log(Z))}return this._cachedResolver}_documentHasFocus(){return X1.document.hasFocus()}_toNormalizedKeybindingItems(X,Y){let Z=[],Q=0;for(let $ of X){let q=$.when||void 0,G=$.keybinding;if(!G)Z[Q++]=new HT(void 0,$.command,$.commandArgs,q,Y,null,!1);else{let U=tK.resolveKeybinding(G,h5);for(let H of U)Z[Q++]=new HT(H,$.command,$.commandArgs,q,Y,null,!1)}}return Z}resolveKeyboardEvent(X){let Y=new GQ(X.ctrlKey,X.shiftKey,X.altKey,X.metaKey,X.keyCode);return new tK([Y],h5)}};A3=X$([$5(0,E0),$5(1,h8),$5(2,k7),$5(3,d6),$5(4,x1),$5(5,l1)],A3);class dQ0 extends y{constructor(J,X){super();this.domNode=J,this._register(X)}}function gQ0(J){return!!J&&typeof J===\"object\"&&(!J.overrideIdentifier||typeof J.overrideIdentifier===\"string\")&&(!J.resource||J.resource instanceof R0)}var jL=class{constructor(X){this.logService=X,this._onDidChangeConfiguration=new E,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;let Y=new ig(X);this._configuration=new W_(Y.reload(),b8.createEmptyModel(X),b8.createEmptyModel(X),b8.createEmptyModel(X),b8.createEmptyModel(X),b8.createEmptyModel(X),new r6,b8.createEmptyModel(X),new r6,X),Y.dispose()}getValue(X,Y){let Z=typeof X===\"string\"?X:void 0,Q=gQ0(X)?X:gQ0(Y)?Y:{};return this._configuration.getValue(Z,Q,void 0)}updateValues(X){let Y={data:this._configuration.toData()},Z=[];for(let Q of X){let[$,q]=Q;if(this.getValue($)===q)continue;this._configuration.updateValue($,q),Z.push($)}if(Z.length>0){let Q=new ag({keys:Z,overrides:[]},Y,this._configuration,void 0,this.logService);Q.source=8,this._onDidChangeConfiguration.fire(Q)}return Promise.resolve()}updateValue(X,Y,Z,Q){return this.updateValues([[X,Y]])}inspect(X,Y={}){return this._configuration.inspect(X,Y,void 0)}};jL=X$([$5(0,x1)],jL);var rm=class extends y{constructor(X,Y,Z){super();this.configurationService=X,this.modelService=Y,this.languageService=Z,this._onDidChangeConfiguration=this._register(new E),this._register(this.configurationService.onDidChangeConfiguration((Q)=>{this._onDidChangeConfiguration.fire({affectedKeys:Q.affectedKeys,affectsConfiguration:($,q)=>Q.affectsConfiguration(q)})}))}getValue(X,Y,Z){let Q=C.isIPosition(Y)?Y:null,$=Q?typeof Z===\"string\"?Z:void 0:typeof Y===\"string\"?Y:void 0,q=X?this.getLanguage(X,Q):void 0;if(typeof $>\"u\")return this.configurationService.getValue({resource:X,overrideIdentifier:q});return this.configurationService.getValue($,{resource:X,overrideIdentifier:q})}getLanguage(X,Y){let Z=this.modelService.getModel(X);if(Z)return Y?Z.getLanguageIdAtPosition(Y.lineNumber,Y.column):Z.getLanguageId();return this.languageService.guessLanguageIdByFilepathOrFirstLine(X)}};rm=X$([$5(0,o0),$5(1,j8),$5(2,j6)],rm);var om=class{constructor(X){this.configurationService=X}getEOL(X,Y){let Z=this.configurationService.getValue(\"files.eol\",{overrideIdentifier:Y,resource:X});if(Z&&typeof Z===\"string\"&&Z!==\"auto\")return Z;return y6||I0?`\n`:`\\r\n`}};om=X$([$5(0,o0)],om);class lQ0{publicLog2(){}}class WL{static{this.SCHEME=\"inmemory\"}constructor(){let J=R0.from({scheme:WL.SCHEME,authority:\"model\",path:\"/\"});this.workspace={id:LZ0,folders:[new qm({uri:J,name:\"\",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(J){return J&&J.scheme===WL.SCHEME?this.workspace.folders[0]:null}}function t_(J,X,Y){if(!X)return;if(!(J instanceof jL))return;let Z=[];if(Object.keys(X).forEach((Q)=>{if(yZ0(Q))Z.push([`editor.${Q}`,X[Q]]);if(Y&&xZ0(Q))Z.push([`diffEditor.${Q}`,X[Q]])}),Z.length>0)J.updateValues(Z)}var nm=class{constructor(X){this._modelService=X}hasPreviewHandler(){return!1}async apply(X,Y){let Z=Array.isArray(X)?X:m_.convert(X),Q=new Map;for(let G of Z){if(!(G instanceof KZ))throw Error(\"bad edit - only text edits are supported\");let U=this._modelService.getModel(G.resource);if(!U)throw Error(\"bad edit - model not found\");if(typeof G.versionId===\"number\"&&U.getVersionId()!==G.versionId)throw Error(\"bad state - model changed in the meantime\");let H=Q.get(U);if(!H)H=[],Q.set(U,H);H.push(e6.replaceMove(T.lift(G.textEdit.range),G.textEdit.text))}let $=0,q=0;for(let[G,U]of Q)G.pushStackElement(),G.pushEditOperations([],U,()=>[]),G.pushStackElement(),q+=1,$+=U.length;return{ariaSummary:i$(aT.bulkEditServiceSummary,$,q),isApplied:$>0}}};nm=X$([$5(0,j8)],nm);class sQ0{getUriLabel(J,X){if(J.scheme===\"file\")return J.fsPath;return J.path}getUriBasenameLabel(J){return iz(J)}}var tm=class extends Np{constructor(X,Y){super(X);this._codeEditorService=Y}showContextView(X,Y,Z){if(!Y){let Q=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();if(Q)Y=Q.getContainerDomNode()}return super.showContextView(X,Y,Z)}};tm=X$([$5(0,l5),$5(1,l1)],tm);class aQ0{constructor(){this._neverEmitter=new E,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class iQ0 extends l_{constructor(){super()}}class rQ0 extends $m{constructor(){super(new Vb)}}var em=class extends qT{constructor(X,Y,Z,Q,$,q){super(X,Y,Z,Q,$,q);this.configure({blockMouse:!1})}};em=X$([$5(0,k7),$5(1,d6),$5(2,h4),$5(3,T1),$5(4,SJ),$5(5,E0)],em);class oQ0{async playSignal(J,X){}}class nQ0{constructor(){this.onDidChangeDefaultAccount=i.None}async getDefaultAccount(){return null}}f0(j2,mm,0);f0(x1,rQ0,0);f0(o0,jL,0);f0(lM,rm,0);f0(sM,om,0);f0(qj,WL,0);f0(OY0,sQ0,0);f0(k7,lQ0,0);f0(Tw,cQ0,0);f0(yw,uQ0,0);f0(d6,KL,0);f0(uX,K3,0);f0(j6,iQ0,0);f0(O4,lm,0);f0(j8,lT,0);f0(ZR,cT,0);f0(E0,aw,0);f0(fT,mQ0,0);f0($j,Ju,0);f0(z7,Tg,0);f0(Uj,nm,0);f0(IZ0,aQ0,0);f0(hq,am,0);f0(c6,pw,0);f0(mX,np,0);f0(h8,im,0);f0(T1,A3,0);f0(g7,qL,0);f0(h4,tm,0);f0(p4,gT,0);f0(F4,dw,0);f0(Y5,em,0);f0(SJ,mw,0);f0(sQ,oQ0,0);f0(PK,sm,0);f0(Me,jb,0);f0(BY0,wp,0);f0(_Y0,nQ0,0);f0(kZ0,Vm,0);f0(CX,hT,0);var x0;(function(J){let X=new i9;for(let[U,H]of Eb())X.set(U,H);let Y=new T_(X,!0);X.set(w0,Y);function Z(U){if(!Q)q({});let H=X.get(U);if(!H)throw Error(\"Missing service \"+U);if(H instanceof $9)return Y.invokeFunction((V)=>V.get(U));else return H}J.get=Z;let Q=!1,$=new E;function q(U){if(Q)return Y;Q=!0;for(let[V,K]of Eb())if(!X.get(V))X.set(V,K);for(let V in U)if(U.hasOwnProperty(V)){let K=W0(V);if(X.get(K)instanceof $9)X.set(K,U[V])}let H=bZ0();for(let V of H)try{Y.createInstance(V)}catch(K){b0(K)}return $.fire(),Y}J.initialize=q;function G(U){if(Q)return U();let H=new a,V=H.add($.event(()=>{V.dispose(),H.add(U())}));return H}J.withServices=G})(x0||(x0={}));function dX(J,X){return J}function zZ(J,X,Y,Z=K6.ofCaller()){let Q=J.bindTo(X),$=new a;return T7({debugName:()=>`Set Context Key \"${J.key}\"`},(q)=>{let G=Y(q);return Q.set(G),G},Z).recomputeInitiallyAndOnChange($),$}class P3{static capture(J){if(J.getScrollTop()===0||J.hasPendingScrollAnimation())return new P3(J.getScrollTop(),J.getContentHeight(),null,0,null);let X=null,Y=0,Z=J.getVisibleRanges();if(Z.length>0){X=Z[0].getStartPosition();let Q=J.getTopForPosition(X.lineNumber,X.column);Y=J.getScrollTop()-Q}return new P3(J.getScrollTop(),J.getContentHeight(),X,Y,J.getPosition())}constructor(J,X,Y,Z,Q){this._initialScrollTop=J,this._initialContentHeight=X,this._visiblePosition=Y,this._visiblePositionScrollDelta=Z,this._cursorPosition=Q}restore(J){if(this._initialContentHeight===J.getContentHeight()&&this._initialScrollTop===J.getScrollTop())return;if(this._visiblePosition){let X=J.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);J.setScrollTop(X+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(J){if(this._initialContentHeight===J.getContentHeight()&&this._initialScrollTop===J.getScrollTop())return;let X=J.getPosition();if(!this._cursorPosition||!X)return;let Y=J.getTopForLineNumber(X.lineNumber)-J.getTopForLineNumber(this._cursorPosition.lineNumber);J.setScrollTop(J.getScrollTop()+Y,1)}}function tQ0(J,X,Y,Z){if(J.length===0)return X;if(X.length===0)return J;let Q=[],$=0,q=0;while($<J.length&&q<X.length){let G=J[$],U=X[q],H=Y(G),V=Y(U);if(H<V)Q.push(G),$++;else if(H>V)Q.push(U),q++;else Q.push(Z(G,U)),$++,q++}while($<J.length)Q.push(J[$]),$++;while(q<X.length)Q.push(X[q]),q++;return Q}function Mj(J,X){let Y=new a,Z=J.createDecorationsCollection();return Y.add(Cz({debugName:()=>`Apply decorations from ${X.debugName}`},(Q)=>{let $=X.read(Q);Z.set($)})),Y.add({dispose:()=>{Z.clear()}}),Y}function FU(J,X){return J.appendChild(X),J0(()=>{X.remove()})}function eQ0(J,X){return J.prepend(X),J0(()=>{X.remove()})}class e_ extends y{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(J,X){super();this._automaticLayout=!1,this.elementSizeObserver=this._register(new MF(J,X)),this._width=A0(this,this.elementSizeObserver.getWidth()),this._height=A0(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((Y)=>k1((Z)=>{this._width.set(this.elementSizeObserver.getWidth(),Z),this._height.set(this.elementSizeObserver.getHeight(),Z)})))}observe(J){this.elementSizeObserver.observe(J)}setAutomaticLayout(J){if(this._automaticLayout=J,J)this.elementSizeObserver.startObserving();else this.elementSizeObserver.stopObserving()}}function Yu(J,X,Y){let Z=X.get(),Q=Z,$=Z,q=A0(\"animatedValue\",Z),G=-1,U=300,H=void 0;Y.add(OY({changeTracker:{createChangeSummary:()=>({animate:!1}),handleChange:(K,j)=>{if(K.didChange(X))j.animate=j.animate||K.change;return!0}}},(K,j)=>{if(H!==void 0)J.cancelAnimationFrame(H),H=void 0;if(Q=$,Z=X.read(K),Q===Z)G=Date.now()-U;else G=Date.now()-(j.animate?0:U);V()}));function V(){let K=Date.now()-G;if($=Math.floor(YM0(K,Q,Z-Q,U)),K<U)H=J.requestAnimationFrame(V);else $=Z;q.set($,void 0)}return q}function YM0(J,X,Y,Z){return J===Z?X+Y:Y*(-Math.pow(2,-10*J/Z)+1)+X}class Rj extends y{constructor(J,X,Y){super();this._register(new Zu(J,Y)),this._register(JJ(Y,{height:X.actualHeight,top:X.actualTop}))}}class Y${get afterLineNumber(){return this._afterLineNumber.get()}constructor(J,X){this._afterLineNumber=J,this.heightInPx=X,this.domNode=document.createElement(\"div\"),this._actualTop=A0(this,void 0),this._actualHeight=A0(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=(Y)=>{this._actualTop.set(Y,void 0)},this.onComputedHeight=(Y)=>{this._actualHeight.set(Y,void 0)}}}class Zu{static{this._counter=0}constructor(J,X){this._editor=J,this._domElement=X,this._overlayWidgetId=`managedOverlayWidget-${Zu._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function JJ(J,X){return C0((Y)=>{for(let[Z,Q]of Object.entries(X)){if(Q&&typeof Q===\"object\"&&\"read\"in Q)Q=Q.read(Y);if(typeof Q===\"number\")Q=`${Q}px`;Z=Z.replace(/[A-Z]/g,($)=>\"-\"+$.toLowerCase()),J.style[Z]=Q}})}function Nj(J,X,Y,Z){let Q=new a,$=[];return Q.add(U7((q,G)=>{let U=X.read(q),H=new Map,V=new Map;if(Y)Y(!0);if(J.changeViewZones((K)=>{for(let j of $)K.removeZone(j),Z?.delete(j);$.length=0;for(let j of U){let W=K.addZone(j);if(j.setZoneId)j.setZoneId(W);$.push(W),Z?.add(W),H.set(j,W)}}),Y)Y(!1);G.add(OY({changeTracker:{createChangeSummary(){return{zoneIds:[]}},handleChange(K,j){let W=V.get(K.changedObservable);if(W!==void 0)j.zoneIds.push(W);return!0}}},(K,j)=>{for(let W of U)if(W.onChange)V.set(W.onChange,H.get(W)),W.onChange.read(K);if(Y)Y(!0);if(J.changeViewZones((W)=>{for(let z of j.zoneIds)W.layoutZone(z)}),Y)Y(!1)}))})),Q.add({dispose(){if(Y)Y(!0);if(J.changeViewZones((q)=>{for(let G of $)q.removeZone(G)}),Z?.clear(),Y)Y(!1)}}),Q}function Qu(J,X){let Y=tq(X,(Q)=>Q.original.startLineNumber<=J.lineNumber);if(!Y)return T.fromPositions(J);if(Y.original.endLineNumberExclusive<=J.lineNumber){let Q=J.lineNumber-Y.original.endLineNumberExclusive+Y.modified.endLineNumberExclusive;return T.fromPositions(new C(Q,J.column))}if(!Y.innerChanges)return T.fromPositions(new C(Y.modified.startLineNumber,1));let Z=tq(Y.innerChanges,(Q)=>Q.originalRange.getStartPosition().isBeforeOrEqual(J));if(!Z){let Q=J.lineNumber-Y.original.startLineNumber+Y.modified.startLineNumber;return T.fromPositions(new C(Q,J.column))}if(Z.originalRange.containsPosition(J))return Z.modifiedRange;else{let Q=ZM0(Z.originalRange.getEndPosition(),J);return T.fromPositions(Q.addToPosition(Z.modifiedRange.getEndPosition()))}}function ZM0(J,X){if(J.lineNumber===X.lineNumber)return new f6(0,X.column-J.column);else return new f6(X.lineNumber-J.lineNumber,X.column-1)}function J$0(J,X){let Y;return J.filter((Z)=>{let Q=X(Z,Y);return Y=Z,Q})}class wj{static create(J,X=void 0){return new Xu(J,J,X)}static createWithDisposable(J,X,Y=void 0){let Z=new a;return Z.add(X),Z.add(J),new Xu(J,Z,Y)}}class Xu extends wj{constructor(J,X,Y){super();if(this.object=J,this._disposable=X,this._debugOwner=Y,this._refCount=1,this._isDisposed=!1,this._owners=[],Y)this._addOwner(Y)}_addOwner(J){if(J)this._owners.push(J)}createNewRef(J){if(this._refCount++,J)this._addOwner(J);return new X$0(this,J)}dispose(){if(this._isDisposed)return;this._isDisposed=!0,this._decreaseRefCount(this._debugOwner)}_decreaseRefCount(J){if(this._refCount--,this._refCount===0)this._disposable.dispose();if(J){let X=this._owners.indexOf(J);if(X!==-1)this._owners.splice(X,1)}}}class X$0 extends wj{constructor(J,X){super();this._base=J,this._debugOwner=X,this._isDisposed=!1}get object(){return this._base.object}createNewRef(J){return this._base.createNewRef(J)}dispose(){if(this._isDisposed)return;this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner)}}var Gu=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Uu=function(J,X){return function(Y,Z){X(Y,Z,J)}},QM0=c8(\"diff-review-insert\",t.add,F(113,\"Icon for 'Insert' in accessible diff viewer.\")),$M0=c8(\"diff-review-remove\",t.remove,F(114,\"Icon for 'Remove' in accessible diff viewer.\")),qM0=c8(\"diff-review-close\",t.close,F(115,\"Icon for 'Close' in accessible diff viewer.\")),D3=class extends y{static{this._ttPolicy=q4(\"diffReview\",{createHTML:(X)=>X})}constructor(X,Y,Z,Q,$,q,G,U,H){super();this._parentNode=X,this._visible=Y,this._setVisible=Z,this._canClose=Q,this._width=$,this._height=q,this._diffs=G,this._models=U,this._instantiationService=H,this._state=z0(this,(V)=>{let K=this._visible.read(V);if(this._parentNode.style.visibility=K?\"visible\":\"hidden\",!K)return null;let j=V.store.add(this._instantiationService.createInstance($u,this._diffs,this._models,this._setVisible,this._canClose)),W=V.store.add(this._instantiationService.createInstance(qu,this._parentNode,j,this._width,this._height,this._models));return{model:j,view:W}}).recomputeInitiallyAndOnChange(this._store)}next(){k1((X)=>{let Y=this._visible.get();if(this._setVisible(!0,X),Y)this._state.get().model.nextGroup(X)})}prev(){k1((X)=>{this._setVisible(!0,X),this._state.get().model.previousGroup(X)})}close(){k1((X)=>{this._setVisible(!1,X)})}};D3=Gu([Uu(8,w0)],D3);var $u=class extends y{constructor(X,Y,Z,Q,$){super();this._diffs=X,this._models=Y,this._setVisible=Z,this.canClose=Q,this._accessibilitySignalService=$,this._groups=A0(this,[]),this._currentGroupIdx=A0(this,0),this._currentElementIdx=A0(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((q,G)=>this._groups.read(G)[q]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((q,G)=>this.currentGroup.read(G)?.lines[q]),this._register(C0((q)=>{let G=this._diffs.read(q);if(!G){this._groups.set([],void 0);return}let U=GM0(G,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());k1((H)=>{let V=this._models.getModifiedPosition();if(V){let K=U.findIndex((j)=>V?.lineNumber<j.range.modified.endLineNumberExclusive);if(K!==-1)this._currentGroupIdx.set(K,H)}this._groups.set(U,H)})})),this._register(C0((q)=>{let G=this.currentElement.read(q);if(G?.type===d7.Deleted)this._accessibilitySignalService.playSignal(K1.diffLineDeleted,{source:\"accessibleDiffViewer.currentElementChanged\"});else if(G?.type===d7.Added)this._accessibilitySignalService.playSignal(K1.diffLineInserted,{source:\"accessibleDiffViewer.currentElementChanged\"})})),this._register(C0((q)=>{let G=this.currentElement.read(q);if(G&&G.type!==d7.Header){let U=G.modifiedLineNumber??G.diff.modified.startLineNumber;this._models.modifiedSetSelection(T.fromPositions(new C(U,1)))}}))}_goToGroupDelta(X,Y){let Z=this.groups.get();if(!Z||Z.length<=1)return;YV(Y,(Q)=>{this._currentGroupIdx.set(H0.ofLength(Z.length).clipCyclic(this._currentGroupIdx.get()+X),Q),this._currentElementIdx.set(0,Q)})}nextGroup(X){this._goToGroupDelta(1,X)}previousGroup(X){this._goToGroupDelta(-1,X)}_goToLineDelta(X){let Y=this.currentGroup.get();if(!Y||Y.lines.length<=1)return;k1((Z)=>{this._currentElementIdx.set(H0.ofLength(Y.lines.length).clip(this._currentElementIdx.get()+X),Z)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(X){let Y=this.currentGroup.get();if(!Y)return;let Z=Y.lines.indexOf(X);if(Z===-1)return;k1((Q)=>{this._currentElementIdx.set(Z,Q)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);let X=this.currentElement.get();if(X)if(X.type===d7.Deleted)this._models.originalReveal(T.fromPositions(new C(X.originalLineNumber,1)));else this._models.modifiedReveal(X.type!==d7.Header?T.fromPositions(new C(X.modifiedLineNumber,1)):void 0)}close(){if(!this.canClose.get())return;this._setVisible(!1,void 0),this._models.modifiedFocus()}};$u=Gu([Uu(4,sQ)],$u);var JA=3;function GM0(J,X,Y){let Z=[];for(let Q of gH(J,($,q)=>q.modified.startLineNumber-$.modified.endLineNumberExclusive<2*JA)){let $=[];$.push(new Z$0);let q=new D0(Math.max(1,Q[0].original.startLineNumber-JA),Math.min(Q[Q.length-1].original.endLineNumberExclusive+JA,X+1)),G=new D0(Math.max(1,Q[0].modified.startLineNumber-JA),Math.min(Q[Q.length-1].modified.endLineNumberExclusive+JA,Y+1));PD(Q,(V,K)=>{let j=new D0(V?V.original.endLineNumberExclusive:q.startLineNumber,K?K.original.startLineNumber:q.endLineNumberExclusive),W=new D0(V?V.modified.endLineNumberExclusive:G.startLineNumber,K?K.modified.startLineNumber:G.endLineNumberExclusive);if(j.forEach((z)=>{$.push(new q$0(z,W.startLineNumber+(z-j.startLineNumber)))}),K)K.original.forEach((z)=>{$.push(new Q$0(K,z))}),K.modified.forEach((z)=>{$.push(new $$0(K,z))})});let U=Q[0].modified.join(Q[Q.length-1].modified),H=Q[0].original.join(Q[Q.length-1].original);Z.push(new Y$0(new W8(U,H),$))}return Z}var d7;(function(J){J[J.Header=0]=\"Header\",J[J.Unchanged=1]=\"Unchanged\",J[J.Deleted=2]=\"Deleted\",J[J.Added=3]=\"Added\"})(d7||(d7={}));class Y$0{constructor(J,X){this.range=J,this.lines=X}}class Z$0{constructor(){this.type=d7.Header}}class Q$0{constructor(J,X){this.diff=J,this.originalLineNumber=X,this.type=d7.Deleted,this.modifiedLineNumber=void 0}}class $$0{constructor(J,X){this.diff=J,this.modifiedLineNumber=X,this.type=d7.Added,this.originalLineNumber=void 0}}class q$0{constructor(J,X){this.originalLineNumber=J,this.modifiedLineNumber=X,this.type=d7.Unchanged}}var qu=class extends y{constructor(X,Y,Z,Q,$,q){super();this._element=X,this._model=Y,this._width=Z,this._height=Q,this._models=$,this._languageService=q,this.domNode=this._element,this.domNode.className=\"monaco-component diff-review monaco-editor-background\";let G=document.createElement(\"div\");G.className=\"diff-review-actions\",this._actionBar=this._register(new m7(G)),this._register(C0((U)=>{if(this._actionBar.clear(),this._model.canClose.read(U))this._actionBar.push(bJ({id:\"diffreview.close\",label:F(116,\"Close\"),class:\"close-diff-review \"+M0.asClassName(qM0),enabled:!0,run:async()=>Y.close()}),{label:!1,icon:!0})})),this._content=document.createElement(\"div\"),this._content.className=\"diff-review-content\",this._content.setAttribute(\"role\",\"code\"),this._scrollbar=this._register(new DG(this._content,{})),$8(this.domNode,this._scrollbar.getDomNode(),G),this._register(C0((U)=>{this._height.read(U),this._width.read(U),this._scrollbar.scanDomNode()})),this._register(J0(()=>{$8(this.domNode)})),this._register(JJ(this.domNode,{width:this._width,height:this._height})),this._register(JJ(this._content,{width:this._width,height:this._height})),this._register(U7((U,H)=>{this._model.currentGroup.read(U),this._render(H)})),this._register(F6(this.domNode,\"keydown\",(U)=>{if(U.equals(18)||U.equals(2066)||U.equals(530))U.preventDefault(),this._model.goToNextLine();if(U.equals(16)||U.equals(2064)||U.equals(528))U.preventDefault(),this._model.goToPreviousLine();if(U.equals(9)||U.equals(2057)||U.equals(521)||U.equals(1033))U.preventDefault(),this._model.close();if(U.equals(10)||U.equals(3))U.preventDefault(),this._model.revealCurrentElementInEditor()}))}_render(X){let Y=this._models.getOriginalOptions(),Z=this._models.getModifiedOptions(),Q=document.createElement(\"div\");Q.className=\"diff-review-table\",Q.setAttribute(\"role\",\"list\"),Q.setAttribute(\"aria-label\",F(117,\"Accessible Diff Viewer. Use arrow up and down to navigate.\")),B6(Q,Z.get(59)),$8(this._content,Q);let $=this._models.getOriginalModel(),q=this._models.getModifiedModel();if(!$||!q)return;let G=$.getOptions(),U=q.getOptions(),H=Z.get(75),V=this._model.currentGroup.get();for(let K of V?.lines||[]){if(!V)break;let j;if(K.type===d7.Header){let z=document.createElement(\"div\");z.className=\"diff-review-row\",z.setAttribute(\"role\",\"listitem\");let B=V.range,P=this._model.currentGroupIndex.get(),_=this._model.groups.get().length,A=(N)=>N===0?F(118,\"no lines changed\"):N===1?F(119,\"1 line changed\"):F(120,\"{0} lines changed\",N),O=A(B.original.length),D=A(B.modified.length);z.setAttribute(\"aria-label\",F(121,\"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}\",P+1,_,B.original.startLineNumber,O,B.modified.startLineNumber,D));let R=document.createElement(\"div\");R.className=\"diff-review-cell diff-review-summary\",R.appendChild(document.createTextNode(`${P+1}/${_}: @@ -${B.original.startLineNumber},${B.original.length} +${B.modified.startLineNumber},${B.modified.length} @@`)),z.appendChild(R),j=z}else j=this._createRow(K,H,this._width.get(),Y,$,G,Z,q,U);Q.appendChild(j);let W=z0((z)=>this._model.currentElement.read(z)===K);X.add(C0((z)=>{let B=W.read(z);if(j.tabIndex=B?0:-1,B)j.focus()})),X.add(f(j,\"focus\",()=>{this._model.goToLine(K)}))}this._scrollbar.scanDomNode()}_createRow(X,Y,Z,Q,$,q,G,U,H){let V=Q.get(165),K=V.glyphMarginWidth+V.lineNumbersWidth,j=G.get(165),W=10+j.glyphMarginWidth+j.lineNumbersWidth,z=\"diff-review-row\",B=\"\",P=\"diff-review-spacer\",_=null;switch(X.type){case d7.Added:z=\"diff-review-row line-insert\",B=\" char-insert\",_=QM0;break;case d7.Deleted:z=\"diff-review-row line-delete\",B=\" char-delete\",_=$M0;break}let A=document.createElement(\"div\");A.style.minWidth=Z+\"px\",A.className=z,A.setAttribute(\"role\",\"listitem\"),A.ariaLevel=\"\";let O=document.createElement(\"div\");O.className=\"diff-review-cell\",O.style.height=`${Y}px`,A.appendChild(O);let D=document.createElement(\"span\");if(D.style.width=K+\"px\",D.style.minWidth=K+\"px\",D.className=\"diff-review-line-number\"+B,X.originalLineNumber!==void 0)D.appendChild(document.createTextNode(String(X.originalLineNumber)));else D.innerText=\" \";O.appendChild(D);let R=document.createElement(\"span\");if(R.style.width=W+\"px\",R.style.minWidth=W+\"px\",R.style.paddingRight=\"10px\",R.className=\"diff-review-line-number\"+B,X.modifiedLineNumber!==void 0)R.appendChild(document.createTextNode(String(X.modifiedLineNumber)));else R.innerText=\" \";O.appendChild(R);let N=document.createElement(\"span\");if(N.className=P,_){let I=document.createElement(\"span\");I.className=M0.asClassName(_),I.innerText=\"  \",N.appendChild(I)}else N.innerText=\"  \";O.appendChild(N);let w;if(X.modifiedLineNumber!==void 0){let I=this._getLineHtml(U,G,H.tabSize,X.modifiedLineNumber,this._languageService.languageIdCodec);if(D3._ttPolicy)I=D3._ttPolicy.createHTML(I);O.insertAdjacentHTML(\"beforeend\",I),w=U.getLineContent(X.modifiedLineNumber)}else{let I=this._getLineHtml($,Q,q.tabSize,X.originalLineNumber,this._languageService.languageIdCodec);if(D3._ttPolicy)I=D3._ttPolicy.createHTML(I);O.insertAdjacentHTML(\"beforeend\",I),w=$.getLineContent(X.originalLineNumber)}if(w.length===0)w=F(122,\"blank\");let k=\"\";switch(X.type){case d7.Unchanged:if(X.originalLineNumber===X.modifiedLineNumber)k=F(123,\"{0} unchanged line {1}\",w,X.originalLineNumber);else k=F(124,\"{0} original line {1} modified line {2}\",w,X.originalLineNumber,X.modifiedLineNumber);break;case d7.Added:k=F(125,\"+ {0} modified line {1}\",w,X.modifiedLineNumber);break;case d7.Deleted:k=F(126,\"- {0} original line {1}\",w,X.originalLineNumber);break}return A.setAttribute(\"aria-label\",k),A}_getLineHtml(X,Y,Z,Q,$){let q=X.getLineContent(Q),G=Y.get(59),U=Y.get(117).verticalScrollbarSize,H=b1.createEmpty(q,$),V=K7.isBasicASCII(q,X.mightContainNonBasicASCII()),K=K7.containsRTL(q,V,X.mightContainRTL());return RV(new u9(G.isMonospace&&!Y.get(40),G.canUseHalfwidthRightwardsArrow,q,!1,V,K,0,H,[],Z,0,G.spaceWidth,G.middotWidth,G.wsmiddotWidth,Y.get(133),Y.get(113),Y.get(108),Y.get(60)!==R7.OFF,null,null,U)).html}};qu=Gu([Uu(5,j6)],qu);class Hu{constructor(J){this.editors=J}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(J){this.editors.original.revealRange(J),this.editors.original.setSelection(J),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(J){if(J)this.editors.modified.revealRange(J),this.editors.modified.setSelection(J);this.editors.modified.focus()}modifiedSetSelection(J){this.editors.modified.setSelection(J)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}x(\"diffEditor.move.border\",\"#8b8b8b9c\",F(153,\"The border color for text that got moved in the diff editor.\"));x(\"diffEditor.moveActive.border\",\"#FFA500\",F(154,\"The active border color for text that got moved in the diff editor.\"));x(\"diffEditor.unchangedRegionShadow\",{dark:\"#000000\",light:\"#737373BF\",hcDark:\"#000000\",hcLight:\"#737373BF\"},F(155,\"The color of the shadow around unchanged region widgets.\"));var UM0=c8(\"diff-insert\",t.add,F(156,\"Line decoration for inserts in the diff editor.\")),Vu=c8(\"diff-remove\",t.remove,F(157,\"Line decoration for removals in the diff editor.\")),Ku=n0.register({className:\"line-insert\",description:\"line-insert\",isWholeLine:!0,linesDecorationsClassName:\"insert-sign \"+M0.asClassName(UM0),marginClassName:\"gutter-insert\"}),ju=n0.register({className:\"line-delete\",description:\"line-delete\",isWholeLine:!0,linesDecorationsClassName:\"delete-sign \"+M0.asClassName(Vu),marginClassName:\"gutter-delete\"}),Wu=n0.register({className:\"line-insert\",description:\"line-insert\",isWholeLine:!0,marginClassName:\"gutter-insert\"}),zu=n0.register({className:\"line-delete\",description:\"line-delete\",isWholeLine:!0,marginClassName:\"gutter-delete\"}),Fu=n0.register({className:\"char-insert\",description:\"char-insert\",shouldFillLineOnLineBreak:!0}),G$0=n0.register({className:\"char-insert\",description:\"char-insert\",isWholeLine:!0}),U$0=n0.register({className:\"char-insert diff-range-empty\",description:\"char-insert diff-range-empty\"}),XA=n0.register({className:\"char-delete\",description:\"char-delete\",shouldFillLineOnLineBreak:!0}),H$0=n0.register({className:\"char-delete\",description:\"char-delete\",isWholeLine:!0}),V$0=n0.register({className:\"char-delete diff-range-empty\",description:\"char-delete diff-range-empty\"});var K$0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Bu=function(J,X){return function(Y,Z){X(Y,Z,J)}},BU,Pu=W0(\"diffProviderFactoryService\"),_u=class{constructor(X){this.instantiationService=X}createDiffProvider(X){return this.instantiationService.createInstance(Au,X)}};_u=K$0([Bu(0,w0)],_u);f0(Pu,_u,1);var Au=class{static{BU=this}static{this.diffCache=new Map}constructor(X,Y,Z){this.editorWorkerService=Y,this.telemetryService=Z,this.onDidChangeEventEmitter=new E,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm=\"advanced\",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(X)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.onDidChangeEventEmitter.dispose()}async computeDiff(X,Y,Z,Q){if(typeof this.diffAlgorithm!==\"string\")return this.diffAlgorithm.computeDiff(X,Y,Z,Q);if(X.isDisposed()||Y.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(X.getLineCount()===1&&X.getLineMaxColumn(1)===1){if(Y.getLineCount()===1&&Y.getLineMaxColumn(1)===1)return{changes:[],identical:!0,quitEarly:!1,moves:[]};return{changes:[new L5(new D0(1,2),new D0(1,Y.getLineCount()+1),[new o8(X.getFullModelRange(),Y.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]}}let $=JSON.stringify([X.uri.toString(),Y.uri.toString()]),q=JSON.stringify([X.id,Y.id,X.getAlternativeVersionId(),Y.getAlternativeVersionId(),JSON.stringify(Z)]),G=BU.diffCache.get($);if(G&&G.context===q)return G.result;let U=v5.create(),H=await this.editorWorkerService.computeDiff(X.uri,Y.uri,Z,this.diffAlgorithm),V=U.elapsed();if(this.telemetryService.publicLog2(\"diffEditor.computeDiff\",{timeMs:V,timedOut:H?.quitEarly??!0,detectedMoves:Z.computeMoves?H?.moves.length??0:-1}),Q.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!H)throw Error(\"no diff result available\");if(BU.diffCache.size>10)BU.diffCache.delete(BU.diffCache.keys().next().value);return BU.diffCache.set($,{result:H,context:q}),H}setOptions(X){let Y=!1;if(X.diffAlgorithm){if(this.diffAlgorithm!==X.diffAlgorithm){if(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=X.diffAlgorithm,typeof X.diffAlgorithm!==\"string\")this.diffAlgorithmOnDidChangeSubscription=X.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire());Y=!0}}if(Y)this.onDidChangeEventEmitter.fire()}};Au=BU=K$0([Bu(1,R2),Bu(2,k7)],Au);function j$0(J,X,Y,Z){if(!X)X=(Q)=>Q!==null&&Q!==void 0;return new Promise((Q,$)=>{let q=!0,G=!1,U=J.map((V)=>{return{isFinished:X(V),error:Y?Y(V):!1,state:V}}),H=C0((V)=>{let{isFinished:K,error:j,state:W}=U.read(V);if(K||j){if(q)G=!0;else H.dispose();if(j)$(j===!0?W:j);else Q(W)}});if(Z){let V=Z.onCancellationRequested(()=>{H.dispose(),V.dispose(),$(new PJ)});if(Z.isCancellationRequested){H.dispose(),V.dispose(),$(new PJ);return}}if(q=!1,G)H.dispose()})}function b5(J,X,Y=K6.ofCaller()){return new W$0(typeof J===\"string\"?J:new K8(J,void 0,void 0),X,Y)}class W$0 extends x9{constructor(J,X,Y){super(Y);this.event=X,this.handleEvent=()=>{k1((Z)=>{for(let Q of this._observers)Z.updateObserver(Q,this),Q.handleChange(this,void 0)},()=>this.debugName)},this.debugName=typeof J===\"string\"?J:J.getDebugName(this)??\"Observable Signal From Event\"}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}var HM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},VM0=function(J,X){return function(Y,Z){X(Y,Z,J)}},zL=class extends y{setActiveMovedText(X){this._activeMovedText.set(X,void 0)}constructor(X,Y,Z){super();this.model=X,this._options=Y,this._diffProviderFactoryService=Z,this._isDiffUpToDate=A0(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=A0(this,void 0),this.diff=this._diff,this._unchangedRegions=A0(this,void 0),this.unchangedRegions=z0(this,(G)=>{if(this._options.hideUnchangedRegions.read(G))return this._unchangedRegions.read(G)?.regions??[];else return k1((U)=>{for(let H of this._unchangedRegions.read(void 0)?.regions||[])H.collapseAll(U)}),[]}),this.movedTextToCompare=A0(this,void 0),this._activeMovedText=A0(this,void 0),this._hoveredMovedText=A0(this,void 0),this.activeMovedText=z0(this,(G)=>this.movedTextToCompare.read(G)??this._hoveredMovedText.read(G)??this._activeMovedText.read(G)),this._cancellationTokenSource=new S8,this._diffProvider=z0(this,(G)=>{let U=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(G)}),H=b5(\"onDidChange\",U.onDidChange);return{diffProvider:U,onChangeSignal:H}}),this._register(J0(()=>this._cancellationTokenSource.cancel()));let Q=MY(\"contentChangedSignal\"),$=this._register(new B1(()=>Q.trigger(void 0),200));this._register(C0((G)=>{let U=this._unchangedRegions.read(G);if(!U||U.regions.some((z)=>z.isDragged.read(G)))return;let H=U.originalDecorationIds.map((z)=>X.original.getDecorationRange(z)).map((z)=>z?D0.fromRangeInclusive(z):void 0),V=U.modifiedDecorationIds.map((z)=>X.modified.getDecorationRange(z)).map((z)=>z?D0.fromRangeInclusive(z):void 0),K=U.regions.map((z,B)=>!H[B]||!V[B]?void 0:new O3(H[B].startLineNumber,V[B].startLineNumber,H[B].length,z.visibleLineCountTop.read(G),z.visibleLineCountBottom.read(G))).filter(Y7),j=[],W=!1;for(let z of gH(K,(B,P)=>B.getHiddenModifiedRange(G).endLineNumberExclusive===P.getHiddenModifiedRange(G).startLineNumber))if(z.length>1){W=!0;let B=z.reduce((_,A)=>_+A.lineCount,0),P=new O3(z[0].originalLineNumber,z[0].modifiedLineNumber,B,z[0].visibleLineCountTop.read(void 0),z[z.length-1].visibleLineCountBottom.read(void 0));j.push(P)}else j.push(z[0]);if(W){let z=X.original.deltaDecorations(U.originalDecorationIds,j.map((P)=>({range:P.originalUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}}))),B=X.modified.deltaDecorations(U.modifiedDecorationIds,j.map((P)=>({range:P.modifiedUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}})));k1((P)=>{this._unchangedRegions.set({regions:j,originalDecorationIds:z,modifiedDecorationIds:B},P)})}}));let q=(G,U,H)=>{let V=O3.fromDiffs(G.changes,X.original.getLineCount(),X.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(H),this._options.hideUnchangedRegionsContextLineCount.read(H)),K=void 0,j=this._unchangedRegions.get();if(j){let P=j.originalDecorationIds.map((D)=>X.original.getDecorationRange(D)).map((D)=>D?D0.fromRangeInclusive(D):void 0),_=j.modifiedDecorationIds.map((D)=>X.modified.getDecorationRange(D)).map((D)=>D?D0.fromRangeInclusive(D):void 0),O=J$0(j.regions.map((D,R)=>{if(!P[R]||!_[R])return;let N=P[R].length;return new O3(P[R].startLineNumber,_[R].startLineNumber,N,Math.min(D.visibleLineCountTop.get(),N),Math.min(D.visibleLineCountBottom.get(),N-D.visibleLineCountTop.get()))}).filter(Y7),(D,R)=>!R||D.modifiedLineNumber>=R.modifiedLineNumber+R.lineCount&&D.originalLineNumber>=R.originalLineNumber+R.lineCount).map((D)=>new W8(D.getHiddenOriginalRange(H),D.getHiddenModifiedRange(H)));O=W8.clip(O,D0.ofLength(1,X.original.getLineCount()),D0.ofLength(1,X.modified.getLineCount())),K=W8.inverse(O,X.original.getLineCount(),X.modified.getLineCount())}let W=[];if(K)for(let P of V){let _=K.filter((A)=>A.original.intersectsStrict(P.originalUnchangedRange)&&A.modified.intersectsStrict(P.modifiedUnchangedRange));W.push(...P.setVisibleRanges(_,U))}else W.push(...V);let z=X.original.deltaDecorations(j?.originalDecorationIds||[],W.map((P)=>({range:P.originalUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}}))),B=X.modified.deltaDecorations(j?.modifiedDecorationIds||[],W.map((P)=>({range:P.modifiedUnchangedRange.toInclusiveRange(),options:{description:\"unchanged\"}})));this._unchangedRegions.set({regions:W,originalDecorationIds:z,modifiedDecorationIds:B},U)};this._register(X.modified.onDidChangeContent((G)=>{if(this._diff.get()){let H=dJ.fromModelContentChanges(G.changes);F$0(this._lastDiff,H,X.original,X.modified)}this._isDiffUpToDate.set(!1,void 0),$.schedule()})),this._register(X.original.onDidChangeContent((G)=>{if(this._diff.get()){let H=dJ.fromModelContentChanges(G.changes);z$0(this._lastDiff,H,X.original,X.modified)}this._isDiffUpToDate.set(!1,void 0),$.schedule()})),this._register(C0(async(G)=>{let U=G.store;this._options.hideUnchangedRegionsMinimumLineCount.read(G),this._options.hideUnchangedRegionsContextLineCount.read(G),$.cancel(),Q.read(G);let H=this._diffProvider.read(G);H.onChangeSignal.read(G),this._isDiffUpToDate.set(!1,void 0);let V=[];U.add(X.original.onDidChangeContent((W)=>{let z=dJ.fromModelContentChanges(W.changes);V=FK(V,z)}));let K=[];U.add(X.modified.onDidChangeContent((W)=>{let z=dJ.fromModelContentChanges(W.changes);K=FK(K,z)}));let j=await H.diffProvider.computeDiff(X.original,X.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(G),maxComputationTimeMs:this._options.maxComputationTimeMs.read(G),computeMoves:this._options.showMoves.read(G)},this._cancellationTokenSource.token).catch(Ox);if(!j||this._cancellationTokenSource.token.isCancellationRequested)return;if(X.original.isDisposed()||X.modified.isDisposed())return;j=KM0(j,X.original,X.modified),j=z$0(j,V,X.original,X.modified)??j,j=F$0(j,K,X.original,X.modified)??j,k1((W)=>{q(j,W),this._lastDiff=j;let z=Du.fromDiffResult(j);this._diff.set(z,W),this._isDiffUpToDate.set(!0,W);let B=this.movedTextToCompare.read(void 0);this.movedTextToCompare.set(B?this._lastDiff.moves.find((P)=>P.lineRangeMapping.modified.intersect(B.lineRangeMapping.modified)):void 0,W)})}))}ensureModifiedLineIsVisible(X,Y,Z){if(this.diff.get()?.mappings.length===0)return;let Q=this._unchangedRegions.get()?.regions||[];for(let $ of Q)if($.getHiddenModifiedRange(void 0).contains(X)){$.showModifiedLine(X,Y,Z);return}}ensureOriginalLineIsVisible(X,Y,Z){if(this.diff.get()?.mappings.length===0)return;let Q=this._unchangedRegions.get()?.regions||[];for(let $ of Q)if($.getHiddenOriginalRange(void 0).contains(X)){$.showOriginalLine(X,Y,Z);return}}async waitForDiff(){await j$0(this.isDiffUpToDate,(X)=>X,void 0,this._cancellationTokenSource.token).catch(Ox)}serializeState(){return{collapsedRegions:this._unchangedRegions.get()?.regions.map((Y)=>({range:Y.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(X){let Y=X.collapsedRegions?.map((Q)=>D0.deserialize(Q.range)),Z=this._unchangedRegions.get();if(!Z||!Y)return;k1((Q)=>{for(let $ of Z.regions)for(let q of Y)if($.modifiedUnchangedRange.intersect(q)){$.setHiddenModifiedRange(q,Q);break}})}};zL=HM0([VM0(2,Pu)],zL);function KM0(J,X,Y){return{changes:J.changes.map((Z)=>new L5(Z.original,Z.modified,Z.innerChanges?Z.innerChanges.map((Q)=>jM0(Q,X,Y)):void 0)),moves:J.moves,identical:J.identical,quitEarly:J.quitEarly}}function jM0(J,X,Y){let{originalRange:Z,modifiedRange:Q}=J;if(Z.startColumn===1&&Q.startColumn===1&&(Z.endColumn!==1||Q.endColumn!==1)&&Z.endColumn===X.getLineMaxColumn(Z.endLineNumber)&&Q.endColumn===Y.getLineMaxColumn(Q.endLineNumber)&&Z.endLineNumber<X.getLineCount()&&Q.endLineNumber<Y.getLineCount())Z=Z.setEndPosition(Z.endLineNumber+1,1),Q=Q.setEndPosition(Q.endLineNumber+1,1);return new o8(Z,Q)}class Du{static fromDiffResult(J){return new Du(J.changes.map((X)=>new FL(X)),J.moves||[],J.identical,J.quitEarly)}constructor(J,X,Y,Z){this.mappings=J,this.movedTexts=X,this.identical=Y,this.quitEarly=Z}}class FL{constructor(J){this.lineRangeMapping=J}}class O3{static fromDiffs(J,X,Y,Z,Q){let $=L5.inverse(J,X,Y),q=[];for(let G of $){let U=G.original.startLineNumber,H=G.modified.startLineNumber,V=G.original.length,K=U===1&&H===1,j=U+V===X+1&&H+V===Y+1;if((K||j)&&V>=Q+Z){if(K&&!j)V-=Q;if(j&&!K)U+=Q,H+=Q,V-=Q;q.push(new O3(U,H,V,0,0))}else if(V>=Q*2+Z)U+=Q,H+=Q,V-=Q*2,q.push(new O3(U,H,V,0,0))}return q}get originalUnchangedRange(){return D0.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return D0.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(J,X,Y,Z,Q){this.originalLineNumber=J,this.modifiedLineNumber=X,this.lineCount=Y,this._visibleLineCountTop=A0(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=A0(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=z0(this,(G)=>this.visibleLineCountTop.read(G)+this.visibleLineCountBottom.read(G)===this.lineCount&&!this.isDragged.read(G)),this.isDragged=A0(this,void 0);let $=Math.max(Math.min(Z,this.lineCount),0),q=Math.max(Math.min(Q,this.lineCount-Z),0);Cy(Z===$),Cy(Q===q),this._visibleLineCountTop.set($,void 0),this._visibleLineCountBottom.set(q,void 0)}setVisibleRanges(J,X){let Y=[],Z=new y7(J.map((G)=>G.modified)).subtractFrom(this.modifiedUnchangedRange),Q=this.originalLineNumber,$=this.modifiedLineNumber,q=this.modifiedLineNumber+this.lineCount;if(Z.ranges.length===0)this.showAll(X),Y.push(this);else{let G=0;for(let U of Z.ranges){let H=G===Z.ranges.length-1;G++;let V=(H?q:U.endLineNumberExclusive)-$,K=new O3(Q,$,V,0,0);K.setHiddenModifiedRange(U,X),Y.push(K),Q=K.originalUnchangedRange.endLineNumberExclusive,$=K.modifiedUnchangedRange.endLineNumberExclusive}}return Y}shouldHideControls(J){return this._shouldHideControls.read(J)}getHiddenOriginalRange(J){return D0.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(J),this.lineCount-this._visibleLineCountTop.read(J)-this._visibleLineCountBottom.read(J))}getHiddenModifiedRange(J){return D0.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(J),this.lineCount-this._visibleLineCountTop.read(J)-this._visibleLineCountBottom.read(J))}setHiddenModifiedRange(J,X){let Y=J.startLineNumber-this.modifiedLineNumber,Z=this.modifiedLineNumber+this.lineCount-J.endLineNumberExclusive;this.setState(Y,Z,X)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(J=10,X){let Y=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+J,Y),X)}showMoreBelow(J=10,X){let Y=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+J,Y),X)}showAll(J){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),J)}showModifiedLine(J,X,Y){let Z=J+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),Q=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-J;if(X===0&&Z<Q||X===1)this._visibleLineCountTop.set(this._visibleLineCountTop.get()+Z,Y);else this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+Q,Y)}showOriginalLine(J,X,Y){let Z=J-this.originalLineNumber,Q=this.originalLineNumber+this.lineCount-J;if(X===0&&Z<Q||X===1)this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+Q-Z,this.getMaxVisibleLineCountTop()),Y);else this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+Z-Q,this.getMaxVisibleLineCountBottom()),Y)}collapseAll(J){this._visibleLineCountTop.set(0,J),this._visibleLineCountBottom.set(0,J)}setState(J,X,Y){J=Math.max(Math.min(J,this.lineCount),0),X=Math.max(Math.min(X,this.lineCount-J),0),this._visibleLineCountTop.set(J,Y),this._visibleLineCountBottom.set(X,Y)}}function z$0(J,X,Y,Z){return}function F$0(J,X,Y,Z){return}function B$0(J){let{domNode:X,renderLinesResult:Y,diffEntry:Z,originalModel:Q,clipboardService:$}=J,q=new a;return q.add(f(X,\"copy\",(G)=>{G.preventDefault();let U=X.ownerDocument.getSelection();if(!U||U.rangeCount===0)return;let H=U.getRangeAt(0);if(!H||H.collapsed)return;let V=H.startContainer.nodeType===Node.TEXT_NODE?H.startContainer.parentElement:H.startContainer,K=H.endContainer.nodeType===Node.TEXT_NODE?H.endContainer.parentElement:H.endContainer;if(!V||!K)return;let j=Y.getModelPositionAt(V,H.startOffset),W=Y.getModelPositionAt(K,H.endOffset);if(!j||!W)return;let z=j.delta(Z.original.startLineNumber-1),B=W.delta(Z.original.startLineNumber-1),P=B.isBefore(z)?T.fromPositions(B,z):T.fromPositions(z,B),_=Q.getValueInRange(P);$.writeText(_)})),q}class Ou extends y{get visibility(){return this._visibility}set visibility(J){if(this._visibility!==J)this._visibility=J,this._diffActions.style.visibility=J?\"visible\":\"hidden\"}constructor(J,X,Y,Z,Q,$,q,G,U,H){super();this._getViewZoneId=J,this._marginDomNode=X,this._deletedCodeDomNode=Y,this._modifiedEditor=Z,this._diff=Q,this._editor=$,this._renderLinesResult=q,this._originalTextModel=G,this._contextMenuService=U,this._clipboardService=H,this._visibility=!1,this._marginDomNode.style.zIndex=\"10\",this._diffActions=document.createElement(\"div\"),this._diffActions.className=M0.asClassName(t.lightBulb)+\" lightbulb-glyph\",this._diffActions.style.position=\"absolute\";let V=this._modifiedEditor.getOption(75);this._diffActions.style.right=\"0px\",this._diffActions.style.visibility=\"hidden\",this._diffActions.style.height=`${V}px`,this._diffActions.style.lineHeight=`${V}px`,this._marginDomNode.appendChild(this._diffActions);let K=0,j=Z.getOption(144)&&!n7,W=(z,B,P)=>{this._contextMenuService.showContextMenu({domForShadowRoot:j?Z.getDomNode()??void 0:void 0,getAnchor:()=>z,onHide:P,getActions:()=>{let _=[],A=Q.modified.isEmpty;if(_.push(new S9(\"diff.clipboard.copyDeletedContent\",A?Q.original.length>1?F(128,\"Copy deleted lines\"):F(129,\"Copy deleted line\"):Q.original.length>1?F(130,\"Copy changed lines\"):F(131,\"Copy changed line\"),void 0,!0,async()=>{let D=this._originalTextModel.getValueInRange(Q.original.toExclusiveRange());await this._clipboardService.writeText(D)})),Q.original.length>1)_.push(new S9(\"diff.clipboard.copyDeletedLineContent\",A?F(132,\"Copy deleted line ({0})\",Q.original.startLineNumber+K):F(133,\"Copy changed line ({0})\",Q.original.startLineNumber+K),void 0,!0,async()=>{let D=this._originalTextModel.getLineContent(Q.original.startLineNumber+K);if(D===\"\")D=this._originalTextModel.getEndOfLineSequence()===0?`\n`:`\\r\n`;await this._clipboardService.writeText(D)}));if(!Z.getOption(104))_.push(new S9(\"diff.inline.revertChange\",F(134,\"Revert this change\"),void 0,!0,async()=>{this._editor.revert(this._diff)}));return _},autoSelectFirstItem:!0})};this._register(F6(this._diffActions,\"mousedown\",(z)=>{if(!z.leftButton)return;let{top:B,height:P}=R8(this._diffActions),_=Math.floor(V/3);z.preventDefault(),W({x:z.posx,y:B+P+_})})),this._register(Z.onMouseMove((z)=>{if((z.target.type===8||z.target.type===5)&&z.target.detail.viewZoneId===this._getViewZoneId())K=this._updateLightBulbPosition(this._marginDomNode,z.event.browserEvent.y,V),this.visibility=!0;else this.visibility=!1})),this._register(B$0({domNode:this._deletedCodeDomNode,diffEntry:Q,originalModel:this._originalTextModel,renderLinesResult:this._renderLinesResult,clipboardService:H}))}_updateLightBulbPosition(J,X,Y){let{top:Z}=R8(J),Q=X-Z,$=Math.floor(Q/Y),q=$*Y;if(this._diffActions.style.top=`${q}px`,this._renderLinesResult.viewLineCounts){let G=0;for(let U=0;U<this._renderLinesResult.viewLineCounts.length;U++)if(G+=this._renderLinesResult.viewLineCounts[U],$<G)return U}return $}}var _$0=q4(\"diffEditorWidget\",{createHTML:(J)=>J});function P$0(J,X,Y,Z,Q=!1){B6(Z,X.fontInfo);let $=Y.length>0,q=new h9(1e4),G=0,U=0,H=[],V=[];for(let z=0;z<J.lineTokens.length;z++){let B=z+1,P=J.lineTokens[z],_=J.lineBreakData[z],A=x7.filter(Y,B,1,Number.MAX_SAFE_INTEGER);if(_){let O=0;for(let D of _.breakOffsets){let R=P.sliceAndInflate(O,D,0),N=A$0(U,R,x7.extractWrapped(A,O,D),$,J.mightContainNonBasicASCII,J.mightContainRTL,X,q,Q);G=Math.max(G,N.maxCharWidth),V.push(new Mu(N.output.characterMapping,N.output.containsForeignElements,O)),U++,O=D}H.push(_.breakOffsets.length)}else{H.push(1);let O=A$0(U,P,A,$,J.mightContainNonBasicASCII,J.mightContainRTL,X,q,Q);G=Math.max(G,O.maxCharWidth),V.push(new Mu(O.output.characterMapping,O.output.containsForeignElements,0)),U++}}G+=X.scrollBeyondLastColumn;let K=q.build(),j=_$0?_$0.createHTML(K):K;Z.innerHTML=j;let W=G*X.typicalHalfwidthCharacterWidth;return new D$0(U,W,H,V,J)}class Ru{constructor(J,X=J.map((Q)=>null),Y=!0,Z=!0){this.lineTokens=J,this.lineBreakData=X,this.mightContainNonBasicASCII=Y,this.mightContainRTL=Z}}class Tj{static fromEditor(J){let X=J.getOptions(),Y=X.get(59),Z=X.get(165);return new Tj(J.getModel()?.getOptions().tabSize||0,Y,X.get(40),Y.typicalHalfwidthCharacterWidth,X.get(118),X.get(75),Z.decorationsWidth,X.get(133),X.get(113),X.get(108),X.get(60),X.get(117).verticalScrollbarSize)}constructor(J,X,Y,Z,Q,$,q,G,U,H,V,K,j=!0){this.tabSize=J,this.fontInfo=X,this.disableMonospaceOptimizations=Y,this.typicalHalfwidthCharacterWidth=Z,this.scrollBeyondLastColumn=Q,this.lineHeight=$,this.lineDecorationsWidth=q,this.stopRenderingLineAfter=G,this.renderWhitespace=U,this.renderControlCharacters=H,this.fontLigatures=V,this.verticalScrollbarSize=K,this.setWidth=j}withSetWidth(J){return new Tj(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,this.scrollBeyondLastColumn,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,J)}withScrollBeyondLastColumn(J){return new Tj(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,J,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,this.setWidth)}}class D$0{constructor(J,X,Y,Z,Q){this.heightInLines=J,this.minWidthInPx=X,this.viewLineCounts=Y,this._renderOutputs=Z,this._source=Q}getModelPositionAt(J,X){let Y=J;while(Y&&!Y.classList.contains(\"view-line\"))Y=Y.parentElement;if(!Y)return;let Z=Y.parentElement;if(!Z)return;let Q=Z.querySelectorAll(\".view-line\"),$=-1;for(let V=0;V<Q.length;V++)if(Q[V]===Y){$=V;break}if($===-1||$>=this._renderOutputs.length)return;let q=1,G=$;for(let V=0;V<this.viewLineCounts.length;V++){if(G<this.viewLineCounts[V]){q=V+1;break}G-=this.viewLineCounts[V]}if(q>this._source.lineTokens.length)return;let U=this._renderOutputs[$];if(!U)return;let H=FG(U.characterMapping,J,X)+U.offset;return new C(q,H)}}class Mu extends MV{constructor(J,X,Y){super(J,X);this.offset=Y}}function A$0(J,X,Y,Z,Q,$,q,G,U){if(G.appendString('<div class=\"view-line'),!U&&!Z)G.appendString(\" char-delete\");if(G.appendString('\" style=\"top:'),G.appendString(String(J*q.lineHeight)),q.setWidth)G.appendString('px;width:1000000px;\">');else G.appendString('px;\">');let H=X.getLineContent(),V=K7.isBasicASCII(H,Q),K=K7.containsRTL(H,V,$),j=ZG(new u9(q.fontInfo.isMonospace&&!q.disableMonospaceOptimizations,q.fontInfo.canUseHalfwidthRightwardsArrow,H,!1,V,K,0,X,Y,q.tabSize,0,q.fontInfo.spaceWidth,q.fontInfo.middotWidth,q.fontInfo.wsmiddotWidth,q.stopRenderingLineAfter,q.renderWhitespace,q.renderControlCharacters,q.fontLigatures!==R7.OFF,null,null,q.verticalScrollbarSize),G);G.appendString(\"</div>\");let W=j.characterMapping.getHorizontalOffset(j.characterMapping.length);return{output:j,maxCharWidth:W}}var WM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},O$0=function(J,X){return function(Y,Z){X(Y,Z,J)}},BL=class extends y{constructor(X,Y,Z,Q,$,q,G,U,H,V){super();this._targetWindow=X,this._editors=Y,this._diffModel=Z,this._options=Q,this._diffEditorWidget=$,this._canIgnoreViewZoneUpdateEvent=q,this._origViewZonesToIgnore=G,this._modViewZonesToIgnore=U,this._clipboardService=H,this._contextMenuService=V,this._originalTopPadding=A0(this,0),this._originalScrollOffset=A0(this,0),this._originalScrollOffsetAnimated=Yu(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=A0(this,0),this._modifiedScrollOffset=A0(this,0),this._modifiedScrollOffsetAnimated=Yu(this._targetWindow,this._modifiedScrollOffset,this._store);let K=A0(\"invalidateAlignmentsState\",0),j=this._register(new B1(()=>{K.set(K.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones((O)=>{if(!this._canIgnoreViewZoneUpdateEvent())j.schedule()})),this._register(this._editors.modified.onDidChangeViewZones((O)=>{if(!this._canIgnoreViewZoneUpdateEvent())j.schedule()})),this._register(this._editors.original.onDidChangeConfiguration((O)=>{if(O.hasChanged(166)||O.hasChanged(75))j.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration((O)=>{if(O.hasChanged(166)||O.hasChanged(75))j.schedule()}));let W=this._diffModel.map((O)=>O?c1(this,O.model.original.onDidChangeTokens,()=>O.model.original.tokenization.backgroundTokenizationState===2):void 0).map((O,D)=>O?.read(D)),z=z0((O)=>{let D=this._diffModel.read(O),R=D?.diff.read(O);if(!D||!R)return null;K.read(O);let w=this._options.renderSideBySide.read(O);return M$0(this._editors.original,this._editors.modified,R.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,w)}),B=z0((O)=>{let D=this._diffModel.read(O)?.movedTextToCompare.read(O);if(!D)return null;K.read(O);let R=D.changes.map((N)=>new FL(N));return M$0(this._editors.original,this._editors.modified,R,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function P(){let O=document.createElement(\"div\");return O.className=\"diagonal-fill\",O}let _=this._register(new a);this.viewZones=z0(this,(O)=>{_.clear();let D=z.read(O)||[],R=[],N=[],w=this._modifiedTopPadding.read(O);if(w>0)N.push({afterLineNumber:0,domNode:document.createElement(\"div\"),heightInPx:w,showInHiddenAreas:!0,suppressMouseDown:!0});let k=this._originalTopPadding.read(O);if(k>0)R.push({afterLineNumber:0,domNode:document.createElement(\"div\"),heightInPx:k,showInHiddenAreas:!0,suppressMouseDown:!0});let I=this._options.renderSideBySide.read(O),S={getLineContent:(e)=>{return this._editors.original.getModel().getLineContent(e)},getLineInjectedText:(e)=>{return null}},h=!I?this._editors.modified._getViewModel()?.createLineBreaksComputer(S):void 0;if(h){let e=this._editors.original.getModel();for(let L0 of D)if(L0.diff)for(let k0=L0.originalRange.startLineNumber;k0<L0.originalRange.endLineNumberExclusive;k0++){if(k0>e.getLineCount())return{orig:R,mod:N};h?.addRequest(k0,null)}}let u=h?.finalize()??[],p=0,s=this._editors.modified.getOption(75),l=this._diffModel.read(O)?.movedTextToCompare.read(O),n=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,X0=this._editors.original.getModel()?.mightContainRTL()??!1,V0=Tj.fromEditor(this._editors.modified);for(let e of D)if(e.diff&&!I&&(!this._options.useTrueInlineDiffRendering.read(O)||!YA(e.diff))){if(!e.originalRange.isEmpty){W.read(O);let k0=document.createElement(\"div\");k0.classList.add(\"view-lines\",\"line-delete\",\"line-delete-selectable\",\"monaco-mouse-cursor-text\");let N0=this._editors.original.getModel();if(e.originalRange.endLineNumberExclusive-1>N0.getLineCount())return{orig:R,mod:N};let u0=new Ru(e.originalRange.mapToLineArray((q1)=>N0.tokenization.getLineTokens(q1)),e.originalRange.mapToLineArray((q1)=>u[p++]),n,X0),z1=[];for(let q1 of e.diff.innerChanges||[])z1.push(new fG(q1.originalRange.delta(-(e.diff.original.startLineNumber-1)),XA.className,0));let F1=P$0(u0,V0,z1,k0),e0=document.createElement(\"div\");if(e0.className=\"inline-deleted-margin-view-zone\",B6(e0,V0.fontInfo),this._options.renderIndicators.read(O))for(let q1=0;q1<F1.heightInLines;q1++){let C5=document.createElement(\"div\");C5.className=`delete-sign ${M0.asClassName(Vu)}`,C5.setAttribute(\"style\",`position:absolute;top:${q1*s}px;width:${V0.lineDecorationsWidth}px;height:${s}px;right:0;`),e0.appendChild(C5)}let v6=void 0;_.add(new Ou(()=>qq(v6),e0,k0,this._editors.modified,e.diff,this._diffEditorWidget,F1,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let q1=0;q1<F1.viewLineCounts.length;q1++){let C5=F1.viewLineCounts[q1];if(C5>1)R.push({afterLineNumber:e.originalRange.startLineNumber+q1,domNode:P(),heightInPx:(C5-1)*s,showInHiddenAreas:!0,suppressMouseDown:!0})}N.push({afterLineNumber:e.modifiedRange.startLineNumber-1,domNode:k0,heightInPx:F1.heightInLines*s,minWidthInPx:F1.minWidthInPx,marginDomNode:e0,setZoneId(q1){v6=q1},showInHiddenAreas:!0,suppressMouseDown:!1})}let L0=document.createElement(\"div\");L0.className=\"gutter-delete\",R.push({afterLineNumber:e.originalRange.endLineNumberExclusive-1,domNode:P(),heightInPx:e.modifiedHeightInPx,marginDomNode:L0,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let L0=e.modifiedHeightInPx-e.originalHeightInPx;if(L0>0){if(l?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(e.originalRange.endLineNumberExclusive-1))continue;R.push({afterLineNumber:e.originalRange.endLineNumberExclusive-1,domNode:P(),heightInPx:L0,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let k0=function(){let u0=document.createElement(\"div\");return u0.className=\"arrow-revert-change \"+M0.asClassName(t.arrowRight),O.store.add(f(u0,\"mousedown\",(z1)=>z1.stopPropagation())),O.store.add(f(u0,\"click\",(z1)=>{z1.stopPropagation(),$.revert(e.diff)})),$0(\"div\",{},u0)};if(l?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(e.modifiedRange.endLineNumberExclusive-1))continue;let N0=void 0;if(e.diff&&e.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(O))N0=k0();N.push({afterLineNumber:e.modifiedRange.endLineNumberExclusive-1,domNode:P(),heightInPx:-L0,marginDomNode:N0,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(let e of B.read(O)??[]){if(!l?.lineRangeMapping.original.intersect(e.originalRange)||!l?.lineRangeMapping.modified.intersect(e.modifiedRange))continue;let L0=e.modifiedHeightInPx-e.originalHeightInPx;if(L0>0)R.push({afterLineNumber:e.originalRange.endLineNumberExclusive-1,domNode:P(),heightInPx:L0,showInHiddenAreas:!0,suppressMouseDown:!0});else N.push({afterLineNumber:e.modifiedRange.endLineNumberExclusive-1,domNode:P(),heightInPx:-L0,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:R,mod:N}});let A=!1;this._register(this._editors.original.onDidScrollChange((O)=>{if(O.scrollLeftChanged&&!A)A=!0,this._editors.modified.setScrollLeft(O.scrollLeft),A=!1})),this._register(this._editors.modified.onDidScrollChange((O)=>{if(O.scrollLeftChanged&&!A)A=!0,this._editors.original.setScrollLeft(O.scrollLeft),A=!1})),this._originalScrollTop=c1(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=c1(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(C0((O)=>{let D=this._originalScrollTop.read(O)-(this._originalScrollOffsetAnimated.read(void 0)-this._modifiedScrollOffsetAnimated.read(O))-(this._originalTopPadding.read(void 0)-this._modifiedTopPadding.read(O));if(D!==this._editors.modified.getScrollTop())this._editors.modified.setScrollTop(D,1)})),this._register(C0((O)=>{let D=this._modifiedScrollTop.read(O)-(this._modifiedScrollOffsetAnimated.read(void 0)-this._originalScrollOffsetAnimated.read(O))-(this._modifiedTopPadding.read(void 0)-this._originalTopPadding.read(O));if(D!==this._editors.original.getScrollTop())this._editors.original.setScrollTop(D,1)})),this._register(C0((O)=>{let D=this._diffModel.read(O)?.movedTextToCompare.read(O),R=0;if(D){let N=this._editors.original.getTopForLineNumber(D.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.read(void 0);R=this._editors.modified.getTopForLineNumber(D.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.read(void 0)-N}if(R>0)this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(R,void 0);else if(R<0)this._modifiedTopPadding.set(-R,void 0),this._originalTopPadding.set(0,void 0);else setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400);if(this._editors.modified.hasTextFocus())this._originalScrollOffset.set(this._modifiedScrollOffset.read(void 0)-R,void 0,!0);else this._modifiedScrollOffset.set(this._originalScrollOffset.read(void 0)+R,void 0,!0)}))}};BL=WM0([O$0(8,F4),O$0(9,Y5)],BL);function M$0(J,X,Y,Z,Q,$){let q=new AJ(R$0(J,Z)),G=new AJ(R$0(X,Q)),U=J.getOption(75),H=X.getOption(75),V=[],K=0,j=0;function W(z,B){while(!0){let P=q.peek(),_=G.peek();if(P&&P.lineNumber>=z)P=void 0;if(_&&_.lineNumber>=B)_=void 0;if(!P&&!_)break;let A=P?P.lineNumber-K:Number.MAX_VALUE,O=_?_.lineNumber-j:Number.MAX_VALUE;if(A<O)q.dequeue(),_={lineNumber:P.lineNumber-K+j,heightInPx:0};else if(A>O)G.dequeue(),P={lineNumber:_.lineNumber-j+K,heightInPx:0};else q.dequeue(),G.dequeue();V.push({originalRange:D0.ofLength(P.lineNumber,1),modifiedRange:D0.ofLength(_.lineNumber,1),originalHeightInPx:U+P.heightInPx,modifiedHeightInPx:H+_.heightInPx,diff:void 0})}}for(let z of Y){let O=function(D,R,N=!1){if(D<A||R<_)return;if(P)P=!1;else if(!N&&(D===A||R===_))return;let w=new D0(A,D),k=new D0(_,R);if(w.isEmpty&&k.isEmpty)return;let I=q.takeWhile((h)=>h.lineNumber<D)?.reduce((h,u)=>h+u.heightInPx,0)??0,S=G.takeWhile((h)=>h.lineNumber<R)?.reduce((h,u)=>h+u.heightInPx,0)??0;V.push({originalRange:w,modifiedRange:k,originalHeightInPx:w.length*U+I,modifiedHeightInPx:k.length*H+S,diff:z.lineRangeMapping}),A=D,_=R},B=z.lineRangeMapping;W(B.original.startLineNumber,B.modified.startLineNumber);let P=!0,_=B.modified.startLineNumber,A=B.original.startLineNumber;if($)for(let D of B.innerChanges||[]){if(D.originalRange.startColumn>1&&D.modifiedRange.startColumn>1)O(D.originalRange.startLineNumber,D.modifiedRange.startLineNumber);let R=J.getModel(),N=D.originalRange.endLineNumber<=R.getLineCount()?R.getLineMaxColumn(D.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;if(D.originalRange.endColumn<N)O(D.originalRange.endLineNumber,D.modifiedRange.endLineNumber)}O(B.original.endLineNumberExclusive,B.modified.endLineNumberExclusive,!0),K=B.original.endLineNumberExclusive,j=B.modified.endLineNumberExclusive}return W(Number.MAX_VALUE,Number.MAX_VALUE),V}function R$0(J,X){let Y=[],Z=[],Q=J.getOption(166).wrappingColumn!==-1,$=J._getViewModel().coordinatesConverter,q=J.getOption(75);if(Q)for(let U=1;U<=J.getModel().getLineCount();U++){let H=$.getModelLineViewLineCount(U);if(H>1)Z.push({lineNumber:U,heightInPx:q*(H-1)})}for(let U of J.getWhitespaces()){if(X.has(U.id))continue;let H=U.afterLineNumber===0?0:$.convertViewPositionToModelPosition(new C(U.afterLineNumber,1)).lineNumber;Y.push({lineNumber:H,heightInPx:U.height})}return tQ0(Y,Z,(U)=>U.lineNumber,(U,H)=>({lineNumber:U.lineNumber,heightInPx:U.heightInPx+H.heightInPx}))}function YA(J){if(!J.innerChanges)return!1;return J.innerChanges.every((X)=>N$0(X.modifiedRange)&&N$0(X.originalRange)||X.originalRange.equalsRange(new T(1,1,1,1)))}function N$0(J){return J.startLineNumber===J.endLineNumber}class Z$ extends y{static{this.movedCodeBlockPadding=4}constructor(J,X,Y,Z,Q){super();this._rootElement=J,this._diffModel=X,this._originalEditorLayoutInfo=Y,this._modifiedEditorLayoutInfo=Z,this._editors=Q,this._originalScrollTop=c1(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=c1(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=b5(\"onDidChangeViewZones\",this._editors.modified.onDidChangeViewZones),this.width=A0(this,0),this._modifiedViewZonesChangedSignal=b5(\"modified.onDidChangeViewZones\",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=b5(\"original.onDidChangeViewZones\",this._editors.original.onDidChangeViewZones),this._state=z0(this,(H)=>{this._element.replaceChildren();let V=this._diffModel.read(H),K=V?.diff.read(H)?.movedTexts;if(!K||K.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(H);let j=this._originalEditorLayoutInfo.read(H),W=this._modifiedEditorLayoutInfo.read(H);if(!j||!W){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(H),this._originalViewZonesChangedSignal.read(H);let z=K.map((R)=>{function N(l,n){let X0=n.getTopForLineNumber(l.startLineNumber,!0),V0=n.getTopForLineNumber(l.endLineNumberExclusive,!0);return(X0+V0)/2}let w=N(R.lineRangeMapping.original,this._editors.original),k=this._originalScrollTop.read(H),I=N(R.lineRangeMapping.modified,this._editors.modified),S=this._modifiedScrollTop.read(H),h=w-k,u=I-S,p=Math.min(w,I),s=Math.max(w,I);return{range:new H0(p,s),from:h,to:u,fromWithoutScroll:w,toWithoutScroll:I,move:R}});z.sort(or(V5((R)=>R.fromWithoutScroll>R.toWithoutScroll,nr),V5((R)=>R.fromWithoutScroll>R.toWithoutScroll?R.fromWithoutScroll:-R.toWithoutScroll,I9)));let B=wu.compute(z.map((R)=>R.range)),P=10,_=j.verticalScrollbarWidth,A=(B.getTrackCount()-1)*10+P*2,O=_+A+(W.contentLeft-Z$.movedCodeBlockPadding),D=0;for(let R of z){let N=B.getTrack(D),w=_+P+N*10,k=15,I=15,S=O,h=W.glyphMarginWidth+W.lineNumbersWidth,u=18,p=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");p.classList.add(\"arrow-rectangle\"),p.setAttribute(\"x\",`${S-h}`),p.setAttribute(\"y\",`${R.to-9}`),p.setAttribute(\"width\",`${h}`),p.setAttribute(\"height\",\"18\"),this._element.appendChild(p);let s=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"),l=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");l.setAttribute(\"d\",`M 0 ${R.from} L ${w} ${R.from} L ${w} ${R.to} L ${S-15} ${R.to}`),l.setAttribute(\"fill\",\"none\"),s.appendChild(l);let n=document.createElementNS(\"http://www.w3.org/2000/svg\",\"polygon\");n.classList.add(\"arrow\"),H.store.add(C0((X0)=>{l.classList.toggle(\"currentMove\",R.move===V.activeMovedText.read(X0)),n.classList.toggle(\"currentMove\",R.move===V.activeMovedText.read(X0))})),n.setAttribute(\"points\",`${S-15},${R.to-7.5} ${S},${R.to} ${S-15},${R.to+7.5}`),s.appendChild(n),this._element.appendChild(s),D++}this.width.set(A,void 0)}),this._element=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this._element.setAttribute(\"class\",\"moved-blocks-lines\"),this._rootElement.appendChild(this._element),this._register(J0(()=>this._element.remove())),this._register(C0((H)=>{let V=this._originalEditorLayoutInfo.read(H),K=this._modifiedEditorLayoutInfo.read(H);if(!V||!K)return;this._element.style.left=`${V.width-V.verticalScrollbarWidth}px`,this._element.style.height=`${V.height}px`,this._element.style.width=`${V.verticalScrollbarWidth+V.contentLeft-Z$.movedCodeBlockPadding+this.width.read(H)}px`})),this._register(Y2(this._state));let $=z0((H)=>{let K=this._diffModel.read(H)?.diff.read(H);if(!K)return[];return K.movedTexts.map((j)=>({move:j,original:new Y$(oQ(j.lineRangeMapping.original.startLineNumber-1),18),modified:new Y$(oQ(j.lineRangeMapping.modified.startLineNumber-1),18)}))});this._register(Nj(this._editors.original,$.map((H)=>H.map((V)=>V.original)))),this._register(Nj(this._editors.modified,$.map((H)=>H.map((V)=>V.modified)))),this._register(U7((H,V)=>{let K=$.read(H);for(let j of K)V.add(new Nu(this._editors.original,j.original,j.move,\"original\",this._diffModel.get())),V.add(new Nu(this._editors.modified,j.modified,j.move,\"modified\",this._diffModel.get()))}));let q=b5(\"original.onDidFocusEditorWidget\",(H)=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>H(void 0),0))),G=b5(\"modified.onDidFocusEditorWidget\",(H)=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>H(void 0),0))),U=\"modified\";this._register(OY({changeTracker:{createChangeSummary:()=>{return},handleChange:(H,V)=>{if(H.didChange(q))U=\"original\";if(H.didChange(G))U=\"modified\";return!0}}},(H)=>{q.read(H),G.read(H);let V=this._diffModel.read(H);if(!V)return;let K=V.diff.read(H),j=void 0;if(K&&U===\"original\"){let W=this._editors.originalCursor.read(H);if(W)j=K.movedTexts.find((z)=>z.lineRangeMapping.original.contains(W.lineNumber))}if(K&&U===\"modified\"){let W=this._editors.modifiedCursor.read(H);if(W)j=K.movedTexts.find((z)=>z.lineRangeMapping.modified.contains(W.lineNumber))}if(j!==V.movedTextToCompare.read(void 0))V.movedTextToCompare.set(void 0,void 0);V.setActiveMovedText(j)}))}}class wu{static compute(J){let X=[],Y=[];for(let Z of J){let Q=X.findIndex(($)=>!$.intersectsStrict(Z));if(Q===-1)if(X.length>=6)Q=A00(X,V5((q)=>q.intersectWithRangeLength(Z),I9));else Q=X.length,X.push(new mM);X[Q].addRange(Z),Y.push(Q)}return new wu(X.length,Y)}constructor(J,X){this._trackCount=J,this.trackPerLineIdx=X}getTrack(J){return this.trackPerLineIdx[J]}getTrackCount(){return this._trackCount}}class Nu extends Rj{constructor(J,X,Y,Z,Q){let $=Z1(\"div.diff-hidden-lines-widget\");super(J,X,$.root);this._editor=J,this._move=Y,this._kind=Z,this._diffModel=Q,this._nodes=Z1(\"div.diff-moved-code-block\",{style:{marginRight:\"4px\"}},[Z1(\"div.text-content@textContent\"),Z1(\"div.action-bar@actionBar\")]),$.root.appendChild(this._nodes.root);let q=c1(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(JJ(this._nodes.root,{paddingRight:q.map((K)=>K.verticalScrollbarWidth)}));let G;if(Y.changes.length>0)G=this._kind===\"original\"?F(147,\"Code moved with changes to line {0}-{1}\",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):F(148,\"Code moved with changes from line {0}-{1}\",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);else G=this._kind===\"original\"?F(149,\"Code moved to line {0}-{1}\",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):F(150,\"Code moved from line {0}-{1}\",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);let U=this._register(new m7(this._nodes.actionBar,{highlightToggledItems:!0})),H=new S9(\"\",G,\"\",!1);U.push(H,{icon:!1,label:!0});let V=new S9(\"\",\"Compare\",M0.asClassName(t.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===Y?void 0:this._move,void 0)});this._register(C0((K)=>{let j=this._diffModel.movedTextToCompare.read(K)===Y;V.checked=j})),U.push(V,{icon:!1,label:!0})}}class Tu extends y{constructor(J,X,Y,Z){super();this._editors=J,this._diffModel=X,this._options=Y,this._decorations=z0(this,(Q)=>{let $=this._diffModel.read(Q),q=$?.diff.read(Q);if(!q)return null;let G=this._diffModel.read(Q).movedTextToCompare.read(Q),U=this._options.renderIndicators.read(Q),H=this._options.showEmptyDecorations.read(Q),V=[],K=[];if(!G)for(let W of q.mappings){if(!W.lineRangeMapping.original.isEmpty)V.push({range:W.lineRangeMapping.original.toInclusiveRange(),options:U?ju:zu});if(!W.lineRangeMapping.modified.isEmpty)K.push({range:W.lineRangeMapping.modified.toInclusiveRange(),options:U?Ku:Wu});if(W.lineRangeMapping.modified.isEmpty||W.lineRangeMapping.original.isEmpty){if(!W.lineRangeMapping.original.isEmpty)V.push({range:W.lineRangeMapping.original.toInclusiveRange(),options:H$0});if(!W.lineRangeMapping.modified.isEmpty)K.push({range:W.lineRangeMapping.modified.toInclusiveRange(),options:G$0})}else{let z=this._options.useTrueInlineDiffRendering.read(Q)&&YA(W.lineRangeMapping);for(let B of W.lineRangeMapping.innerChanges||[]){if(W.lineRangeMapping.original.contains(B.originalRange.startLineNumber))V.push({range:B.originalRange,options:B.originalRange.isEmpty()&&H?V$0:XA});if(W.lineRangeMapping.modified.contains(B.modifiedRange.startLineNumber))K.push({range:B.modifiedRange,options:B.modifiedRange.isEmpty()&&H&&!z?U$0:Fu});if(z){let P=$.model.original.getValueInRange(B.originalRange);K.push({range:B.modifiedRange,options:{description:\"deleted-text\",before:{content:P,inlineClassName:\"inline-deleted-text\"},zIndex:1e5,showIfCollapsed:!0}})}}}}if(G)for(let W of G.changes){let z=W.original.toInclusiveRange();if(z)V.push({range:z,options:U?ju:zu});let B=W.modified.toInclusiveRange();if(B)K.push({range:B,options:U?Ku:Wu});for(let P of W.innerChanges||[])V.push({range:P.originalRange,options:XA}),K.push({range:P.modifiedRange,options:Fu})}let j=this._diffModel.read(Q).activeMovedText.read(Q);for(let W of q.movedTexts)V.push({range:W.lineRangeMapping.original.toInclusiveRange(),options:{description:\"moved\",blockClassName:\"movedOriginal\"+(W===j?\" currentMove\":\"\"),blockPadding:[Z$.movedCodeBlockPadding,0,Z$.movedCodeBlockPadding,Z$.movedCodeBlockPadding]}}),K.push({range:W.lineRangeMapping.modified.toInclusiveRange(),options:{description:\"moved\",blockClassName:\"movedModified\"+(W===j?\" currentMove\":\"\"),blockPadding:[4,0,4,4]}});return{originalDecorations:V,modifiedDecorations:K}}),this._register(Mj(this._editors.original,this._decorations.map((Q)=>Q?.originalDecorations||[]))),this._register(Mj(this._editors.modified,this._decorations.map((Q)=>Q?.modifiedDecorations||[])))}}class oJ{static equals(J,X){return J.x===X.x&&J.y===X.y}constructor(J,X){this.x=J,this.y=X}add(J){return new oJ(this.x+J.x,this.y+J.y)}deltaX(J){return new oJ(this.x+J,this.y)}deltaY(J){return new oJ(this.x,this.y+J)}toString(){return`(${this.x},${this.y})`}subtract(J){return new oJ(this.x-J.x,this.y-J.y)}scale(J){return new oJ(this.x*J,this.y*J)}mapComponents(J){return new oJ(J(this.x),J(this.y))}isZero(){return this.x===0&&this.y===0}withThreshold(J){return this.mapComponents((X)=>{if(X>J)return X-J;else if(X<-J)return X+J;return 0})}}function FZ(J){return _U.get(J)}class _U extends y{static{this._map=new Map}static get(J){let X=_U._map.get(J);if(!X){X=new _U(J),_U._map.set(J,X);let Y=J.onDidDispose(()=>{let Z=_U._map.get(J);if(Z)_U._map.delete(J),Z.dispose(),Y.dispose()})}return X}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)this._currentTransaction=new HQ(()=>{})}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){let J=this._currentTransaction;this._currentTransaction=void 0,J.finish()}}constructor(J){super();this.editor=J,this._sawZeroLineWidth=!1,this._onDidContainerResize=b9({owner:this,getTransaction:()=>this._currentTransaction},(X)=>{let Y=this.editor.getContainerDomNode(),Z=new ResizeObserver(()=>{if(this._sawZeroLineWidth)this._sawZeroLineWidth=!1,this.editor.resetLineWidthCaches();X(void 0)});return Z.observe(Y),{dispose:()=>Z.disconnect()}},()=>({})),this._updateCounter=0,this._currentTransaction=void 0,this._model=A0(this,this.editor.getModel()),this.model=this._model,this.isReadonly=b9({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidChangeConfiguration,()=>this.editor.getOption(104)),this._versionId=a2({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=a2({owner:this,equalsFn:e$(XV(Y0.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.positions=T7({owner:this,equalsFn:e$(XV(C.equals))},(X)=>this.selections.read(X)?.map((Y)=>Y.getStartPosition())??null),this.isFocused=b9({owner:this,getTransaction:()=>this._currentTransaction},(X)=>{let Y=this.editor.onDidFocusEditorWidget(X),Z=this.editor.onDidBlurEditorWidget(X);return{dispose(){Y.dispose(),Z.dispose()}}},()=>this.editor.hasWidgetFocus()),this.isTextFocused=b9({owner:this,getTransaction:()=>this._currentTransaction},(X)=>{let Y=this.editor.onDidFocusEditorText(X),Z=this.editor.onDidBlurEditorText(X);return{dispose(){Y.dispose(),Z.dispose()}}},()=>this.editor.hasTextFocus()),this.inComposition=b9({owner:this,getTransaction:()=>this._currentTransaction},(X)=>{let Y=this.editor.onDidCompositionStart(()=>{X(void 0)}),Z=this.editor.onDidCompositionEnd(()=>{X(void 0)});return{dispose(){Y.dispose(),Z.dispose()}}},()=>this.editor.inComposition),this.value=Eq(this,(X)=>{return this.versionId.read(X),this.model.read(X)?.getValue()??\"\"},(X,Y)=>{let Z=this.model.get();if(Z!==null){if(X!==Z.getValue())Z.setValue(X)}}),this.valueIsEmpty=z0(this,(X)=>{return this.versionId.read(X),this.editor.getModel()?.getValueLength()===0}),this.cursorSelection=T7({owner:this,equalsFn:e$(Y0.selectionsEqual)},(X)=>this.selections.read(X)?.[0]??null),this.cursorPosition=T7({owner:this,equalsFn:C.equals},(X)=>this.selections.read(X)?.[0]?.getPosition()??null),this.cursorLineNumber=z0(this,(X)=>this.cursorPosition.read(X)?.lineNumber??null),this.onDidType=MY(this),this.onDidPaste=MY(this),this.scrollTop=b9({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=b9({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=b9({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map((X)=>X.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map((X)=>X.decorationsLeft),this.layoutInfoWidth=this.layoutInfo.map((X)=>X.width),this.layoutInfoHeight=this.layoutInfo.map((X)=>X.height),this.layoutInfoMinimap=this.layoutInfo.map((X)=>X.minimap),this.layoutInfoVerticalScrollbarWidth=this.layoutInfo.map((X)=>X.verticalScrollbarWidth),this.contentWidth=b9({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this.contentHeight=b9({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidContentSizeChange,()=>this.editor.getContentHeight()),this._onDidChangeViewZones=b5(this,this.editor.onDidChangeViewZones),this._onDidHiddenAreasChanged=b5(this,this.editor.onDidChangeHiddenAreas),this._onDidLineHeightChanged=b5(this,this.editor.onDidChangeLineHeight),this._widgetCounter=0,this.openedPeekWidgets=A0(this,0),this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType((X)=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,X)}finally{this._endUpdate()}})),this._register(this.editor.onDidPaste((X)=>{this._beginUpdate();try{this._forceUpdate(),this.onDidPaste.trigger(this._currentTransaction,X)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent((X)=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,X),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection((X)=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,X),this._forceUpdate()}finally{this._endUpdate()}})),this.domNode=z0((X)=>{return this.model.read(X),this.editor.getDomNode()})}transaction(J){this._beginUpdate();try{return J(this._currentTransaction)}finally{this._endUpdate()}}forceUpdate(J){this._beginUpdate();try{if(this._forceUpdate(),!J)return;return J(this._currentTransaction)}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(J,X=K6.ofCaller()){return c1(this,(Y)=>this.editor.onDidChangeConfiguration((Z)=>{if(Z.hasChanged(J))Y(void 0)}),()=>this.editor.getOption(J),X)}setDecorations(J){let X=new a,Y=this.editor.createDecorationsCollection();return X.add(Cz({owner:this,debugName:()=>`Apply decorations from ${J.debugName}`},(Z)=>{let Q=J.read(Z);Y.set(Q)})),X.add({dispose:()=>{Y.clear()}}),X}createOverlayWidget(J){let X=\"observableOverlayWidget\"+this._widgetCounter++,Y={getDomNode:()=>J.domNode,getPosition:()=>J.position.get(),getId:()=>X,allowEditorOverflow:J.allowEditorOverflow,getMinContentWidthInPx:()=>J.minContentWidthInPx.get()};this.editor.addOverlayWidget(Y);let Z=C0((Q)=>{J.position.read(Q),J.minContentWidthInPx.read(Q),this.editor.layoutOverlayWidget(Y)});return J0(()=>{Z.dispose(),this.editor.removeOverlayWidget(Y)})}createContentWidget(J){let X=\"observableContentWidget\"+this._widgetCounter++,Y={getDomNode:()=>J.domNode,getPosition:()=>J.position.get(),getId:()=>X,allowEditorOverflow:J.allowEditorOverflow};this.editor.addContentWidget(Y);let Z=C0((Q)=>{J.position.read(Q),this.editor.layoutContentWidget(Y)});return J0(()=>{Z.dispose(),this.editor.removeContentWidget(Y)})}observeLineOffsetRange(J,X){let Y=this.observePosition(J.map((Q)=>new C(Q.startLineNumber,1)),X),Z=this.observePosition(J.map((Q)=>new C(Q.endLineNumberExclusive+1,1)),X);return z0((Q)=>{Y.read(Q),Z.read(Q);let $=J.read(Q),q=this.model.read(Q)?.getLineCount(),G=(typeof q<\"u\"&&$.startLineNumber>q?this.editor.getBottomForLineNumber(q):this.editor.getTopForLineNumber($.startLineNumber))-this.scrollTop.read(Q),U=$.isEmpty?G:this.editor.getBottomForLineNumber($.endLineNumberExclusive-1)-this.scrollTop.read(Q);return new H0(G,U)})}getLeftOfPosition(J,X){this.layoutInfo.read(X),this.value.read(X);let Y=this.editor.getOffsetForColumn(J.lineNumber,J.column);if(Y===-1){let Z=this.editor.getOption(59).typicalHalfwidthCharacterWidth;Y=J.column*Z}return Y}observePosition(J,X){let Y=J.get(),Z=a2({owner:this,debugName:()=>`topLeftOfPosition${Y?.toString()}`,equalsFn:e$(oJ.equals)},new oJ(0,0)),Q=\"observablePositionWidget\"+this._widgetCounter++,$=document.createElement(\"div\"),q={getDomNode:()=>$,getPosition:()=>{return Y?{preference:[0],position:J.get()}:null},getId:()=>Q,allowEditorOverflow:!1,useDisplayNone:!0,afterRender:(G,U)=>{let H=this._model.get();if(H&&Y&&Y.lineNumber>H.getLineCount())Z.set(new oJ(0,this.editor.getBottomForLineNumber(H.getLineCount())-this.scrollTop.get()),void 0);else Z.set(U?new oJ(U.left,U.top):null,void 0)}};return this.editor.addContentWidget(q),X.add(C0((G)=>{Y=J.read(G),this.editor.layoutContentWidget(q)})),X.add(J0(()=>{this.editor.removeContentWidget(q)})),Z}isTargetHovered(J,X){let Y=A0(\"isInjectedTextHovered\",!1);return X.add(this.editor.onMouseMove((Z)=>{let Q=J(Z);Y.set(Q,void 0)})),X.add(this.editor.onMouseLeave((Z)=>{Y.set(!1,void 0)})),Y}observeLineHeightForPosition(J){return z0((X)=>{let Y=J instanceof C?J:J.read(X);if(Y===null)return null;return this.getOption(75).read(X),this.editor.getLineHeightForPosition(Y)})}observeLineHeightForLine(J){if(typeof J===\"number\")return this.observeLineHeightForPosition(new C(J,1));return z0((X)=>{let Y=J.read(X);if(Y===null)return null;return this.observeLineHeightForPosition(new C(Y,1)).read(X)})}observeLineHeightsForLineRange(J){return z0((X)=>{let Y=J instanceof D0?J:J.read(X),Z=[];for(let Q=Y.startLineNumber;Q<Y.endLineNumberExclusive;Q++)Z.push(this.observeLineHeightForLine(Q).read(X));return Z})}getWidthOfLine(J,X){this.layoutInfo.read(X),this.value.read(X),this.scrollTop.read(X);let Y=this.editor.getWidthOfLine(J);if(this._onDidContainerResize.read(X),Y===0)this._sawZeroLineWidth=!0;return Y}observeTopForLineNumber(J){return z0((X)=>{return this.layoutInfo.read(X),this._onDidChangeViewZones.read(X),this._onDidHiddenAreasChanged.read(X),this._onDidLineHeightChanged.read(X),this._versionId.read(X),this.editor.getTopForLineNumber(J)})}}var zM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},FM0=function(J,X){return function(Y,Z){X(Y,Z,J)}},lX,AU=class extends y{static{lX=this}static{this.ONE_OVERVIEW_WIDTH=15}static{this.ENTIRE_DIFF_OVERVIEW_WIDTH=this.ONE_OVERVIEW_WIDTH*2}constructor(X,Y,Z,Q,$,q,G){super();this._editors=X,this._rootElement=Y,this._diffModel=Z,this._rootWidth=Q,this._rootHeight=$,this._modifiedEditorLayoutInfo=q,this._themeService=G,this.width=lX.ENTIRE_DIFF_OVERVIEW_WIDTH;let U=c1(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),H=z0((j)=>{let W=U.read(j),z=W.getColor(r10)||(W.getColor(a10)||KR).transparent(2),B=W.getColor(o10)||(W.getColor(i10)||jR).transparent(2);return{insertColor:z,removeColor:B}}),V=p0(document.createElement(\"div\"));V.setClassName(\"diffViewport\"),V.setPosition(\"absolute\");let K=Z1(\"div.diffOverview\",{style:{position:\"absolute\",top:\"0px\",width:lX.ENTIRE_DIFF_OVERVIEW_WIDTH+\"px\"}}).root;this._register(FU(K,V.domNode)),this._register(F6(K,r.POINTER_DOWN,(j)=>{this._editors.modified.delegateVerticalScrollbarPointerDown(j)})),this._register(f(K,r.MOUSE_WHEEL,(j)=>{this._editors.modified.delegateScrollFromMouseWheelEvent(j)},{passive:!1})),this._register(FU(this._rootElement,K)),this._register(U7((j,W)=>{let z=this._diffModel.read(j),B=this._editors.original.createOverviewRuler(\"original diffOverviewRuler\");if(B)W.add(B),W.add(FU(K,B.getDomNode()));let P=this._editors.modified.createOverviewRuler(\"modified diffOverviewRuler\");if(P)W.add(P),W.add(FU(K,P.getDomNode()));if(!B||!P)return;let _=b5(\"viewZoneChanged\",this._editors.original.onDidChangeViewZones),A=b5(\"viewZoneChanged\",this._editors.modified.onDidChangeViewZones),O=b5(\"hiddenRangesChanged\",this._editors.original.onDidChangeHiddenAreas),D=b5(\"hiddenRangesChanged\",this._editors.modified.onDidChangeHiddenAreas);W.add(C0((R)=>{_.read(R),A.read(R),O.read(R),D.read(R);let N=H.read(R),w=z?.diff.read(R)?.mappings;function k(h,u,p){let s=p._getViewModel();if(!s)return[];return h.filter((l)=>l.length>0).map((l)=>{let n=s.coordinatesConverter.convertModelPositionToViewPosition(new C(l.startLineNumber,1)),X0=s.coordinatesConverter.convertModelPositionToViewPosition(new C(l.endLineNumberExclusive,1)),V0=X0.lineNumber-n.lineNumber;return new YN(n.lineNumber,X0.lineNumber,V0,u.toString())})}let I=k((w||[]).map((h)=>h.lineRangeMapping.original),N.removeColor,this._editors.original),S=k((w||[]).map((h)=>h.lineRangeMapping.modified),N.insertColor,this._editors.modified);B?.setZones(I),P?.setZones(S)})),W.add(C0((R)=>{let N=this._rootHeight.read(R),w=this._rootWidth.read(R),k=this._modifiedEditorLayoutInfo.read(R);if(k){let I=lX.ENTIRE_DIFF_OVERVIEW_WIDTH-2*lX.ONE_OVERVIEW_WIDTH;B.setLayout({top:0,height:N,right:I+lX.ONE_OVERVIEW_WIDTH,width:lX.ONE_OVERVIEW_WIDTH}),P.setLayout({top:0,height:N,right:0,width:lX.ONE_OVERVIEW_WIDTH});let S=this._editors.modifiedScrollTop.read(R),h=this._editors.modifiedScrollHeight.read(R),u=this._editors.modified.getOption(117),p=new kQ(u.verticalHasArrows?u.arrowSize:0,u.verticalScrollbarSize,0,k.height,h,S);V.setTop(p.getSliderPosition()),V.setHeight(p.getSliderSize())}else V.setTop(0),V.setHeight(0);K.style.height=N+\"px\",K.style.left=w-lX.ENTIRE_DIFF_OVERVIEW_WIDTH+\"px\",V.setWidth(lX.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};AU=lX=zM0([FM0(6,L6)],AU);var BM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Lu=function(J,X){return function(Y,Z){X(Y,Z,J)}},_L=class extends y{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(X,Y,Z,Q,$,q,G,U){super();this.originalEditorElement=X,this.modifiedEditorElement=Y,this._options=Z,this._argCodeEditorWidgetOptions=Q,this._createInnerEditor=$,this._contextKeyService=q,this._instantiationService=G,this._keybindingService=U,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new E),this.modifiedScrollTop=c1(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=c1(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=FZ(this.modified),this.originalObs=FZ(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=c1(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=T7({owner:this,equalsFn:C.equals},(H)=>this.modifiedSelections.read(H)[0]?.getPosition()??new C(1,1)),this.originalCursor=c1(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new C(1,1)),this.isOriginalFocused=FZ(this.original).isFocused,this.isModifiedFocused=FZ(this.modified).isFocused,this.isFocused=z0(this,(H)=>this.isOriginalFocused.read(H)||this.isModifiedFocused.read(H)),this._argCodeEditorWidgetOptions=null,this._register(OY({changeTracker:{createChangeSummary:()=>({}),handleChange:(H,V)=>{if(H.didChange(Z.editorOptions))Object.assign(V,H.change.changedOptions);return!0}}},(H,V)=>{Z.editorOptions.read(H),this._options.renderSideBySide.read(H),this.modified.updateOptions(this._adjustOptionsForRightHandSide(H,V)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(H,V))}))}_createLeftHandSideEditor(X,Y){let Z=this._adjustOptionsForLeftHandSide(void 0,X),Q=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,Z,Y),$=this._contextKeyService.createKey(\"isInDiffLeftEditor\",Q.hasWidgetFocus());return this._register(Q.onDidFocusEditorWidget(()=>$.set(!0))),this._register(Q.onDidBlurEditorWidget(()=>$.set(!1))),Q}_createRightHandSideEditor(X,Y){let Z=this._adjustOptionsForRightHandSide(void 0,X),Q=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,Z,Y),$=this._contextKeyService.createKey(\"isInDiffRightEditor\",Q.hasWidgetFocus());return this._register(Q.onDidFocusEditorWidget(()=>$.set(!0))),this._register(Q.onDidBlurEditorWidget(()=>$.set(!1))),Q}_constructInnerEditor(X,Y,Z,Q){let $=this._createInnerEditor(X,Y,Z,Q);return this._register($.onDidContentSizeChange((q)=>{let G=this.original.getContentWidth()+this.modified.getContentWidth()+AU.ENTIRE_DIFF_OVERVIEW_WIDTH,U=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:U,contentWidth:G,contentHeightChanged:q.contentHeightChanged,contentWidthChanged:q.contentWidthChanged})})),$}_adjustOptionsForLeftHandSide(X,Y){let Z=this._adjustOptionsForSubEditor(Y);if(!this._options.renderSideBySide.get())Z.wordWrapOverride1=\"off\",Z.wordWrapOverride2=\"off\",Z.stickyScroll={enabled:!1},Z.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1};else Z.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},Z.wordWrapOverride1=this._options.diffWordWrap.get();if(Z.glyphMargin=this._options.renderSideBySide.get(),Y.originalAriaLabel)Z.ariaLabel=Y.originalAriaLabel;return Z.ariaLabel=this._updateAriaLabel(Z.ariaLabel),Z.readOnly=!this._options.originalEditable.get(),Z.dropIntoEditor={enabled:!Z.readOnly},Z.extraEditorClassName=\"original-in-monaco-diff-editor\",Z}_adjustOptionsForRightHandSide(X,Y){let Z=this._adjustOptionsForSubEditor(Y);if(Y.modifiedAriaLabel)Z.ariaLabel=Y.modifiedAriaLabel;return Z.ariaLabel=this._updateAriaLabel(Z.ariaLabel),Z.wordWrapOverride1=this._options.diffWordWrap.get(),Z.revealHorizontalRightPadding=I8.revealHorizontalRightPadding.defaultValue+AU.ENTIRE_DIFF_OVERVIEW_WIDTH,Z.scrollbar.verticalHasArrows=!1,Z.extraEditorClassName=\"modified-in-monaco-diff-editor\",Z}_adjustOptionsForSubEditor(X){let Y={...X,dimension:{height:0,width:0}};if(Y.inDiffEditor=!0,Y.automaticLayout=!1,Y.allowVariableLineHeights=!1,Y.allowVariableFonts=!1,Y.allowVariableFontsInAccessibilityMode=!1,Y.scrollbar={...Y.scrollbar||{}},Y.folding=!1,Y.codeLens=this._options.diffCodeLens.get(),Y.fixedOverflowWidgets=!0,Y.minimap={...Y.minimap||{}},Y.minimap.enabled=!1,this._options.hideUnchangedRegions.get())Y.stickyScroll={enabled:!1};else Y.stickyScroll=this._options.editorOptions.get().stickyScroll;return Y}_updateAriaLabel(X){if(!X)X=\"\";let Y=F(127,\" use {0} to open the accessibility help.\",this._keybindingService.lookupKeybinding(\"editor.action.accessibilityHelp\")?.getAriaLabel());if(this._options.accessibilityVerbose.get())return X+Y;else if(X)return X.replaceAll(Y,\"\");return\"\"}};_L=BM0([Lu(5,E0),Lu(6,w0),Lu(7,T1)],_L);class Iu{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(J,X){this._options=J,this.dimensions=X,this.sashLeft=Eq(this,(Y)=>{let Z=this._sashRatio.read(Y)??this._options.splitViewDefaultRatio.read(Y);return this._computeSashLeft(Z,Y)},(Y,Z)=>{let Q=this.dimensions.width.get();this._sashRatio.set(Y/Q,Z)}),this._sashRatio=A0(this,void 0)}_computeSashLeft(J,X){let Y=this.dimensions.width.read(X),Z=Math.floor(this._options.splitViewDefaultRatio.read(X)*Y),Q=this._options.enableSplitViewResizing.read(X)?Math.floor(J*Y):Z,$=100;if(Y<=200)return Z;if(Q<100)return 100;if(Q>Y-100)return Y-100;return Q}}class ZA extends y{constructor(J,X,Y,Z,Q,$){super();this._domNode=J,this._dimensions=X,this._enabled=Y,this._boundarySashes=Z,this.sashLeft=Q,this._resetSash=$,this._sash=this._register(new u7(this._domNode,{getVerticalSashTop:(q)=>0,getVerticalSashLeft:(q)=>this.sashLeft.get(),getVerticalSashHeight:(q)=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange((q)=>{this.sashLeft.set(this._startSashPosition+(q.currentX-q.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(C0((q)=>{let G=this._boundarySashes.read(q);if(G)this._sash.orthogonalEndSash=G.bottom})),this._register(C0((q)=>{let G=this._enabled.read(q);this._sash.state=G?3:0,this.sashLeft.read(q),this._dimensions.height.read(q),this._sash.layout()}))}}class AL extends y{constructor(){super(...arguments);this._id=++AL.idCounter,this._onDidDispose=this._register(new E),this.onDidDispose=this._onDidDispose.event}static{this.idCounter=0}getId(){return this.getEditorType()+\":v2:\"+this._id}getVisibleColumnFromPosition(J){return this._targetEditor.getVisibleColumnFromPosition(J)}getPosition(){return this._targetEditor.getPosition()}setPosition(J,X=\"api\"){this._targetEditor.setPosition(J,X)}revealLine(J,X=0){this._targetEditor.revealLine(J,X)}revealLineInCenter(J,X=0){this._targetEditor.revealLineInCenter(J,X)}revealLineInCenterIfOutsideViewport(J,X=0){this._targetEditor.revealLineInCenterIfOutsideViewport(J,X)}revealLineNearTop(J,X=0){this._targetEditor.revealLineNearTop(J,X)}revealPosition(J,X=0){this._targetEditor.revealPosition(J,X)}revealPositionInCenter(J,X=0){this._targetEditor.revealPositionInCenter(J,X)}revealPositionInCenterIfOutsideViewport(J,X=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(J,X)}revealPositionNearTop(J,X=0){this._targetEditor.revealPositionNearTop(J,X)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(J,X=\"api\"){this._targetEditor.setSelection(J,X)}setSelections(J,X=\"api\"){this._targetEditor.setSelections(J,X)}revealLines(J,X,Y=0){this._targetEditor.revealLines(J,X,Y)}revealLinesInCenter(J,X,Y=0){this._targetEditor.revealLinesInCenter(J,X,Y)}revealLinesInCenterIfOutsideViewport(J,X,Y=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(J,X,Y)}revealLinesNearTop(J,X,Y=0){this._targetEditor.revealLinesNearTop(J,X,Y)}revealRange(J,X=0,Y=!1,Z=!0){this._targetEditor.revealRange(J,X,Y,Z)}revealRangeInCenter(J,X=0){this._targetEditor.revealRangeInCenter(J,X)}revealRangeInCenterIfOutsideViewport(J,X=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(J,X)}revealRangeNearTop(J,X=0){this._targetEditor.revealRangeNearTop(J,X)}revealRangeNearTopIfOutsideViewport(J,X=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(J,X)}revealRangeAtTop(J,X=0){this._targetEditor.revealRangeAtTop(J,X)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(J,X,Y){this._targetEditor.trigger(J,X,Y)}createDecorationsCollection(J){return this._targetEditor.createDecorationsCollection(J)}changeDecorations(J){return this._targetEditor.changeDecorations(J)}}function w$0(J,X){return px(J,(Y,Z)=>Z??X(Y))}var _M0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},AM0=function(J,X){return function(Y,Z){X(Y,Z,J)}},PL=class{get editorOptions(){return this._options}constructor(X,Y){this._accessibilityService=Y,this._diffEditorWidth=A0(this,0),this._screenReaderMode=c1(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=z0(this,(Q)=>this._options.read(Q).renderSideBySide&&this._diffEditorWidth.read(Q)<=this._options.read(Q).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=z0(this,(Q)=>this._options.read(Q).renderOverviewRuler),this.renderSideBySide=z0(this,(Q)=>{if(this.compactMode.read(Q)){if(this.shouldRenderInlineViewInSmartMode.read(Q))return!1}return this._options.read(Q).renderSideBySide&&!(this._options.read(Q).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(Q)&&!this._screenReaderMode.read(Q))}),this.readOnly=z0(this,(Q)=>this._options.read(Q).readOnly),this.shouldRenderOldRevertArrows=z0(this,(Q)=>{if(!this._options.read(Q).renderMarginRevertIcon)return!1;if(!this.renderSideBySide.read(Q))return!1;if(this.readOnly.read(Q))return!1;if(this.shouldRenderGutterMenu.read(Q))return!1;return!0}),this.shouldRenderGutterMenu=z0(this,(Q)=>this._options.read(Q).renderGutterMenu),this.renderIndicators=z0(this,(Q)=>this._options.read(Q).renderIndicators),this.enableSplitViewResizing=z0(this,(Q)=>this._options.read(Q).enableSplitViewResizing),this.splitViewDefaultRatio=z0(this,(Q)=>this._options.read(Q).splitViewDefaultRatio),this.ignoreTrimWhitespace=z0(this,(Q)=>this._options.read(Q).ignoreTrimWhitespace),this.maxComputationTimeMs=z0(this,(Q)=>this._options.read(Q).maxComputationTime),this.showMoves=z0(this,(Q)=>this._options.read(Q).experimental.showMoves&&this.renderSideBySide.read(Q)),this.isInEmbeddedEditor=z0(this,(Q)=>this._options.read(Q).isInEmbeddedEditor),this.diffWordWrap=z0(this,(Q)=>this._options.read(Q).diffWordWrap),this.originalEditable=z0(this,(Q)=>this._options.read(Q).originalEditable),this.diffCodeLens=z0(this,(Q)=>this._options.read(Q).diffCodeLens),this.accessibilityVerbose=z0(this,(Q)=>this._options.read(Q).accessibilityVerbose),this.diffAlgorithm=z0(this,(Q)=>this._options.read(Q).diffAlgorithm),this.showEmptyDecorations=z0(this,(Q)=>this._options.read(Q).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=z0(this,(Q)=>this._options.read(Q).onlyShowAccessibleDiffViewer),this.compactMode=z0(this,(Q)=>this._options.read(Q).compactMode),this.trueInlineDiffRenderingEnabled=z0(this,(Q)=>this._options.read(Q).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=z0(this,(Q)=>!this.renderSideBySide.read(Q)&&this.trueInlineDiffRenderingEnabled.read(Q)),this.hideUnchangedRegions=z0(this,(Q)=>this._options.read(Q).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=z0(this,(Q)=>this._options.read(Q).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=z0(this,(Q)=>this._options.read(Q).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=z0(this,(Q)=>this._options.read(Q).hideUnchangedRegions.minimumLineCount),this._model=A0(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,(Q)=>w$0(this,($)=>{let q=Q?.diff.read($);return q?PM0(q,this.trueInlineDiffRenderingEnabled.read($)):void 0})).flatten().map(this,(Q)=>!!Q),this.inlineViewHideOriginalLineNumbers=this.compactMode;let Z={...X,...T$0(X,Q5)};this._options=A0(this,Z)}updateOptions(X){let Y=T$0(X,this._options.get()),Z={...this._options.get(),...X,...Y};this._options.set(Z,void 0,{changedOptions:X})}setWidth(X){this._diffEditorWidth.set(X,void 0)}setModel(X){this._model.set(X,void 0)}};PL=_M0([AM0(1,c6)],PL);function PM0(J,X){return J.mappings.every((Y)=>DM0(Y.lineRangeMapping)||OM0(Y.lineRangeMapping)||X&&YA(Y.lineRangeMapping))}function DM0(J){return J.original.length===0}function OM0(J){return J.modified.length===0}function T$0(J,X){return{enableSplitViewResizing:_0(J.enableSplitViewResizing,X.enableSplitViewResizing),splitViewDefaultRatio:Lo(J.splitViewDefaultRatio,0.5,0.1,0.9),renderSideBySide:_0(J.renderSideBySide,X.renderSideBySide),renderMarginRevertIcon:_0(J.renderMarginRevertIcon,X.renderMarginRevertIcon),maxComputationTime:zX(J.maxComputationTime,X.maxComputationTime,0,1073741824),maxFileSize:zX(J.maxFileSize,X.maxFileSize,0,1073741824),ignoreTrimWhitespace:_0(J.ignoreTrimWhitespace,X.ignoreTrimWhitespace),renderIndicators:_0(J.renderIndicators,X.renderIndicators),originalEditable:_0(J.originalEditable,X.originalEditable),diffCodeLens:_0(J.diffCodeLens,X.diffCodeLens),renderOverviewRuler:_0(J.renderOverviewRuler,X.renderOverviewRuler),diffWordWrap:S1(J.diffWordWrap,X.diffWordWrap,[\"off\",\"on\",\"inherit\"]),diffAlgorithm:S1(J.diffAlgorithm,X.diffAlgorithm,[\"legacy\",\"advanced\",\"advanced-external\",\"advanced-wasm\"],{smart:\"legacy\",experimental:\"advanced\"}),accessibilityVerbose:_0(J.accessibilityVerbose,X.accessibilityVerbose),experimental:{showMoves:_0(J.experimental?.showMoves,X.experimental.showMoves),showEmptyDecorations:_0(J.experimental?.showEmptyDecorations,X.experimental.showEmptyDecorations),useTrueInlineView:_0(J.experimental?.useTrueInlineView,X.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:_0(J.hideUnchangedRegions?.enabled??J.experimental?.collapseUnchangedRegions,X.hideUnchangedRegions.enabled),contextLineCount:zX(J.hideUnchangedRegions?.contextLineCount,X.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:zX(J.hideUnchangedRegions?.minimumLineCount,X.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:zX(J.hideUnchangedRegions?.revealLineCount,X.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:_0(J.isInEmbeddedEditor,X.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:_0(J.onlyShowAccessibleDiffViewer,X.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:zX(J.renderSideBySideInlineBreakpoint,X.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:_0(J.useInlineViewWhenSpaceIsLimited,X.useInlineViewWhenSpaceIsLimited),renderGutterMenu:_0(J.renderGutterMenu,X.renderGutterMenu),compactMode:_0(J.compactMode,X.compactMode)}}var ku=W0(\"IActionViewItemService\");class L$0{constructor(){this._providers=new Map,this._onDidChange=new E,this.onDidChange=this._onDidChange.event}dispose(){this._onDidChange.dispose()}lookUp(J,X){return this._providers.get(this._makeKey(J,X))}_makeKey(J,X){return`${J.id}/${X instanceof b?X.id:X}`}}f0(ku,L$0,1);var I$0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},F9=function(J,X){return function(Y,Z){X(Y,Z,J)}},Eu=class extends cX{constructor(X,Y,Z,Q,$,q,G,U){super(X,$,{getKeyBinding:(V)=>q.lookupKeybinding(V.id)??void 0,...Y,allowContextMenu:!0,skipTelemetry:typeof Y?.telemetrySource===\"string\"});this._options=Y,this._menuService=Z,this._contextKeyService=Q,this._contextMenuService=$,this._keybindingService=q,this._commandService=G,this._sessionDisposables=this._store.add(new a);let H=Y?.telemetrySource;if(H)this._store.add(this.actionBar.onDidRun((V)=>U.publicLog2(\"workbenchActionExecuted\",{id:V.action.id,from:H})))}setActions(X,Y=[],Z){this._sessionDisposables.clear();let Q=X.slice(),$=Y.slice(),q=[],G=0,U=[],H=!1;if(this._options?.hiddenItemStrategy!==-1)for(let V=0;V<Q.length;V++){let K=Q[V];if(K instanceof h1){U[V]=K;continue}if(!(K instanceof CJ)&&!(K instanceof RY))continue;if(!K.hideActions)continue;if(q.push(K.hideActions.toggle),K.hideActions.toggle.checked)G++;if(K.hideActions.isHidden){if(H=!0,Q[V]=void 0,this._options?.hiddenItemStrategy!==0)U[V]=K}}if(this._options?.overflowBehavior!==void 0){let V=ON(new Set(this._options.overflowBehavior.exempted),s0.map(Q,(W)=>W?.id)),K=this._options.overflowBehavior.maxItems-V.size,j=0;for(let W=0;W<Q.length;W++){let z=Q[W];if(!z)continue;if(j++,V.has(z.id))continue;if(j>=K)Q[W]=void 0,U[W]=z}}if(yy(Q),yy(U),super.setActions(h1.clean(Q),h1.join(h1.clean(U),$)),q.length>0||Q.length>0)this._sessionDisposables.add(f(this.getElement(),\"contextmenu\",(V)=>{let K=new k8(Q0(this.getElement()),V),j=this.getItemAction(K.target);if(!j)return;K.preventDefault(),K.stopPropagation();let W=[];if(j instanceof CJ&&j.menuKeybinding)W.push(j.menuKeybinding);else if(!(j instanceof RY||j instanceof KU)){let B=!!this._keybindingService.lookupKeybinding(j.id);W.push(lg(this._commandService,this._keybindingService,j.id,void 0,B))}if(q.length>0){let B=!1;if(G===1&&this._options?.hiddenItemStrategy===0){B=!0;for(let P=0;P<q.length;P++)if(q[P].checked){q[P]=bJ({id:j.id,label:j.label,checked:!0,enabled:!1,run(){}});break}}if(!B&&(j instanceof CJ||j instanceof RY)){if(!j.hideActions)return;W.push(j.hideActions.hide)}else W.push(bJ({id:\"label\",label:F(1701,\"Hide\"),enabled:!1,run(){}}))}let z=h1.join(W,q);if(this._options?.resetMenu&&!Z)Z=[this._options.resetMenu];if(H&&Z)z.push(new h1),z.push(bJ({id:\"resetThisMenu\",label:F(1702,\"Reset Menu\"),run:()=>this._menuService.resetHiddenStates(Z)}));if(z.length===0)return;this._contextMenuService.showContextMenu({getAnchor:()=>K,getActions:()=>z,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:typeof this._options?.telemetrySource===\"string\",contextKeyService:this._contextKeyService})}))}};Eu=I$0([F9(2,SJ),F9(3,E0),F9(4,Y5),F9(5,T1),F9(6,h8),F9(7,k7)],Eu);var Lj=class extends Eu{get onDidChangeMenuItems(){return this._onDidChangeMenuItems.event}constructor(X,Y,Z,Q,$,q,G,U,H,V,K){super(X,{resetMenu:Y,...Z,actionViewItemProvider:(j,W)=>{let z=V.lookUp(Y,j instanceof RY?j.item.submenu.id:j.id);if(!z)z=Z?.actionViewItemProvider;let B=z?.(j,W,K,Q0(X).vscodeWindowId);if(B)return B;return QT(K,j,W)}},Q,$,q,G,U,H);this._onDidChangeMenuItems=this._store.add(new E),this._container=X,this._menuOptions=Z?.menuOptions,this._toolbarOptions=Z?.toolbarOptions,this._menu=this._store.add(Q.createMenu(Y,$,{emitEventsForSubmenuChanges:!0,eventDebounceDelay:Z?.eventDebounceDelay})),this._store.add(this._menu.onDidChange(()=>{this._updateToolbar(),this._onDidChangeMenuItems.fire(this)})),this._store.add(V.onDidChange((j)=>{if(j===Y)this._updateToolbar()})),this._updateToolbar()}_updateToolbar(){let{primary:X,secondary:Y}=WY0(this._menu.getActions(this._menuOptions),this._toolbarOptions?.primaryGroup,this._toolbarOptions?.shouldInlineSubmenu,this._toolbarOptions?.useSeparatorsInPrimaryActions);this._container.classList.toggle(\"has-no-actions\",X.length===0&&Y.length===0),super.setActions(X,Y)}setActions(){throw new j0(\"This toolbar is populated from a menu.\")}};Lj=I$0([F9(3,SJ),F9(4,E0),F9(5,Y5),F9(6,T1),F9(7,h8),F9(8,k7),F9(9,ku),F9(10,w0)],Lj);class DL extends $F{constructor(J){super();this._textModel=J}getValueOfRange(J){return this._textModel.getValueInRange(J)}getLineLength(J){return this._textModel.getLineLength(J)}get length(){let J=this._textModel.getLineCount(),X=this._textModel.getLineLength(J);return new f6(J-1,X)}}class QA extends Q9{constructor(J){super();this._getContext=J}runAction(J,X){let Y=this._getContext();return super.runAction(J,Y)}}class yu extends y{constructor(J,X,Y){super();this._editor=J,this._domNode=X,this.itemProvider=Y,this.scrollTop=c1(this,this._editor.onDidScrollChange,($)=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(($)=>$===0),this.modelAttached=c1(this,this._editor.onDidChangeModel,($)=>this._editor.hasModel()),this.editorOnDidChangeViewZones=b5(\"onDidChangeViewZones\",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=b5(\"onDidContentSizeChange\",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=MY(\"domNodeSizeChanged\"),this.views=this._register(new VX),this._domNode.className=\"gutter monaco-editor\";let Z=this._domNode.appendChild(Z1(\"div.scroll-decoration\",{role:\"presentation\",ariaHidden:\"true\",style:{width:\"100%\"}}).root),Q=new ResizeObserver(()=>{k1(($)=>{this.domNodeSizeChanged.trigger($)})});Q.observe(this._domNode),this._register(J0(()=>Q.disconnect())),this._register(C0(($)=>{Z.className=this.isScrollTopZero.read($)?\"\":\"scroll-decoration\"})),this._register(C0(($)=>this.render($)))}dispose(){super.dispose(),$8(this._domNode)}render(J){if(!this.modelAttached.read(J))return;this.domNodeSizeChanged.read(J),this.editorOnDidChangeViewZones.read(J),this.editorOnDidContentSizeChange.read(J);let X=this.scrollTop.read(J),Y=this._editor.getVisibleRanges(),Z=new Set(this.views.keys()),Q=H0.ofStartAndLength(0,this._domNode.clientHeight);if(!Q.isEmpty)for(let $ of Y){let q=new D0($.startLineNumber,$.endLineNumber+1),G=this.itemProvider.getIntersectingGutterItems(q,J);k1((U)=>{for(let H of G){if(!H.range.intersect(q))continue;Z.delete(H.id);let V=this.views.get(H.id);if(!V){let z=document.createElement(\"div\");this._domNode.appendChild(z);let B=A0(\"item\",H),P=this.itemProvider.createView(B,z);V=new k$0(B,P,z),this.views.set(H.id,V)}else V.item.set(H,U);let K=H.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(H.range.startLineNumber,!0)-X:H.range.startLineNumber>1?this._editor.getBottomForLineNumber(H.range.startLineNumber-1,!1)-X:0,W=(H.range.endLineNumberExclusive===1?Math.max(K,this._editor.getTopForLineNumber(H.range.startLineNumber,!1)-X):Math.max(K,this._editor.getBottomForLineNumber(H.range.endLineNumberExclusive-1,!0)-X))-K;V.domNode.style.top=`${K}px`,V.domNode.style.height=`${W}px`,V.gutterItemView.layout(H0.ofStartAndLength(K,W),Q)}})}for(let $ of Z)this.views.deleteAndDispose($)}}class k$0{constructor(J,X,Y){this.item=J,this.gutterItemView=X,this.domNode=Y}dispose(){this.gutterItemView.dispose(),this.domNode.remove()}}var E$0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},ML=function(J,X){return function(Y,Z){X(Y,Z,J)}},xu=[],OL=35,RL=class extends y{constructor(X,Y,Z,Q,$,q,G,U,H){super();this._diffModel=Y,this._editors=Z,this._options=Q,this._sashLayout=$,this._boundarySashes=q,this._instantiationService=G,this._contextKeyService=U,this._menuService=H,this._menu=this._register(this._menuService.createMenu(b.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=c1(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map((K)=>K.length>0),this._showSash=z0(this,(K)=>this._options.renderSideBySide.read(K)&&this._hasActions.read(K)),this.width=z0(this,(K)=>this._hasActions.read(K)?OL:0),this.elements=Z1(\"div.gutter@gutter\",{style:{position:\"absolute\",height:\"100%\",width:OL+\"px\"}},[]),this._currentDiff=z0(this,(K)=>{let j=this._diffModel.read(K);if(!j)return;let W=j.diff.read(K)?.mappings,z=this._editors.modifiedCursor.read(K);if(!z)return;return W?.find((B)=>B.lineRangeMapping.modified.contains(z.lineNumber))}),this._selectedDiffs=z0(this,(K)=>{let W=this._diffModel.read(K)?.diff.read(K);if(!W)return xu;let z=this._editors.modifiedSelections.read(K);if(z.every((A)=>A.isEmpty()))return xu;let B=new y7(z.map((A)=>D0.fromRangeInclusive(A))),_=W.mappings.filter((A)=>A.lineRangeMapping.innerChanges&&B.intersects(A.lineRangeMapping.modified)).map((A)=>({mapping:A,rangeMappings:A.lineRangeMapping.innerChanges.filter((O)=>z.some((D)=>T.areIntersecting(O.modifiedRange,D)))}));if(_.length===0||_.every((A)=>A.rangeMappings.length===0))return xu;return _}),this._register(eQ0(X,this.elements.root)),this._register(f(this.elements.root,\"click\",()=>{this._editors.modified.focus()})),this._register(JJ(this.elements.root,{display:this._hasActions.map((K)=>K?\"block\":\"none\")})),Y9(this,(K)=>{return!this._showSash.read(K)?void 0:new ZA(X,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,Eq(this,(W)=>this._sashLayout.sashLeft.read(W)-OL,(W,z)=>this._sashLayout.sashLeft.set(W+OL,z)),()=>this._sashLayout.resetSash())}).recomputeInitiallyAndOnChange(this._store);let V=z0(this,(K)=>{let j=this._diffModel.read(K);if(!j)return[];let W=j.diff.read(K);if(!W)return[];let z=this._selectedDiffs.read(K);if(z.length>0){let P=L5.fromRangeMappings(z.flatMap((_)=>_.rangeMappings));return[new bu(P,!0,b.DiffEditorSelectionToolbar,void 0,j.model.original.uri,j.model.modified.uri)]}let B=this._currentDiff.read(K);return W.mappings.map((P)=>new bu(P.lineRangeMapping.withInnerChangesFromLineRanges(),P.lineRangeMapping===B?.lineRangeMapping,b.DiffEditorHunkToolbar,void 0,j.model.original.uri,j.model.modified.uri))});this._register(new yu(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(K,j)=>V.read(j),createView:(K,j)=>{return this._instantiationService.createInstance(Cu,K,j,this)}})),this._register(f(this.elements.gutter,r.MOUSE_WHEEL,(K)=>{if(this._editors.modified.getOption(117).handleMouseWheel)this._editors.modified.delegateScrollFromMouseWheelEvent(K)},{passive:!1}))}computeStagedValue(X){let Y=X.innerChanges??[],Z=new DL(this._editors.modifiedModel.get()),Q=new DL(this._editors.original.getModel());return new JG(Y.map((G)=>G.toTextEdit(Z))).apply(Q)}layout(X){this.elements.gutter.style.left=X+\"px\"}};RL=E$0([ML(6,w0),ML(7,E0),ML(8,SJ)],RL);class bu{constructor(J,X,Y,Z,Q,$){this.mapping=J,this.showAlways=X,this.menuId=Y,this.rangeOverride=Z,this.originalUri=Q,this.modifiedUri=$}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}var Cu=class extends y{constructor(X,Y,Z,Q){super();this._item=X,this._elements=Z1(\"div.gutterItem\",{style:{height:\"20px\",width:\"34px\"}},[Z1(\"div.background@background\",{},[]),Z1(\"div.buttons@buttons\",{},[])]),this._showAlways=this._item.map(this,(q)=>q.showAlways),this._menuId=this._item.map(this,(q)=>q.menuId),this._isSmall=A0(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;let $=this._register(Q.createInstance(n2,\"element\",{instantHover:!0},{position:{hoverPosition:1}}));this._register(FU(Y,this._elements.root)),this._register(C0((q)=>{let G=this._showAlways.read(q);this._elements.root.classList.toggle(\"noTransition\",!0),this._elements.root.classList.toggle(\"showAlways\",G),setTimeout(()=>{this._elements.root.classList.toggle(\"noTransition\",!1)},0)})),this._register(U7((q,G)=>{this._elements.buttons.replaceChildren();let U=G.add(Q.createInstance(Lj,this._elements.buttons,this._menuId.read(q),{orientation:1,hoverDelegate:$,toolbarOptions:{primaryGroup:(H)=>H.startsWith(\"primary\")},overflowBehavior:{maxItems:this._isSmall.read(q)?1:3},hiddenItemStrategy:0,actionRunner:G.add(new QA(()=>{let H=this._item.read(void 0),V=H.mapping;return{mapping:V,originalWithModifiedChanges:Z.computeStagedValue(V),originalUri:H.originalUri,modifiedUri:H.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));G.add(U.onDidChangeMenuItems(()=>{if(this._lastItemRange)this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(X,Y){this._lastItemRange=X,this._lastViewRange=Y;let Z=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&X.length<30,void 0),Z=this._elements.buttons.clientHeight;let Q=X.length/2-Z/2,$=Z,q=X.start+Q,G=H0.tryCreate($,Y.endExclusive-$-Z),U=H0.tryCreate(X.start+$,X.endExclusive-Z-$);if(U&&G&&U.start<U.endExclusive)q=G.clip(q),q=U.clip(q);this._elements.buttons.style.top=`${q-X.start}px`}};Cu=E$0([ML(3,w0)],Cu);var MM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},RM0=function(J,X){return function(Y,Z){X(Y,Z,J)}},Su,NL=class extends y{static{Su=this}static{this._breadcrumbsSourceFactory=A0(this,()=>({dispose(){},getBreadcrumbItems(X,Y){return[]},getAt:()=>[]}))}static setBreadcrumbsSourceFactory(X){this._breadcrumbsSourceFactory.set(X,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(X,Y,Z,Q){super();this._editors=X,this._diffModel=Y,this._options=Z,this._instantiationService=Q,this._modifiedOutlineSource=Y9(this,(U)=>{let H=this._editors.modifiedModel.read(U),V=Su._breadcrumbsSourceFactory.read(U);return!H||!V?void 0:V(H,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((U)=>{if(U.reason===1)return;let H=this._diffModel.get();k1((V)=>{for(let K of this._editors.original.getSelections()||[])H?.ensureOriginalLineIsVisible(K.getStartPosition().lineNumber,0,V),H?.ensureOriginalLineIsVisible(K.getEndPosition().lineNumber,0,V)})})),this._register(this._editors.modified.onDidChangeCursorPosition((U)=>{if(U.reason===1)return;let H=this._diffModel.get();k1((V)=>{for(let K of this._editors.modified.getSelections()||[])H?.ensureModifiedLineIsVisible(K.getStartPosition().lineNumber,0,V),H?.ensureModifiedLineIsVisible(K.getEndPosition().lineNumber,0,V)})}));let $=this._diffModel.map((U,H)=>{let V=U?.unchangedRegions.read(H)??[];if(V.length===1&&V[0].modifiedLineNumber===1&&V[0].lineCount===this._editors.modifiedModel.read(H)?.getLineCount())return[];return V});this.viewZones=z0(this,(U)=>{let H=this._modifiedOutlineSource.read(U);if(!H)return{origViewZones:[],modViewZones:[]};let V=[],K=[],j=this._options.renderSideBySide.read(U),W=this._options.compactMode.read(U),z=$.read(U);for(let B=0;B<z.length;B++){let P=z[B];if(P.shouldHideControls(U))continue;if(W&&(B===0||B===z.length-1))continue;if(W){{let _=z0(this,(O)=>P.getHiddenOriginalRange(O).startLineNumber-1),A=new Y$(_,12);V.push(A),U.store.add(new fu(this._editors.original,A,P,!j))}{let _=z0(this,(O)=>P.getHiddenModifiedRange(O).startLineNumber-1),A=new Y$(_,12);K.push(A),U.store.add(new fu(this._editors.modified,A,P))}}else{{let _=z0(this,(O)=>P.getHiddenOriginalRange(O).startLineNumber-1),A=new Y$(_,24);V.push(A),U.store.add(new hu(this._editors.original,A,P,P.originalUnchangedRange,!j,H,(O)=>this._diffModel.get().ensureModifiedLineIsVisible(O,2,void 0),this._options))}{let _=z0(this,(O)=>P.getHiddenModifiedRange(O).startLineNumber-1),A=new Y$(_,24);K.push(A),U.store.add(new hu(this._editors.modified,A,P,P.modifiedUnchangedRange,!1,H,(O)=>this._diffModel.get().ensureModifiedLineIsVisible(O,2,void 0),this._options))}}}return{origViewZones:V,modViewZones:K}});let q={description:\"unchanged lines\",className:\"diff-unchanged-lines\",isWholeLine:!0},G={description:\"Fold Unchanged\",glyphMarginHoverMessage:new lQ(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(F(140,\"Fold Unchanged Region\")),glyphMarginClassName:\"fold-unchanged \"+M0.asClassName(t.fold),zIndex:10001};this._register(Mj(this._editors.original,z0(this,(U)=>{let H=$.read(U),V=H.map((K)=>({range:K.originalUnchangedRange.toInclusiveRange(),options:q}));for(let K of H)if(K.shouldHideControls(U))V.push({range:T.fromPositions(new C(K.originalLineNumber,1)),options:G});return V}))),this._register(Mj(this._editors.modified,z0(this,(U)=>{let H=$.read(U),V=H.map((K)=>({range:K.modifiedUnchangedRange.toInclusiveRange(),options:q}));for(let K of H)if(K.shouldHideControls(U))V.push({range:D0.ofLength(K.modifiedLineNumber,1).toInclusiveRange(),options:G});return V}))),this._register(C0((U)=>{let H=$.read(U);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(H.map((V)=>V.getHiddenOriginalRange(U).toInclusiveRange()).filter(Y7)),this._editors.modified.setHiddenAreas(H.map((V)=>V.getHiddenModifiedRange(U).toInclusiveRange()).filter(Y7))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp((U)=>{if(!U.event.rightButton&&U.target.position&&U.target.element?.className.includes(\"fold-unchanged\")){let H=U.target.position.lineNumber,V=this._diffModel.get();if(!V)return;let K=V.unchangedRegions.get().find((j)=>j.modifiedUnchangedRange.contains(H));if(!K)return;K.collapseAll(void 0),U.event.stopPropagation(),U.event.preventDefault()}})),this._register(this._editors.original.onMouseUp((U)=>{if(!U.event.rightButton&&U.target.position&&U.target.element?.className.includes(\"fold-unchanged\")){let H=U.target.position.lineNumber,V=this._diffModel.get();if(!V)return;let K=V.unchangedRegions.get().find((j)=>j.originalUnchangedRange.contains(H));if(!K)return;K.collapseAll(void 0),U.event.stopPropagation(),U.event.preventDefault()}}))}};NL=Su=MM0([RM0(3,w0)],NL);class fu extends Rj{constructor(J,X,Y,Z=!1){let Q=Z1(\"div.diff-hidden-lines-widget\");super(J,X,Q.root);if(this._unchangedRegion=Y,this._hide=Z,this._nodes=Z1(\"div.diff-hidden-lines-compact\",[Z1(\"div.line-left\",[]),Z1(\"div.text@text\",[]),Z1(\"div.line-right\",[])]),Q.root.appendChild(this._nodes.root),this._hide)this._nodes.root.replaceChildren();this._register(C0(($)=>{if(!this._hide){let q=this._unchangedRegion.getHiddenModifiedRange($).length,G=F(141,\"{0} hidden lines\",q);this._nodes.text.innerText=G}}))}}class hu extends Rj{constructor(J,X,Y,Z,Q,$,q,G){let U=Z1(\"div.diff-hidden-lines-widget\");super(J,X,U.root);if(this._editor=J,this._unchangedRegion=Y,this._unchangedRegionRange=Z,this._hide=Q,this._modifiedOutlineSource=$,this._revealModifiedHiddenLine=q,this._options=G,this._nodes=Z1(\"div.diff-hidden-lines\",[Z1(\"div.top@top\",{title:F(142,\"Click or drag to show more above\")}),Z1(\"div.center@content\",{style:{display:\"flex\"}},[Z1(\"div@first\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",flexShrink:\"0\"}},[$0(\"a\",{title:F(143,\"Show Unchanged Region\"),role:\"button\",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...sJ(\"$(unfold)\"))]),Z1(\"div@others\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"}})]),Z1(\"div.bottom@bottom\",{title:F(144,\"Click or drag to show more below\"),role:\"button\"})]),U.root.appendChild(this._nodes.root),!this._hide)this._register(JJ(this._nodes.first,{width:FZ(this._editor).layoutInfoContentLeft}));else $8(this._nodes.first);this._register(C0((V)=>{let K=this._unchangedRegion.visibleLineCountTop.read(V)+this._unchangedRegion.visibleLineCountBottom.read(V)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle(\"canMoveTop\",!K),this._nodes.bottom.classList.toggle(\"canMoveBottom\",this._unchangedRegion.visibleLineCountBottom.read(V)>0),this._nodes.top.classList.toggle(\"canMoveTop\",this._unchangedRegion.visibleLineCountTop.read(V)>0),this._nodes.top.classList.toggle(\"canMoveBottom\",!K);let j=this._unchangedRegion.isDragged.read(V),W=this._editor.getDomNode();if(W)if(W.classList.toggle(\"draggingUnchangedRegion\",!!j),j===\"top\")W.classList.toggle(\"canMoveTop\",this._unchangedRegion.visibleLineCountTop.read(V)>0),W.classList.toggle(\"canMoveBottom\",!K);else if(j===\"bottom\")W.classList.toggle(\"canMoveTop\",!K),W.classList.toggle(\"canMoveBottom\",this._unchangedRegion.visibleLineCountBottom.read(V)>0);else W.classList.toggle(\"canMoveTop\",!1),W.classList.toggle(\"canMoveBottom\",!1)}));let H=this._editor;this._register(f(this._nodes.top,\"mousedown\",(V)=>{if(V.button!==0)return;this._nodes.top.classList.toggle(\"dragging\",!0),this._nodes.root.classList.toggle(\"dragging\",!0),V.preventDefault();let K=V.clientY,j=!1,W=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set(\"top\",void 0);let z=Q0(this._nodes.top),B=f(z,\"mousemove\",(_)=>{let O=_.clientY-K;j=j||Math.abs(O)>2;let D=Math.round(O/H.getOption(75)),R=Math.max(0,Math.min(W+D,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(R,void 0)}),P=f(z,\"mouseup\",(_)=>{if(!j)this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);this._nodes.top.classList.toggle(\"dragging\",!1),this._nodes.root.classList.toggle(\"dragging\",!1),this._unchangedRegion.isDragged.set(void 0,void 0),B.dispose(),P.dispose()})})),this._register(f(this._nodes.bottom,\"mousedown\",(V)=>{if(V.button!==0)return;this._nodes.bottom.classList.toggle(\"dragging\",!0),this._nodes.root.classList.toggle(\"dragging\",!0),V.preventDefault();let K=V.clientY,j=!1,W=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set(\"bottom\",void 0);let z=Q0(this._nodes.bottom),B=f(z,\"mousemove\",(_)=>{let O=_.clientY-K;j=j||Math.abs(O)>2;let D=Math.round(O/H.getOption(75)),R=Math.max(0,Math.min(W-D,this._unchangedRegion.getMaxVisibleLineCountBottom())),N=this._unchangedRegionRange.endLineNumberExclusive>H.getModel().getLineCount()?H.getContentHeight():H.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(R,void 0);let w=this._unchangedRegionRange.endLineNumberExclusive>H.getModel().getLineCount()?H.getContentHeight():H.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);H.setScrollTop(H.getScrollTop()+(w-N))}),P=f(z,\"mouseup\",(_)=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!j){let A=H.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);let O=H.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);H.setScrollTop(H.getScrollTop()+(O-A))}this._nodes.bottom.classList.toggle(\"dragging\",!1),this._nodes.root.classList.toggle(\"dragging\",!1),B.dispose(),P.dispose()})})),this._register(C0((V)=>{let K=[];if(!this._hide){let j=Y.getHiddenModifiedRange(V).length,W=F(145,\"{0} hidden lines\",j),z=$0(\"span\",{title:F(146,\"Double click to unfold\")},W);z.addEventListener(\"dblclick\",(_)=>{if(_.button!==0)return;_.preventDefault(),this._unchangedRegion.showAll(void 0)}),K.push(z);let B=this._unchangedRegion.getHiddenModifiedRange(V),P=this._modifiedOutlineSource.getBreadcrumbItems(B,V);if(P.length>0){K.push($0(\"span\",void 0,\"  |  \"));for(let _=0;_<P.length;_++){let A=P[_],O=cD.toIcon(A.kind),D=Z1(\"div.breadcrumb-item\",{style:{display:\"flex\",alignItems:\"center\"}},[e2(O),\" \",A.name,..._===P.length-1?[]:[e2(t.chevronRight)]]).root;K.push(D),D.onclick=()=>{this._revealModifiedHiddenLine(A.startLineNumber)}}}}$8(this._nodes.others,...K)}))}}var vu=[];class gu extends y{constructor(J,X,Y,Z){super();this._editors=J,this._diffModel=X,this._options=Y,this._widget=Z,this._selectedDiffs=z0(this,(Q)=>{let q=this._diffModel.read(Q)?.diff.read(Q);if(!q)return vu;let G=this._editors.modifiedSelections.read(Q);if(G.every((K)=>K.isEmpty()))return vu;let U=new y7(G.map((K)=>D0.fromRangeInclusive(K))),V=q.mappings.filter((K)=>K.lineRangeMapping.innerChanges&&U.intersects(K.lineRangeMapping.modified)).map((K)=>({mapping:K,rangeMappings:K.lineRangeMapping.innerChanges.filter((j)=>G.some((W)=>T.areIntersecting(j.modifiedRange,W)))}));if(V.length===0||V.every((K)=>K.rangeMappings.length===0))return vu;return V}),this._register(U7((Q,$)=>{if(!this._options.shouldRenderOldRevertArrows.read(Q))return;let q=this._diffModel.read(Q),G=q?.diff.read(Q);if(!q||!G)return;if(q.movedTextToCompare.read(Q))return;let U=[],H=this._selectedDiffs.read(Q),V=new Set(H.map((K)=>K.mapping));if(H.length>0){let K=this._editors.modifiedSelections.read(Q),j=$.add(new wL(K[K.length-1].positionLineNumber,this._widget,H.flatMap((W)=>W.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(j),U.push(j)}for(let K of G.mappings){if(V.has(K))continue;if(!K.lineRangeMapping.modified.isEmpty&&K.lineRangeMapping.innerChanges){let j=$.add(new wL(K.lineRangeMapping.modified.startLineNumber,this._widget,K.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(j),U.push(j)}}$.add(J0(()=>{for(let K of U)this._editors.modified.removeGlyphMarginWidget(K)}))}))}}class wL extends y{static{this.counter=0}getId(){return this._id}constructor(J,X,Y,Z){super();this._lineNumber=J,this._widget=X,this._diffs=Y,this._revertSelection=Z,this._id=`revertButton${wL.counter++}`,this._domNode=Z1(\"div.revertButton\",{title:this._revertSelection?F(151,\"Revert Selected Changes\"):F(152,\"Revert Change\")},[e2(t.arrowRight)]).root,this._register(f(this._domNode,r.MOUSE_DOWN,(Q)=>{if(Q.button!==2)Q.stopPropagation(),Q.preventDefault()})),this._register(f(this._domNode,r.MOUSE_UP,(Q)=>{Q.stopPropagation(),Q.preventDefault()})),this._register(f(this._domNode,r.CLICK,(Q)=>{if(this._diffs instanceof W8)this._widget.revert(this._diffs);else this._widget.revertRangeMappings(this._diffs);Q.stopPropagation(),Q.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:g9.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}var NM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},$A=function(J,X){return function(Y,Z){X(Y,Z,J)}},Ij=class extends AL{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(X,Y,Z,Q,$,q,G,U){super();this._domElement=X,this._parentContextKeyService=Q,this._parentInstantiationService=$,this._codeEditorService=q,this._accessibilitySignalService=G,this._editorProgressService=U,this.elements=Z1(\"div.monaco-diff-editor.side-by-side\",{style:{position:\"relative\",height:\"100%\"}},[Z1(\"div.editor.original@original\",{style:{position:\"absolute\",height:\"100%\"}}),Z1(\"div.editor.modified@modified\",{style:{position:\"absolute\",height:\"100%\"}}),Z1(\"div.accessibleDiffViewer@accessibleDiffViewer\",{style:{position:\"absolute\",height:\"100%\"}})]),this._diffModelSrc=this._register(qM(this,void 0)),this._diffModel=z0(this,(D)=>this._diffModelSrc.read(D)?.object),this.onDidChangeModel=i.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new i9([E0,this._contextKeyService]))),this._boundarySashes=A0(this,void 0),this._accessibleDiffViewerShouldBeVisible=A0(this,!1),this._accessibleDiffViewerVisible=z0(this,(D)=>this._options.onlyShowAccessibleDiffViewer.read(D)?!0:this._accessibleDiffViewerShouldBeVisible.read(D)),this._movedBlocksLinesPart=A0(this,void 0),this._layoutInfo=z0(this,(D)=>{let R=this._rootSizeObserver.width.read(D),N=this._rootSizeObserver.height.read(D);if(this._rootSizeObserver.automaticLayout)this.elements.root.style.height=\"100%\";else this.elements.root.style.height=N+\"px\";let w=this._sash.read(D),k=this._gutter.read(D),I=k?.width.read(D)??0,S=this._overviewRulerPart.read(D)?.width??0,h,u,p,s,l;if(!!w){let X0=w.sashLeft.read(D),V0=this._movedBlocksLinesPart.read(D)?.width.read(D)??0;h=0,u=X0-I-V0,l=X0-I,p=X0,s=R-p-S}else{l=0;let X0=this._options.inlineViewHideOriginalLineNumbers.read(D);if(h=I,X0)u=0;else u=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(D));p=I+u,s=R-p-S}return this.elements.original.style.left=h+\"px\",this.elements.original.style.width=u+\"px\",this._editors.original.layout({width:u,height:N},!0),k?.layout(l),this.elements.modified.style.left=p+\"px\",this.elements.modified.style.width=s+\"px\",this._editors.modified.layout({width:s,height:N},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((D,R)=>D?.diff.read(R)),this.onDidUpdateDiff=i.fromObservableLight(this._diffValue),this._codeEditorService.willCreateDiffEditor(),this._contextKeyService.createKey(\"isInDiffEditor\",!0),this._domElement.appendChild(this.elements.root),this._register(J0(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new e_(this.elements.root,Y.dimension)),this._rootSizeObserver.setAutomaticLayout(Y.automaticLayout??!1),this._options=this._instantiationService.createInstance(PL,Y),this._register(C0((D)=>{this._options.setWidth(this._rootSizeObserver.width.read(D))})),this._contextKeyService.createKey(g.isEmbeddedDiffEditor.key,!1),this._register(zZ(g.isEmbeddedDiffEditor,this._contextKeyService,(D)=>this._options.isInEmbeddedEditor.read(D))),this._register(zZ(g.comparingMovedCode,this._contextKeyService,(D)=>!!this._diffModel.read(D)?.movedTextToCompare.read(D))),this._register(zZ(g.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(D)=>this._options.couldShowInlineViewBecauseOfSize.read(D))),this._register(zZ(g.diffEditorInlineMode,this._contextKeyService,(D)=>!this._options.renderSideBySide.read(D))),this._register(zZ(g.hasChanges,this._contextKeyService,(D)=>(this._diffModel.read(D)?.diff.read(D)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance(_L,this.elements.original,this.elements.modified,this._options,Z,(D,R,N,w)=>this._createInnerEditor(D,R,N,w))),this._register(zZ(g.diffEditorOriginalWritable,this._contextKeyService,(D)=>this._options.originalEditable.read(D))),this._register(zZ(g.diffEditorModifiedWritable,this._contextKeyService,(D)=>!this._options.readOnly.read(D))),this._register(zZ(g.diffEditorOriginalUri,this._contextKeyService,(D)=>this._diffModel.read(D)?.model.original.uri.toString()??\"\")),this._register(zZ(g.diffEditorModifiedUri,this._contextKeyService,(D)=>this._diffModel.read(D)?.model.modified.uri.toString()??\"\")),this._overviewRulerPart=Y9(this,(D)=>!this._options.renderOverviewRuler.read(D)?void 0:this._instantiationService.createInstance(dX(AU),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((R)=>R.modifiedEditor))).recomputeInitiallyAndOnChange(this._store);let H={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((D,R)=>D-(this._overviewRulerPart.read(R)?.width??0))};this._sashLayout=new Iu(this._options,H),this._sash=Y9(this,(D)=>{let R=this._options.renderSideBySide.read(D);return this.elements.root.classList.toggle(\"side-by-side\",R),!R?void 0:new ZA(this.elements.root,H,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash())}).recomputeInitiallyAndOnChange(this._store);let V=Y9(this,(D)=>this._instantiationService.createInstance(dX(NL),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);Y9(this,(D)=>this._instantiationService.createInstance(dX(Tu),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);let K=new Set,j=new Set,W=!1,z=Y9(this,(D)=>this._instantiationService.createInstance(dX(BL),Q0(this._domElement),this._editors,this._diffModel,this._options,this,()=>W||V.read(void 0).isUpdatingHiddenAreas,K,j)).recomputeInitiallyAndOnChange(this._store),B=z0(this,(D)=>{let R=z.read(D).viewZones.read(D).orig,N=V.read(D).viewZones.read(D).origViewZones;return R.concat(N)}),P=z0(this,(D)=>{let R=z.read(D).viewZones.read(D).mod,N=V.read(D).viewZones.read(D).modViewZones;return R.concat(N)});this._register(Nj(this._editors.original,B,(D)=>{W=D},K));let _;this._register(Nj(this._editors.modified,P,(D)=>{if(W=D,W)_=P3.capture(this._editors.modified);else _?.restore(this._editors.modified),_=void 0},j)),this._accessibleDiffViewer=Y9(this,(D)=>this._instantiationService.createInstance(dX(D3),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(R,N)=>this._accessibleDiffViewerShouldBeVisible.set(R,N),this._options.onlyShowAccessibleDiffViewer.map((R)=>!R),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((R,N)=>R?.diff.read(N)?.mappings.map((w)=>w.lineRangeMapping)),new Hu(this._editors))).recomputeInitiallyAndOnChange(this._store);let A=this._accessibleDiffViewerVisible.map((D)=>D?\"hidden\":\"visible\");this._register(JJ(this.elements.modified,{visibility:A})),this._register(JJ(this.elements.original,{visibility:A})),this._createDiffEditorContributions(),this._codeEditorService.addDiffEditor(this),this._register(J0(()=>{this._codeEditorService.removeDiffEditor(this)})),this._gutter=Y9(this,(D)=>{return this._options.shouldRenderGutterMenu.read(D)?this._instantiationService.createInstance(dX(RL),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0}),this._register(Y2(this._layoutInfo)),Y9(this,(D)=>new(dX(Z$))(this.elements.root,this._diffModel,this._layoutInfo.map((R)=>R.originalEditor),this._layoutInfo.map((R)=>R.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,(D)=>{this._movedBlocksLinesPart.set(D,void 0)}),this._register(i.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(D)=>this._handleCursorPositionChange(D,!0))),this._register(i.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,(D)=>this._handleCursorPositionChange(D,!1)));let O=this._diffModel.map(this,(D,R)=>{if(!D)return;return D.diff.read(R)===void 0&&!D.isDiffUpToDate.read(R)});this._register(U7((D,R)=>{if(O.read(D)===!0){let N=this._editorProgressService.show(!0,1000);R.add(J0(()=>N.done()))}})),this._register(U7((D,R)=>{R.add(new(dX(gu))(this._editors,this._diffModel,this._options,this))})),this._register(U7((D,R)=>{let N=this._diffModel.read(D);if(!N)return;for(let w of[N.model.original,N.model.modified])R.add(w.onWillDispose((k)=>{b0(new j0(\"TextModel got disposed before DiffEditorWidget model got reset\")),this.setModel(null)}))})),this._register(C0((D)=>{this._options.setModel(this._diffModel.read(D))}))}_createInnerEditor(X,Y,Z,Q){return X.createInstance(wK,Y,Z,Q)}_createDiffEditorContributions(){let X=V2.getDiffEditorContributions();for(let Y of X)try{this._register(this._instantiationService.createInstance(Y.ctor,this))}catch(Z){b0(Z)}}get _targetEditor(){return this._editors.modified}getEditorType(){return P2.IDiffEditor}layout(X){this._rootSizeObserver.observe(X)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){let X=this._editors.original.saveViewState(),Y=this._editors.modified.saveViewState();return{original:X,modified:Y,modelState:this._diffModel.get()?.serializeState()}}restoreViewState(X){if(X&&X.original&&X.modified){let Y=X;if(this._editors.original.restoreViewState(Y.original),this._editors.modified.restoreViewState(Y.modified),Y.modelState)this._diffModel.get()?.restoreSerializedState(Y.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(X){return this._instantiationService.createInstance(zL,X,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(X){let Y=!X?null:(\"model\"in X)?wj.create(X).createNewRef(this):wj.create(this.createViewModel(X),this);this.setDiffModel(Y)}setDiffModel(X,Y){let Z=this._diffModel.get();if(!X&&Z)this._accessibleDiffViewer.get().close();if(this._diffModel.get()!==X?.object)YV(Y,(Q)=>{let $=X?.object;c1.batchEventsGlobally(Q,()=>{this._editors.original.setModel($?$.model.original:null),this._editors.modified.setModel($?$.model.modified:null)});let q=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(X?.createNewRef(this),Q),setTimeout(()=>{q?.dispose()},0)})}updateOptions(X){this._options.updateOptions(X)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){let X=this._diffModel.get()?.diff.get();if(!X)return null;return wM0(X)}getDiffComputationResult(){let X=this._diffModel.get()?.diff.get();if(!X)return null;return{changes:this.getLineChanges(),changes2:X.mappings.map((Y)=>Y.lineRangeMapping),identical:X.identical,quitEarly:X.quitEarly}}revert(X){let Y=this._diffModel.get();if(!Y||!Y.isDiffUpToDate.get())return;this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits(\"diffEditor\",[{range:X.modified.toExclusiveRange(),text:Y.model.original.getValueInRange(X.original.toExclusiveRange())}]),this._editors.modified.pushUndoStop()}revertRangeMappings(X){let Y=this._diffModel.get();if(!Y||!Y.isDiffUpToDate.get())return;let Z=X.map((Q)=>({range:Q.modifiedRange,text:Y.model.original.getValueInRange(Q.originalRange)}));this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits(\"diffEditor\",Z),this._editors.modified.pushUndoStop()}revertFocusedRangeMappings(){let X=this._diffModel.get();if(!X||!X.isDiffUpToDate.get())return;let Y=this._diffModel.get()?.diff.get()?.mappings;if(!Y||Y.length===0)return;let Z=this._editors.modified;if(!Z.hasTextFocus())return;let Q=Z.getPosition().lineNumber,$=Z.getSelection(),q=D0.fromRange($||new T(Q,0,Q,0)),G=Y.filter((U)=>{return U.lineRangeMapping.modified.intersect(q)});Z.pushUndoStop(),Z.executeEdits(\"diffEditor\",G.map((U)=>({range:U.lineRangeMapping.modified.toExclusiveRange(),text:X.model.original.getValueInRange(U.lineRangeMapping.original.toExclusiveRange())}))),Z.pushUndoStop()}_goTo(X){this._editors.modified.setPosition(new C(X.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(X.lineRangeMapping.modified.toExclusiveRange())}goToDiff(X){let Y=this._diffModel.get()?.diff.get()?.mappings;if(!Y||Y.length===0)return;let Z=this._editors.modified.getPosition().lineNumber,Q;if(X===\"next\")if(this._editors.modified.getModel().getLineCount()===Z)Q=Y[0];else Q=Y.find((q)=>q.lineRangeMapping.modified.startLineNumber>Z)??Y[0];else Q=tq(Y,($)=>$.lineRangeMapping.modified.startLineNumber<Z)??Y[Y.length-1];if(this._goTo(Q),Q.lineRangeMapping.modified.isEmpty)this._accessibilitySignalService.playSignal(K1.diffLineDeleted,{source:\"diffEditor.goToDiff\"});else if(Q.lineRangeMapping.original.isEmpty)this._accessibilitySignalService.playSignal(K1.diffLineInserted,{source:\"diffEditor.goToDiff\"});else if(Q)this._accessibilitySignalService.playSignal(K1.diffLineModified,{source:\"diffEditor.goToDiff\"})}revealFirstDiff(){let X=this._diffModel.get();if(!X)return;this.waitForDiff().then(()=>{let Y=X.diff.get()?.mappings;if(!Y||Y.length===0)return;this._goTo(Y[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){let X=this._diffModel.get();if(!X)return;await X.waitForDiff()}mapToOtherSide(){let X=this._editors.modified.hasWidgetFocus(),Y=X?this._editors.modified:this._editors.original,Z=X?this._editors.original:this._editors.modified,Q,$=Y.getSelection();if($){let q=this._diffModel.get()?.diff.get()?.mappings.map((G)=>X?G.lineRangeMapping.flip():G.lineRangeMapping);if(q){let G=Qu($.getStartPosition(),q),U=Qu($.getEndPosition(),q);Q=T.plusRange(G,U)}}return{destination:Z,destinationSelection:Q}}switchSide(){let{destination:X,destinationSelection:Y}=this.mapToOtherSide();if(X.focus(),Y)X.setSelection(Y)}exitCompareMove(){let X=this._diffModel.get();if(!X)return;X.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){let X=this._diffModel.get()?.unchangedRegions.get();if(!X)return;k1((Y)=>{for(let Z of X)Z.collapseAll(Y)})}showAllUnchangedRegions(){let X=this._diffModel.get()?.unchangedRegions.get();if(!X)return;k1((Y)=>{for(let Z of X)Z.showAll(Y)})}_handleCursorPositionChange(X,Y){if(X?.reason===3){let Z=this._diffModel.get()?.diff.get()?.mappings.find((Q)=>Y?Q.lineRangeMapping.modified.contains(X.position.lineNumber):Q.lineRangeMapping.original.contains(X.position.lineNumber));if(Z?.lineRangeMapping.modified.isEmpty)this._accessibilitySignalService.playSignal(K1.diffLineDeleted,{source:\"diffEditor.cursorPositionChanged\"});else if(Z?.lineRangeMapping.original.isEmpty)this._accessibilitySignalService.playSignal(K1.diffLineInserted,{source:\"diffEditor.cursorPositionChanged\"});else if(Z)this._accessibilitySignalService.playSignal(K1.diffLineModified,{source:\"diffEditor.cursorPositionChanged\"})}}};Ij=NM0([$A(3,E0),$A(4,w0),$A(5,l1),$A(6,sQ),$A(7,$j)],Ij);function wM0(J){return J.mappings.map((X)=>{let Y=X.lineRangeMapping,Z,Q,$,q,G=Y.innerChanges;if(Y.original.isEmpty)Z=Y.original.startLineNumber-1,Q=0,G=void 0;else Z=Y.original.startLineNumber,Q=Y.original.endLineNumberExclusive-1;if(Y.modified.isEmpty)$=Y.modified.startLineNumber-1,q=0,G=void 0;else $=Y.modified.startLineNumber,q=Y.modified.endLineNumberExclusive-1;return{originalStartLineNumber:Z,originalEndLineNumber:Q,modifiedStartLineNumber:$,modifiedEndLineNumber:q,charChanges:G?.map((U)=>({originalStartLineNumber:U.originalRange.startLineNumber,originalStartColumn:U.originalRange.startColumn,originalEndLineNumber:U.originalRange.endLineNumber,originalEndColumn:U.originalRange.endColumn,modifiedStartLineNumber:U.modifiedRange.startLineNumber,modifiedStartColumn:U.modifiedRange.startColumn,modifiedEndLineNumber:U.modifiedRange.endLineNumber,modifiedEndColumn:U.modifiedRange.endColumn}))}})}function pu(J){if(J&&typeof J.getEditorType===\"function\")return J.getEditorType()===P2.ICodeEditor;else return!1}var TM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},y$0=function(J,X){return function(Y,Z){X(Y,Z,J)}},TL,LL=class{static{TL=this}static{this._ttpTokenizer=q4(\"tokenizeToString\",{createHTML(X){return X}})}constructor(X,Y){this._configurationService=X,this._languageService=Y}async renderCodeBlock(X,Y,Z){let Q=pu(Z.context)?Z.context:void 0,$;if(X)$=this._languageService.getLanguageIdByLanguageName(X);else if(Q)$=Q.getModel()?.getLanguageId();if(!$)$=W5;let q=await $90(this._languageService,Y,$),G=TL._ttpTokenizer?TL._ttpTokenizer.createHTML(q)??q:q,U=document.createElement(\"span\");U.innerHTML=G;let H=U.querySelector(\".monaco-tokenized-source\");if(!a0(H))return document.createElement(\"span\");return B6(H,this.getFontInfo(Q)),U}getFontInfo(X){if(X)return X.getOption(59);else return D10({fontFamily:this._configurationService.getValue(\"editor\").fontFamily},1)}};LL=TL=TM0([y$0(0,o0),y$0(1,j6)],LL);var mu=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},C1=function(J,X){return function(Y,Z){X(Y,Z,J)}},LM0=0,x$0=!1;function IM0(J){if(!J){if(x$0)return;x$0=!0}B10(J||X1.document.body)}var IL=class extends wK{constructor(X,Y,Z,Q,$,q,G,U,H,V,K,j,W,z,B){let P={...Y};P.ariaLabel=P.ariaLabel||sT.editorViewAccessibleLabel;super(X,P,{},Z,Q,$,q,H,V,K,j,W,B);if(U instanceof A3)this._standaloneKeybindingService=U;else this._standaloneKeybindingService=null;IM0(P.ariaContainerElement),NX0((_,A)=>Z.createInstance(n2,_,{instantHover:A},{})),TX0(G),z.setDefaultCodeBlockRenderer(Z.createInstance(LL))}addCommand(X,Y,Z){if(!this._standaloneKeybindingService)return console.warn(\"Cannot add command because the editor is configured with an unrecognized KeybindingService\"),null;let Q=\"DYNAMIC_\"+ ++LM0,$=P0.deserialize(Z);return this._standaloneKeybindingService.addDynamicKeybinding(Q,X,Y,$),Q}createContextKey(X,Y){return this._contextKeyService.createKey(X,Y)}addAction(X){if(typeof X.id!==\"string\"||typeof X.label!==\"string\"||typeof X.run!==\"function\")throw Error(\"Invalid action descriptor, `id`, `label` and `run` are required properties!\");if(!this._standaloneKeybindingService)return console.warn(\"Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\"),y.None;let{id:Y,label:Z}=X,Q=P0.and(P0.equals(\"editorId\",this.getId()),P0.deserialize(X.precondition)),$=X.keybindings,q=P0.and(Q,P0.deserialize(X.keybindingContext)),G=X.contextMenuGroupId||null,U=X.contextMenuOrder||0,H=(W,...z)=>{return Promise.resolve(X.run(this,...z))},V=new a,K=this.getId()+\":\"+Y;if(V.add(S6.registerCommand(K,H)),G){let W={command:{id:K,title:Z},when:Q,group:G,order:U};V.add(K5.appendMenuItem(b.EditorContext,W))}if(Array.isArray($))for(let W of $)V.add(this._standaloneKeybindingService.addDynamicKeybinding(K,W,H,q));let j=new zB(K,Z,Z,void 0,Q,(...W)=>Promise.resolve(X.run(this,...W)),this._contextKeyService);return this._actions.set(Y,j),V.add(J0(()=>{this._actions.delete(Y)})),V}_triggerCommand(X,Y){if(this._codeEditorService instanceof V_)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(X,Y)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(X,Y)}};IL=mu([C1(2,w0),C1(3,l1),C1(4,h8),C1(5,E0),C1(6,fX),C1(7,T1),C1(8,L6),C1(9,d6),C1(10,c6),C1(11,u6),C1(12,$1),C1(13,CK),C1(14,CX)],IL);var kL=class extends IL{constructor(X,Y,Z,Q,$,q,G,U,H,V,K,j,W,z,B,P,_,A){let O={...Y};t_(K,O,!1);let D=H.registerEditorContainer(X);if(typeof O.theme===\"string\")H.setTheme(O.theme);if(typeof O.autoDetectHighContrast<\"u\")H.setAutoDetectHighContrast(Boolean(O.autoDetectHighContrast));let R=O.model;delete O.model;super(X,O,Z,Q,$,q,G,U,H,V,j,B,P,_,A);this._configurationService=K,this._standaloneThemeService=H,this._register(D);let N;if(typeof R>\"u\"){let w=z.getLanguageIdByMimeType(O.language)||O.language||W5;N=uu(W,z,O.value||\"\",w,void 0),this._ownsModel=!0}else N=R,this._ownsModel=!1;if(this._attachModel(N),N){let w={oldModelUrl:null,newModelUrl:N.uri};this._onDidChangeModel.fire(w)}}updateOptions(X){if(t_(this._configurationService,X,!1),typeof X.theme===\"string\")this._standaloneThemeService.setTheme(X.theme);if(typeof X.autoDetectHighContrast<\"u\")this._standaloneThemeService.setAutoDetectHighContrast(Boolean(X.autoDetectHighContrast));super.updateOptions(X)}_postDetachModelCleanup(X){if(super._postDetachModelCleanup(X),X&&this._ownsModel)X.dispose(),this._ownsModel=!1}};kL=mu([C1(2,w0),C1(3,l1),C1(4,h8),C1(5,E0),C1(6,fX),C1(7,T1),C1(8,O4),C1(9,d6),C1(10,o0),C1(11,c6),C1(12,j8),C1(13,j6),C1(14,u6),C1(15,$1),C1(16,CK),C1(17,CX)],kL);var EL=class extends Ij{constructor(X,Y,Z,Q,$,q,G,U,H,V,K,j){let W={...Y};t_(U,W,!0);let z=q.registerEditorContainer(X);if(typeof W.theme===\"string\")q.setTheme(W.theme);if(typeof W.autoDetectHighContrast<\"u\")q.setAutoDetectHighContrast(Boolean(W.autoDetectHighContrast));super(X,W,{},Q,Z,$,j,V);this._configurationService=U,this._standaloneThemeService=q,this._register(z)}updateOptions(X){if(t_(this._configurationService,X,!0),typeof X.theme===\"string\")this._standaloneThemeService.setTheme(X.theme);if(typeof X.autoDetectHighContrast<\"u\")this._standaloneThemeService.setAutoDetectHighContrast(Boolean(X.autoDetectHighContrast));super.updateOptions(X)}_createInnerEditor(X,Y,Z){return X.createInstance(IL,Y,Z)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(X,Y,Z){return this.getModifiedEditor().addCommand(X,Y,Z)}createContextKey(X,Y){return this.getModifiedEditor().createContextKey(X,Y)}addAction(X){return this.getModifiedEditor().addAction(X)}};EL=mu([C1(2,w0),C1(3,E0),C1(4,l1),C1(5,O4),C1(6,d6),C1(7,o0),C1(8,Y5),C1(9,$j),C1(10,F4),C1(11,sQ)],EL);function uu(J,X,Y,Z,Q){if(Y=Y||\"\",!Z){let $=Y.indexOf(`\n`),q=Y;if($!==-1)q=Y.substring(0,$);return b$0(J,Y,X.createByFilepathOrFirstLine(Q||null,q),Q)}return b$0(J,Y,X.createById(Z),Q)}function b$0(J,X,Y,Z){return J.createModel(X,Y,Z)}x(\"multiDiffEditor.headerBackground\",{dark:\"#262626\",light:\"tab.inactiveBackground\",hcDark:\"tab.inactiveBackground\",hcLight:\"tab.inactiveBackground\"},F(158,\"The background color of the diff editor's header\"));x(\"multiDiffEditor.background\",b4,F(159,\"The background color of the multi file diff editor\"));x(\"multiDiffEditor.border\",{dark:\"sideBarSectionHeader.border\",light:\"#cccccc\",hcDark:\"sideBarSectionHeader.border\",hcLight:\"#cccccc\"},F(160,\"The border color of the multi file diff editor\"));var kM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},C$0=function(J,X){return function(Y,Z){X(Y,Z,J)}};class cu{constructor(J,X){this.viewModel=J,this.deltaScrollVertical=X}getId(){return this.viewModel}}var yL=class extends y{constructor(X,Y,Z,Q,$){super();this._container=X,this._overflowWidgetsDomNode=Y,this._workbenchUIElementFactory=Z,this._instantiationService=Q,this._viewModel=A0(this,void 0),this._collapsed=z0(this,(U)=>this._viewModel.read(U)?.collapsed.read(U)),this._editorContentHeight=A0(this,500),this.contentHeight=z0(this,(U)=>{return(this._collapsed.read(U)?0:this._editorContentHeight.read(U))+this._outerEditorHeight}),this._modifiedContentWidth=A0(this,0),this._modifiedWidth=A0(this,0),this._originalContentWidth=A0(this,0),this._originalWidth=A0(this,0),this.maxScroll=z0(this,(U)=>{let H=this._modifiedContentWidth.read(U)-this._modifiedWidth.read(U),V=this._originalContentWidth.read(U)-this._originalWidth.read(U);if(H>V)return{maxScroll:H,width:this._modifiedWidth.read(U)};else return{maxScroll:V,width:this._originalWidth.read(U)}}),this._elements=Z1(\"div.multiDiffEntry\",[Z1(\"div.header@header\",[Z1(\"div.header-content\",[Z1(\"div.collapse-button@collapseButton\"),Z1(\"div.file-path\",[Z1(\"div.title.modified.show-file-icons@primaryPath\",[]),Z1(\"div.status.deleted@status\",[\"R\"]),Z1(\"div.title.original.show-file-icons@secondaryPath\",[])]),Z1(\"div.actions@actions\")])]),Z1(\"div.editorParent\",[Z1(\"div.editorContainer@editor\")])]),this.editor=this._register(this._instantiationService.createInstance(Ij,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=FZ(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=FZ(this.editor.getOriginalEditor()).isFocused,this.isFocused=z0(this,(U)=>this.isModifedFocused.read(U)||this.isOriginalFocused.read(U)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new a),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;let q=this._register(new W3(this._elements.collapseButton,{}));if(this._register(C0((U)=>{q.element.className=\"\",q.icon=this._collapsed.read(U)?t.chevronRight:t.chevronDown})),this._register(q.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._workbenchUIElementFactory.headerClickToCollapse)this._elements.header.tabIndex=0,this._elements.header.setAttribute(\"role\",\"button\"),this._register(f(this._elements.header,r.CLICK,(U)=>{let H=U.target;if(!(H instanceof Element))return;if(H.closest(\".actions\")||H.closest(\".collapse-button\"))return;this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register(f(this._elements.header,r.KEY_DOWN,(U)=>{if(U.key===\"Enter\"||U.key===\" \"){let H=U.target;if(H instanceof Element&&(H.closest(\".actions\")||H.closest(\".collapse-button\")))return;U.preventDefault(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}}));this._register(C0((U)=>{let H=this._collapsed.read(U);if(this._elements.editor.style.display=H?\"none\":\"block\",this._workbenchUIElementFactory.headerClickToCollapse)this._elements.header.setAttribute(\"aria-expanded\",String(!H))})),this._register(this.editor.getModifiedEditor().onDidLayoutChange((U)=>{let H=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(H,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange((U)=>{let H=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(H,void 0)})),this._register(this.editor.onDidContentSizeChange((U)=>{yq((H)=>{this._editorContentHeight.set(U.contentHeight,H),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),H),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),H)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange((U)=>{if(this._isSettingScrollTop)return;if(!U.scrollTopChanged||!this._data)return;let H=U.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(H)})),this._register(C0((U)=>{let H=this._viewModel.read(U)?.isActive.read(U);this._elements.root.classList.toggle(\"active\",H)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register($.createScoped(this._elements.actions));let G=this._register(this._instantiationService.createChild(new i9([E0,this._contextKeyService])));this._register(G.createInstance(Lj,this._elements.actions,b.MultiDiffEditorFileToolbar,{actionRunner:this._register(new QA(()=>this._viewModel.get()?.modifiedUri??this._viewModel.get()?.originalUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:(U)=>U.startsWith(\"navigation\")},actionViewItemProvider:(U,H)=>QT(G,U,H)}))}setScrollLeft(X){if(this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get())this.editor.getModifiedEditor().setScrollLeft(X);else this.editor.getOriginalEditor().setScrollLeft(X)}setData(X){this._data=X;function Y(Q){return{...Q,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:\"hidden\",horizontal:\"hidden\",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!X){yq((Q)=>{this._viewModel.set(void 0,Q),this.editor.setDiffModel(null,Q),this._dataStore.clear()});return}let Z=X.viewModel.documentDiffItem;if(yq((Q)=>{this._resourceLabel?.setUri(X.viewModel.modifiedUri??X.viewModel.originalUri,{strikethrough:X.viewModel.modifiedUri===void 0});let $=!1,q=!1,G=!1,U=\"\";if(X.viewModel.modifiedUri&&X.viewModel.originalUri&&X.viewModel.modifiedUri.path!==X.viewModel.originalUri.path)U=\"R\",$=!0;else if(!X.viewModel.modifiedUri)U=\"D\",q=!0;else if(!X.viewModel.originalUri)U=\"A\",G=!0;this._elements.status.classList.toggle(\"renamed\",$),this._elements.status.classList.toggle(\"deleted\",q),this._elements.status.classList.toggle(\"added\",G),this._elements.status.innerText=U,this._resourceLabel2?.setUri($?X.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(X.viewModel,Q),this.editor.setDiffModel(X.viewModel.diffEditorViewModelRef,Q),this.editor.updateOptions(Y(Z.options??{}))}),Z.onOptionsDidChange)this._dataStore.add(Z.onOptionsDidChange(()=>{this.editor.updateOptions(Y(Z.options??{}))}));if(X.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,(Q)=>{if(!Q)this.setData(void 0)}),X.viewModel.documentDiffItem.contextKeys)for(let[Q,$]of Object.entries(X.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(Q,$)}render(X,Y,Z,Q){this._elements.root.style.visibility=\"visible\",this._elements.root.style.top=`${X.start}px`,this._elements.root.style.height=`${X.length}px`,this._elements.root.style.width=`${Y}px`,this._elements.root.style.position=\"absolute\";let $=X.length-this._headerHeight,q=Math.max(0,Math.min(Q.start-X.start,$));this._elements.header.style.transform=`translateY(${q}px)`,yq((G)=>{this.editor.layout({width:Y-16-2,height:X.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=Z,this.editor.getOriginalEditor().setScrollTop(Z)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle(\"shadow\",q>0||Z>0),this._elements.header.classList.toggle(\"collapsed\",q===$)}hide(){this._elements.root.style.top=\"-100000px\",this._elements.root.style.visibility=\"hidden\"}};yL=kM0([C$0(3,w0),C$0(4,E0)],yL);class du{constructor(J){this._create=J,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(J){let X;if(this._unused.size===0)X=this._create(J),this._itemData.set(X,J);else{let Y=[...this._unused.values()];X=Y.find((Z)=>this._itemData.get(Z).getId()===J.getId())??Y[0],this._unused.delete(X),this._itemData.set(X,J),X.setData(J)}return this._used.add(X),{object:X,dispose:()=>{if(this._used.delete(X),this._unused.size>5)X.dispose();else this._unused.add(X)}}}dispose(){for(let J of this._used)J.dispose();for(let J of this._unused)J.dispose();this._used.clear(),this._unused.clear()}}var EM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},S$0=function(J,X){return function(Y,Z){X(Y,Z,J)}},xL=class extends y{constructor(X,Y,Z,Q,$,q){super();this._element=X,this._dimension=Y,this._viewModel=Z,this._workbenchUIElementFactory=Q,this._parentContextKeyService=$,this._parentInstantiationService=q,this._scrollableElements=Z1(\"div.scrollContent\",[Z1(\"div@content\",{style:{overflow:\"hidden\"}}),Z1(\"div.monaco-editor@overflowWidgetsDomNode\",{})]),this._scrollable=this._register(new mJ({forceIntegerValues:!1,scheduleAtNextAnimationFrame:(H)=>E8(Q0(this._element),H),smoothScrollDuration:100})),this._scrollableElement=this._register(new EQ(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=Z1(\"div.monaco-component.multiDiffEditor\",{},[Z1(\"div\",{},[this._scrollableElement.getDomNode()]),Z1(\"div.placeholder@placeholder\",{},[Z1(\"div\")])]),this._sizeObserver=this._register(new e_(this._element,void 0)),this._objectPool=this._register(new du((H)=>{let V=this._instantiationService.createInstance(yL,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return V.setData(H),V})),this.scrollTop=c1(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=c1(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=z0(this,(H)=>{let V=this._viewModel.read(H);if(!V)return{items:[],getItem:(z)=>{throw new j0}};let K=V.items.read(H),j=new Map;return{items:K.map((z)=>{let B=H.store.add(new f$0(z,this._objectPool,this.scrollLeft,(_)=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+_})})),P=this._lastDocStates?.[B.getKey()];if(P)k1((_)=>{B.setViewState(P,_)});return j.set(z,B),B}),getItem:(z)=>j.get(z)}}),this._viewItems=this._viewItemsInfo.map(this,(H)=>H.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(H,V)=>H.reduce((K,j)=>K+j.contentHeight.read(V)+this._spaceBetweenPx,0)),this.activeControl=z0(this,(H)=>{let V=this._viewModel.read(H)?.activeDiffItem.read(H);if(!V)return;return this._viewItemsInfo.read(H).getItem(V).template.read(H)?.editor}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new i9([E0,this._contextKeyService]))),this._contextKeyService.createKey(g.inMultiDiffEditor.key,!0),this._lastDocStates={},this._register(U7((H,V)=>{let K=this._viewModel.read(H);if(K&&K.contextKeys)for(let[j,W]of Object.entries(K.contextKeys)){let z=this._contextKeyService.createKey(j,void 0);z.set(W),V.add(J0(()=>z.reset()))}}));let G=this._parentContextKeyService.createKey(g.multiDiffEditorAllCollapsed.key,!1);this._register(C0((H)=>{let V=this._viewModel.read(H);if(V){let K=V.items.read(H).every((j)=>j.collapsed.read(H));G.set(K)}})),this._register(C0((H)=>{let V=this._dimension.read(H);this._sizeObserver.observe(V)}));let U=z0((H)=>{if(this._viewItems.read(H).length>0)return;let K=this._viewModel.read(H);return!K||K.isLoading.read(H)?F(161,\"Loading...\"):F(162,\"No Changed Files\")});this._register(C0((H)=>{let V=U.read(H);this._elements.placeholder.innerText=V??\"\",this._elements.placeholder.classList.toggle(\"visible\",!!V)})),this._scrollableElements.content.style.position=\"relative\",this._register(C0((H)=>{let V=this._sizeObserver.height.read(H);this._scrollableElements.root.style.height=`${V}px`;let K=this._totalHeight.read(H);this._scrollableElements.content.style.height=`${K}px`;let j=this._sizeObserver.width.read(H),W=j,z=this._viewItems.read(H),B=ab(z,V5((P)=>P.maxScroll.read(H).maxScroll,I9));if(B){let P=B.maxScroll.read(H);W=j+P.maxScroll}this._scrollableElement.setScrollDimensions({width:j,height:V,scrollHeight:K,scrollWidth:W})})),X.replaceChildren(this._elements.root),this._register(J0(()=>{X.replaceChildren()})),this._register(C0((H)=>{let V=this._viewModel.read(H);if(!V)return;if(!V.isLoading.read(H)){if(V.items.read(H).length===0)return;if(V.activeDiffItem.read(H))return;this.goToNextChange()}})),this._register(this._register(C0((H)=>{yq((V)=>{this.render(H)})})))}reveal(X,Y){let Z=this._viewItems.get(),Q=Z.findIndex((H)=>H.viewModel.originalUri?.toString()===X.original?.toString()&&H.viewModel.modifiedUri?.toString()===X.modified?.toString());if(Q===-1)throw new j0(\"Resource not found in diff editor\");let $=Z[Q];this._viewModel.get().activeDiffItem.setCache($.viewModel,void 0);let q=0;for(let H=0;H<Q;H++)q+=Z[H].contentHeight.get()+this._spaceBetweenPx;this._scrollableElement.setScrollPosition({scrollTop:q});let G=$.template.get()?.editor,U=\"original\"in X?G?.getOriginalEditor():G?.getModifiedEditor();if(U&&Y?.range)U.revealRangeInCenter(Y.range),yM0(U,Y.range)}goToNextChange(){this._navigateToChange(\"next\")}_navigateToChange(X){let Y=this._viewItems.get();if(Y.length===0)return;let Z=this._viewModel.get()?.activeDiffItem.get(),Q=Z?Y.findIndex((U)=>U.viewModel===Z):-1;if(Q===-1){this._goToFile(0,\"first\");return}let $=Y[Q];if($.viewModel.collapsed.get())$.viewModel.collapsed.set(!1,void 0);let q=$.template.get()?.editor;if(q?.getDiffComputationResult()?.changes2?.length){let U=q.getModifiedEditor().getPosition()?.lineNumber||1,H=q.getDiffComputationResult().changes2;if(X===\"next\"?H.some((K)=>K.modified.startLineNumber>U):H.some((K)=>K.modified.endLineNumberExclusive<=U)){q.goToDiff(X);return}}let G=(Q+(X===\"next\"?1:-1)+Y.length)%Y.length;this._goToFile(G,X===\"next\"?\"first\":\"last\")}_goToFile(X,Y){let Z=this._viewItems.get()[X];if(Z.viewModel.collapsed.get())Z.viewModel.collapsed.set(!1,void 0);this.reveal({original:Z.viewModel.originalUri,modified:Z.viewModel.modifiedUri});let Q=Z.template.get()?.editor;if(Q?.getDiffComputationResult()?.changes2?.length)if(Y===\"first\")Q.revealFirstDiff();else{let $=Q.getDiffComputationResult().changes2.at(-1),q=Q.getModifiedEditor();q.setPosition({lineNumber:$.modified.startLineNumber,column:1}),q.revealLineInCenter($.modified.startLineNumber)}Q?.focus()}render(X){let Y=this.scrollTop.read(X),Z=0,Q=0,$=0,q=this._sizeObserver.height.read(X),G=H0.ofStartAndLength(Y,q),U=this._sizeObserver.width.read(X);for(let H of this._viewItems.read(X)){let V=H.contentHeight.read(X),K=Math.min(V,q),j=H0.ofStartAndLength(Q,K),W=H0.ofStartAndLength($,V);if(W.isBefore(G))Z-=V-K,H.hide();else if(W.isAfter(G))H.hide();else{let z=Math.max(0,Math.min(G.start-W.start,V-K));Z-=z;let B=H0.ofStartAndLength(Y+Z,q);H.render(j,z,U,B)}Q+=K+this._spaceBetweenPx,$+=V+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(Y+Z)}px)`}};xL=EM0([S$0(4,E0),S$0(5,w0)],xL);function yM0(J,X){let Y=J.getModel(),Z=J.createDecorationsCollection([{range:X,options:{description:\"symbol-navigate-action-highlight\",className:\"symbolHighlight\"}}]);setTimeout(()=>{if(J.getModel()===Y)Z.clear()},350)}class f$0 extends y{constructor(J,X,Y,Z){super();this.viewModel=J,this._objectPool=X,this._scrollLeft=Y,this._deltaScrollVertical=Z,this._templateRef=this._register(qM(this,void 0)),this.contentHeight=z0(this,(Q)=>this._templateRef.read(Q)?.object.contentHeight?.read(Q)??this.viewModel.lastTemplateData.read(Q).contentHeight),this.maxScroll=z0(this,(Q)=>this._templateRef.read(Q)?.object.maxScroll.read(Q)??{maxScroll:0,scrollWidth:0}),this.template=z0(this,(Q)=>this._templateRef.read(Q)?.object),this._isHidden=A0(this,!1),this._isFocused=z0(this,(Q)=>this.template.read(Q)?.isFocused.read(Q)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(C0((Q)=>{let $=this._scrollLeft.read(Q);this._templateRef.read(Q)?.object.setScrollLeft($)})),this._register(C0((Q)=>{let $=this._templateRef.read(Q);if(!$)return;if(!this._isHidden.read(Q))return;if($.object.isFocused.read(Q))return;this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(J,X){this.viewModel.collapsed.set(J.collapsed,X),this._updateTemplateData(X);let Y=this.viewModel.lastTemplateData.get(),Z=J.selections?.map(Y0.liftSelection);this.viewModel.lastTemplateData.set({...Y,selections:Z},X);let Q=this._templateRef.get();if(Q){if(Z)Q.object.editor.setSelections(Z)}}_updateTemplateData(J){let X=this._templateRef.get();if(!X)return;this.viewModel.lastTemplateData.set({contentHeight:X.object.contentHeight.get(),selections:X.object.editor.getSelections()??void 0},J)}_clear(){let J=this._templateRef.get();if(!J)return;k1((X)=>{this._updateTemplateData(X),J.object.hide(),this._templateRef.set(void 0,X)})}hide(){this._isHidden.set(!0,void 0)}render(J,X,Y,Z){this._isHidden.set(!1,void 0);let Q=this._templateRef.get();if(!Q){Q=this._objectPool.getUnusedObj(new cu(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(Q,void 0);let $=this.viewModel.lastTemplateData.get().selections;if($)Q.object.editor.setSelections($)}Q.object.render(J,Y,X,Z)}}var xM0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},bM0=function(J,X){return function(Y,Z){X(Y,Z,J)}},bL=class extends y{constructor(X,Y,Z){super();this._element=X,this._workbenchUIElementFactory=Y,this._instantiationService=Z,this._dimension=A0(this,void 0),this._viewModel=A0(this,void 0),this._widgetImpl=z0(this,(Q)=>{return Q.store.add(this._instantiationService.createInstance(dX(xL),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))}),this._register(Y2(this._widgetImpl))}};bL=xM0([bM0(2,w0)],bL);function CM0(J,X,Y){return x0.initialize(Y||{}).createInstance(kL,J,X)}function SM0(J){return x0.get(l1).onCodeEditorAdd((Y)=>{J(Y)})}function fM0(J){return x0.get(l1).onDiffEditorAdd((Y)=>{J(Y)})}function hM0(){return x0.get(l1).listCodeEditors()}function vM0(){return x0.get(l1).listDiffEditors()}function gM0(J,X,Y){return x0.initialize(Y||{}).createInstance(EL,J,X)}function pM0(J,X){let Y=x0.initialize(X||{});return new bL(J,{},Y)}function mM0(J){if(typeof J.id!==\"string\"||typeof J.run!==\"function\")throw Error(\"Invalid command descriptor, `id` and `run` are required properties!\");return S6.registerCommand(J.id,J.run)}function uM0(J){if(typeof J.id!==\"string\"||typeof J.label!==\"string\"||typeof J.run!==\"function\")throw Error(\"Invalid action descriptor, `id`, `label` and `run` are required properties!\");let X=P0.deserialize(J.precondition),Y=(Q,...$)=>{return H7.runEditorCommand(Q,$,X,(q,G,U)=>Promise.resolve(J.run(G,...U)))},Z=new a;if(Z.add(S6.registerCommand(J.id,Y)),J.contextMenuGroupId){let Q={command:{id:J.id,title:J.label},when:X,group:J.contextMenuGroupId,order:J.contextMenuOrder||0};Z.add(K5.appendMenuItem(b.EditorContext,Q))}if(Array.isArray(J.keybindings)){let Q=x0.get(T1);if(!(Q instanceof A3))console.warn(\"Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\");else{let $=P0.and(X,P0.deserialize(J.keybindingContext));Z.add(Q.addDynamicKeybindings(J.keybindings.map((q)=>{return{keybinding:q,command:J.id,when:$}})))}}return Z}function cM0(J){return h$0([J])}function h$0(J){let X=x0.get(T1);if(!(X instanceof A3))return console.warn(\"Cannot add keybinding because the editor is configured with an unrecognized KeybindingService\"),y.None;return X.addDynamicKeybindings(J.map((Y)=>{return{keybinding:Y.keybinding,command:Y.command,commandArgs:Y.commandArgs,when:P0.deserialize(Y.when)}}))}function dM0(J,X,Y){let Z=x0.get(j6),Q=Z.getLanguageIdByMimeType(X)||X;return uu(x0.get(j8),Z,J,Q,Y)}function lM0(J,X){let Y=x0.get(j6),Z=Y.getLanguageIdByMimeType(X)||X||W5;J.setLanguage(Y.createById(Z))}function sM0(J,X,Y){if(J)x0.get(uX).changeOne(X,J.uri,Y)}function aM0(J){x0.get(uX).changeAll(J,[])}function iM0(J){return x0.get(uX).read(J)}function rM0(J){return x0.get(uX).onMarkerChanged(J)}function oM0(J){return x0.get(j8).getModel(J)}function nM0(){return x0.get(j8).getModels()}function tM0(J){return x0.get(j8).onModelAdded(J)}function eM0(J){return x0.get(j8).onModelRemoved(J)}function JR0(J){return x0.get(j8).onModelLanguageChanged((Y)=>{J({model:Y.model,oldLanguage:Y.oldLanguageId})})}function XR0(J){return Y10(x0.get(j8),x0.get(j2),J)}function YR0(J,X){let Y=x0.get(j6),Z=x0.get(O4);return DF.colorizeElement(Z,Y,J,X).then(()=>{Z.registerEditorContainer(J)})}function ZR0(J,X,Y){let Z=x0.get(j6);return x0.get(O4).registerEditorContainer(X1.document.body),DF.colorize(Z,J,X,Y)}function QR0(J,X,Y=4){return x0.get(O4).registerEditorContainer(X1.document.body),DF.colorizeModelLine(J,X,Y)}function $R0(J){let X=f1.get(J);if(X)return X;return{getInitialState:()=>D2,tokenize:(Y,Z,Q)=>iM(J,Q)}}function qR0(J,X){f1.getOrCreate(X);let Y=$R0(X),Z=NJ(J),Q=[],$=Y.getInitialState();for(let q=0,G=Z.length;q<G;q++){let U=Z[q],H=Y.tokenize(U,!0,$);Q[q]=H.tokens,$=H.endState}return Q}function GR0(J,X){x0.get(O4).defineTheme(J,X)}function UR0(J){x0.get(O4).setTheme(J)}function HR0(){uz.clearAllFontInfos()}function VR0(J,X){return S6.registerCommand({id:J,handler:X})}function KR0(J){return x0.get(p4).registerOpener({async open(Y){if(typeof Y===\"string\")Y=R0.parse(Y);return J.open(Y)}})}function jR0(J){return x0.get(l1).registerCodeEditorOpenHandler(async(Y,Z,Q)=>{if(!Z)return null;let $=Y.options?.selection,q;if($&&typeof $.endLineNumber===\"number\"&&typeof $.endColumn===\"number\")q=$;else if($)q={lineNumber:$.startLineNumber,column:$.startColumn};if(await J.openCodeEditor(Z,Y.resource,q))return Z;return null})}function v$0(){return{create:CM0,getEditors:hM0,getDiffEditors:vM0,onDidCreateEditor:SM0,onDidCreateDiffEditor:fM0,createDiffEditor:gM0,addCommand:mM0,addEditorAction:uM0,addKeybindingRule:cM0,addKeybindingRules:h$0,createModel:dM0,setModelLanguage:lM0,setModelMarkers:sM0,getModelMarkers:iM0,removeAllMarkers:aM0,onDidChangeMarkers:rM0,getModels:nM0,getModel:oM0,onDidCreateModel:tM0,onWillDisposeModel:eM0,onDidChangeModelLanguage:JR0,createWebWorker:XR0,colorizeElement:YR0,colorize:ZR0,colorizeModelLine:QR0,tokenize:qR0,defineTheme:GR0,setTheme:UR0,remeasureFonts:HR0,registerCommand:VR0,registerLinkOpener:KR0,registerEditorOpener:jR0,AccessibilitySupport:dD,ContentWidgetPositionPreference:oD,CursorChangeReason:nD,DefaultEndOfLine:tD,EditorAutoIndentStrategy:JO,EditorOption:XO,EndOfLinePreference:YO,EndOfLineSequence:ZO,MinimapPosition:FO,MinimapSectionHeaderStyle:BO,MouseTargetType:_O,OverlayWidgetPositionPreference:DO,OverviewRulerLane:OO,GlyphMarginLane:QO,RenderLineNumbersType:NO,RenderMinimap:wO,ScrollbarVisibility:LO,ScrollType:TO,TextEditorCursorBlinkingStyle:CO,TextEditorCursorStyle:SO,TrackedRangeStickiness:fO,WrappingIndent:hO,InjectedTextCursorStops:GO,PositionAffinity:RO,ShowLightbulbIconMode:kO,TextDirection:bO,ConfigurationChangedEvent:_z,BareFontInfo:eZ,FontInfo:c$,TextModelResolvedOptions:oq,FindMatch:BQ,ApplyUpdateResult:Kq,EditorZoom:MJ,createMultiFileDiffEditor:pM0,EditorType:P2,EditorOptions:I8}}function WR0(J,X){if(!X)return!1;if(!Array.isArray(X))return!1;for(let Y of X)if(!J(Y))return!1;return!0}function CL(J,X){if(typeof J===\"boolean\")return J;return X}function g$0(J,X){if(typeof J===\"string\")return J;return X}function zR0(J){let X={};for(let Y of J)X[Y]=!0;return X}function p$0(J,X=!1){if(X)J=J.map(function(Z){return Z.toLowerCase()});let Y=zR0(J);if(X)return function(Z){return Y[Z.toLowerCase()]!==void 0&&Y.hasOwnProperty(Z.toLowerCase())};else return function(Z){return Y[Z]!==void 0&&Y.hasOwnProperty(Z)}}function lu(J,X,Y){X=X.replace(/@@/g,\"\\x01\");let Z=0,Q;do Q=!1,X=X.replace(/@(\\w+)/g,function(q,G){Q=!0;let U=\"\";if(typeof J[G]===\"string\")U=J[G];else if(J[G]&&J[G]instanceof RegExp)U=J[G].source;else if(J[G]===void 0)throw o1(J,\"language definition does not contain attribute '\"+G+\"', used at: \"+X);else throw o1(J,\"attribute reference '\"+G+\"' must be a string, used at: \"+X);return O2(U)?\"\":\"(?:\"+U+\")\"}),Z++;while(Q&&Z<5);X=X.replace(/\\x01/g,\"@\");let $=(J.ignoreCase?\"i\":\"\")+(J.unicode?\"u\":\"\");if(Y){if(X.match(/\\$[sS](\\d\\d?)/g)){let G=null,U=null;return(H)=>{if(U&&G===H)return U;return G=H,U=new RegExp(V10(J,X,H),$),U}}}return new RegExp(X,$)}function FR0(J,X,Y,Z){if(Z<0)return J;if(Z<X.length)return X[Z];if(Z>=100){Z=Z-100;let Q=Y.split(\".\");if(Q.unshift(Y),Z<Q.length)return Q[Z]}return null}function BR0(J,X,Y,Z){let Q=-1,$=Y,q=Y.match(/^\\$(([sS]?)(\\d\\d?)|#)(.*)$/);if(q){if(q[3]){if(Q=parseInt(q[3]),q[2])Q=Q+100}$=q[4]}let G=\"~\",U=$;if(!$||$.length===0)G=\"!=\",U=\"\";else if(/^\\w*$/.test(U))G=\"==\";else if(q=$.match(/^(@|!@|~|!~|==|!=)(.*)$/),q)G=q[1],U=q[2];let H;if((G===\"~\"||G===\"!~\")&&/^(\\w|\\|)*$/.test(U)){let V=p$0(U.split(\"|\"),J.ignoreCase);H=function(K){return G===\"~\"?V(K):!V(K)}}else if(G===\"@\"||G===\"!@\"){let V=J[U];if(!V)throw o1(J,\"the @ match target '\"+U+\"' is not defined, in rule: \"+X);if(!WR0(function(j){return typeof j===\"string\"},V))throw o1(J,\"the @ match target '\"+U+\"' must be an array of strings, in rule: \"+X);let K=p$0(V,J.ignoreCase);H=function(j){return G===\"@\"?K(j):!K(j)}}else if(G===\"~\"||G===\"!~\")if(U.indexOf(\"$\")<0){let V=lu(J,\"^\"+U+\"$\",!1);H=function(K){return G===\"~\"?V.test(K):!V.test(K)}}else H=function(V,K,j,W){return lu(J,\"^\"+bY(J,U,K,j,W)+\"$\",!1).test(V)};else if(U.indexOf(\"$\")<0){let V=TX(J,U);H=function(K){return G===\"==\"?K===V:K!==V}}else{let V=TX(J,U);H=function(K,j,W,z,B){let P=bY(J,V,j,W,z);return G===\"==\"?K===P:K!==P}}if(Q===-1)return{name:Y,value:Z,test:function(V,K,j,W){return H(V,V,K,j,W)}};else return{name:Y,value:Z,test:function(V,K,j,W){let z=FR0(V,K,j,Q);return H(!z?\"\":z,V,K,j,W)}}}function su(J,X,Y){if(!Y)return{token:\"\"};else if(typeof Y===\"string\")return Y;else if(Y.token||Y.token===\"\")if(typeof Y.token!==\"string\")throw o1(J,\"a 'token' attribute must be of type string, in rule: \"+X);else{let Z={token:Y.token};if(Y.token.indexOf(\"$\")>=0)Z.tokenSubst=!0;if(typeof Y.bracket===\"string\")if(Y.bracket===\"@open\")Z.bracket=1;else if(Y.bracket===\"@close\")Z.bracket=-1;else throw o1(J,\"a 'bracket' attribute must be either '@open' or '@close', in rule: \"+X);if(Y.next)if(typeof Y.next!==\"string\")throw o1(J,\"the next state must be a string value in rule: \"+X);else{let Q=Y.next;if(!/^(@pop|@push|@popall)$/.test(Q)){if(Q[0]===\"@\")Q=Q.substr(1);if(Q.indexOf(\"$\")<0){if(!K10(J,bY(J,Q,\"\",[],\"\")))throw o1(J,\"the next state '\"+Y.next+\"' is not defined in rule: \"+X)}}Z.next=Q}if(typeof Y.goBack===\"number\")Z.goBack=Y.goBack;if(typeof Y.switchTo===\"string\")Z.switchTo=Y.switchTo;if(typeof Y.log===\"string\")Z.log=Y.log;if(typeof Y.nextEmbedded===\"string\")Z.nextEmbedded=Y.nextEmbedded,J.usesEmbedded=!0;return Z}else if(Array.isArray(Y)){let Z=[];for(let Q=0,$=Y.length;Q<$;Q++)Z[Q]=su(J,X,Y[Q]);return{group:Z}}else if(Y.cases){let Z=[],Q=!1;for(let q in Y.cases)if(Y.cases.hasOwnProperty(q)){let G=su(J,X,Y.cases[q]);if(q===\"@default\"||q===\"@\"||q===\"\")Z.push({test:void 0,value:G,name:q});else if(q===\"@eos\")Z.push({test:function(U,H,V,K){return K},value:G,name:q});else Z.push(BR0(J,X,q,G));if(!Q)Q=!t1(G)&&(G.hasEmbeddedEndInCases||[\"@pop\",\"@popall\"].includes(G.nextEmbedded||\"\"))}let $=J.defaultToken;return{hasEmbeddedEndInCases:Q,test:function(q,G,U,H){for(let V of Z)if(!V.test||V.test(q,G,U,H))return V.value;return $}}}else throw o1(J,\"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: \"+X)}class m$0{constructor(J){this.regex=new RegExp(\"\"),this.action={token:\"\"},this.matchOnlyAtLineStart=!1,this.name=\"\",this.name=J}setRegex(J,X){let Y;if(typeof X===\"string\")Y=X;else if(X instanceof RegExp)Y=X.source;else throw o1(J,\"rules must start with a match string or regular expression: \"+this.name);this.matchOnlyAtLineStart=Y.length>0&&Y[0]===\"^\",this.name=this.name+\": \"+Y,this.regex=lu(J,\"^(?:\"+(this.matchOnlyAtLineStart?Y.substr(1):Y)+\")\",!0)}setAction(J,X){this.action=su(J,this.name,X)}resolveRegex(J){if(this.regex instanceof RegExp)return this.regex;else return this.regex(J)}}function au(J,X){if(!X||typeof X!==\"object\")throw Error(\"Monarch: expecting a language definition object\");let Y={languageId:J,includeLF:CL(X.includeLF,!1),noThrow:!1,maxStack:100,start:typeof X.start===\"string\"?X.start:null,ignoreCase:CL(X.ignoreCase,!1),unicode:CL(X.unicode,!1),tokenPostfix:g$0(X.tokenPostfix,\".\"+J),defaultToken:g$0(X.defaultToken,\"source\"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},Z=X;Z.languageId=J,Z.includeLF=Y.includeLF,Z.ignoreCase=Y.ignoreCase,Z.unicode=Y.unicode,Z.noThrow=Y.noThrow,Z.usesEmbedded=Y.usesEmbedded,Z.stateNames=X.tokenizer,Z.defaultToken=Y.defaultToken;function Q(q,G,U){for(let H of U){let V=H.include;if(V){if(typeof V!==\"string\")throw o1(Y,\"an 'include' attribute must be a string at: \"+q);if(V[0]===\"@\")V=V.substr(1);if(!X.tokenizer[V])throw o1(Y,\"include target '\"+V+\"' is not defined at: \"+q);Q(q+\".\"+V,G,X.tokenizer[V])}else{let K=new m$0(q);if(Array.isArray(H)&&H.length>=1&&H.length<=3)if(K.setRegex(Z,H[0]),H.length>=3)if(typeof H[1]===\"string\")K.setAction(Z,{token:H[1],next:H[2]});else if(typeof H[1]===\"object\"){let j=H[1];j.next=H[2],K.setAction(Z,j)}else throw o1(Y,\"a next state as the last element of a rule can only be given if the action is either an object or a string, at: \"+q);else K.setAction(Z,H[1]);else{if(!H.regex)throw o1(Y,\"a rule must either be an array, or an object with a 'regex' or 'include' field at: \"+q);if(H.name){if(typeof H.name===\"string\")K.name=H.name}if(H.matchOnlyAtStart)K.matchOnlyAtLineStart=CL(H.matchOnlyAtLineStart,!1);K.setRegex(Z,H.regex),K.setAction(Z,H.action)}G.push(K)}}}if(!X.tokenizer||typeof X.tokenizer!==\"object\")throw o1(Y,\"a language definition must define the 'tokenizer' attribute as an object\");Y.tokenizer=[];for(let q in X.tokenizer)if(X.tokenizer.hasOwnProperty(q)){if(!Y.start)Y.start=q;let G=X.tokenizer[q];Y.tokenizer[q]=[],Q(\"tokenizer.\"+q,Y.tokenizer[q],G)}if(Y.usesEmbedded=Z.usesEmbedded,X.brackets){if(!Array.isArray(X.brackets))throw o1(Y,\"the 'brackets' attribute must be defined as an array\")}else X.brackets=[{open:\"{\",close:\"}\",token:\"delimiter.curly\"},{open:\"[\",close:\"]\",token:\"delimiter.square\"},{open:\"(\",close:\")\",token:\"delimiter.parenthesis\"},{open:\"<\",close:\">\",token:\"delimiter.angle\"}];let $=[];for(let q of X.brackets){let G=q;if(G&&Array.isArray(G)&&G.length===3)G={token:G[2],open:G[0],close:G[1]};if(G.open===G.close)throw o1(Y,\"open and close brackets in a 'brackets' attribute must be different: \"+G.open+`\n hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof G.open===\"string\"&&typeof G.token===\"string\"&&typeof G.close===\"string\")$.push({token:G.token+Y.tokenPostfix,open:TX(Y,G.open),close:TX(Y,G.close)});else throw o1(Y,\"every element in the 'brackets' array must be a '{open,close,token}' object or array\")}return Y.brackets=$,Y.noThrow=!0,Y}function _R0(J){W2.registerLanguage(J)}function AR0(){let J=[];return J=J.concat(W2.getLanguages()),J}function PR0(J){return x0.get(j6).languageIdCodec.encodeLanguageId(J)}function DR0(J,X){return x0.withServices(()=>{let Z=x0.get(j6).onDidRequestRichLanguageFeatures((Q)=>{if(Q===J)Z.dispose(),X()});return Z})}function OR0(J,X){return x0.withServices(()=>{let Z=x0.get(j6).onDidRequestBasicLanguageFeatures((Q)=>{if(Q===J)Z.dispose(),X()});return Z})}function MR0(J,X){if(!x0.get(j6).isRegisteredLanguageId(J))throw Error(`Cannot set configuration for unknown language ${J}`);return x0.get(u6).register(J,X,100)}class u$0{constructor(J,X){this._languageId=J,this._actual=X}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(J,X,Y){if(typeof this._actual.tokenize===\"function\")return qA.adaptTokenize(this._languageId,this._actual,J,Y);throw Error(\"Not supported!\")}tokenizeEncoded(J,X,Y){let Z=this._actual.tokenizeEncoded(J,Y);return new s$(Z.tokens,[],Z.endState)}}class qA{constructor(J,X,Y,Z){this._languageId=J,this._actual=X,this._languageService=Y,this._standaloneThemeService=Z}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(J,X){let Y=[],Z=0;for(let Q=0,$=J.length;Q<$;Q++){let q=J[Q],G=q.startIndex;if(Q===0)G=0;else if(G<Z)G=Z;Y[Q]=new zY(G,q.scopes,X),Z=G}return Y}static adaptTokenize(J,X,Y,Z){let Q=X.tokenize(Y,Z),$=qA._toClassicTokens(Q.tokens,J),q;if(Q.endState.equals(Z))q=Z;else q=Q.endState;return new Dq($,q)}tokenize(J,X,Y){return qA.adaptTokenize(this._languageId,this._actual,J,Y)}_toBinaryTokens(J,X){let Y=J.encodeLanguageId(this._languageId),Z=this._standaloneThemeService.getColorTheme().tokenTheme,Q=[],$=0,q=0;for(let U=0,H=X.length;U<H;U++){let V=X[U],K=Z.match(Y,V.scopes)|1024;if($>0&&Q[$-1]===K)continue;let j=V.startIndex;if(U===0)j=0;else if(j<q)j=q;Q[$++]=j,Q[$++]=K,q=j}let G=new Uint32Array($);for(let U=0;U<$;U++)G[U]=Q[U];return G}tokenizeEncoded(J,X,Y){let Z=this._actual.tokenize(J,Y),Q=this._toBinaryTokens(this._languageService.languageIdCodec,Z.tokens),$;if(Z.endState.equals(Y))$=Y;else $=Z.endState;return new s$(Q,[],$)}}function RR0(J){return typeof J.getInitialState===\"function\"}function NR0(J){return\"tokenizeEncoded\"in J}function c$0(J){return J&&typeof J.then===\"function\"}function wR0(J){let X=x0.get(O4);if(J){let Y=[null];for(let Z=1,Q=J.length;Z<Q;Z++)Y[Z]=c.fromHex(J[Z]);X.setColorMapOverride(Y)}else X.setColorMapOverride(null)}function d$0(J,X){if(NR0(X))return new u$0(J,X);else return new qA(J,X,x0.get(j6),x0.get(O4))}function iu(J,X){let Y=new Gx(async()=>{let Z=await Promise.resolve(X.create());if(!Z)return null;if(RR0(Z))return d$0(J,Z);return new $G(x0.get(j6),x0.get(O4),J,au(J,Z),x0.get(o0))});return f1.registerFactory(J,Y)}function TR0(J,X){if(!x0.get(j6).isRegisteredLanguageId(J))throw Error(`Cannot set tokens provider for unknown language ${J}`);if(c$0(X))return iu(J,{create:()=>X});return f1.register(J,d$0(J,X))}function LR0(J,X){let Y=(Z)=>{return new $G(x0.get(j6),x0.get(O4),J,au(J,Z),x0.get(o0))};if(c$0(X))return iu(J,{create:()=>X});return f1.register(J,Y(X))}function IR0(J,X){return x0.get($1).referenceProvider.register(J,X)}function kR0(J,X){return x0.get($1).renameProvider.register(J,X)}function ER0(J,X){return x0.get($1).newSymbolNamesProvider.register(J,X)}function yR0(J,X){return x0.get($1).signatureHelpProvider.register(J,X)}function xR0(J,X){return x0.get($1).hoverProvider.register(J,{provideHover:async(Z,Q,$,q)=>{let G=Z.getWordAtPosition(Q);return Promise.resolve(X.provideHover(Z,Q,$,q)).then((U)=>{if(!U)return;if(!U.range&&G)U.range=new T(Q.lineNumber,G.startColumn,Q.lineNumber,G.endColumn);if(!U.range)U.range=new T(Q.lineNumber,Q.column,Q.lineNumber,Q.column);return U})}})}function bR0(J,X){return x0.get($1).documentSymbolProvider.register(J,X)}function CR0(J,X){return x0.get($1).documentHighlightProvider.register(J,X)}function SR0(J,X){return x0.get($1).linkedEditingRangeProvider.register(J,X)}function fR0(J,X){return x0.get($1).definitionProvider.register(J,X)}function hR0(J,X){return x0.get($1).implementationProvider.register(J,X)}function vR0(J,X){return x0.get($1).typeDefinitionProvider.register(J,X)}function gR0(J,X){return x0.get($1).codeLensProvider.register(J,X)}function pR0(J,X,Y){return x0.get($1).codeActionProvider.register(J,{providedCodeActionKinds:Y?.providedCodeActionKinds,documentation:Y?.documentation,provideCodeActions:(Q,$,q,G)=>{let H=x0.get(uX).read({resource:Q.uri}).filter((V)=>{return T.areIntersectingOrTouching(V,$)});return X.provideCodeActions(Q,$,{markers:H,only:q.only,trigger:q.trigger},G)},resolveCodeAction:X.resolveCodeAction})}function mR0(J,X){return x0.get($1).documentFormattingEditProvider.register(J,X)}function uR0(J,X){return x0.get($1).documentRangeFormattingEditProvider.register(J,X)}function cR0(J,X){return x0.get($1).onTypeFormattingEditProvider.register(J,X)}function dR0(J,X){return x0.get($1).linkProvider.register(J,X)}function lR0(J,X){return x0.get($1).completionProvider.register(J,X)}function sR0(J,X){return x0.get($1).colorProvider.register(J,X)}function aR0(J,X){return x0.get($1).foldingRangeProvider.register(J,X)}function iR0(J,X){return x0.get($1).declarationProvider.register(J,X)}function rR0(J,X){return x0.get($1).selectionRangeProvider.register(J,X)}function oR0(J,X){return x0.get($1).documentSemanticTokensProvider.register(J,X)}function nR0(J,X){return x0.get($1).documentRangeSemanticTokensProvider.register(J,X)}function tR0(J,X){return x0.get($1).inlineCompletionsProvider.register(J,X)}function eR0(J,X){return x0.get($1).inlayHintsProvider.register(J,X)}function l$0(){return{register:_R0,getLanguages:AR0,onLanguage:DR0,onLanguageEncountered:OR0,getEncodedLanguageId:PR0,setLanguageConfiguration:MR0,setColorMap:wR0,registerTokensProviderFactory:iu,setTokensProvider:TR0,setMonarchTokensProvider:LR0,registerReferenceProvider:IR0,registerRenameProvider:kR0,registerNewSymbolNameProvider:ER0,registerCompletionItemProvider:lR0,registerSignatureHelpProvider:yR0,registerHoverProvider:xR0,registerDocumentSymbolProvider:bR0,registerDocumentHighlightProvider:CR0,registerLinkedEditingRangeProvider:SR0,registerDefinitionProvider:fR0,registerImplementationProvider:hR0,registerTypeDefinitionProvider:vR0,registerCodeLensProvider:gR0,registerCodeActionProvider:pR0,registerDocumentFormattingEditProvider:mR0,registerDocumentRangeFormattingEditProvider:uR0,registerOnTypeFormattingEditProvider:cR0,registerLinkProvider:dR0,registerColorProvider:sR0,registerFoldingRangeProvider:aR0,registerDeclarationProvider:iR0,registerSelectionRangeProvider:rR0,registerDocumentSemanticTokensProvider:oR0,registerDocumentRangeSemanticTokensProvider:nR0,registerInlineCompletionsProvider:tR0,registerInlayHintsProvider:eR0,DocumentHighlightKind:eD,CompletionItemKind:aD,CompletionItemTag:iD,CompletionItemInsertTextRule:sD,SymbolKind:yO,SymbolTag:xO,IndentAction:qO,CompletionTriggerKind:rD,SignatureHelpTriggerKind:EO,InlayHintKind:UO,InlineCompletionTriggerKind:KO,CodeActionTriggerType:lD,NewSymbolNameTag:AO,NewSymbolNameTriggerKind:PO,PartialAcceptTriggerKind:MO,HoverVerbosityAction:$O,InlineCompletionEndOfLifeReasonKind:HO,InlineCompletionHintStyle:VO,FoldingRangeKind:w7,SelectedSuggestionInfo:qx,EditDeltaInfo:BB}}var ru=W0(\"IEditorCancelService\"),s$0=new G0(\"cancellableOperation\",!1,F(978,\"Whether the editor runs a cancellable operation, e.g. like 'Peek References'\"));f0(ru,class{constructor(){this._tokens=new WeakMap}add(J,X){let Y=this._tokens.get(J);if(!Y)Y=J.invokeWithinContext((Q)=>{let $=s$0.bindTo(Q.get(E0)),q=new x6;return{key:$,tokens:q}}),this._tokens.set(J,Y);let Z;return Y.key.set(!0),Z=Y.tokens.push(X),()=>{if(Z)Z(),Y.key.set(!Y.tokens.isEmpty()),Z=void 0}}cancel(J){let X=this._tokens.get(J);if(!X)return;let Y=X.tokens.pop();if(Y)Y.cancel(),X.key.set(!X.tokens.isEmpty())}},1);class ou extends S8{constructor(J,X){super(X);this.editor=J,this._unregister=J.invokeWithinContext((Y)=>Y.get(ru).add(J,this))}dispose(){this._unregister(),super.dispose()}}O0(new class extends H7{constructor(){super({id:\"editor.cancelOperation\",kbOpts:{weight:100,primary:9},precondition:s$0})}runEditorCommand(J,X){J.get(ru).cancel(X)}});class PU extends ou{constructor(J,X,Y,Z){super(J,Z);if(this._listener=new a,X&4)this._listener.add(J.onDidChangeCursorPosition((Q)=>{if(!Y||!T.containsPosition(Y,Q.position))this.cancel()}));if(X&2)this._listener.add(J.onDidChangeCursorSelection((Q)=>{if(!Y||!T.containsRange(Y,Q.selection))this.cancel()}));if(X&8)this._listener.add(J.onDidScrollChange((Q)=>this.cancel()));if(X&1)this._listener.add(J.onDidChangeModel((Q)=>this.cancel())),this._listener.add(J.onDidChangeModelContent((Q)=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}class nu{constructor(J){this.value=J,this._lower=J.toLowerCase()}static toKey(J){if(typeof J===\"string\")return J.toLowerCase();return J._lower}}class tu{constructor(J){if(this._set=new Set,J)for(let X of J)this.add(X)}add(J){this._set.add(nu.toKey(J))}has(J){return this._set.has(nu.toKey(J))}}function JN0(J,X,Y){let Z=[],Q=new tu,$=J.ordered(Y);for(let G of $)if(Z.push(G),G.extensionId)Q.add(G.extensionId);let q=X.ordered(Y);for(let G of q){if(G.extensionId){if(Q.has(G.extensionId))continue;Q.add(G.extensionId)}Z.push({displayName:G.displayName,extensionId:G.extensionId,provideDocumentFormattingEdits(U,H,V){return G.provideDocumentRangeFormattingEdits(U,U.getFullModelRange(),H,V)}})}return Z}class GA{static{this._selectors=new x6}static setFormatterSelector(J){return{dispose:GA._selectors.unshift(J)}}static async select(J,X,Y,Z){if(J.length===0)return;let Q=s0.first(GA._selectors);if(Q)return await Q(J,X,Y,Z);return}}async function XN0(J,X,Y,Z,Q,$){let q=X.documentRangeFormattingEditProvider.ordered(Y);for(let G of q){let U=await Promise.resolve(G.provideDocumentRangeFormattingEdits(Y,Z,Q,$)).catch(VY);if(Yq(U))return await J.computeMoreMinimalEdits(Y.uri,U)}return}async function YN0(J,X,Y,Z,Q){let $=JN0(X.documentFormattingEditProvider,X.documentRangeFormattingEditProvider,Y);for(let q of $){let G=await Promise.resolve(q.provideDocumentFormattingEdits(Y,Z,Q)).catch(VY);if(Yq(G))return await J.computeMoreMinimalEdits(Y.uri,G)}return}function ZN0(J,X,Y,Z,Q,$,q){let G=X.onTypeFormattingEditProvider.ordered(Y);if(G.length===0)return Promise.resolve(void 0);if(G[0].autoFormatTriggerCharacters.indexOf(Q)<0)return Promise.resolve(void 0);return Promise.resolve(G[0].provideOnTypeFormattingEdits(Y,Z,Q,$,q)).catch(VY).then((U)=>{return J.computeMoreMinimalEdits(Y.uri,U)})}function QN0(J){let X=J;return!!X&&typeof X===\"object\"&&typeof X.tabSize===\"number\"&&typeof X.insertSpaces===\"boolean\"}S6.registerCommand(\"_executeFormatRangeProvider\",async function(J,...X){let[Y,Z,Q]=X;t4(R0.isUri(Y)),t4(T.isIRange(Z));let $=J.get(hq),q=J.get(R2),G=J.get($1),U=await $.createModelReference(Y);try{return XN0(q,G,U.object.textEditorModel,T.lift(Z),eu(Q,U),U8.None)}finally{U.dispose()}});S6.registerCommand(\"_executeFormatDocumentProvider\",async function(J,...X){let[Y,Z]=X;t4(R0.isUri(Y));let Q=J.get(hq),$=J.get(R2),q=J.get($1),G=await Q.createModelReference(Y);try{return YN0($,q,G.object.textEditorModel,eu(Z,G),U8.None)}finally{G.dispose()}});S6.registerCommand(\"_executeFormatOnTypeProvider\",async function(J,...X){let[Y,Z,Q,$]=X;t4(R0.isUri(Y)),t4(C.isIPosition(Z)),t4(typeof Q===\"string\");let q=J.get(hq),G=J.get(R2),U=J.get($1),H=await q.createModelReference(Y);try{return ZN0(G,U,H.object.textEditorModel,C.lift(Z),Q,eu($,H),U8.None)}finally{H.dispose()}});function eu(J,X){let Y;if(QN0(J))Y=J;else{let Z=X.object.textEditorModel.getOptions();Y={tabSize:Z.tabSize,insertSpaces:Z.insertSpaces}}return Y}I8.wrappingIndent.defaultValue=0;I8.glyphMargin.defaultValue=!1;I8.autoIndent.defaultValue=3;I8.overviewRulerLanes.defaultValue=2;GA.setFormatterSelector((J,X,Y)=>Promise.resolve(J[0]));var l7=vO();l7.editor=v$0();l7.languages=l$0();var{CancellationTokenSource:Fs1,Emitter:Bs1,KeyCode:_s1,KeyMod:As1,Position:Ps1,Range:Ds1,Selection:Os1,SelectionDirection:Ms1,MarkerSeverity:Rs1,MarkerTag:Ns1,Uri:ws1,Token:Ts1,editor:Ej,languages:UA}=l7,$N0=Tq(),kj=globalThis;if($N0?.globalAPI||typeof kj.define===\"function\"&&kj.define.amd)kj.monaco=l7;if(typeof kj.require<\"u\"&&typeof kj.require.config===\"function\")kj.require.config({ignoreDuplicateModules:[\"vscode-languageserver-types\",\"vscode-languageserver-types/main\",\"vscode-languageserver-textdocument\",\"vscode-languageserver-textdocument/main\",\"vscode-nls\",\"vscode-nls/vscode-nls\",\"jsonc-parser\",\"jsonc-parser/main\",\"vscode-uri\",\"vscode-uri/index\",\"vs/basic-languages/typescript/typescript\"]});class B9{constructor(J){this._editor=J,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){if(this._findScopeDecorationIds[0])return this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]);return null}getFindScopes(){if(this._findScopeDecorationIds.length){let J=this._findScopeDecorationIds.map((X)=>this._editor.getModel().getDecorationRange(X)).filter((X)=>!!X);if(J.length)return J}return null}getStartPosition(){return this._startPosition}setStartPosition(J){this._startPosition=J,this.setCurrentFindMatch(null)}_getDecorationIndex(J){let X=this._decorations.indexOf(J);if(X>=0)return X+1;return 1}getDecorationRangeAt(J){let X=J<this._decorations.length?this._decorations[J]:null;if(X)return this._editor.getModel().getDecorationRange(X);return null}getCurrentMatchesPosition(J){let X=this._editor.getModel().getDecorationsInRange(J);for(let Y of X){let Z=Y.options;if(Z===B9._FIND_MATCH_DECORATION||Z===B9._FIND_MATCH_NO_OVERVIEW_DECORATION||Z===B9._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(Y.id)}return 0}setCurrentFindMatch(J){let X=null,Y=0;if(J)for(let Z=0,Q=this._decorations.length;Z<Q;Z++){let $=this._editor.getModel().getDecorationRange(this._decorations[Z]);if(J.equalsRange($)){X=this._decorations[Z],Y=Z+1;break}}if(this._highlightedDecorationId!==null||X!==null)this._editor.changeDecorations((Z)=>{if(this._highlightedDecorationId!==null)Z.changeDecorationOptions(this._highlightedDecorationId,B9._FIND_MATCH_DECORATION),this._highlightedDecorationId=null;if(X!==null)this._highlightedDecorationId=X,Z.changeDecorationOptions(this._highlightedDecorationId,B9._CURRENT_FIND_MATCH_DECORATION);if(this._rangeHighlightDecorationId!==null)Z.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null;if(X!==null){let Q=this._editor.getModel().getDecorationRange(X);if(Q.startLineNumber!==Q.endLineNumber&&Q.endColumn===1){let $=Q.endLineNumber-1,q=this._editor.getModel().getLineMaxColumn($);Q=new T(Q.startLineNumber,Q.startColumn,$,q)}this._rangeHighlightDecorationId=Z.addDecoration(Q,B9._RANGE_HIGHLIGHT_DECORATION)}});return Y}set(J,X){this._editor.changeDecorations((Y)=>{let Z=B9._FIND_MATCH_DECORATION,Q=[];if(J.length>1000){Z=B9._FIND_MATCH_NO_OVERVIEW_DECORATION;let q=this._editor.getModel().getLineCount(),U=this._editor.getLayoutInfo().height/q,H=Math.max(2,Math.ceil(3/U)),V=J[0].range.startLineNumber,K=J[0].range.endLineNumber;for(let j=1,W=J.length;j<W;j++){let z=J[j].range;if(K+H>=z.startLineNumber){if(z.endLineNumber>K)K=z.endLineNumber}else Q.push({range:new T(V,1,K,1),options:B9._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),V=z.startLineNumber,K=z.endLineNumber}Q.push({range:new T(V,1,K,1),options:B9._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let $=Array(J.length);for(let q=0,G=J.length;q<G;q++)$[q]={range:J[q].range,options:Z};if(this._decorations=Y.deltaDecorations(this._decorations,$),this._overviewRulerApproximateDecorations=Y.deltaDecorations(this._overviewRulerApproximateDecorations,Q),this._rangeHighlightDecorationId)Y.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null;if(this._findScopeDecorationIds.length)this._findScopeDecorationIds.forEach((q)=>Y.removeDecoration(q)),this._findScopeDecorationIds=[];if(X?.length)this._findScopeDecorationIds=X.map((q)=>Y.addDecoration(q,B9._FIND_SCOPE_DECORATION))})}matchBeforePosition(J){if(this._decorations.length===0)return null;for(let X=this._decorations.length-1;X>=0;X--){let Y=this._decorations[X],Z=this._editor.getModel().getDecorationRange(Y);if(!Z||Z.endLineNumber>J.lineNumber)continue;if(Z.endLineNumber<J.lineNumber)return Z;if(Z.endColumn>J.column)continue;return Z}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(J){if(this._decorations.length===0)return null;for(let X=0,Y=this._decorations.length;X<Y;X++){let Z=this._decorations[X],Q=this._editor.getModel().getDecorationRange(Z);if(!Q||Q.startLineNumber<J.lineNumber)continue;if(Q.startLineNumber>J.lineNumber)return Q;if(Q.startColumn<J.column)continue;return Q}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let J=[];if(J=J.concat(this._decorations),J=J.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length)J.push(...this._findScopeDecorationIds);if(this._rangeHighlightDecorationId)J.push(this._rangeHighlightDecorationId);return J}static{this._CURRENT_FIND_MATCH_DECORATION=n0.register({description:\"current-find-match\",stickiness:1,zIndex:13,className:\"currentFindMatch\",inlineClassName:\"currentFindMatchInline\",showIfCollapsed:!0,overviewRuler:{color:n6(FR),position:m5.Center},minimap:{color:n6(TF),position:1}})}static{this._FIND_MATCH_DECORATION=n0.register({description:\"find-match\",stickiness:1,zIndex:10,className:\"findMatch\",inlineClassName:\"findMatchInline\",showIfCollapsed:!0,overviewRuler:{color:n6(FR),position:m5.Center},minimap:{color:n6(TF),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=n0.register({description:\"find-match-no-overview\",stickiness:1,className:\"findMatch\",showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=n0.register({description:\"find-match-only-overview\",stickiness:1,overviewRuler:{color:n6(FR),position:m5.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=n0.register({description:\"find-range-highlight\",stickiness:1,className:\"rangeHighlight\",isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=n0.register({description:\"find-scope\",className:\"findScope\",isWholeLine:!0})}}class Jc{constructor(J,X,Y){this._editorSelection=J,this._ranges=X,this._replaceStrings=Y,this._trackedEditorSelectionId=null}getEditOperations(J,X){if(this._ranges.length>0){let Y=[];for(let $=0;$<this._ranges.length;$++)Y.push({range:this._ranges[$],text:this._replaceStrings[$]});Y.sort(($,q)=>{return T.compareRangesUsingStarts($.range,q.range)});let Z=[],Q=Y[0];for(let $=1;$<Y.length;$++)if(Q.range.endLineNumber===Y[$].range.startLineNumber&&Q.range.endColumn===Y[$].range.startColumn)Q.range=Q.range.plusRange(Y[$].range),Q.text=Q.text+Y[$].text;else Z.push(Q),Q=Y[$];Z.push(Q);for(let $ of Z)X.addEditOperation($.range,$.text)}this._trackedEditorSelectionId=X.trackSelection(this._editorSelection)}computeCursorState(J,X){return X.getTrackedSelection(this._trackedEditorSelectionId)}}function Xc(J,X){if(J&&J[0]!==\"\"){let Y=a$0(J,X,\"-\"),Z=a$0(J,X,\"_\");if(Y&&!Z)return i$0(J,X,\"-\");else if(!Y&&Z)return i$0(J,X,\"_\");if(J[0].toUpperCase()===J[0])return X.toUpperCase();else if(J[0].toLowerCase()===J[0])return X.toLowerCase();else if(on(J[0][0])&&X.length>0)return X[0].toUpperCase()+X.substr(1);else if(J[0][0].toUpperCase()!==J[0][0]&&X.length>0)return X[0].toLowerCase()+X.substr(1);else return X}else return X}function a$0(J,X,Y){return J[0].indexOf(Y)!==-1&&X.indexOf(Y)!==-1&&J[0].split(Y).length===X.split(Y).length}function i$0(J,X,Y){let Z=X.split(Y),Q=J[0].split(Y),$=\"\";return Z.forEach((q,G)=>{$+=Xc([Q[G]],q)+Y}),$.slice(0,-1)}class Yc{constructor(J){this.staticValue=J,this.kind=0}}class r$0{constructor(J){this.pieces=J,this.kind=1}}class OU{static fromStaticValue(J){return new OU([DU.staticValue(J)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(J){if(!J||J.length===0)this._state=new Yc(\"\");else if(J.length===1&&J[0].staticValue!==null)this._state=new Yc(J[0].staticValue);else this._state=new r$0(J)}buildReplaceString(J,X){if(this._state.kind===0)if(X)return Xc(J,this._state.staticValue);else return this._state.staticValue;let Y=\"\";for(let Z=0,Q=this._state.pieces.length;Z<Q;Z++){let $=this._state.pieces[Z];if($.staticValue!==null){Y+=$.staticValue;continue}let q=OU._substitute($.matchIndex,J);if($.caseOps!==null&&$.caseOps.length>0){let G=[],U=$.caseOps.length,H=0;for(let V=0,K=q.length;V<K;V++){if(H>=U){G.push(q.slice(V));break}switch($.caseOps[H]){case\"U\":G.push(q[V].toUpperCase());break;case\"u\":G.push(q[V].toUpperCase()),H++;break;case\"L\":G.push(q[V].toLowerCase());break;case\"l\":G.push(q[V].toLowerCase()),H++;break;default:G.push(q[V])}}q=G.join(\"\")}Y+=q}return Y}static _substitute(J,X){if(X===null)return\"\";if(J===0)return X[0];let Y=\"\";while(J>0){if(J<X.length)return(X[J]||\"\")+Y;Y=String(J%10)+Y,J=Math.floor(J/10)}return\"$\"+Y}}class DU{static staticValue(J){return new DU(J,-1,null)}static caseOps(J,X){return new DU(null,J,X)}constructor(J,X,Y){if(this.staticValue=J,this.matchIndex=X,!Y||Y.length===0)this.caseOps=null;else this.caseOps=Y.slice(0)}}class o$0{constructor(J){this._source=J,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=\"\"}emitUnchanged(J){this._emitStatic(this._source.substring(this._lastCharIndex,J)),this._lastCharIndex=J}emitStatic(J,X){this._emitStatic(J),this._lastCharIndex=X}_emitStatic(J){if(J.length===0)return;this._currentStaticPiece+=J}emitMatchIndex(J,X,Y){if(this._currentStaticPiece.length!==0)this._result[this._resultLen++]=DU.staticValue(this._currentStaticPiece),this._currentStaticPiece=\"\";this._result[this._resultLen++]=DU.caseOps(J,Y),this._lastCharIndex=X}finalize(){if(this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0)this._result[this._resultLen++]=DU.staticValue(this._currentStaticPiece),this._currentStaticPiece=\"\";return new OU(this._result)}}function n$0(J){if(!J||J.length===0)return new OU(null);let X=[],Y=new o$0(J);for(let Z=0,Q=J.length;Z<Q;Z++){let $=J.charCodeAt(Z);if($===92){if(Z++,Z>=Q)break;let q=J.charCodeAt(Z);switch(q){case 92:Y.emitUnchanged(Z-1),Y.emitStatic(\"\\\\\",Z+1);break;case 110:Y.emitUnchanged(Z-1),Y.emitStatic(`\n`,Z+1);break;case 116:Y.emitUnchanged(Z-1),Y.emitStatic(\"\\t\",Z+1);break;case 117:case 85:case 108:case 76:Y.emitUnchanged(Z-1),Y.emitStatic(\"\",Z+1),X.push(String.fromCharCode(q));break}continue}if($===36){if(Z++,Z>=Q)break;let q=J.charCodeAt(Z);if(q===36){Y.emitUnchanged(Z-1),Y.emitStatic(\"$\",Z+1);continue}if(q===48||q===38){Y.emitUnchanged(Z-1),Y.emitMatchIndex(0,Z+1,X),X.length=0;continue}if(49<=q&&q<=57){let G=q-48;if(Z+1<Q){let U=J.charCodeAt(Z+1);if(48<=U&&U<=57){Z++,G=G*10+(U-48),Y.emitUnchanged(Z-2),Y.emitMatchIndex(G,Z+1,X),X.length=0;continue}}Y.emitUnchanged(Z-1),Y.emitMatchIndex(G,Z+1,X),X.length=0;continue}}}return Y.finalize()}var _Z=new G0(\"findWidgetVisible\",!1);_Z.toNegated();var xj=new G0(\"findInputFocussed\",!1),HA=new G0(\"replaceInputFocussed\",!1),t$0=new G0(\"findWidgetFocused\",!1),VA={primary:545,mac:{primary:2593}},KA={primary:565,mac:{primary:2613}},jA={primary:560,mac:{primary:2608}},WA={primary:554,mac:{primary:2602}},zA={primary:558,mac:{primary:2606}},g1={StartFindAction:\"actions.find\",StartFindWithSelection:\"actions.findWithSelection\",StartFindWithArgs:\"editor.actions.findWithArgs\",NextMatchFindAction:\"editor.action.nextMatchFindAction\",PreviousMatchFindAction:\"editor.action.previousMatchFindAction\",GoToMatchFindAction:\"editor.action.goToMatchFindAction\",NextSelectionMatchFindAction:\"editor.action.nextSelectionMatchFindAction\",PreviousSelectionMatchFindAction:\"editor.action.previousSelectionMatchFindAction\",StartFindReplaceAction:\"editor.action.startFindReplaceAction\",CloseFindWidgetCommand:\"closeFindWidget\",ToggleCaseSensitiveCommand:\"toggleFindCaseSensitive\",ToggleWholeWordCommand:\"toggleFindWholeWord\",ToggleRegexCommand:\"toggleFindRegex\",ToggleSearchScopeCommand:\"toggleFindInSelection\",TogglePreserveCaseCommand:\"togglePreserveCase\",ReplaceOneAction:\"editor.action.replaceOne\",ReplaceAllAction:\"editor.action.replaceAll\",SelectAllMatchesAction:\"editor.action.selectAllMatches\"},BZ=19999,GN0=240;class yj{constructor(J,X){this._toDispose=new a,this._editor=J,this._state=X,this._isDisposed=!1,this._startSearchingTimer=new i8,this._decorations=new B9(J),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new B1(()=>{if(!this._editor.hasModel())return;return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((Y)=>{if(Y.reason===3||Y.reason===5||Y.reason===6)this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((Y)=>{if(this._ignoreModelContentChanged)return;if(Y.isFlush)this._decorations.reset();this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule()})),this._toDispose.add(this._state.onFindReplaceStateChange((Y)=>this._onStateChanged(Y))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,D1(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(J){if(this._isDisposed)return;if(!this._editor.hasModel())return;if(J.searchString||J.isReplaceRevealed||J.isRegex||J.wholeWord||J.matchCase||J.searchScope)if(this._editor.getModel().isTooLargeForSyncing())this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{if(J.searchScope)this.research(J.moveCursor,this._state.searchScope);else this.research(J.moveCursor)},GN0);else if(J.searchScope)this.research(J.moveCursor,this._state.searchScope);else this.research(J.moveCursor)}static _getSearchRange(J,X){if(X)return X;return J.getFullModelRange()}research(J,X){let Y=null;if(typeof X<\"u\"){if(X!==null)if(!Array.isArray(X))Y=[X];else Y=X}else Y=this._decorations.getFindScopes();if(Y!==null)Y=Y.map((q)=>{if(q.startLineNumber!==q.endLineNumber){let G=q.endLineNumber;if(q.endColumn===1)G=G-1;return new T(q.startLineNumber,1,G,this._editor.getModel().getLineMaxColumn(G))}return q});let Z=this._findMatches(Y,!1,BZ);this._decorations.set(Z,Y);let Q=this._editor.getSelection(),$=this._decorations.getCurrentMatchesPosition(Q);if($===0&&Z.length>0){let q=B2(Z.map((G)=>G.range),(G)=>T.compareRangesUsingStarts(G,Q)>=0);$=q>0?q-1+1:$}if(this._state.changeMatchInfo($,this._decorations.getCount(),void 0),J&&this._editor.getOption(50).cursorMoveOnType)this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let J=this._decorations.getFindScope();if(J)this._editor.revealRangeInCenterIfOutsideViewport(J,0);return!0}return!1}_setCurrentFindMatch(J){let X=this._decorations.setCurrentFindMatch(J);this._state.changeMatchInfo(X,this._decorations.getCount(),J),this._editor.setSelection(J),this._editor.revealRangeInCenterIfOutsideViewport(J,0)}_prevSearchPosition(J){let X=this._state.isRegex&&(this._state.searchString.indexOf(\"^\")>=0||this._state.searchString.indexOf(\"$\")>=0),{lineNumber:Y,column:Z}=J,Q=this._editor.getModel();if(X||Z===1){if(Y===1)Y=Q.getLineCount();else Y--;Z=Q.getLineMaxColumn(Y)}else Z--;return new C(Y,Z)}_moveToPrevMatch(J,X=!1){if(!this._state.canNavigateBack()){let H=this._decorations.matchAfterPosition(J);if(H)this._setCurrentFindMatch(H);return}if(this._decorations.getCount()<BZ){let H=this._decorations.matchBeforePosition(J);if(H&&H.isEmpty()&&H.getStartPosition().equals(J))J=this._prevSearchPosition(J),H=this._decorations.matchBeforePosition(J);if(H)this._setCurrentFindMatch(H);return}if(this._cannotFind())return;let Y=this._decorations.getFindScope(),Z=yj._getSearchRange(this._editor.getModel(),Y);if(Z.getEndPosition().isBefore(J))J=Z.getEndPosition();if(J.isBefore(Z.getStartPosition()))J=Z.getEndPosition();let{lineNumber:Q,column:$}=J,q=this._editor.getModel(),G=new C(Q,$),U=q.findPreviousMatch(this._state.searchString,G,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(U&&U.range.isEmpty()&&U.range.getStartPosition().equals(G))G=this._prevSearchPosition(G),U=q.findPreviousMatch(this._state.searchString,G,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(!U)return;if(!X&&!Z.containsRange(U.range))return this._moveToPrevMatch(U.range.getStartPosition(),!0);this._setCurrentFindMatch(U.range)}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(J){let X=this._state.isRegex&&(this._state.searchString.indexOf(\"^\")>=0||this._state.searchString.indexOf(\"$\")>=0),{lineNumber:Y,column:Z}=J,Q=this._editor.getModel();if(X||Z===Q.getLineMaxColumn(Y)){if(Y===Q.getLineCount())Y=1;else Y++;Z=1}else Z++;return new C(Y,Z)}_moveToNextMatch(J){if(!this._state.canNavigateForward()){let Y=this._decorations.matchBeforePosition(J);if(Y)this._setCurrentFindMatch(Y);return}if(this._decorations.getCount()<BZ){let Y=this._decorations.matchAfterPosition(J);if(Y&&Y.isEmpty()&&Y.getStartPosition().equals(J))J=this._nextSearchPosition(J),Y=this._decorations.matchAfterPosition(J);if(Y)this._setCurrentFindMatch(Y);return}let X=this._getNextMatch(J,!1,!0);if(X)this._setCurrentFindMatch(X.range)}_getNextMatch(J,X,Y,Z=!1){if(this._cannotFind())return null;let Q=this._decorations.getFindScope(),$=yj._getSearchRange(this._editor.getModel(),Q);if($.getEndPosition().isBefore(J))J=$.getStartPosition();if(J.isBefore($.getStartPosition()))J=$.getStartPosition();let{lineNumber:q,column:G}=J,U=this._editor.getModel(),H=new C(q,G),V=U.findNextMatch(this._state.searchString,H,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,X);if(Y&&V&&V.range.isEmpty()&&V.range.getStartPosition().equals(H))H=this._nextSearchPosition(H),V=U.findNextMatch(this._state.searchString,H,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,X);if(!V)return null;if(!Z&&!$.containsRange(V.range))return this._getNextMatch(V.range.getEndPosition(),X,Y,!0);return V}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(J){let X=this._decorations.getDecorationRangeAt(J);if(X)this._setCurrentFindMatch(X)}moveToMatch(J){this._moveToMatch(J)}_getReplacePattern(){if(this._state.isRegex)return n$0(this._state.replaceString);return OU.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let J=this._getReplacePattern(),X=this._editor.getSelection(),Y=this._getNextMatch(X.getStartPosition(),!0,!1);if(Y)if(X.equalsRange(Y.range)){let Z=J.buildReplaceString(Y.matches,this._state.preserveCase),Q=new w8(X,Z);this._executeEditorCommand(\"replace\",Q),this._decorations.setStartPosition(new C(X.startLineNumber,X.startColumn+Z.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(Y.range)}_findMatches(J,X,Y){let Z=(J||[null]).map((Q)=>yj._getSearchRange(this._editor.getModel(),Q));return this._editor.getModel().findMatches(this._state.searchString,Z,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,X,Y)}replaceAll(){if(!this._hasMatches())return;let J=this._decorations.getFindScopes();if(J===null&&this._state.matchesCount>=BZ)this._largeReplaceAll();else this._regularReplaceAll(J);this.research(!1)}_largeReplaceAll(){let X=new kY(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!X)return;let Y=X.regex;if(!Y.multiline){let V=\"mu\";if(Y.ignoreCase)V+=\"i\";if(Y.global)V+=\"g\";Y=new RegExp(Y.source,V)}let Z=this._editor.getModel(),Q=Z.getValue(1),$=Z.getFullModelRange(),q=this._getReplacePattern(),G,U=this._state.preserveCase;if(q.hasReplacementPatterns||U)G=Q.replace(Y,function(){return q.buildReplaceString(arguments,U)});else G=Q.replace(Y,q.buildReplaceString(null,U));let H=new RG($,G,this._editor.getSelection());this._executeEditorCommand(\"replaceAll\",H)}_regularReplaceAll(J){let X=this._getReplacePattern(),Y=this._findMatches(J,X.hasReplacementPatterns||this._state.preserveCase,1073741824),Z=[];for(let $=0,q=Y.length;$<q;$++)Z[$]=X.buildReplaceString(Y[$].matches,this._state.preserveCase);let Q=new Jc(this._editor.getSelection(),Y.map(($)=>$.range),Z);this._executeEditorCommand(\"replaceAll\",Q)}selectAllMatches(){if(!this._hasMatches())return;let J=this._decorations.getFindScopes(),Y=this._findMatches(J,!1,1073741824).map((Q)=>new Y0(Q.range.startLineNumber,Q.range.startColumn,Q.range.endLineNumber,Q.range.endColumn)),Z=this._editor.getSelection();for(let Q=0,$=Y.length;Q<$;Q++)if(Y[Q].equalsRange(Z)){Y=[Z].concat(Y.slice(0,Q)).concat(Y.slice(Q+1));break}this._editor.setSelections(Y)}_executeEditorCommand(J,X){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(J,X),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}class SL extends F8{static{this.ID=\"editor.contrib.findOptionsWidget\"}constructor(J,X,Y){super();this._hideSoon=this._register(new B1(()=>this._hide(),2000)),this._isVisible=!1,this._editor=J,this._state=X,this._keybindingService=Y,this._domNode=document.createElement(\"div\"),this._domNode.className=\"findOptionsWidget\",this._domNode.style.display=\"none\",this._domNode.style.top=\"10px\",this._domNode.style.zIndex=\"12\",this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.setAttribute(\"aria-hidden\",\"true\");let Z={inputActiveOptionBorder:Z0(jG),inputActiveOptionForeground:Z0(WG),inputActiveOptionBackground:Z0(LQ)},Q={groupId:\"find-options-widget\"};this.caseSensitive=this._register(new E_({appendTitle:this._keybindingLabelFor(g1.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:Q,...Z})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new y_({appendTitle:this._keybindingLabelFor(g1.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:Q,...Z})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new x_({appendTitle:this._keybindingLabelFor(g1.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:Q,...Z})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(($)=>{let q=!1;if($.isRegex)this.regex.checked=this._state.isRegex,q=!0;if($.wholeWord)this.wholeWords.checked=this._state.wholeWord,q=!0;if($.matchCase)this.caseSensitive.checked=this._state.matchCase,q=!0;if(!this._state.isRevealed&&q)this._revealTemporarily()})),this._register(f(this._domNode,r.MOUSE_LEAVE,($)=>this._onMouseLeave())),this._register(f(this._domNode,\"mouseover\",($)=>this._onMouseOver()))}_keybindingLabelFor(J){return this._keybindingService.appendKeybinding(\"\",J)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return SL.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){if(this._isVisible)return;this._isVisible=!0,this._domNode.style.display=\"block\"}_hide(){if(!this._isVisible)return;this._isVisible=!1,this._domNode.style.display=\"none\"}}function fL(J,X){if(J===1)return!0;if(J===2)return!1;return X}class Zc extends y{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return fL(this._isRegexOverride,this._isRegex)}get wholeWord(){return fL(this._wholeWordOverride,this._wholeWord)}get matchCase(){return fL(this._matchCaseOverride,this._matchCase)}get preserveCase(){return fL(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super();this._onFindReplaceStateChange=this._register(new E),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString=\"\",this._replaceString=\"\",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(J,X,Y){let Z={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},Q=!1;if(X===0)J=0;if(J>X)J=X;if(this._matchesPosition!==J)this._matchesPosition=J,Z.matchesPosition=!0,Q=!0;if(this._matchesCount!==X)this._matchesCount=X,Z.matchesCount=!0,Q=!0;if(typeof Y<\"u\"){if(!T.equalsRange(this._currentMatch,Y))this._currentMatch=Y,Z.currentMatch=!0,Q=!0}if(Q)this._onFindReplaceStateChange.fire(Z)}change(J,X,Y=!0){let Z={moveCursor:X,updateHistory:Y,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},Q=!1,$=this.isRegex,q=this.wholeWord,G=this.matchCase,U=this.preserveCase;if(typeof J.searchString<\"u\"){if(this._searchString!==J.searchString)this._searchString=J.searchString,Z.searchString=!0,Q=!0}if(typeof J.replaceString<\"u\"){if(this._replaceString!==J.replaceString)this._replaceString=J.replaceString,Z.replaceString=!0,Q=!0}if(typeof J.isRevealed<\"u\"){if(this._isRevealed!==J.isRevealed)this._isRevealed=J.isRevealed,Z.isRevealed=!0,Q=!0}if(typeof J.isReplaceRevealed<\"u\"){if(this._isReplaceRevealed!==J.isReplaceRevealed)this._isReplaceRevealed=J.isReplaceRevealed,Z.isReplaceRevealed=!0,Q=!0}if(typeof J.isRegex<\"u\")this._isRegex=J.isRegex;if(typeof J.wholeWord<\"u\")this._wholeWord=J.wholeWord;if(typeof J.matchCase<\"u\")this._matchCase=J.matchCase;if(typeof J.preserveCase<\"u\")this._preserveCase=J.preserveCase;if(typeof J.searchScope<\"u\"){if(!J.searchScope?.every((H)=>{return this._searchScope?.some((V)=>{return!T.equalsRange(V,H)})}))this._searchScope=J.searchScope,Z.searchScope=!0,Q=!0}if(typeof J.loop<\"u\"){if(this._loop!==J.loop)this._loop=J.loop,Z.loop=!0,Q=!0}if(typeof J.isSearching<\"u\"){if(this._isSearching!==J.isSearching)this._isSearching=J.isSearching,Z.isSearching=!0,Q=!0}if(typeof J.filters<\"u\"){if(this._filters)this._filters.update(J.filters);else this._filters=J.filters;Z.filters=!0,Q=!0}if(this._isRegexOverride=typeof J.isRegexOverride<\"u\"?J.isRegexOverride:0,this._wholeWordOverride=typeof J.wholeWordOverride<\"u\"?J.wholeWordOverride:0,this._matchCaseOverride=typeof J.matchCaseOverride<\"u\"?J.matchCaseOverride:0,this._preserveCaseOverride=typeof J.preserveCaseOverride<\"u\"?J.preserveCaseOverride:0,$!==this.isRegex)Q=!0,Z.isRegex=!0;if(q!==this.wholeWord)Q=!0,Z.wholeWord=!0;if(G!==this.matchCase)Q=!0,Z.matchCase=!0;if(U!==this.preserveCase)Q=!0,Z.preserveCase=!0;if(Q)this._onFindReplaceStateChange.fire(Z)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=BZ}}var UN0=F(5,\"input\"),HN0=F(6,\"Preserve Case\");class e$0 extends iJ{constructor(J){super({icon:t.preserveCase,title:HN0+J.appendTitle,isChecked:J.isChecked,hoverLifecycleOptions:J.hoverLifecycleOptions,inputActiveOptionBorder:J.inputActiveOptionBorder,inputActiveOptionForeground:J.inputActiveOptionForeground,inputActiveOptionBackground:J.inputActiveOptionBackground})}}class Qc extends F8{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(J,X,Y,Z){super();this._showOptionButtons=Y,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new E),this._onKeyDown=this._register(new E),this._onMouseDown=this._register(new E),this._onInput=this._register(new E),this._onKeyUp=this._register(new E),this._onPreserveCaseKeyDown=this._register(new E),this.contextViewProvider=X,this.placeholder=Z.placeholder||\"\",this.validation=Z.validation,this.label=Z.label||UN0;let Q=Z.appendPreserveCaseLabel||\"\",$=Z.history||new Set([]),q=!!Z.flexibleHeight,G=!!Z.flexibleWidth,U=Z.flexibleMaxHeight;if(this.domNode=document.createElement(\"div\"),this.domNode.classList.add(\"monaco-findInput\"),this.inputBox=this._register(new b_(this.domNode,this.contextViewProvider,{ariaLabel:this.label||\"\",placeholder:this.placeholder||\"\",validationOptions:{validation:this.validation},history:$,showHistoryHint:Z.showHistoryHint,flexibleHeight:q,flexibleWidth:G,flexibleMaxHeight:U,inputBoxStyles:Z.inputBoxStyles})),this.preserveCase=this._register(new e$0({appendTitle:Q,isChecked:!1,hoverLifecycleOptions:Z.hoverLifecycleOptions,...Z.toggleStyles})),this._register(this.preserveCase.onChange((K)=>{if(this._onDidOptionChange.fire(K),!K&&this.fixFocusOnOptionClickEnabled)this.inputBox.focus();this.validate()})),this._register(this.preserveCase.onKeyDown((K)=>{this._onPreserveCaseKeyDown.fire(K)})),this._showOptionButtons)this.cachedOptionsWidth=this.preserveCase.width();else this.cachedOptionsWidth=0;let H=[this.preserveCase.domNode];this.onkeydown(this.domNode,(K)=>{if(K.equals(15)||K.equals(17)||K.equals(9)){let j=H.indexOf(this.domNode.ownerDocument.activeElement);if(j>=0){let W=-1;if(K.equals(17))W=(j+1)%H.length;else if(K.equals(15))if(j===0)W=H.length-1;else W=j-1;if(K.equals(9))H[j].blur(),this.inputBox.focus();else if(W>=0)H[W].focus();d0.stop(K,!0)}}});let V=document.createElement(\"div\");V.className=\"controls\",V.style.display=this._showOptionButtons?\"block\":\"none\",V.appendChild(this.preserveCase.domNode),this.domNode.appendChild(V),J?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(K)=>this._onKeyDown.fire(K)),this.onkeyup(this.inputBox.inputElement,(K)=>this._onKeyUp.fire(K)),this.oninput(this.inputBox.inputElement,(K)=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,(K)=>this._onMouseDown.fire(K))}enable(){this.domNode.classList.remove(\"disabled\"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add(\"disabled\"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(J){if(J)this.enable();else this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(J){this.preserveCase.checked=J}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(J){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=J+\"px\"}}var J20=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},X20=function(J,X){return function(Y,Z){X(Y,Z,J)}},Y20=new G0(\"suggestWidgetVisible\",!1,F(1760,\"Whether suggestion are visible\")),$c=\"historyNavigationWidgetFocus\",Z20=\"historyNavigationForwardsEnabled\",Q20=\"historyNavigationBackwardsEnabled\",FA=void 0,hL=[];function $20(J,X){if(hL.includes(X))throw Error(\"Cannot register the same widget multiple times\");hL.push(X);let Y=new a,Z=new G0($c,!1).bindTo(J),Q=new G0(Z20,!0).bindTo(J),$=new G0(Q20,!0).bindTo(J),q=()=>{Z.set(!0),FA=X},G=()=>{if(Z.set(!1),FA===X)FA=void 0};if(Z9(X.element))q();return Y.add(X.onDidFocus(()=>q())),Y.add(X.onDidBlur(()=>G())),Y.add(J0(()=>{hL.splice(hL.indexOf(X),1),G()})),{historyNavigationForwardsEnablement:Q,historyNavigationBackwardsEnablement:$,dispose(){Y.dispose()}}}var vL=class extends C_{constructor(X,Y,Z,Q){super(X,Y,Z);let $=this._register(Q.createScoped(this.inputBox.element));this._register($20($,this.inputBox))}};vL=J20([X20(3,E0)],vL);var gL=class extends Qc{constructor(X,Y,Z,Q,$=!1){super(X,Y,$,Z);let q=this._register(Q.createScoped(this.inputBox.element));this._register($20(q,this.inputBox))}};gL=J20([X20(3,E0)],gL);p5.registerCommandAndKeybindingRule({id:\"history.showPrevious\",weight:200,when:P0.and(P0.has($c),P0.equals(Q20,!0),P0.not(\"isComposing\"),Y20.isEqualTo(!1)),primary:16,secondary:[528],handler:(J)=>{FA?.showPreviousValue()}});p5.registerCommandAndKeybindingRule({id:\"history.showNext\",weight:200,when:P0.and(P0.has($c),P0.equals(Z20,!0),P0.not(\"isComposing\"),Y20.isEqualTo(!1)),primary:18,secondary:[530],handler:(J)=>{FA?.showNextValue()}});function qc(J){return J.lookupKeybinding(\"history.showPrevious\")?.getElectronAccelerator()===\"Up\"&&J.lookupKeybinding(\"history.showNext\")?.getElectronAccelerator()===\"Down\"}var q20=c8(\"find-collapsed\",t.chevronRight,F(996,\"Icon to indicate that the editor find widget is collapsed.\")),G20=c8(\"find-expanded\",t.chevronDown,F(997,\"Icon to indicate that the editor find widget is expanded.\")),VN0=c8(\"find-selection\",t.selection,F(998,\"Icon for 'Find in Selection' in the editor find widget.\")),KN0=c8(\"find-replace\",t.replace,F(999,\"Icon for 'Replace' in the editor find widget.\")),jN0=c8(\"find-replace-all\",t.replaceAll,F(1000,\"Icon for 'Replace All' in the editor find widget.\")),WN0=c8(\"find-previous-match\",t.arrowUp,F(1001,\"Icon for 'Find Previous' in the editor find widget.\")),zN0=c8(\"find-next-match\",t.arrowDown,F(1002,\"Icon for 'Find Next' in the editor find widget.\")),FN0=F(1003,\"Find / Replace\"),Gc=F(1004,\"Find\"),BN0=F(1005,\"Find\"),_N0=F(1006,\"Previous Match\"),AN0=F(1007,\"Next Match\"),PN0=F(1008,\"Find in Selection\"),DN0=F(1009,\"Close\"),Uc=F(1010,\"Replace\"),ON0=F(1011,\"Replace\"),MN0=F(1012,\"Replace\"),RN0=F(1013,\"Replace All\"),NN0=F(1014,\"Toggle Replace\"),wN0=F(1015,\"Only the first {0} results are highlighted, but all find operations work on the entire text.\",BZ),TN0=F(1016,\"{0} of {1}\"),mL=F(1017,\"No results\"),AZ=419,LN0=275,IN0=LN0-54,BA=69,kN0=33,U20=I0?256:2048;class pL{constructor(J){this.afterLineNumber=J,this.heightInPx=kN0,this.suppressMouseDown=!1,this.domNode=document.createElement(\"div\"),this.domNode.className=\"dock-find-viewzone\"}}function H20(J,X,Y){let Z=!!X.match(/\\n/);if(Y&&Z&&Y.selectionStart>0){J.stopPropagation();return}}function V20(J,X,Y){let Z=!!X.match(/\\n/);if(Y&&Z&&Y.selectionEnd<Y.value.length){J.stopPropagation();return}}class sX extends F8{static{this.ID=\"editor.contrib.findWidget\"}constructor(J,X,Y,Z,Q,$,q,G,U,H,V){super();if(this._hoverService=q,this._findWidgetSearchHistory=G,this._replaceWidgetHistory=U,this._configurationService=H,this._accessibilityService=V,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=J,this._controller=X,this._state=Y,this._contextViewProvider=Z,this._keybindingService=Q,this._contextKeyService=$,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new Y4(500),this._register(J0(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange((K)=>this._onStateChanged(K))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((K)=>{if(K.hasChanged(104)){if(this._codeEditor.getOption(104))this._state.change({isReplaceRevealed:!1},!1);this._updateButtons()}if(K.hasChanged(165))this._tryUpdateWidgetWidth();if(K.hasChanged(2))this.updateAccessibilitySupport();if(K.hasChanged(50)){let j=this._codeEditor.getOption(50).loop;this._state.change({loop:j},!1);let W=this._codeEditor.getOption(50).addExtraSpaceOnTop;if(W&&!this._viewZone)this._viewZone=new pL(0),this._showViewZone();if(!W&&this._viewZone)this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{if(this._isVisible)this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){let K=await this._controller.getGlobalBufferTerm();if(K&&K!==this._state.searchString)this._state.change({searchString:K},!1),this._findInput.select()}})),this._findInputFocused=xj.bindTo($),this._findFocusTracker=this._register(L7(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._lastFocusedInputWasReplace=!1,this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=HA.bindTo($),this._replaceFocusTracker=this._register(L7(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._lastFocusedInputWasReplace=!0,this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._findWidgetFocused=t$0.bindTo($),this._widgetFocusTracker=this._register(L7(this._domNode)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register(f(this._domNode,\"focusin\",(K)=>{if(a0(K.target))this._lastFocusedElement=K.target})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop)this._viewZone=new pL(0);this._register(this._codeEditor.onDidChangeModel(()=>{if(!this._isVisible)return;this._viewZoneId=void 0})),this._register(this._codeEditor.onDidScrollChange((K)=>{if(K.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return sX.ID}getDomNode(){return this._domNode}getPosition(){if(this._isVisible)return{preference:0};return null}_onStateChanged(J){if(J.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(J.replaceString)this._replaceInput.inputBox.value=this._state.replaceString;if(J.isRevealed)if(this._state.isRevealed)this._reveal();else this._hide(!0);if(J.isReplaceRevealed){if(this._state.isReplaceRevealed){if(!this._codeEditor.getOption(104)&&!this._isReplaceVisible)this._isReplaceVisible=!0,this._replaceInput.width=Z4(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()}else if(this._isReplaceVisible)this._isReplaceVisible=!1,this._updateButtons()}if((J.isRevealed||J.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)){if(this._tryUpdateHeight())this._showViewZone()}if(J.isRegex)this._findInput.setRegex(this._state.isRegex);if(J.wholeWord)this._findInput.setWholeWords(this._state.wholeWord);if(J.matchCase)this._findInput.setCaseSensitive(this._state.matchCase);if(J.preserveCase)this._replaceInput.setPreserveCase(this._state.preserveCase);if(J.searchScope){if(this._state.searchScope)this._toggleSelectionFind.checked=!0;else this._toggleSelectionFind.checked=!1;this._updateToggleSelectionFindButton()}if(J.searchString||J.matchesCount||J.matchesPosition){let X=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle(\"no-results\",X),this._updateMatchesCount(),this._updateButtons()}if(J.searchString||J.currentMatch)this._layoutViewZone();if(J.updateHistory)this._delayedUpdateHistory();if(J.loop)this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,b0)}_updateHistory(){if(this._state.searchString)this._findInput.inputBox.addToHistory();if(this._state.replaceString)this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){if(this._matchesCount.style.minWidth=BA+\"px\",this._state.matchesCount>=BZ)this._matchesCount.title=wN0;else this._matchesCount.title=\"\";this._matchesCount.firstChild?.remove();let J;if(this._state.matchesCount>0){let X=String(this._state.matchesCount);if(this._state.matchesCount>=BZ)X+=\"+\";let Y=String(this._state.matchesPosition);if(Y===\"0\")Y=\"?\";J=i$(TN0,Y,X)}else J=mL;this._matchesCount.appendChild(document.createTextNode(J)),y4(this._getAriaLabel(J,this._state.currentMatch,this._state.searchString)),BA=Math.max(BA,this._matchesCount.clientWidth)}_getAriaLabel(J,X,Y){let Z;if(J===mL)Z=Y===\"\"?F(1018,\"{0} found\",J):F(1019,\"{0} found for '{1}'\",J,Y);else if(X){let Q=F(1020,\"{0} found for '{1}', at {2}\",J,Y,X.startLineNumber+\":\"+X.startColumn),$=this._codeEditor.getModel();if($&&X.startLineNumber<=$.getLineCount()&&X.startLineNumber>=1)Z=`${$.getLineContent(X.startLineNumber)}, ${Q}`;else Z=Q}else Z=F(1021,\"{0} found for '{1}'\",J,Y);return Z}_updateToggleSelectionFindButton(){let J=this._codeEditor.getSelection(),X=J?J.startLineNumber!==J.endLineNumber||J.startColumn!==J.endColumn:!1,Y=this._toggleSelectionFind.checked;if(this._isVisible&&(Y||X))this._toggleSelectionFind.enable();else this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let J=this._state.searchString.length>0,X=this._state.matchesCount?!0:!1;this._prevBtn.setEnabled(this._isVisible&&J&&X&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&J&&X&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&J),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&J),this._domNode.classList.toggle(\"replaceToggled\",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let Y=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&Y)}_reveal(){if(this._revealTimeouts.forEach((J)=>{clearTimeout(J)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;let J=this._codeEditor.getSelection();switch(this._codeEditor.getOption(50).autoFindInSelection){case\"always\":this._toggleSelectionFind.checked=!0;break;case\"never\":this._toggleSelectionFind.checked=!1;break;case\"multiline\":{let Y=!!J&&J.startLineNumber!==J.endLineNumber;this._toggleSelectionFind.checked=Y;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add(\"visible\"),this._domNode.setAttribute(\"aria-hidden\",\"false\"),this._updateFindInputAriaLabel()},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let X=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&J){let Y=this._codeEditor.getDomNode();if(Y){let Z=R8(Y),Q=this._codeEditor.getScrolledVisiblePosition(J.getStartPosition()),$=Z.left+(Q?Q.left:0),q=Q?Q.top:0;if(this._viewZone&&q<this._viewZone.heightInPx){if(J.endLineNumber>J.startLineNumber)X=!1;let G=VM(this._domNode).left;if($>G)X=!1;let U=this._codeEditor.getScrolledVisiblePosition(J.getEndPosition());if(Z.left+(U?U.left:0)>G)X=!1}}}this._showViewZone(X)}}_hide(J){if(this._revealTimeouts.forEach((X)=>{clearTimeout(X)}),this._revealTimeouts=[],this._isVisible){if(this._isVisible=!1,this._accessibilityHelpHintAnnounced=!1,this._updateButtons(),this._domNode.classList.remove(\"visible\"),this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._findInput.clearMessage(),J)this._codeEditor.focus();this._codeEditor.layoutOverlayWidget(this),this._removeViewZone()}}_layoutViewZone(J){if(!this._codeEditor.getOption(50).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;let Y=this._viewZone;if(this._viewZoneId!==void 0||!Y)return;this._codeEditor.changeViewZones((Z)=>{Y.heightInPx=this._getHeight(),this._viewZoneId=Z.addZone(Y),this._codeEditor.setScrollTop(J||this._codeEditor.getScrollTop()+Y.heightInPx)})}_showViewZone(J=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;if(this._viewZone===void 0)this._viewZone=new pL(0);let Y=this._viewZone;this._codeEditor.changeViewZones((Z)=>{if(this._viewZoneId!==void 0){let Q=this._getHeight();if(Q===Y.heightInPx)return;let $=Q-Y.heightInPx;if(Y.heightInPx=Q,Z.layoutZone(this._viewZoneId),J)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+$);return}else{let Q=this._getHeight();if(Q-=this._codeEditor.getOption(96).top,Q<=0)return;if(Y.heightInPx=Q,this._viewZoneId=Z.addZone(Y),J)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+Q)}})}_removeViewZone(){this._codeEditor.changeViewZones((J)=>{if(this._viewZoneId!==void 0){if(J.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone)this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0}})}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;let J=this._codeEditor.getLayoutInfo();if(J.contentWidth<=0){this._domNode.classList.add(\"hiddenEditor\");return}else if(this._domNode.classList.contains(\"hiddenEditor\"))this._domNode.classList.remove(\"hiddenEditor\");let Y=J.width,Z=J.minimap.minimapWidth,Q=!1,$=!1,q=!1;if(this._resized){if(Z4(this._domNode)>AZ){this._domNode.style.maxWidth=`${Y-28-Z-15}px`,this._replaceInput.width=Z4(this._findInput.domNode);return}}if(AZ+28+Z>=Y)$=!0;if(AZ+28+Z-BA>=Y)q=!0;if(AZ+28+Z-BA>=Y+50)Q=!0;if(this._domNode.classList.toggle(\"collapsed-find-widget\",Q),this._domNode.classList.toggle(\"narrow-find-widget\",q),this._domNode.classList.toggle(\"reduced-find-widget\",$),!q&&!Q)this._domNode.style.maxWidth=`${Y-28-Z-15}px`;if(this._findInput.layout({collapsedFindWidget:Q,narrowFindWidget:q,reducedFindWidget:$}),this._resized){let G=this._findInput.inputBox.element.clientWidth;if(G>0)this._replaceInput.width=G}else if(this._isReplaceVisible)this._replaceInput.width=Z4(this._findInput.domNode)}_getHeight(){let J=0;if(J+=4,J+=this._findInput.inputBox.height+2,this._isReplaceVisible)J+=4,J+=this._replaceInput.inputBox.height+2;return J+=4,J}_tryUpdateHeight(){let J=this._getHeight();if(this._cachedHeight!==null&&this._cachedHeight===J)return!1;return this._cachedHeight=J,this._domNode.style.height=`${J}px`,!0}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(!this._codeEditor.hasModel())return;if(this._toggleSelectionFind.checked){let J=this._codeEditor.getSelections();if(J.map((X)=>{if(X.endColumn===1&&X.endLineNumber>X.startLineNumber)X=X.setEndPosition(X.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(X.endLineNumber-1));let Y=this._state.currentMatch;if(X.startLineNumber!==X.endLineNumber){if(!T.equalsRange(X,Y))return X}return null}).filter((X)=>!!X),J.length)this._state.change({searchScope:J},!0)}}_onFindInputMouseDown(J){if(J.middleButton)J.stopPropagation()}_onFindInputKeyDown(J){if(J.equals(U20|3))if(this._keybindingService.dispatchEvent(J,J.target)){J.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`\n`),J.preventDefault();return}if(J.equals(2)){if(this._isReplaceVisible)this._replaceInput.focus();else this._findInput.focusOnCaseSensitive();J.preventDefault();return}if(J.equals(2066)){this._codeEditor.focus(),J.preventDefault();return}if(J.equals(16))return H20(J,this._findInput.getValue(),this._findInput.domNode.querySelector(\"textarea\"));if(J.equals(18))return V20(J,this._findInput.getValue(),this._findInput.domNode.querySelector(\"textarea\"))}_onReplaceInputKeyDown(J){if(J.equals(U20|3))if(this._keybindingService.dispatchEvent(J,J.target)){J.preventDefault();return}else{this._replaceInput.inputBox.insertAtCursor(`\n`),J.preventDefault();return}if(J.equals(2)){this._findInput.focusOnCaseSensitive(),J.preventDefault();return}if(J.equals(1026)){this._findInput.focus(),J.preventDefault();return}if(J.equals(2066)){this._codeEditor.focus(),J.preventDefault();return}if(J.equals(16))return H20(J,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(\"textarea\"));if(J.equals(18))return V20(J,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(\"textarea\"))}getVerticalSashLeft(J){return 0}_keybindingLabelFor(J){return this._keybindingService.appendKeybinding(\"\",J)}_buildDomNode(){let Y=this._codeEditor.getOption(50).history,Z=this._codeEditor.getOption(50).replaceHistory;if(this._findInput=this._register(new vL(null,this._contextViewProvider,{width:IN0,label:Gc,placeholder:BN0,appendCaseSensitiveLabel:this._keybindingLabelFor(g1.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(g1.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(g1.ToggleRegexCommand),validation:(V)=>{if(V.length===0||!this._findInput.getRegex())return null;try{return new RegExp(V,\"gu\"),null}catch(K){return{content:K.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>qc(this._keybindingService),inputBoxStyles:rK,toggleStyles:aK,history:Y===\"workspace\"?this._findWidgetSearchHistory:new Set([])},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((V)=>{if(V.equals(3)&&!this._codeEditor.getOption(50).findOnType)this._state.change({searchString:this._findInput.getValue()},!0);this._onFindInputKeyDown(V)})),this._register(this._findInput.inputBox.onDidChange(()=>{if(this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType)return;this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown((V)=>{if(V.equals(1026)){if(this._isReplaceVisible)this._replaceInput.focus(),V.preventDefault()}})),this._register(this._findInput.onRegexKeyDown((V)=>{if(V.equals(2)){if(this._isReplaceVisible)this._replaceInput.focusOnPreserve(),V.preventDefault()}})),this._register(this._findInput.inputBox.onDidHeightChange((V)=>{if(this._tryUpdateHeight())this._showViewZone()})),y6)this._register(this._findInput.onMouseDown((V)=>this._onFindInputMouseDown(V)));this._matchesCount=document.createElement(\"div\"),this._matchesCount.className=\"matchesCount\",this._updateMatchesCount();let Q={groupId:\"find-widget\"};this._prevBtn=this._register(new MU({label:_N0+this._keybindingLabelFor(g1.PreviousMatchFindAction),icon:WN0,hoverLifecycleOptions:Q,onTrigger:()=>{qq(this._codeEditor.getAction(g1.PreviousMatchFindAction)).run().then(void 0,b0)}},this._hoverService)),this._nextBtn=this._register(new MU({label:AN0+this._keybindingLabelFor(g1.NextMatchFindAction),icon:zN0,hoverLifecycleOptions:Q,onTrigger:()=>{qq(this._codeEditor.getAction(g1.NextMatchFindAction)).run().then(void 0,b0)}},this._hoverService));let $=document.createElement(\"div\");$.className=\"find-part\",$.appendChild(this._findInput.domNode);let q=document.createElement(\"div\");q.className=\"find-actions\",$.appendChild(q),q.appendChild(this._matchesCount),q.appendChild(this._prevBtn.domNode),q.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new iJ({icon:VN0,title:PN0+this._keybindingLabelFor(g1.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:Q,inputActiveOptionBackground:Z0(LQ),inputActiveOptionBorder:Z0(jG),inputActiveOptionForeground:Z0(WG)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let V=this._codeEditor.getSelections();if(V=V.map((K)=>{if(K.endColumn===1&&K.endLineNumber>K.startLineNumber)K=K.setEndPosition(K.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(K.endLineNumber-1));if(!K.isEmpty())return K;return null}).filter((K)=>!!K),V.length)this._state.change({searchScope:V},!0)}}else this._state.change({searchScope:null},!0)})),q.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new MU({label:DN0+this._keybindingLabelFor(g1.CloseFindWidgetCommand),icon:fQ0,hoverLifecycleOptions:Q,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:(V)=>{if(V.equals(2)){if(this._isReplaceVisible){if(this._replaceBtn.isEnabled())this._replaceBtn.focus();else this._codeEditor.focus();V.preventDefault()}}}},this._hoverService)),this._replaceInput=this._register(new gL(null,void 0,{label:Uc,placeholder:ON0,appendPreserveCaseLabel:this._keybindingLabelFor(g1.TogglePreserveCaseCommand),history:Z===\"workspace\"?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>qc(this._keybindingService),inputBoxStyles:rK,toggleStyles:aK,hoverLifecycleOptions:Q},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((V)=>this._onReplaceInputKeyDown(V))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange((V)=>{if(this._isReplaceVisible&&this._tryUpdateHeight())this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown((V)=>{if(V.equals(2)){if(this._prevBtn.isEnabled())this._prevBtn.focus();else if(this._nextBtn.isEnabled())this._nextBtn.focus();else if(this._toggleSelectionFind.enabled)this._toggleSelectionFind.focus();else if(this._closeBtn.isEnabled())this._closeBtn.focus();V.preventDefault()}})),this._replaceBtn=this._register(new MU({label:MN0+this._keybindingLabelFor(g1.ReplaceOneAction),icon:KN0,hoverLifecycleOptions:Q,onTrigger:()=>{this._controller.replace()},onKeyDown:(V)=>{if(V.equals(1026))this._closeBtn.focus(),V.preventDefault()}},this._hoverService)),this._replaceAllBtn=this._register(new MU({label:RN0+this._keybindingLabelFor(g1.ReplaceAllAction),icon:jN0,hoverLifecycleOptions:Q,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let G=document.createElement(\"div\");G.className=\"replace-part\",G.appendChild(this._replaceInput.domNode);let U=document.createElement(\"div\");U.className=\"replace-actions\",G.appendChild(U),U.appendChild(this._replaceBtn.domNode),U.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new MU({label:NN0,className:\"codicon toggle left\",onTrigger:()=>{if(this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible)this._replaceInput.width=Z4(this._findInput.domNode),this._replaceInput.inputBox.layout();this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement(\"div\"),this._domNode.className=\"editor-widget find-widget\",this._domNode.setAttribute(\"aria-hidden\",\"true\"),this._domNode.ariaLabel=FN0,this._domNode.role=\"dialog\",this._domNode.style.width=`${AZ}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild($),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(G),this._resizeSash=this._register(new u7(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let H=AZ;this._register(this._resizeSash.onDidStart(()=>{H=Z4(this._domNode)})),this._register(this._resizeSash.onDidChange((V)=>{this._resized=!0;let K=H+V.startX-V.currentX;if(K<AZ)return;let j=parseFloat(vz(this._domNode).maxWidth)||0;if(K>j)return;if(this._domNode.style.width=`${K}px`,this._isReplaceVisible)this._replaceInput.width=Z4(this._findInput.domNode);this._findInput.inputBox.layout(),this._tryUpdateHeight()})),this._register(this._resizeSash.onDidReset(()=>{let V=Z4(this._domNode);if(V<AZ)return;let K=AZ;if(!this._resized||V===AZ){let j=this._codeEditor.getLayoutInfo();K=j.width-28-j.minimap.minimapWidth-15,this._resized=!0}if(this._domNode.style.width=`${K}px`,this._isReplaceVisible)this._replaceInput.width=Z4(this._findInput.domNode);this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let J=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(J!==2),this._updateFindInputAriaLabel()}_updateFindInputAriaLabel(){let J=Gc,X=Uc;if(!this._accessibilityHelpHintAnnounced&&this._configurationService.getValue(\"accessibility.verbosity.find\")&&this._accessibilityService.isScreenReaderOptimized()){let Y=this._keybindingService.lookupKeybinding(\"editor.action.accessibilityHelp\")?.getAriaLabel();if(Y){let Z=F(1022,\"Press {0} for accessibility help\",Y);J=F(1023,\"{0}, {1}\",J,Z),X=F(1024,\"{0}, {1}\",X,Z)}this._accessibilityHelpHintAnnounced=!0,this._labelResetTimeout?.dispose(),this._labelResetTimeout=AX(()=>{if(this._isVisible)this._findInput.inputBox.setAriaLabel(Gc),this._replaceInput.inputBox.setAriaLabel(Uc)},1000)}this._findInput.inputBox.setAriaLabel(J),this._replaceInput.inputBox.setAriaLabel(X)}getViewState(){let J=!1;if(this._viewZone&&this._viewZoneId)J=this._viewZone.heightInPx>this._codeEditor.getScrollTop();return{widgetViewZoneVisible:J,scrollTop:this._codeEditor.getScrollTop()}}setViewState(J){if(!J)return;if(J.widgetViewZoneVisible)this._layoutViewZone(J.scrollTop)}}class MU extends F8{constructor(J,X){super();this._opts=J;let Y=\"button\";if(this._opts.className)Y=Y+\" \"+this._opts.className;if(this._opts.icon)Y=Y+\" \"+M0.asClassName(this._opts.icon);this._domNode=document.createElement(\"div\"),this._domNode.tabIndex=0,this._domNode.className=Y,this._domNode.setAttribute(\"role\",\"button\"),this._domNode.setAttribute(\"aria-label\",this._opts.label),this._register(X.setupDelayedHover(this._domNode,{content:this._opts.label,style:1},J.hoverLifecycleOptions)),this.onclick(this._domNode,(Z)=>{this._opts.onTrigger(),Z.preventDefault()}),this.onkeydown(this._domNode,(Z)=>{if(Z.equals(10)||Z.equals(3)){this._opts.onTrigger(),Z.preventDefault();return}this._opts.onKeyDown?.(Z)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(J){this._domNode.classList.toggle(\"disabled\",!J),this._domNode.setAttribute(\"aria-disabled\",String(!J)),this._domNode.tabIndex=J?0:-1}setExpanded(J){if(this._domNode.setAttribute(\"aria-expanded\",String(!!J)),J)this._domNode.classList.remove(...M0.asClassNameArray(q20)),this._domNode.classList.add(...M0.asClassNameArray(G20));else this._domNode.classList.remove(...M0.asClassNameArray(G20)),this._domNode.classList.add(...M0.asClassNameArray(q20))}}x8((J,X)=>{let Y=J.getColor(CY);if(Y)X.addRule(`.monaco-editor .findMatch { border: 1px ${l9(J.type)?\"dotted\":\"solid\"} ${Y}; box-sizing: border-box; }`);let Z=J.getColor(c10);if(Z)X.addRule(`.monaco-editor .findScope { border: 1px ${l9(J.type)?\"dashed\":\"solid\"} ${Z}; }`);let Q=J.getColor(t0);if(Q)X.addRule(`.monaco-editor .find-widget { border: 1px solid ${Q}; }`);let $=J.getColor(m10);if($)X.addRule(`.monaco-editor .findMatchInline { color: ${$}; }`);let q=J.getColor(u10);if(q)X.addRule(`.monaco-editor .currentFindMatchInline { color: ${q}; }`)});var EN0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},yN0=function(J,X){return function(Y,Z){X(Y,Z,J)}},M3,uL=class{static{M3=this}static{this.FIND_HISTORY_KEY=\"workbench.find.history\"}static{this._instance=null}static getOrCreate(X){if(!M3._instance)M3._instance=new M3(X);return M3._instance}constructor(X){this.storageService=X,this.inMemoryValues=new Set,this._onDidChangeEmitter=new E,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(X){let Y=this.inMemoryValues.delete(X);return this.save(),Y}add(X){return this.inMemoryValues.add(X),this.save(),this}has(X){return this.inMemoryValues.has(X)}forEach(X,Y){return this.load(),this.inMemoryValues.forEach(X)}replace(X){this.inMemoryValues=new Set(X),this.save()}load(){let X,Y=this.storageService.get(M3.FIND_HISTORY_KEY,1);if(Y)try{X=JSON.parse(Y)}catch(Z){}this.inMemoryValues=new Set(X||[])}save(){let X=[];return this.inMemoryValues.forEach((Y)=>X.push(Y)),new Promise((Y)=>{this.storageService.store(M3.FIND_HISTORY_KEY,JSON.stringify(X),1,0),this._onDidChangeEmitter.fire(X),Y()})}};uL=M3=EN0([yN0(0,z7)],uL);var xN0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},bN0=function(J,X){return function(Y,Z){X(Y,Z,J)}},R3,cL=class{static{R3=this}static{this.FIND_HISTORY_KEY=\"workbench.replace.history\"}static{this._instance=null}static getOrCreate(X){if(!R3._instance)R3._instance=new R3(X);return R3._instance}constructor(X){this.storageService=X,this.inMemoryValues=new Set,this._onDidChangeEmitter=new E,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(X){let Y=this.inMemoryValues.delete(X);return this.save(),Y}add(X){return this.inMemoryValues.add(X),this.save(),this}has(X){return this.inMemoryValues.has(X)}forEach(X,Y){return this.load(),this.inMemoryValues.forEach(X)}replace(X){this.inMemoryValues=new Set(X),this.save()}load(){let X,Y=this.storageService.get(R3.FIND_HISTORY_KEY,1);if(Y)try{X=JSON.parse(Y)}catch(Z){}this.inMemoryValues=new Set(X||[])}save(){let X=[];return this.inMemoryValues.forEach((Y)=>X.push(Y)),new Promise((Y)=>{this.storageService.store(R3.FIND_HISTORY_KEY,JSON.stringify(X),1,0),this._onDidChangeEmitter.fire(X),Y()})}};cL=R3=xN0([bN0(0,z7)],cL);var K20=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},_9=function(J,X){return function(Y,Z){X(Y,Z,J)}},Hc,CN0=524288;function Vc(J,X=\"single\",Y=!1){if(!J.hasModel())return null;let Z=J.getSelection();if(X===\"single\"&&Z.startLineNumber===Z.endLineNumber||X===\"multiple\"){if(Z.isEmpty()){let Q=J.getConfiguredWordAtPosition(Z.getStartPosition());if(Q&&Y===!1)return Q.word}else if(J.getModel().getValueLengthInRange(Z)<CN0)return J.getModel().getValueInRange(Z)}return null}var s7=class extends y{static{Hc=this}static{this.ID=\"editor.contrib.findController\"}get editor(){return this._editor}static get(X){return X.getContribution(Hc.ID)}constructor(X,Y,Z,Q,$,q){super();this._editor=X,this._findWidgetVisible=_Z.bindTo(Y),this._contextKeyService=Y,this._storageService=Z,this._clipboardService=Q,this._notificationService=$,this._hoverService=q,this._updateHistoryDelayer=this._register(new Y4(500)),this._state=this._register(new Zc),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((G)=>this._onStateChanged(G))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let G=this._editor.getModel()&&this._state.isRevealed;if(this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean(\"editor.matchCase\",1,!1),wholeWord:this._storageService.getBoolean(\"editor.wholeWord\",1,!1),isRegex:this._storageService.getBoolean(\"editor.isRegex\",1,!1),preserveCase:this._storageService.getBoolean(\"editor.preserveCase\",1,!1)},!1),G)this._start({forceRevealReplace:!1,seedSearchStringFromSelection:\"none\",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(50).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){if(this._model)this._model.dispose(),this._model=null}_onStateChanged(X){if(this.saveQueryState(X),X.isRevealed)if(this._state.isRevealed)this._findWidgetVisible.set(!0);else this._findWidgetVisible.reset(),this.disposeModel();if(X.searchString)this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(X){if(X.isRegex)this._storageService.store(\"editor.isRegex\",this._state.actualIsRegex,1,1);if(X.wholeWord)this._storageService.store(\"editor.wholeWord\",this._state.actualWholeWord,1,1);if(X.matchCase)this._storageService.store(\"editor.matchCase\",this._state.actualMatchCase,1,1);if(X.preserveCase)this._storageService.store(\"editor.preserveCase\",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean(\"editor.matchCase\",1,this._state.matchCase),wholeWord:this._storageService.getBoolean(\"editor.wholeWord\",1,this._state.wholeWord),isRegex:this._storageService.getBoolean(\"editor.isRegex\",1,this._state.isRegex),preserveCase:this._storageService.getBoolean(\"editor.preserveCase\",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!xj.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){if(this._state.change({matchCase:!this._state.matchCase},!1),!this._state.isRevealed)this.highlightFindOptions()}toggleWholeWords(){if(this._state.change({wholeWord:!this._state.wholeWord},!1),!this._state.isRevealed)this.highlightFindOptions()}toggleRegex(){if(this._state.change({isRegex:!this._state.isRegex},!1),!this._state.isRevealed)this.highlightFindOptions()}togglePreserveCase(){if(this._state.change({preserveCase:!this._state.preserveCase},!1),!this._state.isRevealed)this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let X=this._editor.getSelections();if(X=X.map((Y)=>{if(Y.endColumn===1&&Y.endLineNumber>Y.startLineNumber)Y=Y.setEndPosition(Y.endLineNumber-1,this._editor.getModel().getLineMaxColumn(Y.endLineNumber-1));if(!Y.isEmpty())return Y;return null}).filter((Y)=>!!Y),X.length)this._state.change({searchScope:X},!0)}}setSearchString(X){if(this._state.isRegex)X=a8(X);this._state.change({searchString:X},!1)}highlightFindOptions(X=!1){}async _start(X,Y){if(this.disposeModel(),!this._editor.hasModel())return;let Z={...Y,isRevealed:!0};if(X.seedSearchStringFromSelection===\"single\"){let Q=Vc(this._editor,X.seedSearchStringFromSelection,X.seedSearchStringFromNonEmptySelection);if(Q)if(this._state.isRegex)Z.searchString=a8(Q);else Z.searchString=Q}else if(X.seedSearchStringFromSelection===\"multiple\"&&!X.updateSearchScope){let Q=Vc(this._editor,X.seedSearchStringFromSelection);if(Q)Z.searchString=Q}if(!Z.searchString&&X.seedSearchStringFromGlobalClipboard){let Q=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;if(Q)Z.searchString=Q}if(X.forceRevealReplace||Z.isReplaceRevealed)Z.isReplaceRevealed=!0;else if(!this._findWidgetVisible.get())Z.isReplaceRevealed=!1;if(X.updateSearchScope){let Q=this._editor.getSelections();if(Q.some(($)=>!$.isEmpty()))Z.searchScope=Q}if(Z.loop=X.loop,this._state.change(Z,!1),!this._model)this._model=new yj(this._editor,this._state)}start(X,Y){return this._start(X,Y)}moveToNextMatch(){if(this._model)return this._model.moveToNextMatch(),!0;return!1}moveToPrevMatch(){if(this._model)return this._model.moveToPrevMatch(),!0;return!1}goToMatch(X){if(this._model)return this._model.moveToMatch(X),!0;return!1}replace(){if(this._model)return this._model.replace(),!0;return!1}replaceAll(){if(this._model){if(this._editor.getModel()?.isTooLargeForHeapOperation())return this._notificationService.warn(F(979,\"The file is too large to perform a replace all operation.\")),!1;return this._model.replaceAll(),!0}return!1}selectAllMatches(){if(this._model)return this._model.selectAllMatches(),this._editor.focus(),!0;return!1}async getGlobalBufferTerm(){if(this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing())return this._clipboardService.readFindText();return\"\"}setGlobalBufferTerm(X){if(this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing())this._clipboardService.writeFindText(X)}};s7=Hc=K20([_9(1,E0),_9(2,z7),_9(3,F4),_9(4,d6),_9(5,fX)],s7);var Kc=class extends s7{constructor(X,Y,Z,Q,$,q,G,U,H,V){super(X,Z,q,G,$,U);this._contextViewService=Y,this._keybindingService=Q,this._configurationService=H,this._accessibilityService=V,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=uL.getOrCreate(q),this._replaceWidgetHistory=cL.getOrCreate(q)}async _start(X,Y){if(!this._widget)this._createFindWidget();let Z=this._editor.getSelection(),Q=!1;switch(this._editor.getOption(50).autoFindInSelection){case\"always\":Q=!0;break;case\"never\":Q=!1;break;case\"multiline\":{Q=!!Z&&Z.startLineNumber!==Z.endLineNumber;break}}if(X.updateSearchScope=X.updateSearchScope||Q,await super._start(X,Y),this._widget){if(X.shouldFocus===2)this._widget.focusReplaceInput();else if(X.shouldFocus===1)this._widget.focusFindInput()}}highlightFindOptions(X=!1){if(!this._widget)this._createFindWidget();if(this._state.isRevealed&&!X)this._widget.highlightFindOptions();else this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new sX(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._hoverService,this._findWidgetSearchHistory,this._replaceWidgetHistory,this._configurationService,this._accessibilityService)),this._findOptionsWidget=this._register(new SL(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(X){this._widget?.setViewState(X)}};Kc=K20([_9(1,h4),_9(2,E0),_9(3,T1),_9(4,d6),_9(5,z7),_9(6,F4),_9(7,fX),_9(8,o0),_9(9,c6)],Kc);var SN0=oz(new UV({id:g1.StartFindAction,label:B0(987,\"Find\"),precondition:P0.or(g.focus,P0.has(\"editorIsOpen\")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:b.MenubarEditMenu,group:\"3_find\",title:F(980,\"&&Find\"),order:1}}));SN0.addImplementation(0,(J,X,Y)=>{let Z=s7.get(X);if(!Z)return!1;return Z.start({forceRevealReplace:!1,seedSearchStringFromSelection:X.getOption(50).seedSearchStringFromSelection!==\"never\"?\"single\":\"none\",seedSearchStringFromNonEmptySelection:X.getOption(50).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:X.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:X.getOption(50).loop})});var fN0={description:\"Open a new In-Editor Find Widget.\",args:[{name:\"Open a new In-Editor Find Widget args\",schema:{properties:{searchString:{type:\"string\"},replaceString:{type:\"string\"},isRegex:{type:\"boolean\"},matchWholeWord:{type:\"boolean\"},isCaseSensitive:{type:\"boolean\"},preserveCase:{type:\"boolean\"},findInSelection:{type:\"boolean\"}}}}]};class j20 extends U1{constructor(){super({id:g1.StartFindWithArgs,label:B0(988,\"Find with Arguments\"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:fN0})}async run(J,X,Y){let Z=s7.get(X);if(Z){let Q=Y?{searchString:Y.searchString,replaceString:Y.replaceString,isReplaceRevealed:Y.replaceString!==void 0,isRegex:Y.isRegex,wholeWord:Y.matchWholeWord,matchCase:Y.isCaseSensitive,preserveCase:Y.preserveCase}:{};await Z.start({forceRevealReplace:!1,seedSearchStringFromSelection:Z.getState().searchString.length===0&&X.getOption(50).seedSearchStringFromSelection!==\"never\"?\"single\":\"none\",seedSearchStringFromNonEmptySelection:X.getOption(50).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:Y?.findInSelection||!1,loop:X.getOption(50).loop},Q),Z.setGlobalBufferTerm(Z.getState().searchString)}}}class W20 extends U1{constructor(){super({id:g1.StartFindWithSelection,label:B0(989,\"Find with Selection\"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(J,X){let Y=s7.get(X);if(Y)await Y.start({forceRevealReplace:!1,seedSearchStringFromSelection:\"multiple\",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:X.getOption(50).loop}),Y.setGlobalBufferTerm(Y.getState().searchString)}}async function z20(J,X){let Y=s7.get(J);if(!Y)return;let Z=J.getOption(50).closeOnResult,Q=Y.getState().isRevealed,$=()=>{let q=Y.editor.getSelection(),G=X?Y.moveToNextMatch():Y.moveToPrevMatch(),U=!1;if(G){let H=Y.editor.getSelection();if(!q&&H)U=!0;else if(q&&H&&!q.equalsSelection(H))U=!0}if(U){if(Y.editor.pushUndoStop(),Z&&Q&&Y.isFindInputFocused())Y.closeFindWidget();return!0}return!1};if(!$()){if(await Y.start({forceRevealReplace:!1,seedSearchStringFromSelection:Y.getState().searchString.length===0&&J.getOption(50).seedSearchStringFromSelection!==\"never\"?\"single\":\"none\",seedSearchStringFromNonEmptySelection:J.getOption(50).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:J.getOption(50).loop}),!$()){let q=Y.getState();if(Q&&q.matchesCount===0&&q.searchString)y4(F(981,\"{0} found for '{1}'\",mL,q.searchString))}}}var hN0=oz(new UV({id:g1.NextMatchFindAction,label:B0(990,\"Find Next\"),precondition:void 0,kbOpts:[{kbExpr:g.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:P0.and(g.focus,xj),primary:3,weight:100}]}));hN0.addImplementation(0,async(J,X,Y)=>{return z20(X,!0)});var vN0=oz(new UV({id:g1.PreviousMatchFindAction,label:B0(991,\"Find Previous\"),precondition:void 0,kbOpts:[{kbExpr:g.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:P0.and(g.focus,xj),primary:1027,weight:100}]}));vN0.addImplementation(0,async(J,X,Y)=>{return z20(X,!1)});class F20 extends U1{constructor(){super({id:g1.GoToMatchFindAction,label:B0(992,\"Go to Match...\"),precondition:_Z});this._highlightDecorations=[]}run(J,X){let Y=s7.get(X);if(!Y)return;let Z=Y.getState().matchesCount;if(Z<1){J.get(d6).notify({severity:HK.Warning,message:F(982,\"No matches. Try searching for something else.\")});return}let Q=J.get(g7),$=new a,q=$.add(Q.createInputBox());q.placeholder=F(983,\"Type a number to go to a specific match (between 1 and {0})\",Z);let G=(H)=>{let V=parseInt(H);if(isNaN(V))return;let K=Y.getState().matchesCount;if(V>0&&V<=K)return V-1;else if(V<0&&V>=-K)return K+V;return},U=(H)=>{let V=G(H);if(typeof V===\"number\"){q.validationMessage=void 0,Y.goToMatch(V);let K=Y.getState().currentMatch;if(K)this.addDecorations(X,K)}else q.validationMessage=F(984,\"Please type a number between 1 and {0}\",Y.getState().matchesCount),this.clearDecorations(X)};$.add(q.onDidChangeValue((H)=>{U(H)})),$.add(q.onDidAccept(()=>{let H=G(q.value);if(typeof H===\"number\")Y.goToMatch(H),q.hide();else q.validationMessage=F(985,\"Please type a number between 1 and {0}\",Y.getState().matchesCount)})),$.add(q.onDidHide(()=>{this.clearDecorations(X),$.dispose()})),q.show()}clearDecorations(J){J.changeDecorations((X)=>{this._highlightDecorations=X.deltaDecorations(this._highlightDecorations,[])})}addDecorations(J,X){J.changeDecorations((Y)=>{this._highlightDecorations=Y.deltaDecorations(this._highlightDecorations,[{range:X,options:{description:\"find-match-quick-access-range-highlight\",className:\"rangeHighlight\",isWholeLine:!0}},{range:X,options:{description:\"find-match-quick-access-range-highlight-overview\",overviewRuler:{color:n6(T50),position:m5.Full}}}])})}}class jc extends U1{async run(J,X){let Y=s7.get(X);if(!Y)return;let Z=Vc(X,\"single\",!1);if(Z)Y.setSearchString(Z);if(!this._run(Y))await Y.start({forceRevealReplace:!1,seedSearchStringFromSelection:\"none\",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:X.getOption(50).loop}),this._run(Y)}}class B20 extends jc{constructor(){super({id:g1.NextSelectionMatchFindAction,label:B0(993,\"Find Next Selection\"),precondition:void 0,kbOpts:{kbExpr:g.focus,primary:2109,weight:100}})}_run(J){return J.moveToNextMatch()}}class _20 extends jc{constructor(){super({id:g1.PreviousSelectionMatchFindAction,label:B0(994,\"Find Previous Selection\"),precondition:void 0,kbOpts:{kbExpr:g.focus,primary:3133,weight:100}})}_run(J){return J.moveToPrevMatch()}}var gN0=oz(new UV({id:g1.StartFindReplaceAction,label:B0(995,\"Replace\"),precondition:P0.or(g.focus,P0.has(\"editorIsOpen\")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:b.MenubarEditMenu,group:\"3_find\",title:F(986,\"&&Replace\"),order:2}}));gN0.addImplementation(0,(J,X,Y)=>{if(!X.hasModel()||X.getOption(104))return!1;let Z=s7.get(X);if(!Z)return!1;let Q=X.getSelection(),$=Z.isFindInputFocused(),q=!Q.isEmpty()&&Q.startLineNumber===Q.endLineNumber&&X.getOption(50).seedSearchStringFromSelection!==\"never\"&&!$,G=$||q?2:1;return Z.start({forceRevealReplace:!0,seedSearchStringFromSelection:q?\"single\":\"none\",seedSearchStringFromNonEmptySelection:X.getOption(50).seedSearchStringFromSelection===\"selection\",seedSearchStringFromGlobalClipboard:X.getOption(50).seedSearchStringFromSelection!==\"never\",shouldFocus:G,shouldAnimate:!0,updateSearchScope:!1,loop:X.getOption(50).loop})});E7(s7.ID,Kc,0);y0(j20);y0(W20);y0(F20);y0(B20);y0(_20);var aX=H7.bindToContribution(s7.get);O0(new aX({id:g1.CloseFindWidgetCommand,precondition:_Z,handler:(J)=>J.closeFindWidget(),kbOpts:{weight:105,kbExpr:P0.and(g.focus,P0.not(\"isComposing\")),primary:9,secondary:[1033]}}));O0(new aX({id:g1.ToggleCaseSensitiveCommand,precondition:void 0,handler:(J)=>J.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:g.focus,primary:VA.primary,mac:VA.mac,win:VA.win,linux:VA.linux}}));O0(new aX({id:g1.ToggleWholeWordCommand,precondition:void 0,handler:(J)=>J.toggleWholeWords(),kbOpts:{weight:105,kbExpr:g.focus,primary:KA.primary,mac:KA.mac,win:KA.win,linux:KA.linux}}));O0(new aX({id:g1.ToggleRegexCommand,precondition:void 0,handler:(J)=>J.toggleRegex(),kbOpts:{weight:105,kbExpr:g.focus,primary:jA.primary,mac:jA.mac,win:jA.win,linux:jA.linux}}));O0(new aX({id:g1.ToggleSearchScopeCommand,precondition:void 0,handler:(J)=>J.toggleSearchScope(),kbOpts:{weight:105,kbExpr:g.focus,primary:WA.primary,mac:WA.mac,win:WA.win,linux:WA.linux}}));O0(new aX({id:g1.TogglePreserveCaseCommand,precondition:void 0,handler:(J)=>J.togglePreserveCase(),kbOpts:{weight:105,kbExpr:g.focus,primary:zA.primary,mac:zA.mac,win:zA.win,linux:zA.linux}}));O0(new aX({id:g1.ReplaceOneAction,precondition:_Z,handler:(J)=>J.replace(),kbOpts:{weight:105,kbExpr:g.focus,primary:3094}}));O0(new aX({id:g1.ReplaceOneAction,precondition:_Z,handler:(J)=>J.replace(),kbOpts:{weight:105,kbExpr:P0.and(g.focus,HA,g.isComposing.negate()),primary:3}}));O0(new aX({id:g1.ReplaceAllAction,precondition:_Z,handler:(J)=>J.replaceAll(),kbOpts:{weight:105,kbExpr:g.focus,primary:2563}}));O0(new aX({id:g1.ReplaceAllAction,precondition:_Z,handler:(J)=>J.replaceAll(),kbOpts:{weight:105,kbExpr:P0.and(g.focus,HA),primary:void 0,mac:{primary:2051}}}));O0(new aX({id:g1.SelectAllMatchesAction,precondition:_Z,handler:(J)=>J.selectAllMatches(),kbOpts:{weight:105,kbExpr:g.focus,primary:515}}));var A20=\"__monacoFindWidgetTabIndexPatchApplied\",_A=\"__monacoFindWidgetOriginalTabIndex\";function P20(J,X){let Y=J?._domNode;if(!Y)return;let Z=Y.querySelectorAll('input, textarea, [tabindex], [role=\"button\"], [role=\"checkbox\"]');for(let Q of Z){if(!(Q instanceof HTMLElement))continue;if(X){if(!(_A in Q.dataset))continue;let $=Q.dataset[_A];if($===\"\")Q.removeAttribute(\"tabindex\");else Q.tabIndex=Number($);delete Q.dataset[_A]}else{if(!(_A in Q.dataset))Q.dataset[_A]=Q.getAttribute(\"tabindex\")??\"\";Q.tabIndex=-1}}}if(!sX[A20]){let J=sX.prototype._reveal,X=sX.prototype._hide;sX.prototype._reveal=function(...Y){J.apply(this,Y),P20(this,!0)},sX.prototype._hide=function(...Y){X.apply(this,Y),P20(this,!1)},sX[A20]=!0}var pN0={[0]:\" \",[1]:\"u\",[2]:\"r\"};var bj=16777215;class dL{constructor(J){let X=Math.ceil(J/32);this._states=new Uint32Array(X)}get(J){let X=J/32|0,Y=J%32;return(this._states[X]&1<<Y)!==0}set(J,X){let Y=J/32|0,Z=J%32,Q=this._states[Y];if(X)this._states[Y]=Q|1<<Z;else this._states[Y]=Q&~(1<<Z)}}class B7{constructor(J,X,Y){if(J.length!==X.length||J.length>65535)throw Error(\"invalid startIndexes or endIndexes size\");this._startIndexes=J,this._endIndexes=X,this._collapseStates=new dL(J.length),this._userDefinedStates=new dL(J.length),this._recoveredStates=new dL(J.length),this._types=Y,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let J=[],X=(Y,Z)=>{let Q=J[J.length-1];return this.getStartLineNumber(Q)<=Y&&this.getEndLineNumber(Q)>=Z};for(let Y=0,Z=this._startIndexes.length;Y<Z;Y++){let Q=this._startIndexes[Y],$=this._endIndexes[Y];if(Q>16777215||$>16777215)throw Error(\"startLineNumber or endLineNumber must not exceed 16777215\");while(J.length>0&&!X(Q,$))J.pop();let q=J.length>0?J[J.length-1]:-1;J.push(Y),this._startIndexes[Y]=Q+((q&255)<<24),this._endIndexes[Y]=$+((q&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(J){return this._startIndexes[J]&16777215}getEndLineNumber(J){return this._endIndexes[J]&16777215}getType(J){return this._types?this._types[J]:void 0}hasTypes(){return!!this._types}isCollapsed(J){return this._collapseStates.get(J)}setCollapsed(J,X){this._collapseStates.set(J,X)}isUserDefined(J){return this._userDefinedStates.get(J)}setUserDefined(J,X){return this._userDefinedStates.set(J,X)}isRecovered(J){return this._recoveredStates.get(J)}setRecovered(J,X){return this._recoveredStates.set(J,X)}getSource(J){if(this.isUserDefined(J))return 1;else if(this.isRecovered(J))return 2;return 0}setSource(J,X){if(X===1)this.setUserDefined(J,!0),this.setRecovered(J,!1);else if(X===2)this.setUserDefined(J,!1),this.setRecovered(J,!0);else this.setUserDefined(J,!1),this.setRecovered(J,!1)}setCollapsedAllOfType(J,X){let Y=!1;if(this._types){for(let Z=0;Z<this._types.length;Z++)if(this._types[Z]===J)this.setCollapsed(Z,X),Y=!0}return Y}toRegion(J){return new D20(this,J)}getParentIndex(J){this.ensureParentIndices();let X=((this._startIndexes[J]&4278190080)>>>24)+((this._endIndexes[J]&4278190080)>>>16);if(X===65535)return-1;return X}contains(J,X){return this.getStartLineNumber(J)<=X&&this.getEndLineNumber(J)>=X}findIndex(J){let X=0,Y=this._startIndexes.length;if(Y===0)return-1;while(X<Y){let Z=Math.floor((X+Y)/2);if(J<this.getStartLineNumber(Z))Y=Z;else X=Z+1}return X-1}findRange(J){let X=this.findIndex(J);if(X>=0){if(this.getEndLineNumber(X)>=J)return X;X=this.getParentIndex(X);while(X!==-1){if(this.contains(X,J))return X;X=this.getParentIndex(X)}}return-1}toString(){let J=[];for(let X=0;X<this.length;X++)J[X]=`[${pN0[this.getSource(X)]}${this.isCollapsed(X)?\"+\":\"-\"}] ${this.getStartLineNumber(X)}/${this.getEndLineNumber(X)}`;return J.join(\", \")}toFoldRange(J){return{startLineNumber:this._startIndexes[J]&16777215,endLineNumber:this._endIndexes[J]&16777215,type:this._types?this._types[J]:void 0,isCollapsed:this.isCollapsed(J),source:this.getSource(J)}}static fromFoldRanges(J){let X=J.length,Y=new Uint32Array(X),Z=new Uint32Array(X),Q=[],$=!1;for(let G=0;G<X;G++){let U=J[G];if(Y[G]=U.startLineNumber,Z[G]=U.endLineNumber,Q.push(U.type),U.type)$=!0}if(!$)Q=void 0;let q=new B7(Y,Z,Q);for(let G=0;G<X;G++){if(J[G].isCollapsed)q.setCollapsed(G,!0);q.setSource(G,J[G].source)}return q}static sanitizeAndMerge(J,X,Y,Z){Y=Y??Number.MAX_VALUE;let Q=(B,P)=>{return Array.isArray(B)?(_)=>{return _<P?B[_]:void 0}:(_)=>{return _<P?B.toFoldRange(_):void 0}},$=Q(J,J.length),q=Q(X,X.length),G=0,U=0,H=$(0),V=q(0),K=[],j,W=0,z=[];while(H||V){let B=void 0;if(V&&(!H||H.startLineNumber>=V.startLineNumber)){if(H&&H.startLineNumber===V.startLineNumber){if(V.source===1)B=V;else B=H,B.isCollapsed=V.isCollapsed&&(H.endLineNumber===V.endLineNumber||!Z?.startsInside(H.startLineNumber+1,H.endLineNumber+1)),B.source=0;H=$(++G)}else if(B=V,V.isCollapsed&&V.source===0)B.source=2;V=q(++U)}else{let P=U,_=V;while(!0){if(!_||_.startLineNumber>H.endLineNumber){B=H;break}if(_.source===1&&_.endLineNumber>H.endLineNumber)break;_=q(++P)}H=$(++G)}if(B){while(j&&j.endLineNumber<B.startLineNumber)j=K.pop();if(B.endLineNumber>B.startLineNumber&&B.startLineNumber>W&&B.endLineNumber<=Y&&(!j||j.endLineNumber>=B.endLineNumber)){if(z.push(B),W=B.startLineNumber,j)K.push(j);j=B}}}return z}}class D20{constructor(J,X){this.ranges=J,this.index=X}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(J){return J.startLineNumber<=this.startLineNumber&&J.endLineNumber>=this.endLineNumber}containsLine(J){return this.startLineNumber<=J&&J<=this.endLineNumber}}class Wc{get regions(){return this._regions}get textModel(){return this._textModel}constructor(J,X){this._updateEventEmitter=new E,this.onDidChange=this._updateEventEmitter.event,this._textModel=J,this._decorationProvider=X,this._regions=new B7(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(J){if(!J.length)return;J=J.sort((Y,Z)=>Y.regionIndex-Z.regionIndex);let X={};this._decorationProvider.changeDecorations((Y)=>{let Z=0,Q=-1,$=-1,q=(G)=>{while(Z<G){let U=this._regions.getEndLineNumber(Z),H=this._regions.isCollapsed(Z);if(U<=Q){let V=this.regions.getSource(Z)!==0;Y.changeDecorationOptions(this._editorDecorationIds[Z],this._decorationProvider.getDecorationOption(H,U<=$,V))}if(H&&U>$)$=U;Z++}};for(let G of J){let U=G.regionIndex,H=this._editorDecorationIds[U];if(H&&!X[H]){X[H]=!0,q(U);let V=!this._regions.isCollapsed(U);this._regions.setCollapsed(U,V),Q=Math.max(Q,this._regions.getEndLineNumber(U))}}q(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:J})}removeManualRanges(J){let X=[],Y=(Z)=>{for(let Q of J)if(!(Q.startLineNumber>Z.endLineNumber||Z.startLineNumber>Q.endLineNumber))return!0;return!1};for(let Z=0;Z<this._regions.length;Z++){let Q=this._regions.toFoldRange(Z);if(Q.source===0||!Y(Q))X.push(Q)}this.updatePost(B7.fromFoldRanges(X))}update(J,X){let Y=this._currentFoldedOrManualRanges(X),Z=B7.sanitizeAndMerge(J,Y,this._textModel.getLineCount(),X);this.updatePost(B7.fromFoldRanges(Z))}updatePost(J){let X=[],Y=-1;for(let Z=0,Q=J.length;Z<Q;Z++){let $=J.getStartLineNumber(Z),q=J.getEndLineNumber(Z),G=J.isCollapsed(Z),U=J.getSource(Z)!==0,H={startLineNumber:$,startColumn:this._textModel.getLineMaxColumn($),endLineNumber:q,endColumn:this._textModel.getLineMaxColumn(q)+1};if(X.push({range:H,options:this._decorationProvider.getDecorationOption(G,q<=Y,U)}),G&&q>Y)Y=q}this._decorationProvider.changeDecorations((Z)=>this._editorDecorationIds=Z.deltaDecorations(this._editorDecorationIds,X)),this._regions=J,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(J){let X=[];for(let Y=0,Z=this._regions.length;Y<Z;Y++){let Q=this.regions.isCollapsed(Y),$=this.regions.getSource(Y);if(Q||$!==0){let q=this._regions.toFoldRange(Y),G=this._textModel.getDecorationRange(this._editorDecorationIds[Y]);if(G){if(Q&&J?.startsInside(G.startLineNumber+1,G.endLineNumber))Q=!1;X.push({startLineNumber:G.startLineNumber,endLineNumber:G.endLineNumber,type:q.type,isCollapsed:Q,source:$})}}}return X}getMemento(){let J=this._currentFoldedOrManualRanges(),X=[],Y=this._textModel.getLineCount();for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z];if($.startLineNumber>=$.endLineNumber||$.startLineNumber<1||$.endLineNumber>Y)continue;let q=this._getLinesChecksum($.startLineNumber+1,$.endLineNumber);X.push({startLineNumber:$.startLineNumber,endLineNumber:$.endLineNumber,isCollapsed:$.isCollapsed,source:$.source,checksum:q})}return X.length>0?X:void 0}applyMemento(J){if(!Array.isArray(J))return;let X=[],Y=this._textModel.getLineCount();for(let Q of J){if(Q.startLineNumber>=Q.endLineNumber||Q.startLineNumber<1||Q.endLineNumber>Y)continue;let $=this._getLinesChecksum(Q.startLineNumber+1,Q.endLineNumber);if(!Q.checksum||$===Q.checksum)X.push({startLineNumber:Q.startLineNumber,endLineNumber:Q.endLineNumber,type:void 0,isCollapsed:Q.isCollapsed??!0,source:Q.source??0})}let Z=B7.sanitizeAndMerge(this._regions,X,Y);this.updatePost(B7.fromFoldRanges(Z))}_getLinesChecksum(J,X){return t$(this._textModel.getLineContent(J)+this._textModel.getLineContent(X))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds),this._updateEventEmitter.dispose()}getAllRegionsAtLine(J,X){let Y=[];if(this._regions){let Z=this._regions.findRange(J),Q=1;while(Z>=0){let $=this._regions.toRegion(Z);if(!X||X($,Q))Y.push($);Q++,Z=$.parentIndex}}return Y}getRegionAtLine(J){if(this._regions){let X=this._regions.findRange(J);if(X>=0)return this._regions.toRegion(X)}return null}getRegionsInside(J,X){let Y=[],Z=J?J.regionIndex+1:0,Q=J?J.endLineNumber:Number.MAX_VALUE;if(X&&X.length===2){let $=[];for(let q=Z,G=this._regions.length;q<G;q++){let U=this._regions.toRegion(q);if(this._regions.getStartLineNumber(q)<Q){while($.length>0&&!U.containedBy($[$.length-1]))$.pop();if($.push(U),X(U,$.length))Y.push(U)}else break}}else for(let $=Z,q=this._regions.length;$<q;$++){let G=this._regions.toRegion($);if(this._regions.getStartLineNumber($)<Q){if(!X||X(G))Y.push(G)}else break}return Y}}function zc(J,X,Y){let Z=[];for(let Q of Y){let $=J.getRegionAtLine(Q);if($){let q=!$.isCollapsed;if(Z.push($),X>1){let G=J.getRegionsInside($,(U,H)=>U.isCollapsed!==q&&H<X);Z.push(...G)}}}J.toggleCollapseState(Z)}function RU(J,X,Y=Number.MAX_VALUE,Z){let Q=[];if(Z&&Z.length>0)for(let $ of Z){let q=J.getRegionAtLine($);if(q){if(q.isCollapsed!==X)Q.push(q);if(Y>1){let G=J.getRegionsInside(q,(U,H)=>U.isCollapsed!==X&&H<Y);Q.push(...G)}}}else{let $=J.getRegionsInside(null,(q,G)=>q.isCollapsed!==X&&G<Y);Q.push(...$)}J.toggleCollapseState(Q)}function Fc(J,X,Y,Z){let Q=[];for(let $ of Z){let q=J.getAllRegionsAtLine($,(G,U)=>G.isCollapsed!==X&&U<=Y);Q.push(...q)}J.toggleCollapseState(Q)}function O20(J,X,Y){let Z=[];for(let Q of Y){let $=J.getAllRegionsAtLine(Q,(q)=>q.isCollapsed!==X);if($.length>0)Z.push($[0])}J.toggleCollapseState(Z)}function M20(J,X,Y,Z){let Q=(q,G)=>G===X&&q.isCollapsed!==Y&&!Z.some((U)=>q.containsLine(U)),$=J.getRegionsInside(null,Q);J.toggleCollapseState($)}function Bc(J,X,Y){let Z=[];for(let q of Y){let G=J.getAllRegionsAtLine(q,void 0);if(G.length>0)Z.push(G[0])}let Q=(q)=>Z.every((G)=>!G.containedBy(q)&&!q.containedBy(G))&&q.isCollapsed!==X,$=J.getRegionsInside(null,Q);J.toggleCollapseState($)}function lL(J,X,Y){let{textModel:Z,regions:Q}=J,$=[];for(let q=Q.length-1;q>=0;q--)if(Y!==Q.isCollapsed(q)){let G=Q.getStartLineNumber(q);if(X.test(Z.getLineContent(G)))$.push(Q.toRegion(q))}J.toggleCollapseState($)}function sL(J,X,Y){let Z=J.regions,Q=[];for(let $=Z.length-1;$>=0;$--)if(Y!==Z.isCollapsed($)&&X===Z.getType($))Q.push(Z.toRegion($));J.toggleCollapseState(Q)}function R20(J,X){let Y=null,Z=X.getRegionAtLine(J);if(Z!==null){if(Y=Z.startLineNumber,J===Y){let Q=Z.parentIndex;if(Q!==-1)Y=X.regions.getStartLineNumber(Q);else Y=null}}return Y}function N20(J,X){let Y=X.getRegionAtLine(J);if(Y!==null&&Y.startLineNumber===J)if(J!==Y.startLineNumber)return Y.startLineNumber;else{let Z=Y.parentIndex,Q=0;if(Z!==-1)Q=X.regions.getStartLineNumber(Y.parentIndex);while(Y!==null)if(Y.regionIndex>0){if(Y=X.regions.toRegion(Y.regionIndex-1),Y.startLineNumber<=Q)return null;else if(Y.parentIndex===Z)return Y.startLineNumber}else return null}else if(X.regions.length>0){Y=X.regions.toRegion(X.regions.length-1);while(Y!==null){if(Y.startLineNumber<J)return Y.startLineNumber;if(Y.regionIndex>0)Y=X.regions.toRegion(Y.regionIndex-1);else Y=null}}return null}function w20(J,X){let Y=X.getRegionAtLine(J);if(Y!==null&&Y.startLineNumber===J){let Z=Y.parentIndex,Q=0;if(Z!==-1)Q=X.regions.getEndLineNumber(Y.parentIndex);else if(X.regions.length===0)return null;else Q=X.regions.getEndLineNumber(X.regions.length-1);while(Y!==null)if(Y.regionIndex<X.regions.length){if(Y=X.regions.toRegion(Y.regionIndex+1),Y.startLineNumber>=Q)return null;else if(Y.parentIndex===Z)return Y.startLineNumber}else return null}else if(X.regions.length>0){Y=X.regions.toRegion(0);while(Y!==null){if(Y.startLineNumber>J)return Y.startLineNumber;if(Y.regionIndex<X.regions.length)Y=X.regions.toRegion(Y.regionIndex+1);else Y=null}}return null}class _c{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(J){if(this._updateEventEmitter=new E,this._hasLineChanges=!1,this._foldingModel=J,this._foldingModelListener=J.onDidChange((X)=>this.updateHiddenRanges()),this._hiddenRanges=[],J.regions.length)this.updateHiddenRanges()}notifyChangeModelContent(J){if(this._hiddenRanges.length&&!this._hasLineChanges)this._hasLineChanges=J.changes.some((X)=>{return X.range.endLineNumber!==X.range.startLineNumber||K9(X.text)[0]!==0})}updateHiddenRanges(){let J=!1,X=[],Y=0,Z=0,Q=Number.MAX_VALUE,$=-1,q=this._foldingModel.regions;for(;Y<q.length;Y++){if(!q.isCollapsed(Y))continue;let G=q.getStartLineNumber(Y)+1,U=q.getEndLineNumber(Y);if(Q<=G&&U<=$)continue;if(!J&&Z<this._hiddenRanges.length&&this._hiddenRanges[Z].startLineNumber===G&&this._hiddenRanges[Z].endLineNumber===U)X.push(this._hiddenRanges[Z]),Z++;else J=!0,X.push(new T(G,1,U,1));Q=G,$=U}if(this._hasLineChanges||J||Z<this._hiddenRanges.length)this.applyHiddenRanges(X)}applyHiddenRanges(J){this._hiddenRanges=J,this._hasLineChanges=!1,this._updateEventEmitter.fire(J)}hasRanges(){return this._hiddenRanges.length>0}isHidden(J){return T20(this._hiddenRanges,J)!==null}adjustSelections(J){let X=!1,Y=this._foldingModel.textModel,Z=null,Q=($)=>{if(!Z||!mN0($,Z))Z=T20(this._hiddenRanges,$);if(Z)return Z.startLineNumber-1;return null};for(let $=0,q=J.length;$<q;$++){let G=J[$],U=Q(G.startLineNumber);if(U)G=G.setStartPosition(U,Y.getLineMaxColumn(U)),X=!0;let H=Q(G.endLineNumber);if(H)G=G.setEndPosition(H,Y.getLineMaxColumn(H)),X=!0;J[$]=G}return X}dispose(){if(this.hiddenRanges.length>0)this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges);if(this._foldingModelListener)this._foldingModelListener.dispose(),this._foldingModelListener=null;this._updateEventEmitter.dispose()}}function mN0(J,X){return J>=X.startLineNumber&&J<=X.endLineNumber}function T20(J,X){let Y=B2(J,(Z)=>X<Z.startLineNumber)-1;if(Y>=0&&J[Y].endLineNumber>=X)return J[Y];return null}var uN0=5000,cN0=\"indent\";class aL{constructor(J,X,Y){this.editorModel=J,this.languageConfigurationService=X,this.foldingRangesLimit=Y,this.id=cN0}dispose(){}compute(J){let X=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,Y=X&&!!X.offSide,Z=X&&X.markers;return Promise.resolve(lN0(this.editorModel,Y,Z,this.foldingRangesLimit))}}class L20{constructor(J){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=J}insertFirst(J,X,Y){if(J>bj||X>bj)return;let Z=this._length;if(this._startIndexes[Z]=J,this._endIndexes[Z]=X,this._length++,Y<1000)this._indentOccurrences[Y]=(this._indentOccurrences[Y]||0)+1}toIndentRanges(J){let X=this._foldingRangesLimit.limit;if(this._length<=X){this._foldingRangesLimit.update(this._length,!1);let Y=new Uint32Array(this._length),Z=new Uint32Array(this._length);for(let Q=this._length-1,$=0;Q>=0;Q--,$++)Y[$]=this._startIndexes[Q],Z[$]=this._endIndexes[Q];return new B7(Y,Z)}else{this._foldingRangesLimit.update(this._length,X);let Y=0,Z=this._indentOccurrences.length;for(let G=0;G<this._indentOccurrences.length;G++){let U=this._indentOccurrences[G];if(U){if(U+Y>X){Z=G;break}Y+=U}}let Q=J.getOptions().tabSize,$=new Uint32Array(X),q=new Uint32Array(X);for(let G=this._length-1,U=0;G>=0;G--){let H=this._startIndexes[G],V=J.getLineContent(H),K=rF(V,Q);if(K<Z||K===Z&&Y++<X)$[U]=H,q[U]=this._endIndexes[G],U++}return new B7($,q)}}}var dN0={limit:uN0,update:()=>{}};function lN0(J,X,Y,Z=dN0){let Q=J.getOptions().tabSize,$=new L20(Z),q=void 0,G=void 0,U=void 0;if(Y)if(Y.start.flags===Y.end.flags)q=new RegExp(`(${Y.start.source})|(?:${Y.end.source})`,Y.start.flags);else G=Y.start,U=Y.end;let H=[],V=J.getLineCount()+1;H.push({indent:-1,endAbove:V,line:V});for(let K=J.getLineCount();K>0;K--){let j=J.getLineContent(K),W=rF(j,Q),z=H[H.length-1];if(W===-1){if(X)z.endAbove=K;continue}let B=!1,P=!1,_;if(q){if(q.lastIndex=0,_=q.exec(j))B=!!_[1],P=!B}else{if(G)G.lastIndex=0,B=G.test(j);if(!B&&U)U.lastIndex=0,P=U.test(j)}if(B||P)if(B){let A=H.length-1;while(A>0&&H[A].indent!==-2)A--;if(A>0){H.length=A+1,z=H[A],$.insertFirst(K,z.line,W),z.line=K,z.indent=W,z.endAbove=K;continue}}else{H.push({indent:-2,endAbove:K,line:K});continue}if(z.indent>W){do H.pop(),z=H[H.length-1];while(z.indent>W);let A=z.endAbove-1;if(A-K>=1)$.insertFirst(K,A,W)}if(z.indent===W)z.endAbove=K;else H.push({indent:W,endAbove:K,line:K})}return $.toIndentRanges(J)}var sN0=x(\"editor.foldBackground\",{light:g0(LX,0.3),dark:g0(LX,0.3),hcDark:null,hcLight:null},F(1045,\"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.foldPlaceholderForeground\",{light:\"#808080\",dark:\"#808080\",hcDark:null,hcLight:null},F(1046,\"Color of the collapsed text after the first line of a folded range.\"));x(\"editorGutter.foldingControlForeground\",HG,F(1047,\"Color of the folding control in the editor gutter.\"));var Pc=c8(\"folding-expanded\",t.chevronDown,F(1048,\"Icon for expanded ranges in the editor glyph margin.\")),Dc=c8(\"folding-collapsed\",t.chevronRight,F(1049,\"Icon for collapsed ranges in the editor glyph margin.\")),I20=c8(\"folding-manual-collapsed\",Dc,F(1050,\"Icon for manually collapsed ranges in the editor glyph margin.\")),k20=c8(\"folding-manual-expanded\",Pc,F(1051,\"Icon for manually expanded ranges in the editor glyph margin.\")),Ac={color:n6(sN0),position:1},Cj=F(1052,\"Click to expand the range.\"),iL=F(1053,\"Click to collapse the range.\");class m4{static{this.COLLAPSED_VISUAL_DECORATION=n0.register({description:\"folding-collapsed-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",isWholeLine:!0,linesDecorationsTooltip:Cj,firstLineDecorationClassName:M0.asClassName(Dc)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=n0.register({description:\"folding-collapsed-highlighted-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",className:\"folded-background\",minimap:Ac,isWholeLine:!0,linesDecorationsTooltip:Cj,firstLineDecorationClassName:M0.asClassName(Dc)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=n0.register({description:\"folding-manually-collapsed-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",isWholeLine:!0,linesDecorationsTooltip:Cj,firstLineDecorationClassName:M0.asClassName(I20)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=n0.register({description:\"folding-manually-collapsed-highlighted-visual-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",className:\"folded-background\",minimap:Ac,isWholeLine:!0,linesDecorationsTooltip:Cj,firstLineDecorationClassName:M0.asClassName(I20)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=n0.register({description:\"folding-no-controls-range-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",isWholeLine:!0,linesDecorationsTooltip:Cj})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=n0.register({description:\"folding-no-controls-range-decoration\",stickiness:0,afterContentClassName:\"inline-folded\",className:\"folded-background\",minimap:Ac,isWholeLine:!0,linesDecorationsTooltip:Cj})}static{this.EXPANDED_VISUAL_DECORATION=n0.register({description:\"folding-expanded-visual-decoration\",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:\"alwaysShowFoldIcons \"+M0.asClassName(Pc),linesDecorationsTooltip:iL})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=n0.register({description:\"folding-expanded-auto-hide-visual-decoration\",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:M0.asClassName(Pc),linesDecorationsTooltip:iL})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=n0.register({description:\"folding-manually-expanded-visual-decoration\",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:\"alwaysShowFoldIcons \"+M0.asClassName(k20),linesDecorationsTooltip:iL})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=n0.register({description:\"folding-manually-expanded-auto-hide-visual-decoration\",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:M0.asClassName(k20),linesDecorationsTooltip:iL})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=n0.register({description:\"folding-no-controls-range-decoration\",stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=n0.register({description:\"folding-hidden-range-decoration\",stickiness:1})}constructor(J){this.editor=J,this.showFoldingControls=\"mouseover\",this.showFoldingHighlights=!0}getDecorationOption(J,X,Y){if(X)return m4.HIDDEN_RANGE_DECORATION;if(this.showFoldingControls===\"never\"){if(J)return this.showFoldingHighlights?m4.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:m4.NO_CONTROLS_COLLAPSED_RANGE_DECORATION;return m4.NO_CONTROLS_EXPANDED_RANGE_DECORATION}if(J)return Y?this.showFoldingHighlights?m4.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:m4.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?m4.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:m4.COLLAPSED_VISUAL_DECORATION;else if(this.showFoldingControls===\"mouseover\")return Y?m4.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:m4.EXPANDED_AUTO_HIDE_VISUAL_DECORATION;else return Y?m4.MANUALLY_EXPANDED_VISUAL_DECORATION:m4.EXPANDED_VISUAL_DECORATION}changeDecorations(J){return this.editor.changeDecorations(J)}removeDecorations(J){this.editor.removeDecorations(J)}}var aN0={},iN0=\"syntax\";class rL{constructor(J,X,Y,Z,Q){if(this.editorModel=J,this.providers=X,this.handleFoldingRangesChange=Y,this.foldingRangesLimit=Z,this.fallbackRangeProvider=Q,this.id=iN0,this.disposables=new a,Q)this.disposables.add(Q);for(let $ of X)if(typeof $.onDidChange===\"function\")this.disposables.add($.onDidChange(Y))}compute(J){return rN0(this.providers,this.editorModel,J).then((X)=>{if(this.editorModel.isDisposed())return null;if(X)return oN0(X,this.foldingRangesLimit);return this.fallbackRangeProvider?.compute(J)??null})}dispose(){this.disposables.dispose()}}function rN0(J,X,Y){let Z=null,Q=J.map(($,q)=>{return Promise.resolve($.provideFoldingRanges(X,aN0,Y)).then((G)=>{if(Y.isCancellationRequested)return;if(Array.isArray(G)){if(!Array.isArray(Z))Z=[];let U=X.getLineCount();for(let H of G)if(H.start>0&&H.end>H.start&&H.end<=U)Z.push({start:H.start,end:H.end,rank:q,kind:H.kind})}},VY)});return Promise.all(Q).then(($)=>{return Z})}class E20{constructor(J){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=J}add(J,X,Y,Z){if(J>bj||X>bj)return;let Q=this._length;if(this._startIndexes[Q]=J,this._endIndexes[Q]=X,this._nestingLevels[Q]=Z,this._types[Q]=Y,this._length++,Z<30)this._nestingLevelCounts[Z]=(this._nestingLevelCounts[Z]||0)+1}toIndentRanges(){let J=this._foldingRangesLimit.limit;if(this._length<=J){this._foldingRangesLimit.update(this._length,!1);let X=new Uint32Array(this._length),Y=new Uint32Array(this._length);for(let Z=0;Z<this._length;Z++)X[Z]=this._startIndexes[Z],Y[Z]=this._endIndexes[Z];return new B7(X,Y,this._types)}else{this._foldingRangesLimit.update(this._length,J);let X=0,Y=this._nestingLevelCounts.length;for(let q=0;q<this._nestingLevelCounts.length;q++){let G=this._nestingLevelCounts[q];if(G){if(G+X>J){Y=q;break}X+=G}}let Z=new Uint32Array(J),Q=new Uint32Array(J),$=[];for(let q=0,G=0;q<this._length;q++){let U=this._nestingLevels[q];if(U<Y||U===Y&&X++<J)Z[G]=this._startIndexes[q],Q[G]=this._endIndexes[q],$[G]=this._types[q],G++}return new B7(Z,Q,$)}}}function oN0(J,X){let Y=J.sort((q,G)=>{let U=q.start-G.start;if(U===0)U=q.rank-G.rank;return U}),Z=new E20(X),Q=void 0,$=[];for(let q of Y)if(!Q)Q=q,Z.add(q.start,q.end,q.kind&&q.kind.value,$.length);else if(q.start>Q.start)if(q.end<=Q.end)$.push(Q),Q=q,Z.add(q.start,q.end,q.kind&&q.kind.value,$.length);else{if(q.start>Q.end){do Q=$.pop();while(Q&&q.start>Q.end);if(Q)$.push(Q);Q=q}Z.add(q.start,q.end,q.kind&&q.kind.value,$.length)}return Z.toIndentRanges()}var nN0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},AA=function(J,X){return function(Y,Z){X(Y,Z,J)}},PA,P5=new G0(\"foldingEnabled\",!1),Sj=class extends y{static{PA=this}static{this.ID=\"editor.contrib.folding\"}static get(X){return X.getContribution(PA.ID)}static getFoldingRangeProviders(X,Y){let Z=X.foldingRangeProvider.ordered(Y);return PA._foldingRangeSelector?.(Z,Y)??Z}constructor(X,Y,Z,Q,$,q){super();this.contextKeyService=Y,this.languageConfigurationService=Z,this.languageFeaturesService=q,this.localToDispose=this._register(new a),this.editor=X,this._foldingLimitReporter=this._register(new y20(X));let G=this.editor.getOptions();this._isEnabled=G.get(52),this._useFoldingProviders=G.get(53)!==\"indentation\",this._unfoldOnClickAfterEndOfLine=G.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=G.get(55),this.updateDebounceInfo=$.for(q.foldingRangeProvider,\"Folding\",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new m4(X),this.foldingDecorationProvider.showFoldingControls=G.get(126),this.foldingDecorationProvider.showFoldingHighlights=G.get(54),this.foldingEnabled=P5.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration((U)=>{if(U.hasChanged(52))this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged();if(U.hasChanged(56))this.onModelChanged();if(U.hasChanged(126)||U.hasChanged(54)){let H=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=H.get(126),this.foldingDecorationProvider.showFoldingHighlights=H.get(54),this.triggerFoldingModelChanged()}if(U.hasChanged(53))this._useFoldingProviders=this.editor.getOptions().get(53)!==\"indentation\",this.onFoldingStrategyChanged();if(U.hasChanged(57))this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57);if(U.hasChanged(55))this._foldingImportsByDefault=this.editor.getOptions().get(55)})),this.onModelChanged()}saveViewState(){let X=this.editor.getModel();if(!X||!this._isEnabled||X.isTooLargeForTokenization())return{};if(this.foldingModel){let Y=this.foldingModel.getMemento(),Z=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:Y,lineCount:X.getLineCount(),provider:Z,foldedImports:this._currentModelHasFoldedImports}}return}restoreViewState(X){let Y=this.editor.getModel();if(!Y||!this._isEnabled||Y.isTooLargeForTokenization()||!this.hiddenRangeModel)return;if(!X)return;if(this._currentModelHasFoldedImports=!!X.foldedImports,X.collapsedRegions&&X.collapsedRegions.length>0&&this.foldingModel){this._restoringViewState=!0;try{this.foldingModel.applyMemento(X.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();let X=this.editor.getModel();if(!this._isEnabled||!X||X.isTooLargeForTokenization())return;this._currentModelHasFoldedImports=!1,this.foldingModel=new Wc(X,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new _c(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((Y)=>this.onHiddenRangesChanges(Y))),this.updateScheduler=new Y4(this.updateDebounceInfo.get(X)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new B1(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent((Y)=>this.onDidChangeModelContent(Y))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown((Y)=>this.onEditorMouseDown(Y))),this.localToDispose.add(this.editor.onMouseUp((Y)=>this.onEditorMouseUp(Y))),this.localToDispose.add({dispose:()=>{if(this.foldingRegionPromise)this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null;this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged()}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(X){if(this.rangeProvider)return this.rangeProvider;let Y=new aL(X,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=Y,this._useFoldingProviders&&this.foldingModel){let Z=PA.getFoldingRangeProviders(this.languageFeaturesService,X);if(Z.length>0)this.rangeProvider=new rL(X,Z,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,Y)}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(X){this.hiddenRangeModel?.notifyChangeModelContent(X),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){if(this.updateScheduler){if(this.foldingRegionPromise)this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null;this.foldingModelPromise=this.updateScheduler.trigger(()=>{let X=this.foldingModel;if(!X)return null;let Y=new v5,Z=this.getRangeProvider(X.textModel),Q=this.foldingRegionPromise=IJ(($)=>Z.compute($));return Q.then(($)=>{if($&&Q===this.foldingRegionPromise){let q;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let H=$.setCollapsedAllOfType(w7.Imports.value,!0);if(H)q=P3.capture(this.editor),this._currentModelHasFoldedImports=H}let G=this.editor.getSelections();X.update($,tN0(G)),q?.restore(this.editor);let U=this.updateDebounceInfo.update(X.textModel,Y.elapsed());if(this.updateScheduler)this.updateScheduler.defaultDelay=U}return X})}).then(void 0,(X)=>{return b0(X),null})}}onHiddenRangesChanges(X){if(this.hiddenRangeModel&&X.length&&!this._restoringViewState){let Y=this.editor.getSelections();if(Y){if(this.hiddenRangeModel.adjustSelections(Y))this.editor.setSelections(Y)}}this.editor.setHiddenAreas(X,this)}onCursorPositionChanged(){if(this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges())this.cursorChangedScheduler.schedule()}revealCursor(){let X=this.getFoldingModel();if(!X)return;X.then((Y)=>{if(Y){let Z=this.editor.getSelections();if(Z&&Z.length>0){let Q=[];for(let $ of Z){let q=$.selectionStartLineNumber;if(this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(q))Q.push(...Y.getAllRegionsAtLine(q,(G)=>G.isCollapsed&&q>G.startLineNumber))}if(Q.length)Y.toggleCollapseState(Q),this.reveal(Z[0].getPosition())}}}).then(void 0,b0)}onEditorMouseDown(X){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!X.target||!X.target.range)return;if(!X.event.leftButton&&!X.event.middleButton)return;let Y=X.target.range,Z=!1;switch(X.target.type){case 4:{let Q=X.target.detail,$=X.target.element.offsetLeft;if(Q.offsetX-$<4)return;Z=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!X.target.detail.isAfterLines)break}return}case 6:{if(this.hiddenRangeModel.hasRanges()){let Q=this.editor.getModel();if(Q&&Y.startColumn===Q.getLineMaxColumn(Y.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:Y.startLineNumber,iconClicked:Z}}onEditorMouseUp(X){let Y=this.foldingModel;if(!Y||!this.mouseDownInfo||!X.target)return;let Z=this.mouseDownInfo.lineNumber,Q=this.mouseDownInfo.iconClicked,$=X.target.range;if(!$||$.startLineNumber!==Z)return;if(Q){if(X.target.type!==4)return}else{let G=this.editor.getModel();if(!G||$.startColumn!==G.getLineMaxColumn(Z))return}let q=Y.getRegionAtLine(Z);if(q&&q.startLineNumber===Z){let G=q.isCollapsed;if(Q||G){let U=X.event.altKey,H=[];if(U){let V=(j)=>!j.containedBy(q)&&!q.containedBy(j),K=Y.getRegionsInside(null,V);for(let j of K)if(j.isCollapsed)H.push(j);if(H.length===0)H=K}else{let V=X.event.middleButton||X.event.shiftKey;if(V){for(let K of Y.getRegionsInside(q))if(K.isCollapsed===G)H.push(K)}if(G||!V||H.length===0)H.push(q)}Y.toggleCollapseState(H),this.reveal({lineNumber:Z,column:1})}}}reveal(X){this.editor.revealPositionInCenterIfOutsideViewport(X,0)}};Sj=PA=nN0([AA(1,E0),AA(2,u6),AA(3,d6),AA(4,U_),AA(5,$1)],Sj);class y20 extends y{constructor(J){super();this.editor=J,this._onDidChange=this._register(new E),this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(56)}update(J,X){if(J!==this._computed||X!==this._limited)this._computed=J,this._limited=X,this._onDidChange.fire()}}class D5 extends U1{runEditorCommand(J,X,Y){let Z=J.get(u6),Q=Sj.get(X);if(!Q)return;let $=Q.getFoldingModel();if($)return this.reportTelemetry(J,X),$.then((q)=>{if(q){this.invoke(Q,q,X,Y,Z);let G=X.getSelection();if(G)Q.reveal(G.getStartPosition())}})}getSelectedLines(J){let X=J.getSelections();return X?X.map((Y)=>Y.startLineNumber):[]}getLineNumbers(J,X){if(J&&J.selectionLines)return J.selectionLines.map((Y)=>Y+1);return this.getSelectedLines(X)}run(J,X){}}function tN0(J){if(!J||J.length===0)return{startsInside:()=>!1};return{startsInside(X,Y){for(let Z of J){let Q=Z.startLineNumber;if(Q>=X&&Q<=Y)return!0}return!1}}}function x20(J){if(!C8(J)){if(!E6(J))return!1;let X=J;if(!C8(X.levels)&&!r7(X.levels))return!1;if(!C8(X.direction)&&!t1(X.direction))return!1;if(!C8(X.selectionLines)&&(!Array.isArray(X.selectionLines)||!X.selectionLines.every(r7)))return!1}return!0}class b20 extends D5{constructor(){super({id:\"editor.unfold\",label:B0(1025,\"Unfold\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:\"Unfold the content in the editor\",args:[{name:\"Unfold editor argument\",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t`,constraint:x20,schema:{type:\"object\",properties:{levels:{type:\"number\",default:1},direction:{type:\"string\",enum:[\"up\",\"down\"],default:\"down\"},selectionLines:{type:\"array\",items:{type:\"number\"}}}}}]}})}invoke(J,X,Y,Z){let Q=Z&&Z.levels||1,$=this.getLineNumbers(Z,Y);if(Z&&Z.direction===\"up\")Fc(X,!1,Q,$);else RU(X,!1,Q,$)}}class C20 extends D5{constructor(){super({id:\"editor.unfoldRecursively\",label:B0(1026,\"Unfold Recursively\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2142),weight:100}})}invoke(J,X,Y,Z){RU(X,!1,Number.MAX_VALUE,this.getSelectedLines(Y))}}class S20 extends D5{constructor(){super({id:\"editor.fold\",label:B0(1027,\"Fold\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:\"Fold the content in the editor\",args:[{name:\"Fold editor argument\",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t`,constraint:x20,schema:{type:\"object\",properties:{levels:{type:\"number\"},direction:{type:\"string\",enum:[\"up\",\"down\"]},selectionLines:{type:\"array\",items:{type:\"number\"}}}}}]}})}invoke(J,X,Y,Z){let Q=this.getLineNumbers(Z,Y),$=Z&&Z.levels,q=Z&&Z.direction;if(typeof $!==\"number\"&&typeof q!==\"string\")O20(X,!0,Q);else if(q===\"up\")Fc(X,!0,$||1,Q);else RU(X,!0,$||1,Q)}}class f20 extends D5{constructor(){super({id:\"editor.toggleFold\",label:B0(1028,\"Toggle Fold\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2090),weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);zc(X,1,Z)}}class h20 extends D5{constructor(){super({id:\"editor.foldRecursively\",label:B0(1029,\"Fold Recursively\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2140),weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);RU(X,!0,Number.MAX_VALUE,Z)}}class v20 extends D5{constructor(){super({id:\"editor.toggleFoldRecursively\",label:B0(1030,\"Toggle Fold Recursively\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,3114),weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);zc(X,Number.MAX_VALUE,Z)}}class g20 extends D5{constructor(){super({id:\"editor.foldAllBlockComments\",label:B0(1031,\"Fold All Block Comments\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2138),weight:100}})}invoke(J,X,Y,Z,Q){if(X.regions.hasTypes())sL(X,w7.Comment.value,!0);else{let $=Y.getModel();if(!$)return;let q=Q.getLanguageConfiguration($.getLanguageId()).comments;if(q&&q.blockCommentStartToken){let G=new RegExp(\"^\\\\s*\"+a8(q.blockCommentStartToken));lL(X,G,!0)}}}}class p20 extends D5{constructor(){super({id:\"editor.foldAllMarkerRegions\",label:B0(1032,\"Fold All Regions\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2077),weight:100}})}invoke(J,X,Y,Z,Q){if(X.regions.hasTypes())sL(X,w7.Region.value,!0);else{let $=Y.getModel();if(!$)return;let q=Q.getLanguageConfiguration($.getLanguageId()).foldingRules;if(q&&q.markers&&q.markers.start){let G=new RegExp(q.markers.start);lL(X,G,!0)}}}}class m20 extends D5{constructor(){super({id:\"editor.unfoldAllMarkerRegions\",label:B0(1033,\"Unfold All Regions\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2078),weight:100}})}invoke(J,X,Y,Z,Q){if(X.regions.hasTypes())sL(X,w7.Region.value,!1);else{let $=Y.getModel();if(!$)return;let q=Q.getLanguageConfiguration($.getLanguageId()).foldingRules;if(q&&q.markers&&q.markers.start){let G=new RegExp(q.markers.start);lL(X,G,!1)}}}}class u20 extends D5{constructor(){super({id:\"editor.foldAllExcept\",label:B0(1034,\"Fold All Except Selected\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2136),weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);Bc(X,!0,Z)}}class c20 extends D5{constructor(){super({id:\"editor.unfoldAllExcept\",label:B0(1035,\"Unfold All Except Selected\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2134),weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);Bc(X,!1,Z)}}class d20 extends D5{constructor(){super({id:\"editor.foldAll\",label:B0(1036,\"Fold All\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2069),weight:100}})}invoke(J,X,Y){RU(X,!0)}}class l20 extends D5{constructor(){super({id:\"editor.unfoldAll\",label:B0(1037,\"Unfold All\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2088),weight:100}})}invoke(J,X,Y){RU(X,!1)}}class DA extends D5{static{this.ID_PREFIX=\"editor.foldLevel\"}static{this.ID=(J)=>DA.ID_PREFIX+J}getFoldingLevel(){return parseInt(this.id.substr(DA.ID_PREFIX.length))}invoke(J,X,Y){M20(X,this.getFoldingLevel(),!0,this.getSelectedLines(Y))}}class s20 extends D5{constructor(){super({id:\"editor.gotoParentFold\",label:B0(1038,\"Go to Parent Fold\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);if(Z.length>0){let Q=R20(Z[0],X);if(Q!==null)Y.setSelection({startLineNumber:Q,startColumn:1,endLineNumber:Q,endColumn:1})}}}class a20 extends D5{constructor(){super({id:\"editor.gotoPreviousFold\",label:B0(1039,\"Go to Previous Folding Range\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);if(Z.length>0){let Q=N20(Z[0],X);if(Q!==null)Y.setSelection({startLineNumber:Q,startColumn:1,endLineNumber:Q,endColumn:1})}}}class i20 extends D5{constructor(){super({id:\"editor.gotoNextFold\",label:B0(1040,\"Go to Next Folding Range\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,weight:100}})}invoke(J,X,Y){let Z=this.getSelectedLines(Y);if(Z.length>0){let Q=w20(Z[0],X);if(Q!==null)Y.setSelection({startLineNumber:Q,startColumn:1,endLineNumber:Q,endColumn:1})}}}class r20 extends D5{constructor(){super({id:\"editor.createFoldingRangeFromSelection\",label:B0(1041,\"Create Folding Range from Selection\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2135),weight:100}})}invoke(J,X,Y){let Z=[],Q=Y.getSelections();if(Q){for(let $ of Q){let q=$.endLineNumber;if($.endColumn===1)--q;if(q>$.startLineNumber)Z.push({startLineNumber:$.startLineNumber,endLineNumber:q,type:void 0,isCollapsed:!0,source:1}),Y.setSelection({startLineNumber:$.startLineNumber,startColumn:1,endLineNumber:$.startLineNumber,endColumn:1})}if(Z.length>0){Z.sort((q,G)=>{return q.startLineNumber-G.startLineNumber});let $=B7.sanitizeAndMerge(X.regions,Z,Y.getModel()?.getLineCount());X.updatePost(B7.fromFoldRanges($))}}}}class o20 extends D5{constructor(){super({id:\"editor.removeManualFoldingRanges\",label:B0(1042,\"Remove Manual Folding Ranges\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2137),weight:100}})}invoke(J,X,Y){let Z=Y.getSelections();if(Z){let Q=[];for(let $ of Z){let{startLineNumber:q,endLineNumber:G}=$;Q.push(G>=q?{startLineNumber:q,endLineNumber:G}:{endLineNumber:G,startLineNumber:q})}X.removeManualRanges(Q),J.triggerFoldingModelChanged()}}}class n20 extends D5{constructor(){super({id:\"editor.toggleImportFold\",label:B0(1043,\"Toggle Import Fold\"),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,weight:100}})}async invoke(J,X){let Y=[],Z=X.regions;for(let Q=Z.length-1;Q>=0;Q--)if(Z.getType(Q)===w7.Imports.value)Y.push(Z.toRegion(Q));X.toggleCollapseState(Y),J.triggerFoldingModelChanged()}}E7(Sj.ID,Sj,0);y0(b20);y0(C20);y0(S20);y0(h20);y0(v20);y0(d20);y0(l20);y0(g20);y0(p20);y0(m20);y0(u20);y0(c20);y0(f20);y0(s20);y0(a20);y0(i20);y0(r20);y0(o20);y0(n20);for(let J=1;J<=7;J++)Te(new DA({id:DA.ID(J),label:B0(1044,\"Fold Level {0}\",J),precondition:P5,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2048|21+J),weight:100}}));S6.registerCommand(\"_executeFoldingRangeProvider\",async function(J,...X){let[Y]=X;if(!(Y instanceof R0))throw HX();let Z=J.get($1),Q=J.get(j8).getModel(Y);if(!Q)throw HX();let $=J.get(o0);if(!$.getValue(\"editor.folding\",{resource:Y}))return[];let q=J.get(u6),G=$.getValue(\"editor.foldingStrategy\",{resource:Y}),U={get limit(){return $.getValue(\"editor.foldingMaximumRegions\",{resource:Y})},update:(W,z)=>{}},H=new aL(Q,q,U),V=H;if(G!==\"indentation\"){let W=Sj.getFoldingRangeProviders(Z,Q);if(W.length)V=new rL(Q,W,()=>{},U,H)}let K=await V.compute(U8.None),j=[];try{if(K)for(let W=0;W<K.length;W++){let z=K.getType(W);j.push({start:K.getStartLineNumber(W),end:K.getEndLineNumber(W),kind:z?w7.fromValue(z):void 0})}return j}finally{V.dispose()}});var eN0=x(\"editor.wordHighlightBackground\",{dark:\"#575757B8\",light:\"#57575740\",hcDark:null,hcLight:null},F(1615,\"Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.wordHighlightStrongBackground\",{dark:\"#004972B8\",light:\"#0e639c40\",hcDark:null,hcLight:null},F(1616,\"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.\"),!0);x(\"editor.wordHighlightTextBackground\",eN0,F(1617,\"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.\"),!0);var Jw0=x(\"editor.wordHighlightBorder\",{light:null,dark:null,hcDark:v1,hcLight:v1},F(1618,\"Border color of a symbol during read-access, like reading a variable.\"));x(\"editor.wordHighlightStrongBorder\",{light:null,dark:null,hcDark:v1,hcLight:v1},F(1619,\"Border color of a symbol during write-access, like writing to a variable.\"));x(\"editor.wordHighlightTextBorder\",Jw0,F(1620,\"Border color of a textual occurrence for a symbol.\"));var Xw0=x(\"editorOverviewRuler.wordHighlightForeground\",\"#A0A0A0CC\",F(1621,\"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),Yw0=x(\"editorOverviewRuler.wordHighlightStrongForeground\",\"#C0A0C0CC\",F(1622,\"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.\"),!0),Zw0=x(\"editorOverviewRuler.wordHighlightTextForeground\",uC,F(1623,\"Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.\"),!0),ro1=n0.register({description:\"word-highlight-strong\",stickiness:1,className:\"wordHighlightStrong\",overviewRuler:{color:n6(Yw0),position:m5.Center},minimap:{color:n6(LF),position:1}}),oo1=n0.register({description:\"word-highlight-text\",stickiness:1,className:\"wordHighlightText\",overviewRuler:{color:n6(Zw0),position:m5.Center},minimap:{color:n6(LF),position:1}}),Qw0=n0.register({description:\"selection-highlight-overview\",stickiness:1,className:\"selectionHighlight\",overviewRuler:{color:n6(uC),position:m5.Center},minimap:{color:n6(LF),position:1}}),$w0=n0.register({description:\"selection-highlight\",stickiness:1,className:\"selectionHighlight\"}),no1=n0.register({description:\"word-highlight\",stickiness:1,className:\"wordHighlight\",overviewRuler:{color:n6(Xw0),position:m5.Center},minimap:{color:n6(LF),position:1}});function t20(J){return J?$w0:Qw0}x8((J,X)=>{let Y=J.getColor(KG);if(Y)X.addRule(`.monaco-editor .selectionHighlight { background-color: ${Y.transparent(0.5)}; }`)});var qw0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Gw0=function(J,X){return function(Y,Z){X(Y,Z,J)}},Oc;function N3(J,X){let Y=X.filter((Z)=>!J.find((Q)=>Q.equals(Z)));if(Y.length>=1){let Z=Y.map(($)=>`line ${$.viewState.position.lineNumber} column ${$.viewState.position.column}`).join(\", \"),Q=Y.length===1?F(1334,\"Cursor added: {0}\",Z):F(1335,\"Cursors added: {0}\",Z);MQ(Q)}}class J30 extends U1{constructor(){super({id:\"editor.action.insertCursorAbove\",label:B0(1344,\"Add Cursor Above\"),precondition:void 0,kbOpts:{kbExpr:g.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"3_multi\",title:F(1336,\"&&Add Cursor Above\"),order:2}})}run(J,X,Y){if(!X.hasModel())return;let Z=!0;if(Y&&Y.logicalLine===!1)Z=!1;let Q=X._getViewModel();if(Q.cursorConfig.readOnly)return;Q.model.pushStackElement();let $=Q.getCursorStates();Q.setCursorStates(Y.source,3,_8.addCursorUp(Q,$,Z)),Q.revealTopMostCursor(Y.source),N3($,Q.getCursorStates())}}class X30 extends U1{constructor(){super({id:\"editor.action.insertCursorBelow\",label:B0(1345,\"Add Cursor Below\"),precondition:void 0,kbOpts:{kbExpr:g.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"3_multi\",title:F(1337,\"A&&dd Cursor Below\"),order:3}})}run(J,X,Y){if(!X.hasModel())return;let Z=!0;if(Y&&Y.logicalLine===!1)Z=!1;let Q=X._getViewModel();if(Q.cursorConfig.readOnly)return;Q.model.pushStackElement();let $=Q.getCursorStates();Q.setCursorStates(Y.source,3,_8.addCursorDown(Q,$,Z)),Q.revealBottomMostCursor(Y.source),N3($,Q.getCursorStates())}}class Y30 extends U1{constructor(){super({id:\"editor.action.insertCursorAtEndOfEachLineSelected\",label:B0(1346,\"Add Cursors to Line Ends\"),precondition:void 0,kbOpts:{kbExpr:g.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"3_multi\",title:F(1338,\"Add C&&ursors to Line Ends\"),order:4}})}getCursorsForSelection(J,X,Y){if(J.isEmpty())return;for(let Z=J.startLineNumber;Z<J.endLineNumber;Z++){let Q=X.getLineMaxColumn(Z);Y.push(new Y0(Z,Q,Z,Q))}if(J.endColumn>1)Y.push(new Y0(J.endLineNumber,J.endColumn,J.endLineNumber,J.endColumn))}run(J,X){if(!X.hasModel())return;let Y=X.getModel(),Z=X.getSelections(),Q=X._getViewModel(),$=Q.getCursorStates(),q=[];if(Z.forEach((G)=>this.getCursorsForSelection(G,Y,q)),q.length>0)X.setSelections(q);N3($,Q.getCursorStates())}}class Z30 extends U1{constructor(){super({id:\"editor.action.addCursorsToBottom\",label:B0(1347,\"Add Cursors to Bottom\"),precondition:void 0})}run(J,X){if(!X.hasModel())return;let Y=X.getSelections(),Z=X.getModel().getLineCount(),Q=[];for(let G=Y[0].startLineNumber;G<=Z;G++)Q.push(new Y0(G,Y[0].startColumn,G,Y[0].endColumn));let $=X._getViewModel(),q=$.getCursorStates();if(Q.length>0)X.setSelections(Q);N3(q,$.getCursorStates())}}class Q30 extends U1{constructor(){super({id:\"editor.action.addCursorsToTop\",label:B0(1348,\"Add Cursors to Top\"),precondition:void 0})}run(J,X){if(!X.hasModel())return;let Y=X.getSelections(),Z=[];for(let q=Y[0].startLineNumber;q>=1;q--)Z.push(new Y0(q,Y[0].startColumn,q,Y[0].endColumn));let Q=X._getViewModel(),$=Q.getCursorStates();if(Z.length>0)X.setSelections(Z);N3($,Q.getCursorStates())}}class OA{constructor(J,X,Y){this.selections=J,this.revealRange=X,this.revealScrollType=Y}}class MA{static create(J,X){if(!J.hasModel())return null;let Y=X.getState();if(!J.hasTextFocus()&&Y.isRevealed&&Y.searchString.length>0)return new MA(J,X,!1,Y.searchString,Y.wholeWord,Y.matchCase,null);let Z=!1,Q,$,q=J.getSelections();if(q.length===1&&q[0].isEmpty())Z=!0,Q=!0,$=!0;else Q=Y.wholeWord,$=Y.matchCase;let G=J.getSelection(),U,H=null;if(G.isEmpty()){let V=J.getConfiguredWordAtPosition(G.getStartPosition());if(!V)return null;U=V.word,H=new Y0(G.startLineNumber,V.startColumn,G.startLineNumber,V.endColumn)}else U=J.getModel().getValueInRange(G).replace(/\\r\\n/g,`\n`);return new MA(J,X,Z,U,Q,$,H)}constructor(J,X,Y,Z,Q,$,q){this._editor=J,this.findController=X,this.isDisconnectedFromFindController=Y,this.searchText=Z,this.wholeWord=Q,this.matchCase=$,this.currentMatch=q}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let J=this._getNextMatch();if(!J)return null;let X=this._editor.getSelections();return new OA(X.concat(J),J,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let J=this._getNextMatch();if(!J)return null;let X=this._editor.getSelections();return new OA(X.slice(0,X.length-1).concat(J),J,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let Z=this.currentMatch;return this.currentMatch=null,Z}this.findController.highlightFindOptions();let J=this._editor.getSelections(),X=J[J.length-1],Y=this._editor.getModel().findNextMatch(this.searchText,X.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);if(!Y)return null;return new Y0(Y.range.startLineNumber,Y.range.startColumn,Y.range.endLineNumber,Y.range.endColumn)}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let J=this._getPreviousMatch();if(!J)return null;let X=this._editor.getSelections();return new OA(X.concat(J),J,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let J=this._getPreviousMatch();if(!J)return null;let X=this._editor.getSelections();return new OA(X.slice(0,X.length-1).concat(J),J,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let Z=this.currentMatch;return this.currentMatch=null,Z}this.findController.highlightFindOptions();let J=this._editor.getSelections(),X=J[J.length-1],Y=this._editor.getModel().findPreviousMatch(this.searchText,X.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);if(!Y)return null;return new Y0(Y.range.startLineNumber,Y.range.startColumn,Y.range.endLineNumber,Y.range.endColumn)}selectAll(J){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();let X=this._editor.getModel();if(J)return X.findMatches(this.searchText,J,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824);return X.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}}class fj extends y{static{this.ID=\"editor.contrib.multiCursorController\"}static get(J){return J.getContribution(fj.ID)}constructor(J){super();this._sessionDispose=this._register(new a),this._editor=J,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(J){if(!this._session){let X=MA.create(this._editor,J);if(!X)return;this._session=X;let Y={searchString:this._session.searchText};if(this._session.isDisconnectedFromFindController)Y.wholeWordOverride=1,Y.matchCaseOverride=1,Y.isRegexOverride=2;J.getState().change(Y,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((Z)=>{if(this._ignoreSelectionChange)return;this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(J.getState().onFindReplaceStateChange((Z)=>{if(Z.matchCase||Z.wholeWord)this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){let J={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(J,!1)}this._session=null}_setSelections(J){this._ignoreSelectionChange=!0,this._editor.setSelections(J),this._ignoreSelectionChange=!1}_expandEmptyToWord(J,X){if(!X.isEmpty())return X;let Y=this._editor.getConfiguredWordAtPosition(X.getStartPosition());if(!Y)return X;return new Y0(X.startLineNumber,Y.startColumn,X.startLineNumber,Y.endColumn)}_applySessionResult(J){if(!J)return;if(this._setSelections(J.selections),J.revealRange)this._editor.revealRangeInCenterIfOutsideViewport(J.revealRange,J.revealScrollType)}getSession(J){return this._session}addSelectionToNextFindMatch(J){if(!this._editor.hasModel())return;if(!this._session){let X=this._editor.getSelections();if(X.length>1){let Z=J.getState().matchCase;if(!j30(this._editor.getModel(),X,Z)){let $=this._editor.getModel(),q=[];for(let G=0,U=X.length;G<U;G++)q[G]=this._expandEmptyToWord($,X[G]);this._editor.setSelections(q);return}}}if(this._beginSessionIfNeeded(J),this._session)this._applySessionResult(this._session.addSelectionToNextFindMatch())}addSelectionToPreviousFindMatch(J){if(this._beginSessionIfNeeded(J),this._session)this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(J){if(this._beginSessionIfNeeded(J),this._session)this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(J){if(this._beginSessionIfNeeded(J),this._session)this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(J){if(!this._editor.hasModel())return;let X=null,Y=J.getState();if(Y.isRevealed&&Y.searchString.length>0&&Y.isRegex){let Z=this._editor.getModel();if(Y.searchScope)X=Z.findMatches(Y.searchString,Y.searchScope,Y.isRegex,Y.matchCase,Y.wholeWord?this._editor.getOption(148):null,!1,1073741824);else X=Z.findMatches(Y.searchString,!0,Y.isRegex,Y.matchCase,Y.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(J),!this._session)return;X=this._session.selectAll(Y.searchScope)}if(X.length>0){let Z=this._editor.getSelection();for(let Q=0,$=X.length;Q<$;Q++){let q=X[Q];if(q.range.intersectRanges(Z)){X[Q]=X[0],X[0]=q;break}}this._setSelections(X.map((Q)=>new Y0(Q.range.startLineNumber,Q.range.startColumn,Q.range.endLineNumber,Q.range.endColumn)))}}}class NU extends U1{run(J,X){let Y=fj.get(X);if(!Y)return;let Z=X._getViewModel();if(Z){let Q=Z.getCursorStates(),$=s7.get(X);if($)this._run(Y,$);else{let q=J.get(w0).createInstance(s7,X);this._run(Y,q),q.dispose()}N3(Q,Z.getCursorStates())}}}class $30 extends NU{constructor(){super({id:\"editor.action.addSelectionToNextFindMatch\",label:B0(1349,\"Add Selection to Next Find Match\"),precondition:void 0,kbOpts:{kbExpr:g.focus,primary:2082,weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"3_multi\",title:F(1339,\"Add &&Next Occurrence\"),order:5}})}_run(J,X){J.addSelectionToNextFindMatch(X)}}class q30 extends NU{constructor(){super({id:\"editor.action.addSelectionToPreviousFindMatch\",label:B0(1350,\"Add Selection to Previous Find Match\"),precondition:void 0,menuOpts:{menuId:b.MenubarSelectionMenu,group:\"3_multi\",title:F(1340,\"Add P&&revious Occurrence\"),order:6}})}_run(J,X){J.addSelectionToPreviousFindMatch(X)}}class G30 extends NU{constructor(){super({id:\"editor.action.moveSelectionToNextFindMatch\",label:B0(1351,\"Move Last Selection to Next Find Match\"),precondition:void 0,kbOpts:{kbExpr:g.focus,primary:H8(2089,2082),weight:100}})}_run(J,X){J.moveSelectionToNextFindMatch(X)}}class U30 extends NU{constructor(){super({id:\"editor.action.moveSelectionToPreviousFindMatch\",label:B0(1352,\"Move Last Selection to Previous Find Match\"),precondition:void 0})}_run(J,X){J.moveSelectionToPreviousFindMatch(X)}}class H30 extends NU{constructor(){super({id:\"editor.action.selectHighlights\",label:B0(1353,\"Select All Occurrences of Find Match\"),precondition:void 0,kbOpts:{kbExpr:g.focus,primary:3114,weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"3_multi\",title:F(1341,\"Select All &&Occurrences\"),order:7}})}_run(J,X){J.selectAll(X)}}class V30 extends NU{constructor(){super({id:\"editor.action.changeAll\",label:B0(1354,\"Change All Occurrences\"),precondition:P0.and(g.writable,g.editorTextFocus),kbOpts:{kbExpr:g.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:\"1_modification\",order:1.2}})}_run(J,X){J.selectAll(X)}}class K30{constructor(J,X,Y,Z,Q){if(this._model=J,this._searchText=X,this._matchCase=Y,this._wordSeparators=Z,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),Q&&this._model===Q._model&&this._searchText===Q._searchText&&this._matchCase===Q._matchCase&&this._wordSeparators===Q._wordSeparators&&this._modelVersionId===Q._modelVersionId)this._cachedFindMatches=Q._cachedFindMatches}findMatches(){if(this._cachedFindMatches===null)this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((J)=>J.range),this._cachedFindMatches.sort(T.compareRangesUsingStarts);return this._cachedFindMatches}}var oL=class extends y{static{Oc=this}static{this.ID=\"editor.contrib.selectionHighlighter\"}constructor(X,Y){super();this._languageFeaturesService=Y,this.editor=X,this._isEnabled=X.getOption(122),this._isEnabledMultiline=X.getOption(124),this._maxLength=X.getOption(123),this._decorations=X.createDecorationsCollection(),this.updateSoon=this._register(new B1(()=>this._update(),300)),this.state=null,this._register(X.onDidChangeConfiguration((Q)=>{this._isEnabled=X.getOption(122),this._isEnabledMultiline=X.getOption(124),this._maxLength=X.getOption(123)})),this._register(X.onDidChangeCursorSelection((Q)=>{if(!this._isEnabled)return;if(Q.selection.isEmpty())if(Q.reason===3){if(this.state)this._setState(null);this.updateSoon.schedule()}else this._setState(null);else this._update()})),this._register(X.onDidChangeModel((Q)=>{this._setState(null)})),this._register(X.onDidChangeModelContent((Q)=>{if(this._isEnabled)this.updateSoon.schedule()}));let Z=s7.get(X);if(Z)this._register(Z.getState().onFindReplaceStateChange((Q)=>{this._update()}));this.updateSoon.schedule()}_update(){this._setState(Oc._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(X,Y,Z,Q,$){if(!Y)return null;if(!$.hasModel())return null;if(!Z){let K=$.getSelection();if(K.startLineNumber!==K.endLineNumber)return null}let q=fj.get($);if(!q)return null;let G=s7.get($);if(!G)return null;let U=q.getSession(G);if(!U){let K=$.getSelections();if(K.length>1){let W=G.getState().matchCase;if(!j30($.getModel(),K,W))return null}U=MA.create($,G)}if(!U)return null;if(U.currentMatch)return null;if(/^[ \\t]+$/.test(U.searchText))return null;if(Q>0&&U.searchText.length>Q)return null;let H=G.getState(),V=H.matchCase;if(H.isRevealed){let K=H.searchString;if(!V)K=K.toLowerCase();let j=U.searchText;if(!V)j=j.toLowerCase();if(K===j&&U.matchCase===H.matchCase&&U.wholeWord===H.wholeWord&&!H.isRegex)return null}return new K30($.getModel(),U.searchText,U.matchCase,U.wholeWord?$.getOption(148):null,X)}_setState(X){if(this.state=X,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;let Y=this.editor.getModel();if(Y.isTooLargeForTokenization())return;let Z=this.state.findMatches(),Q=this.editor.getSelections();Q.sort(T.compareRangesUsingStarts);let $=[];for(let H=0,V=0,K=Z.length,j=Q.length;H<K;){let W=Z[H];if(V>=j)$.push(W),H++;else{let z=T.compareRangesUsingStarts(W,Q[V]);if(z<0){if(Q[V].isEmpty()||!T.areIntersecting(W,Q[V]))$.push(W);H++}else if(z>0)V++;else H++,V++}}let q=this.editor.getOption(90)!==\"off\",G=this._languageFeaturesService.documentHighlightProvider.has(Y)&&q,U=$.map((H)=>{return{range:H,options:t20(G)}});this._decorations.set(U)}dispose(){this._setState(null),super.dispose()}};oL=Oc=qw0([Gw0(1,$1)],oL);function j30(J,X,Y){let Z=e20(J,X[0],!Y);for(let Q=1,$=X.length;Q<$;Q++){let q=X[Q];if(q.isEmpty())return!1;let G=e20(J,q,!Y);if(Z!==G)return!1}return!0}function e20(J,X,Y){let Z=J.getValueInRange(X);return Y?Z.toLowerCase():Z}class W30 extends U1{constructor(){super({id:\"editor.action.focusNextCursor\",label:B0(1355,\"Focus Next Cursor\"),metadata:{description:F(1342,\"Focuses the next cursor\"),args:[]},precondition:void 0})}run(J,X,Y){if(!X.hasModel())return;let Z=X._getViewModel();if(Z.cursorConfig.readOnly)return;Z.model.pushStackElement();let Q=Array.from(Z.getCursorStates()),$=Q.shift();if(!$)return;Q.push($),Z.setCursorStates(Y.source,3,Q),Z.revealPrimaryCursor(Y.source,!0),N3(Q,Z.getCursorStates())}}class z30 extends U1{constructor(){super({id:\"editor.action.focusPreviousCursor\",label:B0(1356,\"Focus Previous Cursor\"),metadata:{description:F(1343,\"Focuses the previous cursor\"),args:[]},precondition:void 0})}run(J,X,Y){if(!X.hasModel())return;let Z=X._getViewModel();if(Z.cursorConfig.readOnly)return;Z.model.pushStackElement();let Q=Array.from(Z.getCursorStates()),$=Q.pop();if(!$)return;Q.unshift($),Z.setCursorStates(Y.source,3,Q),Z.revealPrimaryCursor(Y.source,!0),N3(Q,Z.getCursorStates())}}E7(fj.ID,fj,4);E7(oL.ID,oL,1);y0(J30);y0(X30);y0(Y30);y0($30);y0(q30);y0(G30);y0(U30);y0(H30);y0(V30);y0(Z30);y0(Q30);y0(W30);y0(z30);class XJ{static{this.sep=\".\"}static{this.None=new XJ(\"@@none@@\")}static{this.Empty=new XJ(\"\")}constructor(J){this.value=J}equals(J){return this.value===J.value}contains(J){return this.equals(J)||this.value===\"\"||J.value.startsWith(this.value+XJ.sep)}intersects(J){return this.contains(J)||J.contains(this)}append(...J){return new XJ((this.value?[this.value,...J]:J).join(XJ.sep))}}var Uw0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Hw0=function(J,X){return function(Y,Z){X(Y,Z,J)}},Vw0=n0.register({description:\"inline-progress-widget\",stickiness:1,showIfCollapsed:!0,after:{content:tn,inlineClassName:\"inline-editor-progress-decoration\",inlineClassNameAffectsLetterSpacing:!0}});class Mc extends y{static{this.baseId=\"editor.widget.inlineProgressWidget\"}constructor(J,X,Y,Z,Q){super();this.typeId=J,this.editor=X,this.range=Y,this.delegate=Q,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(Z),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(J){this.domNode=$0(\".inline-progress-widget\"),this.domNode.role=\"button\",this.domNode.title=J;let X=$0(\"span.icon\");this.domNode.append(X),X.classList.add(...M0.asClassNameArray(t.loading),\"codicon-modifier-spin\");let Y=()=>{let Z=this.editor.getOption(75);this.domNode.style.height=`${Z}px`,this.domNode.style.width=`${Math.ceil(0.8*Z)}px`};Y(),this._register(this.editor.onDidChangeConfiguration((Z)=>{if(Z.hasChanged(61)||Z.hasChanged(75))Y()})),this._register(f(this.domNode,r.CLICK,(Z)=>{this.delegate.cancel()}))}getId(){return Mc.baseId+\".\"+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}var nL=class extends y{constructor(X,Y,Z){super();this.id=X,this._editor=Y,this._instantiationService=Z,this._showDelay=500,this._showPromise=this._register(new Q1),this._currentWidget=this._register(new Q1),this._operationIdPool=0,this._currentDecorations=Y.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(X,Y,Z,Q,$){let q=this._operationIdPool++;this._currentOperation=q,this.clear(),this._showPromise.value=AX(()=>{let G=T.fromPositions(X);if(this._currentDecorations.set([{range:G,options:Vw0}]).length>0)this._currentWidget.value=this._instantiationService.createInstance(Mc,this.id,this._editor,G,Y,Q)},$??this._showDelay);try{return await Z}finally{if(this._currentOperation===q)this.clear(),this._currentOperation=void 0}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};nL=Uw0([Hw0(2,w0)],nL);var Kw0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},F30=function(J,X){return function(Y,Z){X(Y,Z,J)}},tL,Q$=class{static{tL=this}static{this.ID=\"editor.contrib.messageController\"}static{this.MESSAGE_VISIBLE=new G0(\"messageVisible\",!1,F(1333,\"Whether the editor is currently showing an inline message\"))}static get(X){return X.getContribution(tL.ID)}constructor(X,Y,Z){this._openerService=Z,this._messageWidget=new Q1,this._messageListeners=new a,this._mouseOverMessage=!1,this._editor=X,this._visible=tL.MESSAGE_VISIBLE.bindTo(Y)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(X,Y){if(y4(W4(X)?X.value:X),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),W4(X)){let Q=this._messageListeners.add(hX(X,{actionHandler:($,q)=>{this.closeMessage(),Bg(this._openerService,$,q.isTrusted)}}));this._messageWidget.value=new eL(this._editor,Y,Q.element)}else this._messageWidget.value=new eL(this._editor,Y,X);this._messageListeners.add(i.debounce(this._editor.onDidBlurEditorText,(Q,$)=>$,0)(()=>{if(this._mouseOverMessage)return;if(this._messageWidget.value&&d1(E1(),this._messageWidget.value.getDomNode()))return;this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(f(this._messageWidget.value.getDomNode(),r.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(f(this._messageWidget.value.getDomNode(),r.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let Z;this._messageListeners.add(this._editor.onMouseMove((Q)=>{if(!Q.target.position)return;if(!Z)Z=new T(Y.lineNumber-3,1,Q.target.position.lineNumber+3,1);else if(!Z.containsPosition(Q.target.position))this.closeMessage()}))}closeMessage(){if(this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value)this._messageListeners.add(eL.fadeOut(this._messageWidget.value))}};Q$=tL=Kw0([F30(1,E0),F30(2,p4)],Q$);var jw0=H7.bindToContribution(Q$.get);O0(new jw0({id:\"leaveEditorMessage\",precondition:Q$.MESSAGE_VISIBLE,handler:(J)=>J.closeMessage(),kbOpts:{weight:130,primary:9}}));class eL{static fadeOut(J){let X=()=>{J.dispose(),clearTimeout(Y),J.getDomNode().removeEventListener(\"animationend\",X)},Y=setTimeout(X,110);return J.getDomNode().addEventListener(\"animationend\",X),J.getDomNode().classList.add(\"fadeOut\"),{dispose:X}}constructor(J,{lineNumber:X,column:Y},Z){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=J,this._editor.revealLinesInCenterIfOutsideViewport(X,X,0),this._position={lineNumber:X,column:Y},this._domNode=document.createElement(\"div\"),this._domNode.classList.add(\"monaco-editor-overlaymessage\"),this._domNode.style.marginLeft=\"-6px\";let Q=document.createElement(\"div\");Q.classList.add(\"anchor\",\"top\"),this._domNode.appendChild(Q);let $=document.createElement(\"div\");if(typeof Z===\"string\")$.classList.add(\"message\"),$.textContent=Z;else Z.classList.add(\"message\"),$.appendChild(Z);this._domNode.appendChild($);let q=document.createElement(\"div\");q.classList.add(\"anchor\",\"below\"),this._domNode.appendChild(q),this._editor.addContentWidget(this),this._domNode.classList.add(\"fadeIn\")}dispose(){this._editor.removeContentWidget(this)}getId(){return\"messageoverlay\"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(J){this._domNode.classList.toggle(\"below\",J===2)}}E7(Q$.ID,Q$,4);var Rc=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},RA=function(J,X){return function(Y,Z){X(Y,Z,J)}};class XI{constructor(J){this.copyMimeTypes=[],this.kind=J,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(J,X,Y,Z,Q){let $=await this.getEdit(Y,Q);if(!$)return;return{edits:[{insertText:$.insertText,title:$.title,kind:$.kind,handledMimeType:$.handledMimeType,yieldTo:$.yieldTo}],dispose(){}}}async provideDocumentDropEdits(J,X,Y,Z){let Q=await this.getEdit(Y,Z);if(!Q)return;return{edits:[{insertText:Q.insertText,title:Q.title,kind:Q.kind,handledMimeType:Q.handledMimeType,yieldTo:Q.yieldTo}],dispose(){}}}}class TU extends XI{static{this.id=\"text\"}constructor(){super(XJ.Empty.append(\"text\",\"plain\"));this.id=TU.id,this.dropMimeTypes=[s1.text],this.pasteMimeTypes=[s1.text]}async getEdit(J,X){let Y=J.get(s1.text);if(!Y)return;if(J.has(s1.uriList))return;let Z=await Y.asString();return{handledMimeType:s1.text,title:F(965,\"Insert Plain Text\"),insertText:Z,kind:this.kind}}}class Nc extends XI{constructor(){super(XJ.Empty.append(\"uri\",\"path\",\"absolute\"));this.dropMimeTypes=[s1.uriList],this.pasteMimeTypes=[s1.uriList]}async getEdit(J,X){let Y=await P30(J);if(!Y.length||X.isCancellationRequested)return;let Z=0,Q=Y.map(({uri:q,originalText:G})=>{if(q.scheme===T0.file)return q.fsPath;else return Z++,G}).join(\" \"),$;if(Z>0)$=Y.length>1?F(966,\"Insert Uris\"):F(967,\"Insert Uri\");else $=Y.length>1?F(968,\"Insert Paths\"):F(969,\"Insert Path\");return{handledMimeType:s1.uriList,insertText:Q,title:$,kind:this.kind}}}var JI=class extends XI{constructor(X){super(XJ.Empty.append(\"uri\",\"path\",\"relative\"));this._workspaceContextService=X,this.dropMimeTypes=[s1.uriList],this.pasteMimeTypes=[s1.uriList]}async getEdit(X,Y){let Z=await P30(X);if(!Z.length||Y.isCancellationRequested)return;let Q=r4(Z.map(({uri:$})=>{let q=this._workspaceContextService.getWorkspaceFolder($);return q?Oe(q.uri,$):void 0}));if(!Q.length)return;return{handledMimeType:s1.uriList,insertText:Q.join(\" \"),title:Z.length>1?F(970,\"Insert Relative Paths\"):F(971,\"Insert Relative Path\"),kind:this.kind}}};JI=Rc([RA(0,qj)],JI);class A30{constructor(){this.kind=new XJ(\"html\"),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=[\"text/html\"],this._yieldTo=[{mimeType:s1.text}]}async provideDocumentPasteEdits(J,X,Y,Z,Q){if(Z.triggerKind!==Pq.PasteAs&&!Z.only?.contains(this.kind))return;let q=await Y.get(\"text/html\")?.asString();if(!q||Q.isCancellationRequested)return;return{dispose(){},edits:[{insertText:q,yieldTo:this._yieldTo,title:F(972,\"Insert HTML\"),kind:this.kind}]}}}async function P30(J){let X=J.get(s1.uriList);if(!X)return[];let Y=await X.asString(),Z=[];for(let Q of MG.parse(Y))try{Z.push({uri:R0.parse(Q),originalText:Q})}catch{}return Z}var wU={scheme:\"*\",hasAccessToAllModels:!0},B30=class extends y{constructor(X,Y){super();this._register(X.documentDropEditProvider.register(wU,new TU)),this._register(X.documentDropEditProvider.register(wU,new Nc)),this._register(X.documentDropEditProvider.register(wU,new JI(Y)))}};B30=Rc([RA(0,$1),RA(1,qj)],B30);var _30=class extends y{constructor(X,Y){super();this._register(X.documentPasteEditProvider.register(wU,new TU)),this._register(X.documentPasteEditProvider.register(wU,new Nc)),this._register(X.documentPasteEditProvider.register(wU,new JI(Y))),this._register(X.documentPasteEditProvider.register(wU,new A30))}};_30=Rc([RA(0,$1),RA(1,qj)],_30);class iX{constructor(){this.value=\"\",this.pos=0}static{this._table={[36]:0,[58]:1,[44]:2,[123]:3,[125]:4,[92]:5,[47]:6,[124]:7,[43]:11,[45]:12,[63]:13}}static isDigitCharacter(J){return J>=48&&J<=57}static isVariableCharacter(J){return J===95||J>=97&&J<=122||J>=65&&J<=90}text(J){this.value=J,this.pos=0}tokenText(J){return this.value.substr(J.pos,J.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let J=this.pos,X=0,Y=this.value.charCodeAt(J),Z;if(Z=iX._table[Y],typeof Z===\"number\")return this.pos+=1,{type:Z,pos:J,len:1};if(iX.isDigitCharacter(Y)){Z=8;do X+=1,Y=this.value.charCodeAt(J+X);while(iX.isDigitCharacter(Y));return this.pos+=X,{type:Z,pos:J,len:X}}if(iX.isVariableCharacter(Y)){Z=9;do Y=this.value.charCodeAt(J+ ++X);while(iX.isVariableCharacter(Y)||iX.isDigitCharacter(Y));return this.pos+=X,{type:Z,pos:J,len:X}}Z=10;do X+=1,Y=this.value.charCodeAt(J+X);while(!isNaN(Y)&&typeof iX._table[Y]>\"u\"&&!iX.isDigitCharacter(Y)&&!iX.isVariableCharacter(Y));return this.pos+=X,{type:Z,pos:J,len:X}}}class LU{constructor(){this._children=[]}appendChild(J){if(J instanceof nJ&&this._children[this._children.length-1]instanceof nJ)this._children[this._children.length-1].value+=J.value;else J.parent=this,this._children.push(J);return this}replace(J,X){let{parent:Y}=J,Z=Y.children.indexOf(J),Q=Y.children.slice(0);Q.splice(Z,1,...X),Y._children=Q,function $(q,G){for(let U of q)U.parent=G,$(U.children,U)}(X,Y)}get children(){return this._children}get rightMostDescendant(){if(this._children.length>0)return this._children[this._children.length-1].rightMostDescendant;return this}get snippet(){let J=this;while(!0){if(!J)return;if(J instanceof ZI)return J;J=J.parent}}toString(){return this.children.reduce((J,X)=>J+X.toString(),\"\")}len(){return 0}}class nJ extends LU{constructor(J){super();this.value=J}toString(){return this.value}len(){return this.value.length}clone(){return new nJ(this.value)}}class wc extends LU{}class PZ extends wc{static compareByIndex(J,X){if(J.index===X.index)return 0;else if(J.isFinalTabstop)return 1;else if(X.isFinalTabstop)return-1;else if(J.index<X.index)return-1;else if(J.index>X.index)return 1;else return 0}constructor(J){super();this.index=J}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof YI?this._children[0]:void 0}clone(){let J=new PZ(this.index);if(this.transform)J.transform=this.transform.clone();return J._children=this.children.map((X)=>X.clone()),J}}class YI extends LU{constructor(){super(...arguments);this.options=[]}appendChild(J){if(J instanceof nJ)J.parent=this,this.options.push(J);return this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let J=new YI;return this.options.forEach(J.appendChild,J),J}}class Tc extends LU{constructor(){super(...arguments);this.regexp=new RegExp(\"\")}resolve(J){let X=this,Y=!1,Z=J.replace(this.regexp,function(){return Y=!0,X._replace(Array.prototype.slice.call(arguments,0,-2))});if(!Y&&this._children.some((Q)=>Q instanceof rX&&Boolean(Q.elseValue)))Z=this._replace([]);return Z}_replace(J){let X=\"\";for(let Y of this._children)if(Y instanceof rX){let Z=J[Y.index]||\"\";Z=Y.resolve(Z),X+=Z}else X+=Y.toString();return X}toString(){return\"\"}clone(){let J=new Tc;return J.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?\"i\":\"\")+(this.regexp.global?\"g\":\"\")),J._children=this.children.map((X)=>X.clone()),J}}class rX extends LU{constructor(J,X,Y,Z){super();this.index=J,this.shorthandName=X,this.ifValue=Y,this.elseValue=Z}resolve(J){if(this.shorthandName===\"upcase\")return!J?\"\":J.toLocaleUpperCase();else if(this.shorthandName===\"downcase\")return!J?\"\":J.toLocaleLowerCase();else if(this.shorthandName===\"capitalize\")return!J?\"\":J[0].toLocaleUpperCase()+J.substr(1);else if(this.shorthandName===\"pascalcase\")return!J?\"\":this._toPascalCase(J);else if(this.shorthandName===\"camelcase\")return!J?\"\":this._toCamelCase(J);else if(this.shorthandName===\"kebabcase\")return!J?\"\":this._toKebabCase(J);else if(this.shorthandName===\"snakecase\")return!J?\"\":this._toSnakeCase(J);else if(Boolean(J)&&typeof this.ifValue===\"string\")return this.ifValue;else if(!Boolean(J)&&typeof this.elseValue===\"string\")return this.elseValue;else return J||\"\"}_toKebabCase(J){if(!J.match(/[\\p{L}0-9]+/gu))return J;if(!J.match(/[\\p{L}0-9]/u))return J.trim().toLowerCase().replace(/^_+|_+$/g,\"\").replace(/[\\s_]+/g,\"-\");let Y=J.trim().replace(/^_+|_+$/g,\"\"),Z=Y.match(/\\p{Lu}{2,}(?=\\p{Lu}\\p{Ll}+[0-9]*|[\\s_-]|$)|\\p{Lu}?\\p{Ll}+[0-9]*|\\p{Lu}(?=\\p{Lu}\\p{Ll})|\\p{Lu}(?=[\\s_-]|$)|[0-9]+/gu);if(!Z)return Y.split(/[\\s_-]+/).filter((Q)=>Q.length>0).map((Q)=>Q.toLowerCase()).join(\"-\");return Z.map((Q)=>Q.toLowerCase()).join(\"-\")}_toPascalCase(J){let X=J.match(/[\\p{L}0-9]+/gu);if(!X)return J;return X.map((Y)=>{return Y.charAt(0).toUpperCase()+Y.substr(1)}).join(\"\")}_toCamelCase(J){let X=J.match(/[\\p{L}0-9]+/gu);if(!X)return J;return X.map((Y,Z)=>{if(Z===0)return Y.charAt(0).toLowerCase()+Y.substr(1);return Y.charAt(0).toUpperCase()+Y.substr(1)}).join(\"\")}_toSnakeCase(J){return J.replace(/(\\p{Ll})(\\p{Lu})/gu,\"$1_$2\").replace(/[\\s\\-]+/g,\"_\").toLowerCase()}clone(){return new rX(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class NA extends wc{constructor(J){super();this.name=J}resolve(J){let X=J.resolve(this);if(this.transform)X=this.transform.resolve(X||\"\");if(X!==void 0)return this._children=[new nJ(X)],!0;return!1}clone(){let J=new NA(this.name);if(this.transform)J.transform=this.transform.clone();return J._children=this.children.map((X)=>X.clone()),J}}function D30(J,X){let Y=[...J];while(Y.length>0){let Z=Y.shift();if(!X(Z))break;Y.unshift(...Z.children)}}class ZI extends LU{get placeholderInfo(){if(!this._placeholders){let J=[],X;this.walk(function(Y){if(Y instanceof PZ)J.push(Y),X=!X||X.index<Y.index?Y:X;return!0}),this._placeholders={all:J,last:X}}return this._placeholders}get placeholders(){let{all:J}=this.placeholderInfo;return J}offset(J){let X=0,Y=!1;if(this.walk((Z)=>{if(Z===J)return Y=!0,!1;return X+=Z.len(),!0}),!Y)return-1;return X}fullLen(J){let X=0;return D30([J],(Y)=>{return X+=Y.len(),!0}),X}enclosingPlaceholders(J){let X=[],{parent:Y}=J;while(Y){if(Y instanceof PZ)X.push(Y);Y=Y.parent}return X}resolveVariables(J){return this.walk((X)=>{if(X instanceof NA){if(X.resolve(J))this._placeholders=void 0}return!0}),this}appendChild(J){return this._placeholders=void 0,super.appendChild(J)}replace(J,X){return this._placeholders=void 0,super.replace(J,X)}clone(){let J=new ZI;return J._children=this.children.map((X)=>X.clone()),J}walk(J){D30(this.children,J)}}class Lc{constructor(){this._scanner=new iX,this._token={type:14,pos:0,len:0}}static escape(J){return J.replace(/\\$|}|\\\\/g,\"\\\\$&\")}static guessNeedsClipboard(J){return/\\${?CLIPBOARD/.test(J)}parse(J,X,Y){let Z=new ZI;return this.parseFragment(J,Z),this.ensureFinalTabstop(Z,Y??!1,X??!1),Z}parseFragment(J,X){let Y=X.children.length;this._scanner.text(J),this._token=this._scanner.next();while(this._parse(X));let Z=new Map,Q=[];X.walk((G)=>{if(G instanceof PZ)if(G.isFinalTabstop)Z.set(0,void 0);else if(!Z.has(G.index)&&G.children.length>0)Z.set(G.index,G.children);else Q.push(G);return!0});let $=(G,U)=>{let H=Z.get(G.index);if(!H)return;let V=new PZ(G.index);V.transform=G.transform;for(let K of H){let j=K.clone();if(V.appendChild(j),j instanceof PZ&&Z.has(j.index)&&!U.has(j.index))U.add(j.index),$(j,U),U.delete(j.index)}X.replace(G,[V])},q=new Set;for(let G of Q)$(G,q);return X.children.slice(Y)}ensureFinalTabstop(J,X,Y){if(X||Y&&J.placeholders.length>0){if(!J.placeholders.find((Q)=>Q.index===0))J.appendChild(new PZ(0))}}_accept(J,X){if(J===void 0||this._token.type===J){let Y=!X?!0:this._scanner.tokenText(this._token);return this._token=this._scanner.next(),Y}return!1}_backTo(J){return this._scanner.pos=J.pos+J.len,this._token=J,!1}_until(J){let X=this._token;while(this._token.type!==J){if(this._token.type===14)return!1;else if(this._token.type===5){let Z=this._scanner.next();if(Z.type!==0&&Z.type!==4&&Z.type!==5)return!1}this._token=this._scanner.next()}let Y=this._scanner.value.substring(X.pos,this._token.pos).replace(/\\\\(\\$|}|\\\\)/g,\"$1\");return this._token=this._scanner.next(),Y}_parse(J){return this._parseEscaped(J)||this._parseTabstopOrVariableName(J)||this._parseComplexPlaceholder(J)||this._parseComplexVariable(J)||this._parseAnything(J)}_parseEscaped(J){let X;if(X=this._accept(5,!0))return X=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||X,J.appendChild(new nJ(X)),!0;return!1}_parseTabstopOrVariableName(J){let X,Y=this._token;if(!(this._accept(0)&&(X=this._accept(9,!0)||this._accept(8,!0))))return this._backTo(Y);return J.appendChild(/^\\d+$/.test(X)?new PZ(Number(X)):new NA(X)),!0}_parseComplexPlaceholder(J){let X,Y=this._token;if(!(this._accept(0)&&this._accept(3)&&(X=this._accept(8,!0))))return this._backTo(Y);let Q=new PZ(Number(X));if(this._accept(1))while(!0){if(this._accept(4))return J.appendChild(Q),!0;if(this._parse(Q))continue;return J.appendChild(new nJ(\"${\"+X+\":\")),Q.children.forEach(J.appendChild,J),!0}else if(Q.index>0&&this._accept(7)){let $=new YI;while(!0){if(this._parseChoiceElement($)){if(this._accept(2))continue;if(this._accept(7)){if(Q.appendChild($),this._accept(4))return J.appendChild(Q),!0}}return this._backTo(Y),!1}}else if(this._accept(6)){if(this._parseTransform(Q))return J.appendChild(Q),!0;return this._backTo(Y),!1}else if(this._accept(4))return J.appendChild(Q),!0;else return this._backTo(Y)}_parseChoiceElement(J){let X=this._token,Y=[];while(!0){if(this._token.type===2||this._token.type===7)break;let Z;if(Z=this._accept(5,!0))Z=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||Z;else Z=this._accept(void 0,!0);if(!Z)return this._backTo(X),!1;Y.push(Z)}if(Y.length===0)return this._backTo(X),!1;return J.appendChild(new nJ(Y.join(\"\"))),!0}_parseComplexVariable(J){let X,Y=this._token;if(!(this._accept(0)&&this._accept(3)&&(X=this._accept(9,!0))))return this._backTo(Y);let Q=new NA(X);if(this._accept(1))while(!0){if(this._accept(4))return J.appendChild(Q),!0;if(this._parse(Q))continue;return J.appendChild(new nJ(\"${\"+X+\":\")),Q.children.forEach(J.appendChild,J),!0}else if(this._accept(6)){if(this._parseTransform(Q))return J.appendChild(Q),!0;return this._backTo(Y),!1}else if(this._accept(4))return J.appendChild(Q),!0;else return this._backTo(Y)}_parseTransform(J){let X=new Tc,Y=\"\",Z=\"\";while(!0){if(this._accept(6))break;let Q;if(Q=this._accept(5,!0)){Q=this._accept(6,!0)||Q,Y+=Q;continue}if(this._token.type!==14){Y+=this._accept(void 0,!0);continue}return!1}while(!0){if(this._accept(6))break;let Q;if(Q=this._accept(5,!0)){Q=this._accept(5,!0)||this._accept(6,!0)||Q,X.appendChild(new nJ(Q));continue}if(this._parseFormatString(X)||this._parseAnything(X))continue;return!1}while(!0){if(this._accept(4))break;if(this._token.type!==14){Z+=this._accept(void 0,!0);continue}return!1}try{X.regexp=new RegExp(Y,Z)}catch(Q){return!1}return J.transform=X,!0}_parseFormatString(J){let X=this._token;if(!this._accept(0))return!1;let Y=!1;if(this._accept(3))Y=!0;let Z=this._accept(8,!0);if(!Z)return this._backTo(X),!1;else if(!Y)return J.appendChild(new rX(Number(Z))),!0;else if(this._accept(4))return J.appendChild(new rX(Number(Z))),!0;else if(!this._accept(1))return this._backTo(X),!1;if(this._accept(6)){let Q=this._accept(9,!0);if(!Q||!this._accept(4))return this._backTo(X),!1;else return J.appendChild(new rX(Number(Z),Q)),!0}else if(this._accept(11)){let Q=this._until(4);if(Q)return J.appendChild(new rX(Number(Z),void 0,Q,void 0)),!0}else if(this._accept(12)){let Q=this._until(4);if(Q)return J.appendChild(new rX(Number(Z),void 0,void 0,Q)),!0}else if(this._accept(13)){let Q=this._until(1);if(Q){let $=this._until(4);if($)return J.appendChild(new rX(Number(Z),void 0,Q,$)),!0}}else{let Q=this._until(4);if(Q)return J.appendChild(new rX(Number(Z),void 0,void 0,Q)),!0}return this._backTo(X),!1}_parseAnything(J){if(this._token.type!==14)return J.appendChild(new nJ(this._scanner.tokenText(this._token))),this._accept(void 0),!0;return!1}}function QI(J,X,Y){if(typeof Y.insertText===\"string\"?Y.insertText===\"\":Y.insertText.snippet===\"\")return{edits:Y.additionalEdit?.edits??[]};return{edits:[...X.map((Z)=>new KZ(J,{range:Z,text:typeof Y.insertText===\"string\"?Lc.escape(Y.insertText)+\"$0\":Y.insertText.snippet,insertAsSnippet:!0})),...Y.additionalEdit?.edits??[]]}}function O30(J){function X(q,G){if(\"mimeType\"in q)return q.mimeType===G.handledMimeType;return!!G.kind&&q.kind.contains(G.kind)}let Y=new Map;for(let q of J)for(let G of q.yieldTo??[])for(let U of J){if(U===q)continue;if(X(G,U)){let H=Y.get(q);if(!H)H=[],Y.set(q,H);H.push(U)}}if(!Y.size)return Array.from(J);let Z=new Set,Q=[];function $(q){if(!q.length)return[];let G=q[0];if(Q.includes(G))return console.warn(\"Yield to cycle detected\",G),q;if(Z.has(G))return $(q.slice(1));let U=[],H=Y.get(G);if(H)Q.push(G),U=$(H),Q.pop();return Z.add(G),[...U,G,...$(q.slice(1))]}return $(Array.from(J))}function Ic(J,X){if(X&&(J.stack||J.stacktrace))return F(33,\"{0}: {1}\",R30(J),M30(J.stack)||M30(J.stacktrace));return R30(J)}function M30(J){if(Array.isArray(J))return J.join(`\n`);return J}function R30(J){if(J.code===\"ERR_UNC_HOST_NOT_ALLOWED\")return`${J.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`;if(typeof J.code===\"string\"&&typeof J.errno===\"number\"&&typeof J.syscall===\"string\")return F(34,\"A system error occurred ({0})\",J.message);return J.message||F(35,\"An unknown error occurred. Please consult the log for more details.\")}function $I(J=null,X=!1){if(!J)return F(36,\"An unknown error occurred. Please consult the log for more details.\");if(Array.isArray(J)){let Y=r4(J),Z=$I(Y[0],X);if(Y.length>1)return F(37,\"{0} ({1} errors in total)\",Z,Y.length);return Z}if(t1(J))return J;if(J.detail){let Y=J.detail;if(Y.error)return Ic(Y.error,X);if(Y.exception)return Ic(Y.exception,X)}if(J.stack)return Ic(J,X);if(J.message)return J.message;return F(38,\"An unknown error occurred. Please consult the log for more details.\")}var bc=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},w3=function(J,X){return function(Y,Z){X(Y,Z,J)}},kc,Cc=\"acceptSelectedCodeAction\",Sc=\"previewSelectedCodeAction\";class N30{get templateId(){return\"header\"}renderTemplate(J){J.classList.add(\"group-header\");let X=document.createElement(\"span\");return J.append(X),{container:J,text:X}}renderElement(J,X,Y){Y.text.textContent=J.group?.title??J.label??\"\"}disposeTemplate(J){}}class w30{get templateId(){return\"separator\"}renderTemplate(J){J.classList.add(\"separator\");let X=document.createElement(\"span\");return J.append(X),{container:J,text:X}}renderElement(J,X,Y){Y.text.textContent=J.label??\"\"}disposeTemplate(J){}}var Ec=class{get templateId(){return\"action\"}constructor(X,Y,Z,Q,$,q,G,U,H){this._supportsPreview=X,this._onRemoveItem=Y,this._onShowSubmenu=Z,this._hasAnySubmenuActions=Q,this._groupTitleByIndex=$,this._linkHandler=q,this._hideDefaultKeybindingTooltip=G,this._keybindingService=U,this._openerService=H}renderTemplate(X){X.classList.add(this.templateId);let Y=document.createElement(\"div\");Y.className=\"icon\",X.append(Y);let Z=document.createElement(\"span\");Z.className=\"title\",X.append(Z);let Q=document.createElement(\"span\");Q.className=\"action-item-badge\",X.append(Q);let $=document.createElement(\"span\");$.className=\"description\",X.append($);let q=document.createElement(\"span\");q.className=\"group-title\",X.append(q);let G=document.createElement(\"span\");G.className=\"detail\",X.append(G);let U=new Bj(X,h5),H=document.createElement(\"div\");H.className=\"action-list-item-toolbar\",X.append(H);let V=document.createElement(\"div\");V.className=\"action-list-submenu-indicator\",X.append(V);let K=new a;return{container:X,icon:Y,text:Z,detail:G,badge:Q,description:$,groupTitle:q,keybinding:U,toolbar:H,submenuIndicator:V,elementDisposables:K}}renderElement(X,Y,Z){if(Z.elementDisposables.clear(),X.group?.icon){if(Z.icon.className=M0.asClassName(X.group.icon),X.group.icon.color)Z.icon.style.color=Z0(X.group.icon.color.id)}else Z.icon.className=M0.asClassName(t.lightBulb),Z.icon.style.color=\"var(--vscode-editorLightBulb-foreground)\";if(!X.item||!X.label)return;if(pt(!X.hideIcon,Z.icon),X.isSectionToggle){let U=X.group?.icon===t.chevronDown;Z.container.setAttribute(\"aria-expanded\",String(U))}else Z.container.removeAttribute(\"aria-expanded\");if(Z.previousClassName)Z.container.classList.remove(Z.previousClassName);if(Z.container.classList.toggle(\"action-list-custom\",!!X.className),X.className)Z.container.classList.add(X.className);if(Z.previousClassName=X.className,Z.text.textContent=DZ(X.label),X.badge)Z.badge.textContent=X.badge,Z.badge.style.display=\"\";else Z.badge.textContent=\"\",Z.badge.style.display=\"none\";if(X.keybinding)Z.description.textContent=X.keybinding.getLabel(),Z.description.style.display=\"inline\",Z.description.style.letterSpacing=\"0.5px\";else if(X.description){if(r8(Z.description),typeof X.description===\"string\")Z.description.textContent=DZ(X.description);else{let U=hX(X.description,{actionHandler:(H)=>{let V=R0.parse(H);if(this._linkHandler)this._linkHandler(V,X);else this._openerService.open(V,{allowCommands:!0})}});Z.elementDisposables.add(U),Z.description.appendChild(U.element)}Z.description.style.display=\"inline\"}else Z.description.textContent=\"\",Z.description.style.display=\"none\";let Q=this._groupTitleByIndex.get(Y);if(Q)Z.groupTitle.textContent=Q,Z.groupTitle.style.display=\"\";else Z.groupTitle.textContent=\"\",Z.groupTitle.style.display=\"none\";if(X.detail)Z.detail.textContent=DZ(X.detail),Z.detail.style.display=\"\";else Z.detail.textContent=\"\",Z.detail.style.display=\"none\";let $=this._keybindingService.lookupKeybinding(Cc)?.getLabel(),q=this._keybindingService.lookupKeybinding(Sc)?.getLabel();if(Z.container.classList.toggle(\"option-disabled\",!!X.disabled),X.hover!==void 0)Z.container.title=\"\";else if(X.tooltip)Z.container.title=X.tooltip;else if(X.disabled)Z.container.title=X.label;else if(this._hideDefaultKeybindingTooltip)Z.container.title=\"\";else if($&&q)if(this._supportsPreview&&X.canPreview)Z.container.title=F(1705,\"{0} to Apply, {1} to Preview\",$,q);else Z.container.title=F(1706,\"{0} to Apply\",$);else Z.container.title=\"\";r8(Z.toolbar);let G=[...X.toolbarActions??[]];if(X.onRemove)G.push(bJ({id:\"actionList.remove\",label:F(1707,\"Remove\"),class:M0.asClassName(t.close),run:async()=>{await X.onRemove(),this._onRemoveItem?.(X)}}));if(Z.container.classList.toggle(\"has-toolbar\",G.length>0),G.length>0){let U=new m7(Z.toolbar);Z.elementDisposables.add(U),U.push(G,{icon:!0,label:!1})}if(X.submenuActions?.length&&!X.hover?.content)Z.submenuIndicator.className=\"action-list-submenu-indicator has-submenu \"+M0.asClassName(t.chevronRight),Z.submenuIndicator.style.display=\"\",Z.submenuIndicator.style.visibility=\"\",Z.elementDisposables.add(f(Z.submenuIndicator,r.CLICK,(U)=>{U.stopPropagation(),this._onShowSubmenu?.(X)}));else if(this._hasAnySubmenuActions)Z.submenuIndicator.className=\"action-list-submenu-indicator\",Z.submenuIndicator.style.display=\"\",Z.submenuIndicator.style.visibility=\"hidden\";else Z.submenuIndicator.className=\"action-list-submenu-indicator\",Z.submenuIndicator.style.display=\"none\"}disposeTemplate(X){X.keybinding.dispose(),X.elementDisposables.dispose()}};Ec=bc([w3(7,T1),w3(8,p4)],Ec);class T30 extends UIEvent{constructor(){super(\"acceptSelectedAction\")}}class yc extends UIEvent{constructor(){super(\"previewSelectedAction\")}}function Ww0(J){if(J.kind===\"action\")return J.label;return}var xc=kc=class extends y{constructor(X,Y,Z,Q,$,q,G,U,H){super();if(this._supportsPreview=Y,this._delegate=Q,this._options=q,this._keybindingService=G,this._openerService=U,this._instantiationService=H,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new S8),this._submenuDisposables=this._register(new a),this._collapsedSections=new Set,this._filterText=\"\",this._suppressHover=!1,this._hasLaidOut=!1,this._filterCts=this._register(new Q1),this._groupTitleByIndex=new Map,this._onDidRequestLayout=this._register(new E),this.onDidRequestLayout=this._onDidRequestLayout.event,this.domNode=document.createElement(\"div\"),this.domNode.classList.add(\"actionList\"),this._options?.inlineDescription)this.domNode.classList.add(\"inline-description\");if(this._options?.className){let W=this._options.className.split(/\\s+/).filter((z)=>z.length>0);if(W.length>0)this.domNode.classList.add(...W)}if(this._actionLineHeight=24,this._submenuContainer=document.createElement(\"div\"),this._submenuContainer.className=\"action-list-submenu-panel action-widget\",this._submenuContainer.style.display=\"none\",this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(f(this._submenuContainer,\"mouseenter\",()=>{this._cancelSubmenuHide()})),this._register(f(this._submenuContainer,\"mouseleave\",()=>{this._scheduleSubmenuHide()})),this._register(J0(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let W of this._options.collapsedByDefault)this._collapsedSections.add(W);let V={getHeight:(W)=>{return this._getItemHeight(W)},getTemplateId:(W)=>W.kind},j=(this._options?.reserveSubmenuSpace??!0)&&Z.some((W)=>!!W.submenuActions?.length&&!W.hover?.content);if(this._list=this._register(new s5(X,this.domNode,V,[new Ec(this._supportsPreview,(W)=>this._removeItem(W),(W)=>this._showSubmenuForItem(W),j,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._keybindingService,this._openerService),new N30,new w30],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:Ww0},accessibilityProvider:{getAriaLabel:(W)=>{if(W.kind===\"action\"){let z=W.label?DZ(W?.label):\"\";if(W.detail)z=z+\", \"+DZ(W.detail);if(W.ariaDescription)z=z+\", \"+DZ(W.ariaDescription);else if(W.description){let B=typeof W.description===\"string\"?W.description:W.description.value;z=z+\", \"+DZ(B)}if(W.hover?.content&&!W.ariaDescription&&!W.description){let B=W.hover.content,P=typeof B===\"string\"?B:W4(B)?B.value:a0(B)?B.textContent??void 0:void 0;if(P&&(!W.detail||DZ(W.detail)!==DZ(P)))z=z+\", \"+DZ(P)}if(W.group?.title)z=z+\", \"+W.group.title;if(W.disabled)z=F(1708,\"{0}, Disabled Reason: {1}\",z,W.disabled);if(W.submenuActions?.length)z=F(1709,\"{0}, use right arrow to access options\",z);return z}return null},getWidgetAriaLabel:()=>F(1710,\"Action Widget\"),getRole:(W)=>{switch(W.kind){case\"action\":return\"option\";case\"separator\":return\"separator\";default:return\"separator\"}},getWidgetRole:()=>\"listbox\",...$}})),this._list.style(G3),this._register(this._list.onMouseClick((W)=>this.onListClick(W))),this._register(this._list.onMouseOver((W)=>this.onListHover(W))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection((W)=>this.onListSelection(W))),this._allMenuItems=[...Z],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement(\"div\"),this._filterContainer.className=\"action-list-filter\";let W=q0(this._filterContainer,$0(\".action-list-filter-row\"));if(this._options?.showFilter){this._filterInput=document.createElement(\"input\"),this._filterInput.type=\"text\",this._filterInput.className=\"action-list-filter-input\",this._filterInput.placeholder=this._options?.filterPlaceholder??F(1711,\"Search...\"),this._filterInput.setAttribute(\"aria-label\",F(1712,\"Filter items\")),W.appendChild(this._filterInput);let z=this._options?.filterActions??[];if(z.length>0){let B=q0(W,$0(\".action-list-filter-actions\"));this._register(new m7(B)).push(z,{icon:!0,label:!1})}this._register(f(this._filterInput,\"input\",()=>{this._filterText=this._filterInput.value,this._applyOrUpdateFilter()}))}if(this._options?.secondaryHeading){let z=q0(W,$0(\".action-list-filter-label\"));z.textContent=this._options.secondaryHeading}}if(this._options?.footerText)this._footerContainer=document.createElement(\"div\"),this._footerContainer.className=\"action-list-footer\",this._footerContainer.textContent=this._options.footerText;if(this._options?.headerText){if(this._headerContainer=document.createElement(\"div\"),this._headerContainer.className=\"action-list-header\",this._options.headerIcon){let z=q0(this._headerContainer,$0(\"span.action-list-header-icon\"));z.classList.add(...M0.asClassNameArray(this._options.headerIcon)),z.setAttribute(\"aria-hidden\",\"true\")}let W=q0(this._headerContainer,$0(\"span.action-list-header-text\"));W.textContent=this._options.headerText}if(this._applyFilter(),this._list.length)this._focusCheckedOrFirst();if(this._register(f(this.domNode,\"keydown\",(W)=>{if(W.key===\"ArrowRight\"){let z=this._list.getFocus();if(z.length>0){let B=this._list.element(z[0]);if(B?.submenuActions?.length){d0.stop(W,!0);let P=this._getRowElement(z[0]);if(P)this._showSubmenuForElement(B,P),this._currentSubmenuWidget?.focus()}}}})),this._filterInput)this._register(f(this.domNode,\"keydown\",(W)=>{if(this._filterInput&&!Z9(this._filterInput)&&W.key.length===1&&W.key!==\" \"&&!W.ctrlKey&&!W.metaKey&&!W.altKey)this._filterInput.focus(),this._filterInput.value=W.key,this._filterText=W.key,this._applyOrUpdateFilter(),W.preventDefault(),W.stopPropagation()}))}_toggleSection(X){if(this._collapsedSections.has(X))this._collapsedSections.delete(X);else this._collapsedSections.add(X);this._options?.onDidToggleSection?.(X,this._collapsedSections.has(X)),this._applyFilter()}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let X=this._filterText;this._filterCts.value?.cancel();let Y=new S8;this._filterCts.value=Y,this._delegate.onFilter(X,Y.token).then((Z)=>{if(Y.token.isCancellationRequested)return;this._allMenuItems=[...Z],this._applyFilter(!0)}).catch(()=>{})}_applyFilter(X=!1,Y=!0){let Z=X?\"\":this._filterText.toLowerCase(),Q=!X&&Z.length>0,$=[],q=this._list.getFocus(),G;if(q.length>0)G=this._list.element(q[0]);if(Q){let W,z=[],B=!1,P=()=>{if(W&&B)$.push(W);$.push(...z),W=void 0,z=[],B=!1},_=(A)=>{let O=(A.label??\"\").toLowerCase(),D=typeof A.description===\"string\"?A.description:A.description?.value??\"\";return O.includes(Z)||D.toLowerCase().includes(Z)};for(let A of this._allMenuItems){if(A.kind===\"header\")continue;if(A.kind===\"separator\"){P(),W=A.label?A:void 0;continue}if(A.showAlways){z.push(A);continue}if(A.isSectionToggle)continue;if(_(A))B=!0,z.push(A)}P()}else for(let W of this._allMenuItems){if(W.kind===\"header\"){$.push(W);continue}if(W.kind===\"separator\"){if(W.section&&this._collapsedSections.has(W.section))continue;$.push(W);continue}if(W.isSectionToggle&&W.section){let z=this._collapsedSections.has(W.section);$.push({...W,group:{...W.group,icon:z?t.chevronRight:t.chevronDown}});continue}if(W.section&&this._collapsedSections.has(W.section))continue;$.push(W)}let U=[],H=!1;for(let W=0;W<$.length;W++)if(U[W]=H,$[W].kind===\"action\")H=!0;let V=[],K=!1;for(let W=$.length-1;W>=0;W--){if($[W].kind===\"action\"){K=!0;continue}if($[W].kind!==\"separator\")continue;V[W]=K,K=!1}for(let W=$.length-1;W>=0;W--){let z=$[W];if(z.kind!==\"separator\")continue;let B=V[W],P=!z.label&&!U[W];if(!B||P)$.splice(W,1)}if(this._options?.showGroupTitleOnFirstItem)this._recomputeGroupTitles($);let j=this._filterInput&&Z9(this._filterInput);if(this._list.splice(0,this._list.length,$),Y)this._onDidRequestLayout.fire();if(j)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut){if(G){let W=G.item?.id;if(W){for(let z=0;z<this._list.length;z++)if(this._list.element(z).item?.id===W){this._list.setFocus([z]),this._list.reveal(z),this._list.domFocus();break}}}}}get filterContainer(){return this._filterContainer}get footerContainer(){return this._footerContainer}get headerContainer(){return this._headerContainer}get filterInput(){return this._filterInput}focusCondition(X){return!X.disabled&&X.kind===\"action\"}focus(){if(this._filterInput&&this._options?.focusFilterOnOpen){this._filterInput.focus(),this._focusCheckedOrFirst();return}this._list.domFocus(),this._focusCheckedOrFirst()}clearFocus(){this._list.setFocus([])}getFocusedElement(){let X=this._list.getFocus();if(X.length>0)return this._list.element(X[0]);return}_focusCheckedOrFirst(){this._suppressHover=!0;try{for(let Y=0;Y<this._list.length;Y++){let Z=this._list.element(Y);if(Z.kind===\"action\"&&Z.item?.checked){this._list.setFocus([Y]),this._list.reveal(Y);return}}this._list.focusFirst(void 0,this.focusCondition);let X=this._list.getFocus();if(X.length>0)this._list.reveal(X[0])}finally{this._suppressHover=!1}}hide(X){this._delegate.onHide(X),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){if(this._filterInput&&this._filterText)return this._filterInput.value=\"\",this._filterText=\"\",this._applyOrUpdateFilter(),!0;return!1}get hasDynamicHeight(){if(this._options?.showFilter)return!0;return this._allMenuItems.some((X)=>X.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(X){switch(X.kind){case\"header\":return this._headerLineHeight;case\"separator\":return X.label?this._actionLineHeight:this._separatorLineHeight;default:return X.detail?this._options?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){let X=0;for(let Y of this._allMenuItems)X+=this._getItemHeight(Y);return X}computeListHeight(){let X=this._list.length,Y=0;for(let Z=0;Z<X;Z++){let Q=this._list.element(Z);Y+=this._getItemHeight(Q)}return Y}layout(X,Y){if(this._hasLaidOut=!0,this._list.layout(X,Y),this.domNode.style.height=`${X}px`,this._filterContainer&&this._filterContainer.parentElement)this._filterContainer.parentElement.insertBefore(this._filterContainer,this.domNode)}computeMaxWidth(X){let Y=this._list.length,Z=Math.max(X,this._options?.minWidth??0),Q=this._options?.maxWidth??Number.POSITIVE_INFINITY,$=Math.max(Q,Z),q=(V)=>Math.min(Math.max(V,Z),$),G=Z,U=this._allMenuItems.length;if(U>=50)return q(380);if(U>Y){let V=[];for(let z=0;z<Y;z++)V.push(this._list.element(z));let K=[...this._allMenuItems];this._list.splice(0,Y,K);let j=0;for(let z of K)j+=this._getItemHeight(z);this._list.layout(j);let W=[];for(let z=0;z<K.length;z++){let B=this._getRowElement(z);if(B){B.style.width=\"auto\";let P=B.getBoundingClientRect().width;B.style.width=\"\",W.push(P+this._computeToolbarWidth(K[z]))}}return G=q(Math.max(...W)),this._list.splice(0,K.length,V),G}let H=[];for(let V=0;V<Y;V++){let K=this._getRowElement(V);if(K){K.style.width=\"auto\";let j=K.getBoundingClientRect().width;K.style.width=\"\",H.push(j+this._computeToolbarWidth(this._list.element(V)))}}return q(Math.max(...H))}focusPrevious(){if(this._filterInput&&Z9(this._filterInput)){this._list.domFocus();let Z=this._list.getFocus();if(Z.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let Q=this._list.getFocus();if(Q.length>0&&Q[0]>=Z[0])this._filterInput.focus();else if(Q.length>0)this._list.reveal(Q[0])}else{this._list.focusLast(void 0,this.focusCondition);let Q=this._list.getFocus();if(Q.length>0)this._list.reveal(Q[0])}return}let X=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);let Y=this._list.getFocus();if(Y.length>0){if(this._filterInput&&X.length>0&&Y[0]>X[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(Y[0])}}focusNext(){if(this._filterInput&&Z9(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let Q=this._list.getFocus();if(Q.length>0)this._list.reveal(Q[0])}else{this._list.focusFirst(void 0,this.focusCondition);let Q=this._list.getFocus();if(Q.length>0)this._list.reveal(Q[0])}return}let X=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);let Y=this._list.getFocus();if(Y.length>0){if(this._filterInput&&X.length>0&&Y[0]<X[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(Y[0])}}collapseFocusedSection(){let X=this._getFocusedSection();if(X&&!this._collapsedSections.has(X))this._toggleSection(X)}expandFocusedSection(){let X=this._getFocusedSection();if(X&&this._collapsedSections.has(X))this._toggleSection(X)}toggleFocusedSection(){let X=this._list.getFocus();if(X.length===0)return!1;let Y=this._list.element(X[0]);if(Y.isSectionToggle&&Y.section)return this._toggleSection(Y.section),!0;return!1}_getFocusedSection(){let X=this._list.getFocus();if(X.length===0)return;let Y=this._list.element(X[0]);if(Y.isSectionToggle&&Y.section)return Y.section;return Y.section}acceptSelected(X){let Y=this._list.getFocus();if(Y.length===0)return;let Z=Y[0],Q=this._list.element(Z);if(!this.focusCondition(Q))return;let $=X?new yc:new T30;this._list.setSelection([Z],$)}onListSelection(X){if(!X.elements.length)return;let Y=X.elements[0];if(Y.isSectionToggle&&Y.section){this._list.setSelection([]);let Z=Y.section;queueMicrotask(()=>{this._toggleSection(Z)});return}if(q2(X.browserEvent)){let Z=X.browserEvent.target;if(a0(Z)&&(Z.closest(\".action-list-item-toolbar\")||Z.closest(\".action-list-submenu-indicator\"))){this._list.setSelection([]);return}}if(Y.item&&this.focusCondition(Y)){let Z=X.browserEvent instanceof yc;this._delegate.onSelect(Y.item,Z&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let X=this._list.getFocus();if(X.length===0)return;let Y=X[0],Z=this._list.element(Y);if(this._delegate.onFocus?.(Z.item),!this._suppressHover)this._showHoverForElement(Z,Y)}_removeItem(X){let Y=this._allMenuItems.indexOf(X);if(Y>=0)this._allMenuItems.splice(Y,1),this._applyFilter()}_recomputeGroupTitles(X){this._groupTitleByIndex.clear();let Y=new Set;for(let Z=0;Z<X.length;Z++){let Q=X[Z];if(Q.kind===\"action\"&&Q.group?.title&&!Y.has(Q.group.title))Y.add(Q.group.title),this._groupTitleByIndex.set(Z,Q.group.title)}}_computeToolbarWidth(X){let Y=X.toolbarActions?.length??0;if(X.onRemove)Y++;if(Y===0)return 0;return Y*22+6}_getRowElement(X){return this.domNode.ownerDocument.getElementById(this._list.getElementID(X))}_showHoverForElement(X,Y){if(this._currentSubmenuElement===X)return;let Z=!!X.hover?.content,Q=!!X.submenuActions?.length;if(Z||Q){let $=this._getRowElement(Y);if($)this._showSubmenuForElement(X,$);return}this._hideSubmenu()}_showSubmenuForItem(X){let Y=this._list.indexOf(X);if(Y>=0){let Z=this._getRowElement(Y);if(Z)this._showSubmenuForElement(X,Z)}}_showSubmenuForElement(X,Y){if(this._currentSubmenuElement===X)return;this._submenuDisposables.clear(),this._currentSubmenuElement=X,this._clearSubmenuContainer();let Z,Q=X.hover?.content;if(Q){if(a0(Q)){if(Z=Q,X.hover?.disposable)this._register(X.hover.disposable)}else{let N=typeof Q===\"string\"?new lQ(Q):Q,w=this._options?.linkHandler,k=hX(N,{actionHandler:(I)=>{let S=R0.parse(I);if(w)w(S,X);else this._openerService.open(S,{allowCommands:!0})}});this._submenuDisposables.add(k),Z=k.element}if(Z.classList.add(\"action-list-submenu-hover-header\"),X.submenuActions?.length)Z.classList.add(\"has-submenu\");this._submenuContainer.appendChild(Z)}let $=!!X.submenuActions?.length;this._submenuContainer.style.display=\"\",this._submenuContainer.style.position=\"absolute\",this._submenuContainer.removeAttribute(\"role\");let q=Y.getBoundingClientRect(),G=this.domNode.getBoundingClientRect(),U=Q0(this.domNode),H=0,V=Z?Z.offsetWidth:0;if($){let N=[],k=X.submenuActions.filter((u)=>u instanceof xJ).filter((u)=>u.actions.length>0);for(let u=0;u<k.length;u++){let p=k[u];if(p.label)N.push({kind:\"header\",group:{title:p.label},label:p.label});for(let s=0;s<p.actions.length;s++){let l=p.actions[s],n=l,X0=n.icon??M0.fromId(l.checked?t.check.id:t.blank.id),V0=n.hoverContent;N.push({item:l,kind:\"action\",label:l.label,description:l.tooltip||void 0,group:{title:\"\",icon:X0},hideIcon:!1,hover:V0?{content:V0}:{},onRemove:n.onRemove})}if(u<k.length-1)N.push({kind:\"separator\",label:\"\"})}for(let u of X.submenuActions)if(!(u instanceof xJ)){let p=u;N.push({item:u,kind:\"action\",label:u.label,description:u.tooltip||void 0,group:{title:\"\"},hideIcon:!1,hover:{},onRemove:p.onRemove})}let I={onHide:()=>{},onSelect:(u)=>{u.run();let p=this._currentSubmenuElement?.item;if(this._hideSubmenu(),p)this._delegate.onSelect(p);this.hide()}},S=this._submenuDisposables.add(this._instantiationService.createInstance(kc,\"submenu\",!1,N,I,void 0,void 0));this._submenuContainer.appendChild(S.domNode),this._currentSubmenuWidget=S,S.clearFocus(),H=S.computeListHeight(),S.layout(H);let h=S.computeMaxWidth(0);V=Math.max(V,h),S.layout(H,V),S.domNode.style.width=`${V}px`,this._submenuDisposables.add(f(S.domNode,\"keydown\",(u)=>{if(u.key===\"ArrowLeft\"||u.key===\"Escape\")d0.stop(u,!0),this._hideSubmenu(),this._list.domFocus();else if(u.key===\"Enter\"){d0.stop(u,!0);let p=S.getFocusedElement();if(p?.item){p.item.run();let s=this._currentSubmenuElement?.item;if(this._hideSubmenu(),s)this._delegate.onSelect(s);this.hide()}}else if(u.key===\"ArrowDown\")d0.stop(u,!0),S.focusNext();else if(u.key===\"ArrowUp\")d0.stop(u,!0),S.focusPrevious()}))}let j=U.innerWidth-q.right,W=G.left,z=V+10,B=4;if(j>=z||j>=W)this._submenuContainer.style.left=`${G.right-G.left+B}px`;else this._submenuContainer.style.left=`${-z-B}px`;let P=Z?Z.offsetHeight:0,_=H+P,A=U.innerHeight,O=q.height,D=q.top-G.top+(O-_)/2,R=G.top+D+_;if(R>A)D-=R-A+8;if(G.top+D<0)D=-G.top;this._submenuContainer.style.top=`${D}px`}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._currentSubmenuElement=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display=\"none\"}_clearSubmenuContainer(){if(this._submenuContainer.contains(E1()))this._list.domFocus();r8(this._submenuContainer)}_scheduleSubmenuHide(){this._cancelSubmenuHide(),this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300)}_cancelSubmenuHide(){if(this._submenuHideTimeout!==void 0)clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0}_scheduleSubmenuShow(X,Y){this._cancelSubmenuShow(),this._submenuShowTimeout=setTimeout(()=>{this._submenuShowTimeout=void 0;let Z=typeof Y===\"number\"?this._getRowElement(Y):null;if(Z)this._showSubmenuForElement(X,Z)},500)}_cancelSubmenuShow(){if(this._submenuShowTimeout!==void 0)clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0}async onListHover(X){let Y=X.element;if(Y&&Y.item&&this.focusCondition(Y)){if(a0(X.browserEvent.target)&&X.browserEvent.target.closest(\".action-list-item-toolbar\")!==null){if(!Y.submenuActions?.length)this._cancelSubmenuShow();this._list.setFocus([]);return}let Q=!!(Y.submenuActions?.length||Y.hover?.content);if(Q)this._suppressHover=!0;if(this._list.setFocus(typeof X.index===\"number\"?[X.index]:[]),Q)this._suppressHover=!1;if(Q){if(this._currentSubmenuElement===Y)this._cancelSubmenuHide(),this._cancelSubmenuShow();else this._hideSubmenu(),this._scheduleSubmenuShow(Y,X.index);return}if(this._currentSubmenuElement===Y)this._cancelSubmenuHide();else this._cancelSubmenuShow(),this._hideSubmenu();if(this._delegate.onHover&&!Y.disabled&&Y.kind===\"action\"&&this._currentSubmenuElement!==Y){let $=await this._delegate.onHover(Y.item,this.cts.token),q=$?$.canPreview:void 0;if(q!==Y.canPreview){if(Y.canPreview=q,typeof X.index===\"number\")this._list.splice(X.index,1,[Y]),this._list.setFocus([X.index])}}}else if(Y&&Y.hover?.content&&typeof X.index===\"number\")if(this._currentSubmenuElement===Y)this._cancelSubmenuHide(),this._cancelSubmenuShow();else this._hideSubmenu(),this._scheduleSubmenuShow(Y,X.index)}onListClick(X){if(X.element&&this.focusCondition(X.element))this._list.setFocus([])}};xc=kc=bc([w3(6,T1),w3(7,p4),w3(8,w0)],xc);var qI=class extends y{get domNode(){return this._widget.domNode}get filterContainer(){return this._widget.filterContainer}get footerContainer(){return this._widget.footerContainer}get headerContainer(){return this._widget.headerContainer}get filterInput(){return this._widget.filterInput}get anchorPosition(){if(this._showAbove===void 0)return;return this._showAbove?1:0}constructor(X,Y,Z,Q,$,q,G,U,H,V){super();this._contextViewService=U,this._layoutService=H,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=G,this._widget=this._register(V.createInstance(xc,X,Y,Z,Q,$,q)),this._register(this._widget.onDidRequestLayout(()=>{if(this._hasLaidOut)this.layout(this._lastMinWidth),this._contextViewService.layout()}))}focus(){this._widget.focus()}hide(X){this._widget.hide(X),this._contextViewService.hideContextView()}clearFilter(){return this._widget.clearFilter()}focusPrevious(){this._widget.focusPrevious()}focusNext(){this._widget.focusNext()}collapseFocusedSection(){this._widget.collapseFocusedSection()}expandFocusedSection(){this._widget.expandFocusedSection()}toggleFocusedSection(){return this._widget.toggleFocusedSection()}acceptSelected(X){this._widget.acceptSelected(X)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){let X=this.domNode.parentElement?.closest(\".action-widget\");if(!X)return 0;let Y=Q0(X).getComputedStyle(X),Z=(Q)=>Number.parseFloat(Q)||0;return Z(Y.paddingTop)+Z(Y.paddingBottom)+Z(Y.borderTopWidth)+Z(Y.borderBottomWidth)}computeHeight(){let X=this._widget.computeListHeight(),Y=this._widget.filterContainer?36:0,Z=this._widget.footerContainer?32:0,Q=this._widget.headerContainer?this._widget.headerContainer.offsetHeight||36:0,$=Y+Z+Q,q=Q0(this.domNode),G;if(this.hasDynamicHeight()){let j=q.innerHeight,W=Z_(this._anchor),z=W.top-q.pageYOffset,B=30,P=j-z-W.height-30,_=z;if(this._showAbove===void 0){let A=$+this._widget.computeFullHeight();this._showAbove=A>P&&_>P}G=Math.max(0,(this._showAbove?_:P)-this.computeActionWidgetVerticalChromeHeight())}else{let W=this._layoutService.getContainer(q).clientHeight,z=this.domNode.getBoundingClientRect().top;G=z>0?W-z-10:W*0.7}let U=Math.floor(q.innerHeight*0.6),H=this._widget.lineHeight,V=Math.min(Math.max(G,H*3+$),U);return Math.min(X+$,V)-$}layout(X){this._hasLaidOut=!0,this._lastMinWidth=X;let Y=this.computeHeight();this._widget.layout(Y);let Z=this._widget.computeMaxWidth(X);return this._cachedMaxWidth=Z,this._widget.layout(Y,this._cachedMaxWidth),this._cachedMaxWidth}};qI=bc([w3(7,h4),w3(8,l5),w3(9,w0)],qI);function DZ(J){return J.replace(/\\r\\n|\\r|\\n/g,\" \")}var zw0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},fc=function(J,X){return function(Y,Z){X(Y,Z,J)}};x(\"actionBar.toggledBackground\",LQ,F(1713,\"Background color for toggled action items in action bar.\"));var M4={Visible:new G0(\"codeActionMenuVisible\",!1,F(1714,\"Whether the action widget list is visible\")),FilterFocused:new G0(\"codeActionMenuFilterFocused\",!1,F(1715,\"Whether the action widget filter input is focused\"))},tJ=W0(\"actionWidgetService\"),oX=class extends y{get isVisible(){return M4.Visible.getValue(this._contextKeyService)||!1}constructor(X,Y,Z){super();this._contextViewService=X,this._contextKeyService=Y,this._instantiationService=Z,this._list=this._register(new Q1)}show(X,Y,Z,Q,$,q,G,U,H){let V=M4.Visible.bindTo(this._contextKeyService),K=this._instantiationService.createInstance(qI,X,Y,Z,Q,U,H,$);this._contextViewService.showContextView({getAnchor:()=>$,render:(j)=>{return V.set(!0),this._renderWidget(j,K,G??[])},onHide:(j)=>{V.reset(),this._onWidgetClosed(j)},get anchorPosition(){return K.anchorPosition}},q,!1)}acceptSelected(X){this._list.value?.acceptSelected(X)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}collapseSection(){this._list?.value?.collapseFocusedSection()}expandSection(){this._list?.value?.expandFocusedSection()}toggleSection(){return this._list?.value?.toggleFocusedSection()??!1}clearFilter(){return this._list?.value?.clearFilter()??!1}hide(X){this._list.value?.hide(X),this._list.clear()}_renderWidget(X,Y,Z){let Q=document.createElement(\"div\");if(Q.classList.add(\"action-widget\"),X.appendChild(Q),this._list.value=Y,this._list.value){if(this._list.value.headerContainer)Q.appendChild(this._list.value.headerContainer);if(this._list.value.filterContainer)Q.appendChild(this._list.value.filterContainer);if(Q.appendChild(this._list.value.domNode),this._list.value.footerContainer)Q.appendChild(this._list.value.footerContainer)}else throw Error(\"List has no value\");let $=new a,q=this._list.value.headerContainer;if(q)$.add(ZV(q,(B)=>B.preventDefault()));let G=document.createElement(\"div\"),U=X.appendChild(G);U.classList.add(\"context-view-block\"),$.add(ZV(U,(B)=>B.stopPropagation()));let H=document.createElement(\"div\"),V=X.appendChild(H);V.classList.add(\"context-view-pointerBlock\"),$.add(f(V,r.POINTER_MOVE,()=>V.remove())),$.add(ZV(V,()=>V.remove()));let K=0;if(Z.length){let B=this._createActionBar(\".action-widget-action-bar\",Z);if(B)Q.appendChild(B.getContainer().parentElement),$.add(B),K=B.getContainer().offsetWidth}let j=this._list.value?.layout(K);Q.style.width=`${j}px`,this._list.value?.focus();let W=M4.FilterFocused.bindTo(this._contextKeyService);if($.add({dispose:()=>W.reset()}),this._list.value?.filterInput){let B=this._list.value.filterInput;$.add(f(B,\"focus\",()=>W.set(!0))),$.add(f(B,\"blur\",()=>W.set(!1)))}let z=$.add(L7(X));return $.add(z.onDidBlur(()=>{let B=E1();if(B?.closest(\".action-widget-hover\")||B?.closest(\".action-list-submenu-panel\"))return;this.hide(!0)})),$}_createActionBar(X,Y){if(!Y.length)return;let Z=$0(X),Q=new m7(Z);return Q.push(Y,{icon:!1,label:!0}),Q}_onWidgetClosed(X){this._list.value?.hide(X)}};oX=zw0([fc(0,h4),fc(1,E0),fc(2,w0)],oX);f0(tJ,oX,1);var $$=1100;NY(class extends I4{constructor(){super({id:\"hideCodeActionWidget\",title:B0(1716,\"Hide action widget\"),precondition:M4.Visible,keybinding:{weight:$$,primary:9,secondary:[1033]}})}run(J){J.get(tJ).hide(!0)}});NY(class extends I4{constructor(){super({id:\"clearFilterCodeActionWidget\",title:B0(1717,\"Clear action widget filter\"),precondition:P0.and(M4.Visible,M4.FilterFocused),keybinding:{weight:$$+1,primary:9}})}run(J){let X=J.get(tJ);if(X instanceof oX){if(!X.clearFilter())X.hide(!0)}}});NY(class extends I4{constructor(){super({id:\"selectPrevCodeAction\",title:B0(1718,\"Select previous action\"),precondition:M4.Visible,keybinding:{weight:$$,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(J){let X=J.get(tJ);if(X instanceof oX)X.focusPrevious()}});NY(class extends I4{constructor(){super({id:\"selectNextCodeAction\",title:B0(1719,\"Select next action\"),precondition:M4.Visible,keybinding:{weight:$$,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(J){let X=J.get(tJ);if(X instanceof oX)X.focusNext()}});NY(class extends I4{constructor(){super({id:\"collapseSectionCodeAction\",title:B0(1720,\"Collapse section\"),precondition:P0.and(M4.Visible,M4.FilterFocused.negate()),keybinding:{weight:$$,primary:15}})}run(J){let X=J.get(tJ);if(X instanceof oX)X.collapseSection()}});NY(class extends I4{constructor(){super({id:\"expandSectionCodeAction\",title:B0(1721,\"Expand section\"),precondition:P0.and(M4.Visible,M4.FilterFocused.negate()),keybinding:{weight:$$,primary:17}})}run(J){let X=J.get(tJ);if(X instanceof oX)X.expandSection()}});NY(class extends I4{constructor(){super({id:\"toggleSectionCodeAction\",title:B0(1722,\"Toggle section\"),precondition:P0.and(M4.Visible,M4.FilterFocused.negate()),keybinding:{weight:$$,primary:10}})}run(J){let X=J.get(tJ);if(X instanceof oX){if(!X.toggleSection())X.acceptSelected()}}});NY(class extends I4{constructor(){super({id:Cc,title:B0(1723,\"Accept selected action\"),precondition:M4.Visible,keybinding:{weight:$$,primary:3,secondary:[2137]}})}run(J){let X=J.get(tJ);if(X instanceof oX)X.acceptSelected()}});NY(class extends I4{constructor(){super({id:Sc,title:B0(1724,\"Preview selected action\"),precondition:M4.Visible,keybinding:{weight:$$,primary:2051}})}run(J){let X=J.get(tJ);if(X instanceof oX)X.acceptSelected(!0)}});var L30=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},hj=function(J,X){return function(Y,Z){X(Y,Z,J)}},hc,vc=class extends y{static{hc=this}static{this.baseId=\"editor.widget.postEditWidget\"}constructor(X,Y,Z,Q,$,q,G,U,H,V,K){super();this.typeId=X,this.editor=Y,this.showCommand=Q,this.range=$,this.edits=q,this.onSelectNewEdit=G,this.additionalActions=U,this._keybindingService=V,this._actionWidgetService=K,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=Z.bindTo(H),this.visibleContext.set(!0),this._register(J0(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(J0(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition((j)=>{this.dispose()})),this._register(i.runAndSubscribe(V.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=$0(\".post-edit-widget\"),this.button=this._register(new W3(this.domNode,{supportIcons:!0})),this.button.label=\"$(insert)\",this._register(f(this.domNode,r.CLICK,()=>this.showSelector()))}getId(){return hc.baseId+\".\"+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let X=R8(this.button.element),Y={x:X.left+X.width,y:X.top+X.height};this._actionWidgetService.show(\"postEditWidget\",!1,this.edits.allEdits.map((Z,Q)=>{return{kind:\"action\",item:Z,label:Z.title,disabled:!1,canPreview:!1,group:{title:\"\",icon:M0.fromId(Q===this.edits.activeEditIndex?t.check.id:t.blank.id)}}}),{onHide:()=>{this.editor.focus()},onSelect:(Z)=>{this._actionWidgetService.hide(!1);let Q=this.edits.allEdits.findIndex(($)=>$===Z);if(Q!==this.edits.activeEditIndex)return this.onSelectNewEdit(Q)}},Y,this.editor.getDomNode()??void 0,this.additionalActions)}};vc=hc=L30([hj(8,E0),hj(9,T1),hj(10,tJ)],vc);var GI=class extends y{constructor(X,Y,Z,Q,$,q,G,U){super();this._id=X,this._editor=Y,this._visibleContext=Z,this._showCommand=Q,this._getAdditionalActions=$,this._instantiationService=q,this._bulkEditService=G,this._notificationService=U,this._currentWidget=this._register(new Q1),this._register(i.any(Y.onDidChangeModel,Y.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(X,Y,Z,Q,$){if(!X.length||!this._editor.hasModel())return;let q=this._editor.getModel(),G=Y.allEdits.at(Y.activeEditIndex);if(!G)return;let U=async(_)=>{let A=this._editor.getModel();if(!A)return;await A.undo(),this.applyEditAndShowIfNeeded(X,{activeEditIndex:_,allEdits:Y.allEdits},Z,Q,$)},H=(_,A)=>{if(n4(_))return;if(this._notificationService.error(A),Z)this.show(X[0],Y,U)},V=new PU(this._editor,3,void 0,$),K;try{K=await Jt(Q(G,V.token),V.token)}catch(_){return H(_,F(976,`Error resolving edit '{0}':\n{1}`,G.title,$I(_)))}finally{V.dispose()}if($.isCancellationRequested)return;let j=QI(q.uri,X,K),W=X[0],z=q.deltaDecorations([],[{range:W,options:{description:\"paste-line-suffix\",stickiness:0}}]);this._editor.focus();let B,P;try{B=await this._bulkEditService.apply(j,{editor:this._editor,token:$}),P=q.getDecorationRange(z[0])}catch(_){return H(_,F(977,`Error applying edit '{0}':\n{1}`,G.title,$I(_)))}finally{q.deltaDecorations(z,[])}if($.isCancellationRequested)return;if(Z&&B.isApplied&&Y.allEdits.length>1)this.show(P??W,Y,U)}show(X,Y,Z){if(this.clear(),this._editor.hasModel())this._currentWidget.value=this._instantiationService.createInstance(vc,this._id,this._editor,this._visibleContext,this._showCommand,X,Y,Z,this._getAdditionalActions())}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};GI=L30([hj(5,w0),hj(6,Uj),hj(7,d6)],GI);var Fw0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},q$=function(J,X){return function(Y,Z){X(Y,Z,J)}},eJ,Bw0=\"editor.changePasteType\",_w0=\"editor.pasteAs.preferences\",Aw0=new G0(\"pasteWidgetVisible\",!1,F(956,\"Whether the paste widget is showing\")),gc=\"application/vnd.code.copymetadata\",UI=class extends y{static{eJ=this}static{this.ID=\"editor.contrib.copyPasteActionController\"}static get(X){return X.getContribution(eJ.ID)}constructor(X,Y,Z,Q,$,q,G,U,H,V){super();this._logService=Z,this._bulkEditService=Q,this._clipboardService=$,this._commandService=q,this._configService=G,this._languageFeaturesService=U,this._quickInputService=H,this._progressService=V,this._editor=X,this._register(X.onWillCopy((K)=>this.handleCopy(K))),this._register(X.onWillCut((K)=>this.handleCopy(K))),this._register(X.onWillPaste((K)=>this.handlePaste(K))),this._pasteProgressManager=this._register(new nL(\"pasteIntoEditor\",X,Y)),this._postPasteWidgetManager=this._register(Y.createInstance(GI,\"pasteIntoEditor\",X,Aw0,{id:Bw0,label:F(957,\"Show paste options...\")},()=>eJ._configureDefaultAction?[eJ._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(X){this._logService.trace(\"CopyPasteController.pasteAs\"),this._editor.focus();try{this._logService.trace(\"Before calling editor.action.clipboardPasteAction\"),this._pasteAsActionContext={preferred:X},await this._commandService.executeCommand(\"editor.action.clipboardPasteAction\")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(97).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(X){if(this._logService.trace(\"CopyPasteController#handleCopy\"),!this._editor.hasTextFocus())return;if(this._clipboardService.clearInternalState?.(),!this.isPasteAsEnabled())return;let Y=this._editor.getModel(),Z=this._editor._getViewModel(),Q=this._editor.getSelections();if(!Y||!Z||!Q?.length)return;let $={multicursorText:X.dataToCopy.multicursorText??null,pasteOnNewLine:X.dataToCopy.isFromEmptySelection,mode:null},q=this._languageFeaturesService.documentPasteEditProvider.ordered(Y).filter((K)=>!!K.prepareDocumentPaste);if(!q.length){this.setCopyMetadata(X.clipboardData,{defaultPastePayload:$});return}let G=new vF,U=q.flatMap((K)=>K.copyMimeTypes??[]),H=OG();this.setCopyMetadata(X.clipboardData,{id:H,providerCopyMimeTypes:U,defaultPastePayload:$});let V=q.map((K)=>{return{providerMimeTypes:K.copyMimeTypes,operation:IJ((j)=>K.prepareDocumentPaste(Y,X.dataToCopy.sourceRanges,G,j).catch((W)=>{console.error(W);return}))}});eJ._currentCopyOperation?.operations.forEach((K)=>K.operation.cancel()),eJ._currentCopyOperation={handle:H,operations:V}}async handlePaste(X){if(this._logService.trace(\"CopyPasteController#handlePaste for id : \",X.metadata?.id),!this._editor.hasTextFocus())return;let Y=X.toExternalVSDataTransfer();if(!Y)return;Y.delete(gc),Q$.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;let Z=this._editor.getModel(),Q=this._editor.getSelections();if(!Q?.length||!Z)return;if(this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let $=this.fetchCopyMetadata(X);this._logService.trace(\"CopyPasteController#handlePaste with metadata : \",$?.id,\" and text.length : \",X.clipboardData.getData(\"text/plain\").length);let q=Array.from(X.clipboardData.files).map((H)=>H.type),G=[...X.clipboardData.types,...q,...$?.providerCopyMimeTypes??[],s1.uriList],U=this._languageFeaturesService.documentPasteEditProvider.ordered(Z).filter((H)=>{let V=this._pasteAsActionContext?.preferred;if(V){if(!this.providerMatchesPreference(H,V))return!1}return H.pasteMimeTypes?.some((K)=>KS(K,G))});if(!U.length){if(this._pasteAsActionContext?.preferred)this.showPasteAsNoEditMessage(Q,this._pasteAsActionContext.preferred),X.setHandled();return}if(X.setHandled(),this._pasteAsActionContext)this.showPasteAsPick(this._pasteAsActionContext.preferred,U,Q,Y,$);else this.doPasteInline(U,Q,Y,$,X.browserEvent)}showPasteAsNoEditMessage(X,Y){let Z=\"only\"in Y?Y.only.value:(\"preferences\"in Y)?Y.preferences.length?Y.preferences.map((Q)=>Q.value).join(\", \"):F(958,\"empty\"):Y.providerId;Q$.get(this._editor)?.showMessage(F(959,\"No paste edits for '{0}' found\",Z),X[0].getStartPosition())}doPasteInline(X,Y,Z,Q,$){this._logService.trace(\"CopyPasteController#doPasteInline\");let q=this._editor;if(!q.hasModel())return;let G=new PU(q,3,void 0),U=IJ(async(H)=>{let V=this._editor;if(!V.hasModel())return;let K=V.getModel(),j=new a,W=j.add(new S8(H));j.add(G.token.onCancellationRequested(()=>W.cancel()));let z=W.token;try{if(await this.mergeInDataFromCopy(X,Z,Q,z),z.isCancellationRequested)return;let B=X.filter((A)=>this.isSupportedPasteProvider(A,Z));if(!B.length||B.length===1&&B[0]instanceof TU)return this.applyDefaultPasteHandler(Z,Q,z,$);let P={triggerKind:Pq.Automatic},_=await this.getPasteEdits(B,Z,K,Y,P,z);if(j.add(_),z.isCancellationRequested)return;if(_.edits.length===1&&_.edits[0].provider instanceof TU)return this.applyDefaultPasteHandler(Z,Q,z,$);if(_.edits.length){let A=V.getOption(97).showPasteSelector===\"afterPaste\";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(Y,{activeEditIndex:this.getInitialActiveEditIndex(K,_.edits),allEdits:_.edits},A,async(O,D)=>{if(!O.provider.resolveDocumentPasteEdit)return O;let R=O.provider.resolveDocumentPasteEdit(O,D),N=new DY,w=await this._pasteProgressManager.showWhile(Y[0].getEndPosition(),F(960,\"Resolving paste edit for '{0}'. Click to cancel\",O.title),Dx(Promise.race([N.p,R]),D),{cancel:()=>N.cancel()},0);if(w)O.insertText=w.insertText,O.additionalEdit=w.additionalEdit;return O},z)}await this.applyDefaultPasteHandler(Z,Q,z,$)}finally{if(j.dispose(),this._currentPasteOperation===U)this._currentPasteOperation=void 0}});this._pasteProgressManager.showWhile(Y[0].getEndPosition(),F(961,\"Running paste handlers. Click to cancel and do basic paste\"),U,{cancel:async()=>{if(U.cancel(),G.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(Z,Q,G.token,$)}}).finally(()=>{G.dispose()}),this._currentPasteOperation=U}showPasteAsPick(X,Y,Z,Q,$){this._logService.trace(\"CopyPasteController#showPasteAsPick\");let q=IJ(async(G)=>{let U=this._editor;if(!U.hasModel())return;let H=U.getModel(),V=new a,K=V.add(new PU(U,3,void 0,G));try{if(await this.mergeInDataFromCopy(Y,Q,$,K.token),K.token.isCancellationRequested)return;let j=Y.filter((_)=>this.isSupportedPasteProvider(_,Q,X));if(X)j=j.filter((_)=>this.providerMatchesPreference(_,X));let W={triggerKind:Pq.PasteAs,only:X&&\"only\"in X?X.only:void 0},z=V.add(await this.getPasteEdits(j,Q,H,Z,W,K.token));if(K.token.isCancellationRequested)return;if(X)z={edits:z.edits.filter((_)=>{if(\"only\"in X)return X.only.contains(_.kind);else if(\"preferences\"in X)return X.preferences.some((A)=>A.contains(_.kind));else return X.providerId===_.provider.id}),dispose:z.dispose};if(!z.edits.length){if(X)this.showPasteAsNoEditMessage(Z,X);return}let B;if(X)B=z.edits.at(0);else{let _={id:\"editor.pasteAs.default\",label:F(962,\"Configure default paste action\"),edit:void 0},A=await this._quickInputService.pick([...z.edits.map((O)=>({label:O.title,description:O.kind?.value,edit:O})),...eJ._configureDefaultAction?[Zo({type:\"separator\"}),{label:eJ._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:F(963,\"Select Paste Action\")});if(A===_){eJ._configureDefaultAction?.run();return}B=A?.edit}if(!B)return;let P=QI(H.uri,Z,B);await this._bulkEditService.apply(P,{editor:this._editor})}finally{if(V.dispose(),this._currentPasteOperation===q)this._currentPasteOperation=void 0}});this._progressService.withProgress({location:10,title:F(964,\"Running paste handlers\")},()=>q)}setCopyMetadata(X,Y){this._logService.trace(\"CopyPasteController#setCopyMetadata new id : \",Y.id),X.setData(gc,JSON.stringify(Y))}fetchCopyMetadata(X){this._logService.trace(\"CopyPasteController#fetchCopyMetadata\");let Y=X.clipboardData.getData(gc);if(Y)try{return JSON.parse(Y)}catch{return}if(X.metadata)return{defaultPastePayload:{mode:X.metadata.mode,multicursorText:X.metadata.multicursorText??null,pasteOnNewLine:!!X.metadata.isFromEmptySelection}};return}async mergeInDataFromCopy(X,Y,Z,Q){if(this._logService.trace(\"CopyPasteController#mergeInDataFromCopy with metadata : \",Z?.id),Z?.id&&eJ._currentCopyOperation?.handle===Z.id){let $=eJ._currentCopyOperation.operations.filter((G)=>X.some((U)=>U.pasteMimeTypes.some((H)=>KS(H,G.providerMimeTypes)))).map((G)=>G.operation),q=await Promise.all($);if(Q.isCancellationRequested)return;for(let G of q.reverse())if(G)for(let[U,H]of G)Y.replace(U,H)}if(!Y.has(s1.uriList)){let $=await this._clipboardService.readResources();if(Q.isCancellationRequested)return;if($.length)Y.append(s1.uriList,hF(MG.create($)))}}async getPasteEdits(X,Y,Z,Q,$,q){let G=new a,U=await Dx(Promise.all(X.map(async(V)=>{try{let K=await V.provideDocumentPasteEdits?.(Z,Q,Y,$,q);if(K)G.add(K);return K?.edits?.map((j)=>({...j,provider:V}))}catch(K){if(!n4(K))console.error(K);return}})),q),H=r4(U??[]).flat().filter((V)=>{return!$.only||$.only.contains(V.kind)});return{edits:O30(H),dispose:()=>G.dispose()}}async applyDefaultPasteHandler(X,Y,Z,Q){let q=await(X.get(s1.text)??X.get(\"text\"))?.asString()??\"\";if(Z.isCancellationRequested)return;let G={clipboardEvent:Q,text:q,pasteOnNewLine:Y?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:Y?.defaultPastePayload.multicursorText??null,mode:null};this._logService.trace(\"CopyPasteController#applyDefaultPasteHandler for id : \",Y?.id),this._editor.trigger(\"keyboard\",\"paste\",G)}isSupportedPasteProvider(X,Y,Z){if(!X.pasteMimeTypes?.some((Q)=>Y.matches(Q)))return!1;return!Z||this.providerMatchesPreference(X,Z)}providerMatchesPreference(X,Y){if(\"only\"in Y)return X.providedPasteEditKinds.some((Z)=>Y.only.contains(Z));else if(\"preferences\"in Y)return X.providedPasteEditKinds.some((Z)=>Y.preferences.some((Q)=>Q.contains(Z)));else return X.id===Y.providerId}getInitialActiveEditIndex(X,Y){let Z=this._configService.getValue(_w0,{resource:X.uri});for(let Q of Array.isArray(Z)?Z:[]){let $=new XJ(Q),q=Y.findIndex((G)=>$.contains(G.kind));if(q>=0)return q}return 0}};UI=eJ=Fw0([q$(1,w0),q$(2,x1),q$(3,Uj),q$(4,F4),q$(5,h8),q$(6,o0),q$(7,$1),q$(8,g7),q$(9,fT)],UI);var IU=\"9_cutcopypaste\",Pw0=Q7||document.queryCommandSupported(\"cut\"),k30=Q7||document.queryCommandSupported(\"copy\"),Dw0=typeof navigator.clipboard>\"u\"||C6?document.queryCommandSupported(\"paste\"):!0;function uc(J){return J.register(),J}var Ow0=Pw0?uc(new K2({id:\"editor.action.clipboardCutAction\",precondition:void 0,kbOpts:Q7?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:b.MenubarEditMenu,group:\"2_ccp\",title:F(849,\"Cu&&t\"),order:1},{menuId:b.EditorContext,group:IU,title:F(850,\"Cut\"),when:g.writable,order:1},{menuId:b.CommandPalette,group:\"\",title:F(851,\"Cut\"),order:1},{menuId:b.SimpleEditorContext,group:IU,title:F(852,\"Cut\"),when:g.writable,order:1}]})):void 0,Mw0=k30?uc(new K2({id:\"editor.action.clipboardCopyAction\",precondition:void 0,kbOpts:Q7?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:b.MenubarEditMenu,group:\"2_ccp\",title:F(853,\"&&Copy\"),order:2},{menuId:b.EditorContext,group:IU,title:F(854,\"Copy\"),order:2},{menuId:b.CommandPalette,group:\"\",title:F(855,\"Copy\"),order:1},{menuId:b.SimpleEditorContext,group:IU,title:F(856,\"Copy\"),order:2}]})):void 0;K5.appendMenuItem(b.MenubarEditMenu,{submenu:b.MenubarCopy,title:B0(861,\"Copy As\"),group:\"2_ccp\",order:3});K5.appendMenuItem(b.EditorContext,{submenu:b.EditorContextCopy,title:B0(862,\"Copy As\"),group:IU,order:3});K5.appendMenuItem(b.EditorContext,{submenu:b.EditorContextShare,title:B0(863,\"Share\"),group:\"11_share\",order:-1,when:P0.and(P0.notEquals(\"resourceScheme\",\"output\"),g.editorTextFocus)});K5.appendMenuItem(b.ExplorerContext,{submenu:b.ExplorerContextShare,title:B0(864,\"Share\"),group:\"11_share\",order:-1});var pc=Dw0?uc(new K2({id:\"editor.action.clipboardPasteAction\",precondition:void 0,kbOpts:Q7?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:b.MenubarEditMenu,group:\"2_ccp\",title:F(857,\"&&Paste\"),order:4},{menuId:b.EditorContext,group:IU,title:F(858,\"Paste\"),when:g.writable,order:4},{menuId:b.CommandPalette,group:\"\",title:F(859,\"Paste\"),order:1},{menuId:b.SimpleEditorContext,group:IU,title:F(860,\"Paste\"),when:g.writable,order:4}]})):void 0;class E30 extends U1{constructor(){super({id:\"editor.action.clipboardCopyWithSyntaxHighlightingAction\",label:B0(865,\"Copy with Syntax Highlighting\"),precondition:void 0,kbOpts:{kbExpr:g.textInputFocus,primary:0,weight:100}})}run(J,X){let Y=J.get(x1),Z=J.get(F4);if(Y.trace(\"ExecCommandCopyWithSyntaxHighlightingAction#run\"),!X.hasModel())return;if(!X.getOption(45)&&X.getSelection().isEmpty())return;fY.forceCopyWithSyntaxHighlighting=!0,X.focus(),Y.trace(\"ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)\"),mc(X,Z),Y.trace(\"ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)\"),fY.forceCopyWithSyntaxHighlighting=!1}}function mc(J,X){if(fY.electronBugWorkaroundCopyEventHasFired=!1,J.getContainerDomNode().ownerDocument.execCommand(\"copy\"),Q7&&fY.electronBugWorkaroundCopyEventHasFired===!1){let{dataToCopy:Y}=f80(J._getViewModel(),void 0,C6);X.writeText(Y.text)}}function y30(J,X){if(!J)return;J.addImplementation(1e4,\"code-editor\",(Y,Z)=>{let Q=Y.get(x1),$=Y.get(F4);Q.trace(\"registerExecCommandImpl (addImplementation code-editor for : \",X,\")\");let q=Y.get(l1).getFocusedCodeEditor();if(q&&q.hasTextFocus()&&q.hasModel()){let G=q.getOption(45),U=q.getSelection();if(U&&U.isEmpty()&&!G)return!0;if(q.getOption(170)&&X===\"cut\")I30(q),Q.trace(\"registerExecCommandImpl (before execCommand copy)\"),mc(q,$),q.trigger(void 0,\"cut\",void 0),Q.trace(\"registerExecCommandImpl (after execCommand copy)\");else{if(I30(q),Q.trace(\"registerExecCommandImpl (before execCommand \"+X+\")\"),X===\"copy\")mc(q,$);else q.getContainerDomNode().ownerDocument.execCommand(X);Q.trace(\"registerExecCommandImpl (after execCommand \"+X+\")\")}return!0}return!1}),J.addImplementation(0,\"generic-dom\",(Y,Z)=>{let Q=Y.get(x1);return Q.trace(\"registerExecCommandImpl (addImplementation generic-dom for : \",X,\")\"),Q.trace(\"registerExecCommandImpl (before execCommand \"+X+\")\"),$2().execCommand(X),Q.trace(\"registerExecCommandImpl (after execCommand \"+X+\")\"),!0})}function I30(J){if(J.getOption(170)){let Y=GB.get(J.getId());if(Y)Y.handleWillCopy()}}y30(Ow0,\"cut\");y30(Mw0,\"copy\");if(pc)pc.addImplementation(1e4,\"code-editor\",(J,X)=>{let Y=J.get(x1);Y.trace(\"registerExecCommandImpl (addImplementation code-editor for : paste)\");let Z=J.get(l1),Q=J.get(F4),$=Z.getFocusedCodeEditor();if($&&$.hasModel()&&$.hasTextFocus()){if($.getOption(170)){let U=GB.get($.getId());if(U)U.handleWillPaste()}Y.trace(\"registerExecCommandImpl (before triggerPaste)\");let G=Q.triggerPaste(i0().vscodeWindowId);if(G)return Y.trace(\"registerExecCommandImpl (triggerPaste defined)\"),G.then(async()=>{return Y.trace(\"registerExecCommandImpl (after triggerPaste)\"),UI.get($)?.finishedPaste()??Promise.resolve()});else Y.trace(\"registerExecCommandImpl (triggerPaste undefined)\");if(o7)return Y.trace(\"registerExecCommandImpl (Paste handling on web)\"),(async()=>{let U=await Q.readText();if(U!==\"\"){let H=y2.INSTANCE.get(U),V=!1,K=null,j=null;if(H)V=$.getOption(45)&&!!H.isFromEmptySelection,K=typeof H.multicursorText<\"u\"?H.multicursorText:null,j=H.mode;Y.trace(\"registerExecCommandImpl (clipboardText.length : \",U.length,\" id : \",H?.id,\")\"),$.trigger(\"keyboard\",\"paste\",{text:U,pasteOnNewLine:V,multicursorText:K,mode:j})}})();return!0}return!1}),pc.addImplementation(0,\"generic-dom\",(J,X)=>{return J.get(x1).trace(\"registerExecCommandImpl (addImplementation generic-dom for : paste)\"),J.get(F4).triggerPaste(i0().vscodeWindowId)??!1});if(k30)y0(E30);class OZ{constructor(J,X,Y){this.languageConfigurationService=Y,this._selection=J,this._insertSpace=X,this._usedEndToken=null}static _haystackHasNeedleAtOffset(J,X,Y){if(Y<0)return!1;let Z=X.length,Q=J.length;if(Y+Z>Q)return!1;for(let $=0;$<Z;$++){let q=J.charCodeAt(Y+$),G=X.charCodeAt($);if(q===G)continue;if(q>=65&&q<=90&&q+32===G)continue;if(G>=65&&G<=90&&G+32===q)continue;return!1}return!0}_createOperationsForBlockComment(J,X,Y,Z,Q,$){let{startLineNumber:q,startColumn:G,endLineNumber:U,endColumn:H}=J,V=Q.getLineContent(q),K=Q.getLineContent(U),j=V.lastIndexOf(X,G-1+X.length),W=K.indexOf(Y,H-1-Y.length);if(j!==-1&&W!==-1)if(q===U){if(V.substring(j+X.length,W).indexOf(Y)>=0)j=-1,W=-1}else{let B=V.substring(j+X.length),P=K.substring(0,W);if(B.indexOf(Y)>=0||P.indexOf(Y)>=0)j=-1,W=-1}let z;if(j!==-1&&W!==-1){if(Z&&j+X.length<V.length&&V.charCodeAt(j+X.length)===32)X=X+\" \";if(Z&&W>0&&K.charCodeAt(W-1)===32)Y=\" \"+Y,W-=1;z=OZ._createRemoveBlockCommentOperations(new T(q,j+X.length+1,U,W+1),X,Y)}else z=OZ._createAddBlockCommentOperations(J,X,Y,this._insertSpace),this._usedEndToken=z.length===1?Y:null;for(let B of z)$.addTrackedEditOperation(B.range,B.text)}static _createRemoveBlockCommentOperations(J,X,Y){let Z=[];if(!T.isEmpty(J))Z.push(e6.delete(new T(J.startLineNumber,J.startColumn-X.length,J.startLineNumber,J.startColumn))),Z.push(e6.delete(new T(J.endLineNumber,J.endColumn,J.endLineNumber,J.endColumn+Y.length)));else Z.push(e6.delete(new T(J.startLineNumber,J.startColumn-X.length,J.endLineNumber,J.endColumn+Y.length)));return Z}static _createAddBlockCommentOperations(J,X,Y,Z){let Q=[];if(!T.isEmpty(J))Q.push(e6.insert(new C(J.startLineNumber,J.startColumn),X+(Z?\" \":\"\"))),Q.push(e6.insert(new C(J.endLineNumber,J.endColumn),(Z?\" \":\"\")+Y));else Q.push(e6.replace(new T(J.startLineNumber,J.startColumn,J.endLineNumber,J.endColumn),X+\"  \"+Y));return Q}getEditOperations(J,X){let Y=this._selection.startLineNumber,Z=this._selection.startColumn;J.tokenization.tokenizeIfCheap(Y);let Q=J.getLanguageIdAtPosition(Y,Z),$=this.languageConfigurationService.getLanguageConfiguration(Q).comments;if(!$||!$.blockCommentStartToken||!$.blockCommentEndToken)return;this._createOperationsForBlockComment(this._selection,$.blockCommentStartToken,$.blockCommentEndToken,this._insertSpace,J,X)}computeCursorState(J,X){let Y=X.getInverseEditOperations();if(Y.length===2){let Z=Y[0],Q=Y[1];return new Y0(Z.range.endLineNumber,Z.range.endColumn,Q.range.startLineNumber,Q.range.startColumn)}else{let Z=Y[0].range,Q=this._usedEndToken?-this._usedEndToken.length-1:0;return new Y0(Z.endLineNumber,Z.endColumn+Q,Z.endLineNumber,Z.endColumn+Q)}}}class MZ{constructor(J,X,Y,Z,Q,$,q){this.languageConfigurationService=J,this._selection=X,this._indentSize=Y,this._type=Z,this._insertSpace=Q,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=$,this._ignoreFirstLine=q||!1}static _gatherPreflightCommentStrings(J,X,Y,Z){J.tokenization.tokenizeIfCheap(X);let Q=J.getLanguageIdAtPosition(X,1),$=Z.getLanguageConfiguration(Q).comments,q=$?$.lineCommentToken:null;if(!q)return null;let G=[];for(let U=0,H=Y-X+1;U<H;U++)G[U]={ignore:!1,commentStr:q,commentStrOffset:0,commentStrLength:q.length};return G}static _analyzeLines(J,X,Y,Z,Q,$,q,G,U){let H=!0,K=G.getLanguageConfiguration(U).comments?.lineCommentNoIndent??!1,j;if(J===0)j=!0;else if(J===1)j=!1;else j=!0;for(let W=0,z=Z.length;W<z;W++){let B=Z[W],P=Q+W;if(P===Q&&q){B.ignore=!0;continue}let _=Y.getLineContent(P),A=b6(_);if(A===-1){B.ignore=$,B.commentStrOffset=K?0:_.length;continue}H=!1;let O=K?0:A;if(B.ignore=!1,B.commentStrOffset=O,j&&!OZ._haystackHasNeedleAtOffset(_,B.commentStr,O))if(J===0)j=!1;else if(J===1);else B.ignore=!0;if(j&&X){let D=A+B.commentStrLength;if(D<_.length&&_.charCodeAt(D)===32)B.commentStrLength+=1}}if(J===0&&H){j=!1;for(let W=0,z=Z.length;W<z;W++)Z[W].ignore=!1}return{supported:!0,shouldRemoveComments:j,lines:Z}}static _gatherPreflightData(J,X,Y,Z,Q,$,q,G){let U=MZ._gatherPreflightCommentStrings(Y,Z,Q,G),H=Y.getLanguageIdAtPosition(Z,1);if(U===null)return{supported:!1};return MZ._analyzeLines(J,X,Y,U,Z,$,q,G,H)}_executeLineComments(J,X,Y,Z){let Q;if(Y.shouldRemoveComments)Q=MZ._createRemoveLineCommentsOperations(Y.lines,Z.startLineNumber);else MZ._normalizeInsertionPoint(J,Y.lines,Z.startLineNumber,this._indentSize),Q=this._createAddLineCommentsOperations(Y.lines,Z.startLineNumber);let $=new C(Z.positionLineNumber,Z.positionColumn);for(let q=0,G=Q.length;q<G;q++)if(X.addEditOperation(Q[q].range,Q[q].text),T.isEmpty(Q[q].range)&&T.getStartPosition(Q[q].range).equals($)){if(J.getLineContent($.lineNumber).length+1===$.column)this._deltaColumn=(Q[q].text||\"\").length}this._selectionId=X.trackSelection(Z)}_attemptRemoveBlockComment(J,X,Y,Z){let{startLineNumber:Q,endLineNumber:$}=X,q=Z.length+Math.max(J.getLineFirstNonWhitespaceColumn(X.startLineNumber),X.startColumn),G=J.getLineContent(Q).lastIndexOf(Y,q-1),U=J.getLineContent($).indexOf(Z,X.endColumn-1-Y.length);if(G!==-1&&U===-1)U=J.getLineContent(Q).indexOf(Z,G+Y.length),$=Q;if(G===-1&&U!==-1)G=J.getLineContent($).lastIndexOf(Y,U),Q=$;if(X.isEmpty()&&(G===-1||U===-1)){if(G=J.getLineContent(Q).indexOf(Y),G!==-1)U=J.getLineContent(Q).indexOf(Z,G+Y.length)}if(G!==-1&&J.getLineContent(Q).charCodeAt(G+Y.length)===32)Y+=\" \";if(U!==-1&&J.getLineContent($).charCodeAt(U-1)===32)Z=\" \"+Z,U-=1;if(G!==-1&&U!==-1)return OZ._createRemoveBlockCommentOperations(new T(Q,G+Y.length+1,$,U+1),Y,Z);return null}_executeBlockComment(J,X,Y){J.tokenization.tokenizeIfCheap(Y.startLineNumber);let Z=J.getLanguageIdAtPosition(Y.startLineNumber,1),Q=this.languageConfigurationService.getLanguageConfiguration(Z).comments;if(!Q||!Q.blockCommentStartToken||!Q.blockCommentEndToken)return;let{blockCommentStartToken:$,blockCommentEndToken:q}=Q,G=this._attemptRemoveBlockComment(J,Y,$,q);if(!G){if(Y.isEmpty()){let U=J.getLineContent(Y.startLineNumber),H=b6(U);if(H===-1)H=U.length;G=OZ._createAddBlockCommentOperations(new T(Y.startLineNumber,H+1,Y.startLineNumber,U.length+1),$,q,this._insertSpace)}else G=OZ._createAddBlockCommentOperations(new T(Y.startLineNumber,J.getLineFirstNonWhitespaceColumn(Y.startLineNumber),Y.endLineNumber,J.getLineMaxColumn(Y.endLineNumber)),$,q,this._insertSpace);if(G.length===1)this._deltaColumn=$.length+1}this._selectionId=X.trackSelection(Y);for(let U of G)X.addEditOperation(U.range,U.text)}getEditOperations(J,X){let Y=this._selection;if(this._moveEndPositionDown=!1,Y.startLineNumber===Y.endLineNumber&&this._ignoreFirstLine){X.addEditOperation(new T(Y.startLineNumber,J.getLineMaxColumn(Y.startLineNumber),Y.startLineNumber+1,1),Y.startLineNumber===J.getLineCount()?\"\":`\n`),this._selectionId=X.trackSelection(Y);return}if(Y.startLineNumber<Y.endLineNumber&&Y.endColumn===1)this._moveEndPositionDown=!0,Y=Y.setEndPosition(Y.endLineNumber-1,J.getLineMaxColumn(Y.endLineNumber-1));let Z=MZ._gatherPreflightData(this._type,this._insertSpace,J,Y.startLineNumber,Y.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);if(Z.supported)return this._executeLineComments(J,X,Z,Y);return this._executeBlockComment(J,X,Y)}computeCursorState(J,X){let Y=X.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown)Y=Y.setEndPosition(Y.endLineNumber+1,1);return new Y0(Y.selectionStartLineNumber,Y.selectionStartColumn+this._deltaColumn,Y.positionLineNumber,Y.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(J,X){let Y=[];for(let Z=0,Q=J.length;Z<Q;Z++){let $=J[Z];if($.ignore)continue;Y.push(e6.delete(new T(X+Z,$.commentStrOffset+1,X+Z,$.commentStrOffset+$.commentStrLength+1)))}return Y}_createAddLineCommentsOperations(J,X){let Y=[],Z=this._insertSpace?\" \":\"\";for(let Q=0,$=J.length;Q<$;Q++){let q=J[Q];if(q.ignore)continue;Y.push(e6.insert(new C(X+Q,q.commentStrOffset+1),q.commentStr+Z))}return Y}static nextVisibleColumn(J,X,Y,Z){if(Y)return J+(X-J%X);return J+Z}static _normalizeInsertionPoint(J,X,Y,Z){let Q=1073741824,$,q;for(let G=0,U=X.length;G<U;G++){if(X[G].ignore)continue;let H=J.getLineContent(Y+G),V=0;for(let K=0,j=X[G].commentStrOffset;V<Q&&K<j;K++)V=MZ.nextVisibleColumn(V,Z,H.charCodeAt(K)===9,1);if(V<Q)Q=V}Q=Math.floor(Q/Z)*Z;for(let G=0,U=X.length;G<U;G++){if(X[G].ignore)continue;let H=J.getLineContent(Y+G),V=0;for($=0,q=X[G].commentStrOffset;V<Q&&$<q;$++)V=MZ.nextVisibleColumn(V,Z,H.charCodeAt($)===9,1);if(V>Q)X[G].commentStrOffset=$-1;else X[G].commentStrOffset=$}}}class HI extends U1{constructor(J,X){super(X);this._type=J}run(J,X){let Y=J.get(u6);if(!X.hasModel())return;let Z=X.getModel(),Q=[],$=Z.getOptions(),q=X.getOption(29),G=X.getSelections().map((H,V)=>({selection:H,index:V,ignoreFirstLine:!1}));G.sort((H,V)=>T.compareRangesUsingStarts(H.selection,V.selection));let U=G[0];for(let H=1;H<G.length;H++){let V=G[H];if(U.selection.endLineNumber===V.selection.startLineNumber)if(U.index<V.index)V.ignoreFirstLine=!0;else U.ignoreFirstLine=!0,U=V}for(let H of G)Q.push(new MZ(Y,H.selection,$.indentSize,this._type,q.insertSpace,q.ignoreEmptyLines,H.ignoreFirstLine));X.pushUndoStop(),X.executeCommands(this.id,Q),X.pushUndoStop()}}class x30 extends HI{constructor(){super(0,{id:\"editor.action.commentLine\",label:B0(933,\"Toggle Line Comment\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:b.MenubarEditMenu,group:\"5_insert\",title:F(931,\"&&Toggle Line Comment\"),order:1},canTriggerInlineEdits:!0})}}class b30 extends HI{constructor(){super(1,{id:\"editor.action.addCommentLine\",label:B0(934,\"Add Line Comment\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2081),weight:100},canTriggerInlineEdits:!0})}}class C30 extends HI{constructor(){super(2,{id:\"editor.action.removeCommentLine\",label:B0(935,\"Remove Line Comment\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2099),weight:100},canTriggerInlineEdits:!0})}}class S30 extends U1{constructor(){super({id:\"editor.action.blockComment\",label:B0(936,\"Toggle Block Comment\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:b.MenubarEditMenu,group:\"5_insert\",title:F(932,\"Toggle &&Block Comment\"),order:2},canTriggerInlineEdits:!0})}run(J,X){let Y=J.get(u6);if(!X.hasModel())return;let Z=X.getOption(29),Q=[],$=X.getSelections();for(let q of $)Q.push(new OZ(q,Z.insertSpace,Y));X.pushUndoStop(),X.executeCommands(this.id,Q),X.pushUndoStop()}}y0(x30);y0(b30);y0(C30);y0(S30);var Rw0=x(\"editorOverviewRuler.bracketMatchForeground\",\"#A0A0A0\",F(840,\"Overview ruler marker color for matching brackets.\"));class f30 extends U1{constructor(){super({id:\"editor.action.jumpToBracket\",label:B0(842,\"Go to Bracket\"),precondition:void 0,kbOpts:{kbExpr:g.editorTextFocus,primary:3165,weight:100}})}run(J,X){G$.get(X)?.jumpToBracket()}}class h30 extends U1{constructor(){super({id:\"editor.action.selectToBracket\",label:B0(843,\"Select to Bracket\"),precondition:void 0,metadata:{description:B0(844,\"Select the text inside and including the brackets or curly braces\"),args:[{name:\"args\",schema:{type:\"object\",properties:{selectBrackets:{type:\"boolean\",default:!0}}}}]}})}run(J,X,Y){let Z=!0;if(Y&&Y.selectBrackets===!1)Z=!1;G$.get(X)?.selectToBracket(Z)}}class v30 extends U1{constructor(){super({id:\"editor.action.removeBrackets\",label:B0(845,\"Remove Brackets\"),precondition:void 0,kbOpts:{kbExpr:g.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(J,X){G$.get(X)?.removeBrackets(this.id)}}class g30{constructor(J,X,Y){this.position=J,this.brackets=X,this.options=Y}}class G$ extends y{static{this.ID=\"editor.contrib.bracketMatchingController\"}static get(J){return J.getContribution(G$.ID)}constructor(J){super();this._editor=J,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new B1(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(J.onDidChangeCursorPosition((X)=>{if(this._matchBrackets===\"never\")return;this._updateBracketsSoon.schedule()})),this._register(J.onDidChangeModelContent((X)=>{this._updateBracketsSoon.schedule()})),this._register(J.onDidChangeModel((X)=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(J.onDidChangeModelLanguageConfiguration((X)=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(J.onDidChangeConfiguration((X)=>{if(X.hasChanged(80))this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule()})),this._register(J.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(J.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let J=this._editor.getModel(),X=this._editor.getSelections().map((Y)=>{let Z=Y.getStartPosition(),Q=J.bracketPairs.matchBracket(Z),$=null;if(Q){if(Q[0].containsPosition(Z)&&!Q[1].containsPosition(Z))$=Q[1].getStartPosition();else if(Q[1].containsPosition(Z))$=Q[0].getStartPosition()}else{let q=J.bracketPairs.findEnclosingBrackets(Z);if(q)$=q[1].getStartPosition();else{let G=J.bracketPairs.findNextBracket(Z);if(G&&G.range)$=G.range.getStartPosition()}}if($)return new Y0($.lineNumber,$.column,$.lineNumber,$.column);return new Y0(Z.lineNumber,Z.column,Z.lineNumber,Z.column)});this._editor.setSelections(X),this._editor.revealRange(X[0])}selectToBracket(J){if(!this._editor.hasModel())return;let X=this._editor.getModel(),Y=[];if(this._editor.getSelections().forEach((Z)=>{let Q=Z.getStartPosition(),$=X.bracketPairs.matchBracket(Q);if(!$){if($=X.bracketPairs.findEnclosingBrackets(Q),!$){let U=X.bracketPairs.findNextBracket(Q);if(U&&U.range)$=X.bracketPairs.matchBracket(U.range.getStartPosition())}}let q=null,G=null;if($){$.sort(T.compareRangesUsingStarts);let[U,H]=$;if(q=J?U.getStartPosition():U.getEndPosition(),G=J?H.getEndPosition():H.getStartPosition(),H.containsPosition(Q)){let V=q;q=G,G=V}}if(q&&G)Y.push(new Y0(q.lineNumber,q.column,G.lineNumber,G.column))}),Y.length>0)this._editor.setSelections(Y),this._editor.revealRange(Y[0])}removeBrackets(J){if(!this._editor.hasModel())return;let X=this._editor.getModel();this._editor.getSelections().forEach((Y)=>{let Z=Y.getPosition(),Q=X.bracketPairs.matchBracket(Z);if(!Q)Q=X.bracketPairs.findEnclosingBrackets(Z);if(Q)this._editor.pushUndoStop(),this._editor.executeEdits(J,[{range:Q[0],text:\"\"},{range:Q[1],text:\"\"}]),this._editor.pushUndoStop()})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=n0.register({description:\"bracket-match-overview\",stickiness:1,className:\"bracket-match\",inlineClassName:\"bracket-match-inline\",overviewRuler:{color:n6(Rw0),position:m5.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=n0.register({description:\"bracket-match-no-overview\",stickiness:1,className:\"bracket-match\",inlineClassName:\"bracket-match-inline\"})}_updateBrackets(){if(this._matchBrackets===\"never\")return;this._recomputeBrackets();let J=[],X=0;for(let Y of this._lastBracketsData){let Z=Y.brackets;if(Z)J[X++]={range:Z[0],options:Y.options},J[X++]={range:Z[1],options:Y.options}}this._decorations.set(J)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let J=this._editor.getSelections();if(J.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let X=this._editor.getModel(),Y=X.getVersionId(),Z=[];if(this._lastVersionId===Y)Z=this._lastBracketsData;let Q=[],$=0;for(let V=0,K=J.length;V<K;V++){let j=J[V];if(j.isEmpty())Q[$++]=j.getStartPosition()}if(Q.length>1)Q.sort(C.compare);let q=[],G=0,U=0,H=Z.length;for(let V=0,K=Q.length;V<K;V++){let j=Q[V];while(U<H&&Z[U].position.isBefore(j))U++;if(U<H&&Z[U].position.equals(j))q[G++]=Z[U];else{let W=X.bracketPairs.matchBracket(j,20),z=G$._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;if(!W&&this._matchBrackets===\"always\")W=X.bracketPairs.findEnclosingBrackets(j,20),z=G$._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER;q[G++]=new g30(j,W,z)}}this._lastBracketsData=q,this._lastVersionId=Y}}E7(G$.ID,G$,1);y0(h30);y0(f30);y0(v30);K5.appendMenuItem(b.MenubarGoMenu,{group:\"5_infile_nav\",command:{id:\"editor.action.jumpToBracket\",title:F(841,\"Go to &&Bracket\")},order:2});x8((J,X)=>{let Y=J.getColor(M50);if(Y)X.addRule(`.monaco-editor .bracket-match-inline { color: ${Y} !important; }`)});function cc(J,X){return!!J[X]}class VI{constructor(J,X){if(this.target=J.target,this.isLeftClick=J.event.leftButton,this.isMiddleClick=J.event.middleButton,this.isRightClick=J.event.rightButton,this.mouseMiddleClickAction=X.mouseMiddleClickAction,this.hasTriggerModifier=cc(J.event,X.triggerModifier),this.isMiddleClick&&X.mouseMiddleClickAction===\"ctrlLeftClick\")this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0;this.hasSideBySideModifier=cc(J.event,X.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=J.event.detail<=1}}class dc{constructor(J,X){this.keyCodeIsTriggerKey=J.keyCode===X.triggerKey,this.keyCodeIsSideBySideKey=J.keyCode===X.triggerSideBySideKey,this.hasTriggerModifier=cc(J,X.triggerModifier)}}class wA{constructor(J,X,Y,Z,Q){this.mouseMiddleClickAction=Q,this.triggerKey=J,this.triggerModifier=X,this.triggerSideBySideKey=Y,this.triggerSideBySideModifier=Z}equals(J){return this.triggerKey===J.triggerKey&&this.triggerModifier===J.triggerModifier&&this.triggerSideBySideKey===J.triggerSideBySideKey&&this.triggerSideBySideModifier===J.triggerSideBySideModifier&&this.mouseMiddleClickAction===J.mouseMiddleClickAction}}function p30(J,X){if(J===\"altKey\"){if(I0)return new wA(57,\"metaKey\",6,\"altKey\",X);return new wA(5,\"ctrlKey\",6,\"altKey\",X)}if(I0)return new wA(6,\"altKey\",57,\"metaKey\",X);return new wA(6,\"altKey\",5,\"ctrlKey\",X)}class lc extends y{constructor(J,X){super();this._onMouseMoveOrRelevantKeyDown=this._register(new E),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new E),this.onExecute=this._onExecute.event,this._onCancel=this._register(new E),this.onCancel=this._onCancel.event,this._editor=J,this._extractLineNumberFromMouseEvent=X?.extractLineNumberFromMouseEvent??((Y)=>Y.target.position?Y.target.position.lineNumber:0),this._opts=p30(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((Y)=>{if(Y.hasChanged(86)||Y.hasChanged(87)){let Z=p30(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(Z))return;this._opts=Z,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove((Y)=>this._onEditorMouseMove(new VI(Y,this._opts)))),this._register(this._editor.onMouseDown((Y)=>this._onEditorMouseDown(new VI(Y,this._opts)))),this._register(this._editor.onMouseUp((Y)=>this._onEditorMouseUp(new VI(Y,this._opts)))),this._register(this._editor.onKeyDown((Y)=>this._onEditorKeyDown(new dc(Y,this._opts)))),this._register(this._editor.onKeyUp((Y)=>this._onEditorKeyUp(new dc(Y,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection((Y)=>this._onDidChangeCursorSelection(Y))),this._register(this._editor.onDidChangeModel((Y)=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange((Y)=>{if(Y.scrollTopChanged||Y.scrollLeftChanged)this._resetHandler()}))}_onDidChangeCursorSelection(J){if(J.selection&&J.selection.startColumn!==J.selection.endColumn)this._resetHandler()}_onEditorMouseMove(J){this._lastMouseMoveEvent=J,this._onMouseMoveOrRelevantKeyDown.fire([J,null])}_onEditorMouseDown(J){this._hasTriggerKeyOnMouseDown=J.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(J)}_onEditorMouseUp(J){let X=this._extractLineNumberFromMouseEvent(J);if(!!this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===X&&(this._hasTriggerKeyOnMouseDown||J.isMiddleClick&&J.mouseMiddleClickAction===\"openLink\"))this._onExecute.fire(J)}_onEditorKeyDown(J){if(this._lastMouseMoveEvent&&(J.keyCodeIsTriggerKey||J.keyCodeIsSideBySideKey&&J.hasTriggerModifier))this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,J]);else if(J.hasTriggerModifier)this._onCancel.fire()}_onEditorKeyUp(J){if(J.keyCodeIsTriggerKey)this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class m30{constructor(J,X){this._link=J,this._provider=X}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(J){if(this._link.url)return this._link.url;if(typeof this._provider.resolveLink===\"function\")return Promise.resolve(this._provider.resolveLink(this._link,J)).then((X)=>{if(this._link=X||this._link,this._link.url)return this.resolve(J);return Promise.reject(Error(\"missing\"))});return Promise.reject(Error(\"missing\"))}}class TA{static{this.Empty=new TA([])}constructor(J){this._disposables=new a;let X=[];for(let[Y,Z]of J){let Q=Y.links.map(($)=>new m30($,Z));if(X=TA._union(X,Q),WY(Y))this._disposables??=new a,this._disposables.add(Y)}this.links=X}dispose(){this._disposables?.dispose(),this.links.length=0}static _union(J,X){let Y=[],Z,Q,$,q;for(Z=0,$=0,Q=J.length,q=X.length;Z<Q&&$<q;){let G=J[Z],U=X[$];if(T.areIntersectingOrTouching(G.range,U.range)){Z++;continue}if(T.compareRangesUsingStarts(G.range,U.range)<0)Y.push(G),Z++;else Y.push(U),$++}for(;Z<Q;Z++)Y.push(J[Z]);for(;$<q;$++)Y.push(X[$]);return Y}}async function sc(J,X,Y){let Z=[],Q=J.ordered(X).reverse().map(async(q,G)=>{try{let U=await q.provideLinks(X,Y);if(U)Z[G]=[U,q]}catch(U){VY(U)}});await Promise.all(Q);let $=new TA(r4(Z));if(Y.isCancellationRequested)$.dispose(),$=TA.Empty;return $}S6.registerCommand(\"_executeLinkProvider\",async(J,...X)=>{let[Y,Z]=X;if(t4(Y instanceof R0),typeof Z!==\"number\")Z=0;let{linkProvider:Q}=J.get($1),$=J.get(j8).getModel(Y);if(!$)return[];let q=await sc(Q,$,U8.None);if(!q)return[];for(let U=0;U<Math.min(Z,q.links.length);U++)await q.links[U].resolve(U8.None);let G=q.links.slice(0);return q.dispose(),G});var Nw0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},KI=function(J,X){return function(Y,Z){X(Y,Z,J)}},ac,LA=class extends y{static{ac=this}static{this.ID=\"editor.linkDetector\"}static get(X){return X.getContribution(ac.ID)}constructor(X,Y,Z,Q,$){super();this.editor=X,this.openerService=Y,this.notificationService=Z,this.languageFeaturesService=Q,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=$.for(this.providers,\"Links\",{min:1000,max:4000}),this.computeLinks=this._register(new B1(()=>this.computeLinksNow(),1000)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;let q=this._register(new lc(X));this._register(q.onMouseMoveOrRelevantKeyDown(([G,U])=>{this._onEditorMouseMove(G,U)})),this._register(q.onExecute((G)=>{this.onEditorMouseUp(G)})),this._register(q.onCancel((G)=>{this.cleanUpActiveLinkDecoration()})),this._register(X.onDidChangeConfiguration((G)=>{if(!G.hasChanged(79))return;this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0)})),this._register(X.onDidChangeModelContent((G)=>{if(!this.editor.hasModel())return;this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(X.onDidChangeModel((G)=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(X.onDidChangeModelLanguage((G)=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange((G)=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(79))return;let X=this.editor.getModel();if(X.isTooLargeForSyncing())return;if(!this.providers.has(X))return;if(this.activeLinksList)this.activeLinksList.dispose(),this.activeLinksList=null;this.computePromise=IJ((Y)=>sc(this.providers,X,Y));try{let Y=new v5(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(X,Y.elapsed()),X.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(Y){b0(Y)}finally{this.computePromise=null}}updateDecorations(X){let Y=this.editor.getOption(86)===\"altKey\",Z=[],Q=Object.keys(this.currentOccurrences);for(let q of Q){let G=this.currentOccurrences[q];Z.push(G.decorationId)}let $=[];if(X)for(let q of X)$.push(vj.decoration(q,Y));this.editor.changeDecorations((q)=>{let G=q.deltaDecorations(Z,$);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let U=0,H=G.length;U<H;U++){let V=new vj(X[U],G[U]);this.currentOccurrences[V.decorationId]=V}})}_onEditorMouseMove(X,Y){let Z=this.editor.getOption(86)===\"altKey\";if(this.isEnabled(X,Y)){this.cleanUpActiveLinkDecoration();let Q=this.getLinkOccurrence(X.target.position);if(Q)this.editor.changeDecorations(($)=>{Q.activate($,Z),this.activeLinkDecorationId=Q.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){let X=this.editor.getOption(86)===\"altKey\";if(this.activeLinkDecorationId){let Y=this.currentOccurrences[this.activeLinkDecorationId];if(Y)this.editor.changeDecorations((Z)=>{Y.deactivate(Z,X)});this.activeLinkDecorationId=null}}onEditorMouseUp(X){if(!this.isEnabled(X))return;let Y=this.getLinkOccurrence(X.target.position);if(!Y)return;this.openLinkOccurrence(Y,X.hasSideBySideModifier,!0)}openLinkOccurrence(X,Y,Z=!1){if(!this.openerService)return;let{link:Q}=X;Q.resolve(U8.None).then(($)=>{if(typeof $===\"string\"&&this.editor.hasModel()){let q=this.editor.getModel().uri;if(q.scheme===T0.file&&$.startsWith(`${T0.file}:`)){let G=R0.parse($);if(G.scheme===T0.file){let U=MX(G),H=null;if(U.startsWith(\"/./\")||U.startsWith(\"\\\\.\\\\\"))H=`.${U.substr(1)}`;else if(U.startsWith(\"//./\")||U.startsWith(\"\\\\\\\\.\\\\\"))H=`.${U.substr(2)}`;if(H)$=IM(q,H)}}}return this.openerService.open($,{openToSide:Y,fromUserGesture:Z,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},($)=>{let q=$ instanceof Error?$.message:$;if(q===\"invalid\")this.notificationService.warn(F(1323,\"Failed to open this link because it is not well-formed: {0}\",Q.url.toString()));else if(q===\"missing\")this.notificationService.warn(F(1324,\"Failed to open this link because its target is missing.\"));else b0($)})}getLinkOccurrence(X){if(!this.editor.hasModel()||!X)return null;let Y=this.editor.getModel().getDecorationsInRange({startLineNumber:X.lineNumber,startColumn:X.column,endLineNumber:X.lineNumber,endColumn:X.column},0,!0);for(let Z of Y){let Q=this.currentOccurrences[Z.id];if(Q)return Q}return null}isEnabled(X,Y){return Boolean(X.target.type===6&&(X.hasTriggerModifier||Y&&Y.keyCodeIsTriggerKey||X.isMiddleClick&&X.mouseMiddleClickAction===\"openLink\"))}stop(){if(this.computeLinks.cancel(),this.activeLinksList)this.activeLinksList?.dispose(),this.activeLinksList=null;if(this.computePromise)this.computePromise.cancel(),this.computePromise=null}dispose(){super.dispose(),this.stop()}};LA=ac=Nw0([KI(1,p4),KI(2,d6),KI(3,$1),KI(4,U_)],LA);var u30={general:n0.register({description:\"detected-link\",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:\"detected-link\"}),active:n0.register({description:\"detected-link-active\",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:\"detected-link-active\"})};class vj{static decoration(J,X){return{range:J.range,options:vj._getOptions(J,X,!1)}}static _getOptions(J,X,Y){let Z={...Y?u30.active:u30.general};return Z.hoverMessage=ww0(J,X),Z}constructor(J,X){this.link=J,this.decorationId=X}activate(J,X){J.changeDecorationOptions(this.decorationId,vj._getOptions(this.link,X,!0))}deactivate(J,X){J.changeDecorationOptions(this.decorationId,vj._getOptions(this.link,X,!1))}}function ww0(J,X){let Y=J.url&&/^command:/i.test(J.url.toString()),Z=J.tooltip?J.tooltip:Y?F(1325,\"Execute command\"):F(1326,\"Follow link\"),Q=X?I0?F(1327,\"cmd + click\"):F(1328,\"ctrl + click\"):I0?F(1329,\"option + click\"):F(1330,\"alt + click\");if(J.url){let $=\"\";if(/^command:/i.test(J.url.toString())){let G=J.url.toString().match(/^command:([^?#]+)/);if(G){let U=G[1];$=F(1331,\"Execute command {0}\",U)}}return new lQ(\"\",!0).appendLink(J.url.toString(!0).replace(/ /g,\"%20\"),Z,$).appendMarkdown(` (${Q})`)}else return new lQ().appendText(`${Z} (${Q})`)}class c30 extends U1{constructor(){super({id:\"editor.action.openLink\",label:B0(1332,\"Open Link\"),precondition:void 0})}run(J,X){let Y=LA.get(X);if(!Y)return;if(!X.hasModel())return;let Z=X.getSelections();for(let Q of Z){let $=Y.getLinkOccurrence(Q.getEndPosition());if($)Y.openLinkOccurrence($,!1)}}}E7(LA.ID,LA,1);y0(c30);class ic{constructor(J,X,Y){this._selection=J,this._cursors=X,this._selectionId=null,this._trimInRegexesAndStrings=Y}getEditOperations(J,X){let Y=Tw0(J,this._cursors,this._trimInRegexesAndStrings);for(let Z=0,Q=Y.length;Z<Q;Z++){let $=Y[Z];X.addEditOperation($.range,$.text)}this._selectionId=X.trackSelection(this._selection)}computeCursorState(J,X){return X.getTrackedSelection(this._selectionId)}}function Tw0(J,X,Y){X.sort((G,U)=>{if(G.lineNumber===U.lineNumber)return G.column-U.column;return G.lineNumber-U.lineNumber});for(let G=X.length-2;G>=0;G--)if(X[G].lineNumber===X[G+1].lineNumber)X.splice(G,1);let Z=[],Q=0,$=0,q=X.length;for(let G=1,U=J.getLineCount();G<=U;G++){let H=J.getLineContent(G),V=H.length+1,K=0;if($<q&&X[$].lineNumber===G){if(K=X[$].column,$++,K===V)continue}if(H.length===0)continue;let j=T5(H),W=0;if(j===-1)W=1;else if(j!==H.length-1)W=j+2;else continue;if(!Y){if(!J.tokenization.hasAccurateTokensForLine(G))continue;let z=J.tokenization.getLineTokens(G),B=z.getStandardTokenType(z.findTokenIndexAtOffset(W));if(B===2||B===3)continue}W=Math.max(K,W),Z[Q++]=e6.delete(new T(G,W,G,V))}return Z}class jI{constructor(J,X,Y){this._selection=J,this._isCopyingDown=X,this._noop=Y||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(J,X){let Y=this._selection;if(this._startLineNumberDelta=0,this._endLineNumberDelta=0,Y.startLineNumber<Y.endLineNumber&&Y.endColumn===1)this._endLineNumberDelta=1,Y=Y.setEndPosition(Y.endLineNumber-1,J.getLineMaxColumn(Y.endLineNumber-1));let Z=[];for(let $=Y.startLineNumber;$<=Y.endLineNumber;$++)Z.push(J.getLineContent($));let Q=Z.join(`\n`);if(Q===\"\"){if(this._isCopyingDown)this._startLineNumberDelta++,this._endLineNumberDelta++}if(this._noop)X.addEditOperation(new T(Y.endLineNumber,J.getLineMaxColumn(Y.endLineNumber),Y.endLineNumber+1,1),Y.endLineNumber===J.getLineCount()?\"\":`\n`);else if(!this._isCopyingDown)X.addEditOperation(new T(Y.endLineNumber,J.getLineMaxColumn(Y.endLineNumber),Y.endLineNumber,J.getLineMaxColumn(Y.endLineNumber)),`\n`+Q);else X.addEditOperation(new T(Y.startLineNumber,1,Y.startLineNumber,1),Q+`\n`);this._selectionId=X.trackSelection(Y),this._selectionDirection=this._selection.getDirection()}computeCursorState(J,X){let Y=X.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let{startLineNumber:Z,startColumn:Q,endLineNumber:$,endColumn:q}=Y;if(this._startLineNumberDelta!==0)Z=Z+this._startLineNumberDelta,Q=1;if(this._endLineNumberDelta!==0)$=$+this._endLineNumberDelta,q=1;Y=Y0.createWithDirection(Z,Q,$,q,this._selectionDirection)}return Y}}function nX(J,X){let Y=0;for(let Z=0;Z<J.length;Z++)if(J.charAt(Z)===\"\\t\")Y+=X;else Y++;return Y}function WI(J,X,Y){J=J<0?0:J;let Z=\"\";if(!Y){let Q=Math.floor(J/X);J=J%X;for(let $=0;$<Q;$++)Z+=\"\\t\"}for(let Q=0;Q<J;Q++)Z+=\" \";return Z}var Lw0=function(J,X,Y,Z){var Q=arguments.length,$=Q<3?X:Z===null?Z=Object.getOwnPropertyDescriptor(X,Y):Z,q;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")$=Reflect.decorate(J,X,Y,Z);else for(var G=J.length-1;G>=0;G--)if(q=J[G])$=(Q<3?q($):Q>3?q(X,Y,$):q(X,Y))||$;return Q>3&&$&&Object.defineProperty(X,Y,$),$},Iw0=function(J,X){return function(Y,Z){X(Y,Z,J)}},zI=class{constructor(X,Y,Z,Q){this._languageConfigurationService=Q,this._selection=X,this._isMovingDown=Y,this._autoIndent=Z,this._selectionId=null,this._moveEndLineSelectionShrink=!1}createVirtualModel(X,Y,Z){return{tokenization:{getLineTokens:(Q)=>X.tokenization.getLineTokens(Y(Q)),getLanguageId:()=>X.getLanguageId(),getLanguageIdAtPosition:(Q,$)=>X.getLanguageIdAtPosition(Q,$)},getLineContent:(Q)=>{let $=Z?.(Q);if($!==void 0)return $;return X.getLineContent(Y(Q))}}}getEditOperations(X,Y){let Z=X.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===Z){this._selectionId=Y.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=Y.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let Q=this._selection;if(Q.startLineNumber<Q.endLineNumber&&Q.endColumn===1)this._moveEndPositionDown=!0,Q=Q.setEndPosition(Q.endLineNumber-1,X.getLineMaxColumn(Q.endLineNumber-1));let{tabSize:$,indentSize:q,insertSpaces:G}=X.getOptions(),U=this.buildIndentConverter($,q,G);if(Q.startLineNumber===Q.endLineNumber&&X.getLineMaxColumn(Q.startLineNumber)===1){let H=Q.startLineNumber,V=this._isMovingDown?H+1:H-1;if(X.getLineMaxColumn(V)===1)Y.addEditOperation(new T(1,1,1,1),null);else Y.addEditOperation(new T(H,1,H,1),X.getLineContent(V)),Y.addEditOperation(new T(V,1,V,X.getLineMaxColumn(V)),null);Q=new Y0(V,1,V,1)}else{let H,V;if(this._isMovingDown){H=Q.endLineNumber+1,V=X.getLineContent(H),Y.addEditOperation(new T(H-1,X.getLineMaxColumn(H-1),H,X.getLineMaxColumn(H)),null);let K=V;if(this.shouldAutoIndent(X,Q)){let j=this.matchEnterRule(X,U,$,H,Q.startLineNumber-1);if(j!==null){let z=w6(X.getLineContent(H)),B=j+nX(z,$);K=WI(B,$,G)+this.trimStart(V)}else{let z=this.createVirtualModel(X,(P)=>P===Q.startLineNumber?H:P),B=SR(this._autoIndent,z,X.getLanguageIdAtPosition(H,1),Q.startLineNumber,U,this._languageConfigurationService);if(B!==null){let P=w6(X.getLineContent(H)),_=nX(B,$),A=nX(P,$);if(_!==A)K=WI(_,$,G)+this.trimStart(V)}}Y.addEditOperation(new T(Q.startLineNumber,1,Q.startLineNumber,1),K+`\n`);let W=this.matchEnterRuleMovingDown(X,U,$,Q.startLineNumber,H,K);if(W!==null){if(W!==0)this.getIndentEditsOfMovingBlock(X,Y,Q,$,G,W)}else{let z=this.createVirtualModel(X,(P)=>{if(P===Q.startLineNumber)return H;else if(P>=Q.startLineNumber+1&&P<=Q.endLineNumber+1)return P-1;else return P},(P)=>P===Q.startLineNumber?K:void 0),B=SR(this._autoIndent,z,X.getLanguageIdAtPosition(H,1),Q.startLineNumber+1,U,this._languageConfigurationService);if(B!==null){let P=w6(X.getLineContent(Q.startLineNumber)),_=nX(B,$),A=nX(P,$);if(_!==A){let O=_-A;this.getIndentEditsOfMovingBlock(X,Y,Q,$,G,O)}}}}else Y.addEditOperation(new T(Q.startLineNumber,1,Q.startLineNumber,1),K+`\n`)}else if(H=Q.startLineNumber-1,V=X.getLineContent(H),Y.addEditOperation(new T(H,1,H+1,1),null),Y.addEditOperation(new T(Q.endLineNumber,X.getLineMaxColumn(Q.endLineNumber),Q.endLineNumber,X.getLineMaxColumn(Q.endLineNumber)),`\n`+V),this.shouldAutoIndent(X,Q)){let K=this.createVirtualModel(X,(W)=>W===H?Q.startLineNumber:W),j=this.matchEnterRule(X,U,$,Q.startLineNumber,Q.startLineNumber-2);if(j!==null){if(j!==0)this.getIndentEditsOfMovingBlock(X,Y,Q,$,G,j)}else{let W=SR(this._autoIndent,K,X.getLanguageIdAtPosition(Q.startLineNumber,1),H,U,this._languageConfigurationService);if(W!==null){let z=w6(X.getLineContent(Q.startLineNumber)),B=nX(W,$),P=nX(z,$);if(B!==P){let _=B-P;this.getIndentEditsOfMovingBlock(X,Y,Q,$,G,_)}}}}}this._selectionId=Y.trackSelection(Q)}buildIndentConverter(X,Y,Z){return{shiftIndent:(Q)=>{return uJ.shiftIndent(Q,Q.length+1,X,Y,Z)},unshiftIndent:(Q)=>{return uJ.unshiftIndent(Q,Q.length+1,X,Y,Z)}}}parseEnterResult(X,Y,Z,Q,$){if($){let q=$.indentation;if($.indentAction===T6.None)q=$.indentation+$.appendText;else if($.indentAction===T6.Indent)q=$.indentation+$.appendText;else if($.indentAction===T6.IndentOutdent)q=$.indentation;else if($.indentAction===T6.Outdent)q=Y.unshiftIndent($.indentation)+$.appendText;let G=X.getLineContent(Q);if(this.trimStart(G).indexOf(this.trimStart(q))>=0){let U=w6(X.getLineContent(Q)),H=w6(q),V=r80(X,Q,this._languageConfigurationService);if(V!==null&&V&2)H=Y.unshiftIndent(H);let K=nX(H,Z),j=nX(U,Z);return K-j}}return null}matchEnterRuleMovingDown(X,Y,Z,Q,$,q){if(T5(q)>=0){let G=X.getLineMaxColumn($),U=yQ(this._autoIndent,X,new T($,G,$,G),this._languageConfigurationService);return this.parseEnterResult(X,Y,Z,Q,U)}else{let G=Q-1;while(G>=1){let V=X.getLineContent(G);if(T5(V)>=0)break;G--}if(G<1||Q>X.getLineCount())return null;let U=X.getLineMaxColumn(G),H=yQ(this._autoIndent,X,new T(G,U,G,U),this._languageConfigurationService);return this.parseEnterResult(X,Y,Z,Q,H)}}matchEnterRule(X,Y,Z,Q,$,q){let G=$;while(G>=1){let V;if(G===$&&q!==void 0)V=q;else V=X.getLineContent(G);if(T5(V)>=0)break;G--}if(G<1||Q>X.getLineCount())return null;let U=X.getLineMaxColumn(G),H=yQ(this._autoIndent,X,new T(G,U,G,U),this._languageConfigurationService);return this.parseEnterResult(X,Y,Z,Q,H)}trimStart(X){return X.replace(/^\\s+/,\"\")}shouldAutoIndent(X,Y){if(this._autoIndent<4)return!1;if(!X.tokenization.isCheapToTokenize(Y.startLineNumber))return!1;let Z=X.getLanguageIdAtPosition(Y.startLineNumber,1),Q=X.getLanguageIdAtPosition(Y.endLineNumber,1);if(Z!==Q)return!1;if(this._languageConfigurationService.getLanguageConfiguration(Z).indentRulesSupport===null)return!1;return!0}getIndentEditsOfMovingBlock(X,Y,Z,Q,$,q){for(let G=Z.startLineNumber;G<=Z.endLineNumber;G++){let U=X.getLineContent(G),H=w6(U),K=nX(H,Q)+q,j=WI(K,Q,$);if(j!==H){if(Y.addEditOperation(new T(G,1,G,H.length+1),j),G===Z.endLineNumber&&Z.endColumn<=H.length+1&&j===\"\")this._moveEndLineSelectionShrink=!0}}}computeCursorState(X,Y){let Z=Y.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown)Z=Z.setEndPosition(Z.endLineNumber+1,1);if(this._moveEndLineSelectionShrink&&Z.startLineNumber<Z.endLineNumber)Z=Z.setEndPosition(Z.endLineNumber,2);return Z}};zI=Lw0([Iw0(3,u6)],zI);class IA{static{this._COLLATOR=IY.Collator()}constructor(J,X){this.selection=J,this.descending=X,this.selectionId=null}getEditOperations(J,X){let Y=kw0(J,this.selection,this.descending);if(Y)X.addEditOperation(Y.range,Y.text);this.selectionId=X.trackSelection(this.selection)}computeCursorState(J,X){return X.getTrackedSelection(this.selectionId)}static canRun(J,X,Y){if(J===null)return!1;let Z=d30(J,X,Y);if(!Z)return!1;for(let Q=0,$=Z.before.length;Q<$;Q++)if(Z.before[Q]!==Z.after[Q])return!0;return!1}}function d30(J,X,Y){let{startLineNumber:Z,endLineNumber:Q}=X;if(X.endColumn===1)Q--;if(Z>=Q)return null;let $=[];for(let G=Z;G<=Q;G++)$.push(J.getLineContent(G));let q=$.slice(0);if(q.sort(IA._COLLATOR.value.compare),Y===!0)q=q.reverse();return{startLineNumber:Z,endLineNumber:Q,before:$,after:q}}function kw0(J,X,Y){let Z=d30(J,X,Y);if(!Z)return null;return e6.replace(new T(Z.startLineNumber,1,Z.endLineNumber,J.getLineMaxColumn(Z.endLineNumber)),Z.after.join(`\n`))}class rc extends U1{constructor(J,X){super(X);this.down=J}run(J,X){if(!X.hasModel())return;let Y=X.getSelections().map(($,q)=>({selection:$,index:q,ignore:!1}));Y.sort(($,q)=>T.compareRangesUsingStarts($.selection,q.selection));let Z=Y[0];for(let $=1;$<Y.length;$++){let q=Y[$];if(Z.selection.endLineNumber===q.selection.startLineNumber)if(Z.index<q.index)q.ignore=!0;else Z.ignore=!0,Z=q}let Q=[];for(let $ of Y)Q.push(new jI($.selection,this.down,$.ignore));X.pushUndoStop(),X.executeCommands(this.id,Q),X.pushUndoStop()}}class l30 extends rc{constructor(){super(!1,{id:\"editor.action.copyLinesUpAction\",label:B0(1295,\"Copy Line Up\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"2_line\",title:F(1290,\"&&Copy Line Up\"),order:1},canTriggerInlineEdits:!0})}}class s30 extends rc{constructor(){super(!0,{id:\"editor.action.copyLinesDownAction\",label:B0(1296,\"Copy Line Down\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"2_line\",title:F(1291,\"Co&&py Line Down\"),order:2},canTriggerInlineEdits:!0})}}class a30 extends U1{constructor(){super({id:\"editor.action.duplicateSelection\",label:B0(1297,\"Duplicate Selection\"),precondition:g.writable,menuOpts:{menuId:b.MenubarSelectionMenu,group:\"2_line\",title:F(1292,\"&&Duplicate Selection\"),order:5},canTriggerInlineEdits:!0})}run(J,X,Y){if(!X.hasModel())return;let Z=[],Q=X.getSelections(),$=X.getModel();for(let q of Q)if(q.isEmpty())Z.push(new jI(q,!0));else{let G=new Y0(q.endLineNumber,q.endColumn,q.endLineNumber,q.endColumn);Z.push(new _S(G,$.getValueInRange(q)))}X.pushUndoStop(),X.executeCommands(this.id,Z),X.pushUndoStop()}}class oc extends U1{constructor(J,X){super(X);this.down=J}run(J,X){let Y=J.get(u6),Z=[],Q=X.getSelections()||[],$=X.getOption(16);for(let q of Q)Z.push(new zI(q,this.down,$,Y));X.pushUndoStop(),X.executeCommands(this.id,Z),X.pushUndoStop()}}class i30 extends oc{constructor(){super(!1,{id:\"editor.action.moveLinesUpAction\",label:B0(1298,\"Move Line Up\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"2_line\",title:F(1293,\"Mo&&ve Line Up\"),order:3},canTriggerInlineEdits:!0})}}class r30 extends oc{constructor(){super(!0,{id:\"editor.action.moveLinesDownAction\",label:B0(1299,\"Move Line Down\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:b.MenubarSelectionMenu,group:\"2_line\",title:F(1294,\"Move &&Line Down\"),order:4},canTriggerInlineEdits:!0})}}class nc extends U1{constructor(J,X){super(X);this.descending=J}run(J,X){if(!X.hasModel())return;let Y=X.getModel(),Z=X.getSelections();if(Z.length===1&&Z[0].isSingleLine())Z=[new Y0(1,1,Y.getLineCount(),Y.getLineMaxColumn(Y.getLineCount()))];for(let $ of Z)if(!IA.canRun(X.getModel(),$,this.descending))return;let Q=[];for(let $=0,q=Z.length;$<q;$++)Q[$]=new IA(Z[$],this.descending);X.pushUndoStop(),X.executeCommands(this.id,Q),X.pushUndoStop()}}class o30 extends nc{constructor(){super(!1,{id:\"editor.action.sortLinesAscending\",label:B0(1300,\"Sort Lines Ascending\"),precondition:g.writable,canTriggerInlineEdits:!0})}}class n30 extends nc{constructor(){super(!0,{id:\"editor.action.sortLinesDescending\",label:B0(1301,\"Sort Lines Descending\"),precondition:g.writable,canTriggerInlineEdits:!0})}}class t30 extends U1{constructor(){super({id:\"editor.action.removeDuplicateLines\",label:B0(1302,\"Delete Duplicate Lines\"),precondition:g.writable,canTriggerInlineEdits:!0})}run(J,X){if(!X.hasModel())return;let Y=X.getModel();if(Y.getLineCount()===1&&Y.getLineMaxColumn(1)===1)return;let Z=[],Q=[],$=0,q=!0,G=X.getSelections();if(G.length===1&&G[0].isSingleLine())G=[new Y0(1,1,Y.getLineCount(),Y.getLineMaxColumn(Y.getLineCount()))],q=!1;for(let U of G){let H=new Set,V=[];for(let z=U.startLineNumber;z<=U.endLineNumber;z++){let B=Y.getLineContent(z);if(H.has(B))continue;V.push(B),H.add(B)}let K=new Y0(U.startLineNumber,1,U.endLineNumber,Y.getLineMaxColumn(U.endLineNumber)),j=U.startLineNumber-$,W=new Y0(j,1,j+V.length-1,V[V.length-1].length+1);Z.push(e6.replace(K,V.join(`\n`))),Q.push(W),$+=U.endLineNumber-U.startLineNumber+1-V.length}X.pushUndoStop(),X.executeEdits(this.id,Z,q?Q:void 0),X.pushUndoStop()}}class e30 extends U1{constructor(){super({id:\"editor.action.reverseLines\",label:B0(1303,\"Reverse lines\"),precondition:g.writable,canTriggerInlineEdits:!0})}run(J,X){if(!X.hasModel())return;let Y=X.getModel(),Z=X.getSelections(),Q=Z;if(Q.length===1&&Q[0].isSingleLine())Q=[new Y0(1,1,Y.getLineCount(),Y.getLineMaxColumn(Y.getLineCount()))];let $=[],q=[];for(let G=0;G<Q.length;G++){let U=Q[G],H=Z[G],V=U.endLineNumber;if(U.startLineNumber<U.endLineNumber&&U.endColumn===1)V--;let K=new T(U.startLineNumber,1,V,Y.getLineMaxColumn(V));if(V===Y.getLineCount()&&Y.getLineContent(K.endLineNumber)===\"\")K=K.setEndPosition(K.endLineNumber-1,Y.getLineMaxColumn(K.endLineNumber-1));let j=[];for(let P=K.endLineNumber;P>=K.startLineNumber;P--)j.push(Y.getLineContent(P));let W=e6.replace(K,j.join(`\n`));$.push(W);let z=function(P){return P<=K.endLineNumber?K.endLineNumber-P+K.startLineNumber:P},B=function(P){if(P.isEmpty())return new Y0(z(P.positionLineNumber),P.positionColumn,z(P.positionLineNumber),P.positionColumn);else{let _=z(P.selectionStartLineNumber),A=z(P.positionLineNumber),O=P.selectionStartColumn,D=P.positionColumn;return new Y0(_,O,A,D)}};q.push(B(H))}X.pushUndoStop(),X.executeEdits(this.id,$,q),X.pushUndoStop()}}class tc extends U1{static{this.ID=\"editor.action.trimTrailingWhitespace\"}constructor(){super({id:tc.ID,label:B0(1304,\"Trim Trailing Whitespace\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:H8(2089,2102),weight:100}})}run(J,X,Y){let Z=[];if(Y.reason===\"auto-save\")Z=(X.getSelections()||[]).map((H)=>new C(H.positionLineNumber,H.positionColumn));let Q=X.getSelection();if(Q===null)return;let $=J.get(o0),q=X.getModel(),G=$.getValue(\"files.trimTrailingWhitespaceInRegexAndStrings\",{overrideIdentifier:q?.getLanguageId(),resource:q?.uri}),U=new ic(Q,Z,G);X.pushUndoStop(),X.executeCommands(this.id,[U]),X.pushUndoStop()}}class Jq0 extends U1{constructor(){super({id:\"editor.action.deleteLines\",label:B0(1305,\"Delete Line\"),precondition:g.writable,kbOpts:{kbExpr:g.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(J,X){if(!X.hasModel())return;let Y=this._getLinesToRemove(X),Z=X.getModel();if(Z.getLineCount()===1&&Z.getLineMaxColumn(1)===1)return;let Q=0,$=[],q=[];for(let G=0,U=Y.length;G<U;G++){let H=Y[G],V=H.startLineNumber,K=H.endLineNumber,j=1,W=Z.getLineMaxColumn(K);if(K<Z.getLineCount())K+=1,W=1;else if(V>1)V-=1,j=Z.getLineMaxColumn(V);$.push(e6.replace(new Y0(V,j,K,W),\"\")),q.push(new Y0(V-Q,H.positionColumn,V-Q,H.positionColumn)),Q+=H.endLineNumber-H.startLineNumber+1}X.pushUndoStop(),X.executeEdits(this.id,$,q),X.revealAllCursors(!0),X.pushUndoStop()}_getLinesToRemove(J){let X=J.getSelections().map((Q)=>{let $=Q.endLineNumber;if(Q.startLineNumber<Q.endLineNumber&&Q.endColumn===1)$-=1;return{startLineNumber:Q.startLineNumber,selectionStartColumn:Q.selectionStartColumn,endLineNumber:$,positionColumn:Q.positionColumn}});X.sort((Q,$)=>{if(Q.startLineNumber===$.startLineNumber)return Q.endLineNumber-$.endLineNumber;return Q.startLineNumber-$.startLineNumber});let Y=[],Z=X[0];for(let Q=1;Q<X.length;Q++)if(Z.endLineNumber+1>=X[Q].startLineNumber)Z.endLineNumber=X[Q].endLineNumber;else Y.push(Z),Z=X[Q];return Y.push(Z),Y}}class Xq0 extends U1{constructor(){super({id:\"editor.action.indentLines\",label:B0(1306,\"Indent Line\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(J,X){let Y=X._getViewModel();if(!Y)return;X.pushUndoStop(),X.executeCommands(this.id,cJ.indent(Y.cursorConfig,X.getModel(),X.getSelections())),X.pushUndoStop()}}class Yq0 extends U1{constructor(){super({id:\"editor.action.outdentLines\",label:B0(1307,\"Outdent Line\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(J,X){pR.Outdent.runEditorCommand(J,X,null)}}class ec extends U1{static{this.ID=\"editor.action.insertLineBefore\"}constructor(){super({id:ec.ID,label:B0(1308,\"Insert Line Above\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(J,X){let Y=X._getViewModel();if(!Y)return;X.pushUndoStop(),X.executeCommands(this.id,C2.lineInsertBefore(Y.cursorConfig,X.getModel(),X.getSelections()))}}class Jd extends U1{static{this.ID=\"editor.action.insertLineAfter\"}constructor(){super({id:Jd.ID,label:B0(1309,\"Insert Line Below\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(J,X){let Y=X._getViewModel();if(!Y)return;X.pushUndoStop(),X.executeCommands(this.id,C2.lineInsertAfter(Y.cursorConfig,X.getModel(),X.getSelections()))}}class Xd extends U1{run(J,X){if(!X.hasModel())return;let Y=X.getSelection(),Z=this._getRangesToDelete(X),Q=[];for(let G=0,U=Z.length-1;G<U;G++){let H=Z[G],V=Z[G+1];if(T.intersectRanges(H,V)===null)Q.push(H);else Z[G+1]=T.plusRange(H,V)}Q.push(Z[Z.length-1]);let $=this._getEndCursorState(Y,Q),q=Q.map((G)=>{return e6.replace(G,\"\")});X.pushUndoStop(),X.executeEdits(this.id,q,$),X.pushUndoStop()}}class Zq0 extends Xd{constructor(){super({id:\"deleteAllLeft\",label:B0(1310,\"Delete All Left\"),precondition:g.writable,kbOpts:{kbExpr:g.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(J,X){let Y=null,Z=[],Q=0;if(X.forEach(($)=>{let q;if($.endColumn===1&&Q>0){let G=$.startLineNumber-Q;q=new Y0(G,$.startColumn,G,$.startColumn)}else q=new Y0($.startLineNumber,$.startColumn,$.startLineNumber,$.startColumn);if(Q+=$.endLineNumber-$.startLineNumber,$.intersectRanges(J))Y=q;else Z.push(q)}),Y)Z.unshift(Y);return Z}_getRangesToDelete(J){let X=J.getSelections();if(X===null)return[];let Y=X,Z=J.getModel();if(Z===null)return[];return Y.sort(T.compareRangesUsingStarts),Y=Y.map((Q)=>{if(Q.isEmpty())if(Q.startColumn===1){let $=Math.max(1,Q.startLineNumber-1),q=Q.startLineNumber===1?1:Z.getLineLength($)+1;return new T($,q,Q.startLineNumber,1)}else return new T(Q.startLineNumber,1,Q.startLineNumber,Q.startColumn);else return new T(Q.startLineNumber,1,Q.endLineNumber,Q.endColumn)}),Y}}class Qq0 extends Xd{constructor(){super({id:\"deleteAllRight\",label:B0(1311,\"Delete All Right\"),precondition:g.writable,kbOpts:{kbExpr:g.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(J,X){let Y=null,Z=[];for(let Q=0,$=X.length,q=0;Q<$;Q++){let G=X[Q],U=new Y0(G.startLineNumber-q,G.startColumn,G.startLineNumber-q,G.startColumn);if(G.intersectRanges(J))Y=U;else Z.push(U)}if(Y)Z.unshift(Y);return Z}_getRangesToDelete(J){let X=J.getModel();if(X===null)return[];let Y=J.getSelections();if(Y===null)return[];let Z=Y.map((Q)=>{if(Q.isEmpty()){let $=X.getLineMaxColumn(Q.startLineNumber);if(Q.startColumn===$)return new T(Q.startLineNumber,Q.startColumn,Q.startLineNumber+1,1);else return new T(Q.startLineNumber,Q.startColumn,Q.startLineNumber,$)}return Q});return Z.sort(T.compareRangesUsingStarts),Z}}class $q0 extends U1{constructor(){super({id:\"editor.action.joinLines\",label:B0(1312,\"Join Lines\"),precondition:g.writable,kbOpts:{kbExpr:g.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(J,X){let Y=X.getSelections();if(Y===null)return;let Z=X.getSelection();if(Z===null)return;Y.sort(T.compareRangesUsingStarts);let Q=[],$=Y.reduce((K,j)=>{if(K.isEmpty()){if(K.endLineNumber===j.startLineNumber){if(Z.equalsSelection(K))Z=j;return j}if(j.startLineNumber>K.endLineNumber+1)return Q.push(K),j;else return new Y0(K.startLineNumber,K.startColumn,j.endLineNumber,j.endColumn)}else if(j.startLineNumber>K.endLineNumber)return Q.push(K),j;else return new Y0(K.startLineNumber,K.startColumn,j.endLineNumber,j.endColumn)});Q.push($);let q=X.getModel();if(q===null)return;let G=[],U=[],H=Z,V=0;for(let K=0,j=Q.length;K<j;K++){let W=Q[K],z=W.startLineNumber,B=1,P=0,_,A,O=q.getLineLength(W.endLineNumber)-W.endColumn;if(W.isEmpty()||W.startLineNumber===W.endLineNumber){let N=W.getStartPosition();if(N.lineNumber<q.getLineCount())_=z+1,A=q.getLineMaxColumn(_);else _=N.lineNumber,A=q.getLineMaxColumn(N.lineNumber)}else _=W.endLineNumber,A=q.getLineMaxColumn(_);let D=q.getLineContent(z);for(let N=z+1;N<=_;N++){let w=q.getLineContent(N),k=q.getLineFirstNonWhitespaceColumn(N);if(k>=1){let I=!0;if(D===\"\")I=!1;if(I&&(D.charAt(D.length-1)===\" \"||D.charAt(D.length-1)===\"\\t\"))I=!1,D=D.replace(/[\\s\\uFEFF\\xA0]+$/g,\" \");let S=w.substr(k-1);if(D+=(I?\" \":\"\")+S,I)P=S.length+1;else P=S.length}else P=0}let R=new T(z,1,_,A);if(!R.isEmpty()){let N;if(W.isEmpty())G.push(e6.replace(R,D)),N=new Y0(R.startLineNumber-V,D.length-P+1,z-V,D.length-P+1);else if(W.startLineNumber===W.endLineNumber)G.push(e6.replace(R,D)),N=new Y0(W.startLineNumber-V,W.startColumn,W.endLineNumber-V,W.endColumn);else G.push(e6.replace(R,D)),N=new Y0(W.startLineNumber-V,W.startColumn,W.startLineNumber-V,D.length-O);if(T.intersectRanges(R,Z)!==null)H=N;else U.push(N)}V+=R.endLineNumber-R.startLineNumber}U.unshift(H),X.pushUndoStop(),X.executeEdits(this.id,G,U),X.pushUndoStop()}}class qq0 extends U1{constructor(){super({id:\"editor.action.transpose\",label:B0(1313,\"Transpose Characters around the Cursor\"),precondition:g.writable,canTriggerInlineEdits:!0})}run(J,X){let Y=X.getSelections();if(Y===null)return;let Z=X.getModel();if(Z===null)return;let Q=[];for(let $=0,q=Y.length;$<q;$++){let G=Y[$];if(!G.isEmpty())continue;let U=G.getStartPosition(),H=Z.getLineMaxColumn(U.lineNumber);if(U.column>=H){if(U.lineNumber===Z.getLineCount())continue;let V=new T(U.lineNumber,Math.max(1,U.column-1),U.lineNumber+1,1),K=Z.getValueInRange(V).split(\"\").reverse().join(\"\");Q.push(new w8(new Y0(U.lineNumber,Math.max(1,U.column-1),U.lineNumber+1,1),K))}else{let V=new T(U.lineNumber,Math.max(1,U.column-1),U.lineNumber,U.column+1),K=Z.getValueInRange(V).split(\"\").reverse().join(\"\");Q.push(new RG(V,K,new Y0(U.lineNumber,U.column+1,U.lineNumber,U.column+1)))}}X.pushUndoStop(),X.executeCommands(this.id,Q),X.pushUndoStop()}}class T3 extends U1{run(J,X){let Y=X.getSelections();if(Y===null)return;let Z=X.getModel();if(Z===null)return;let Q=X.getOption(148),$=[];for(let q of Y)if(q.isEmpty()){let G=q.getStartPosition(),U=X.getConfiguredWordAtPosition(G);if(!U)continue;let H=new T(G.lineNumber,U.startColumn,G.lineNumber,U.endColumn),V=Z.getValueInRange(H);$.push(e6.replace(H,this._modifyText(V,Q)))}else{let G=Z.getValueInRange(q);$.push(e6.replace(q,this._modifyText(G,Q)))}X.pushUndoStop(),X.executeEdits(this.id,$),X.pushUndoStop()}}class Gq0 extends T3{constructor(){super({id:\"editor.action.transformToUppercase\",label:B0(1314,\"Transform to Uppercase\"),precondition:g.writable,canTriggerInlineEdits:!0})}_modifyText(J,X){return J.toLocaleUpperCase()}}class Uq0 extends T3{constructor(){super({id:\"editor.action.transformToLowercase\",label:B0(1315,\"Transform to Lowercase\"),precondition:g.writable,canTriggerInlineEdits:!0})}_modifyText(J,X){return J.toLocaleLowerCase()}}class YJ{constructor(J,X){this._pattern=J,this._flags=X,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(J){}}return this._actual}isSupported(){return this.get()!==null}}class FI extends T3{static{this.titleBoundary=new YJ(\"(^|[^\\\\p{L}\\\\p{N}']|((^|\\\\P{L})'))\\\\p{L}\",\"gmu\")}constructor(){super({id:\"editor.action.transformToTitlecase\",label:B0(1316,\"Transform to Title Case\"),precondition:g.writable,canTriggerInlineEdits:!0})}_modifyText(J,X){let Y=FI.titleBoundary.get();if(!Y)return J;return J.toLocaleLowerCase().replace(Y,(Z)=>Z.toLocaleUpperCase())}}class gj extends T3{static{this.caseBoundary=new YJ(\"(\\\\p{Ll})(\\\\p{Lu})\",\"gmu\")}static{this.singleLetters=new YJ(\"(\\\\p{Lu}|\\\\p{N})(\\\\p{Lu})(\\\\p{Ll})\",\"gmu\")}constructor(){super({id:\"editor.action.transformToSnakecase\",label:B0(1317,\"Transform to Snake Case\"),precondition:g.writable,canTriggerInlineEdits:!0})}_modifyText(J,X){let Y=gj.caseBoundary.get(),Z=gj.singleLetters.get();if(!Y||!Z)return J;return J.replace(Y,\"$1_$2\").replace(Z,\"$1_$2$3\").toLocaleLowerCase()}}class kU extends T3{static{this.singleLineWordBoundary=new YJ(\"[_\\\\s-]+\",\"gm\")}static{this.multiLineWordBoundary=new YJ(\"[_-]+\",\"gm\")}static{this.validWordStart=new YJ(\"^(\\\\p{Lu}[^\\\\p{Lu}])\",\"gmu\")}constructor(){super({id:\"editor.action.transformToCamelcase\",label:B0(1318,\"Transform to Camel Case\"),precondition:g.writable,canTriggerInlineEdits:!0})}_modifyText(J,X){let Y=/\\r\\n|\\r|\\n/.test(J)?kU.multiLineWordBoundary.get():kU.singleLineWordBoundary.get(),Z=kU.validWordStart.get();if(!Y||!Z)return J;let Q=J.split(Y);return Q.shift()?.replace(Z,(q)=>q.toLocaleLowerCase())+Q.map((q)=>q.substring(0,1).toLocaleUpperCase()+q.substring(1)).join(\"\")}}class pj extends T3{static{this.wordBoundary=new YJ(\"[_ \\\\t-]\",\"gm\")}static{this.wordBoundaryToMaintain=new YJ(\"(?<=\\\\.)\",\"gm\")}static{this.upperCaseWordMatcher=new YJ(\"^\\\\p{Lu}+$\",\"mu\")}constructor(){super({id:\"editor.action.transformToPascalcase\",label:B0(1319,\"Transform to Pascal Case\"),precondition:g.writable,canTriggerInlineEdits:!0})}_modifyText(J,X){let Y=pj.wordBoundary.get(),Z=pj.wordBoundaryToMaintain.get(),Q=pj.upperCaseWordMatcher.get();if(!Y||!Z||!Q)return J;return J.split(Z).map((G)=>G.split(Y)).flat().map((G)=>{let U=G.charAt(0).toLocaleUpperCase()+G.slice(1);if(U.length>1&&Q.test(U))return U.charAt(0)+U.slice(1).toLocaleLowerCase();return U}).join(\"\")}}class mj extends T3{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((X)=>X.isSupported())}static{this.caseBoundary=new YJ(\"(\\\\p{Ll})(\\\\p{Lu})\",\"gmu\")}static{this.singleLetters=new YJ(\"(\\\\p{Lu}|\\\\p{N})(\\\\p{Lu}\\\\p{Ll})\",\"gmu\")}static{this.underscoreBoundary=new YJ(\"(\\\\S)(_)(\\\\S)\",\"gm\")}constructor(){super({id:\"editor.action.transformToKebabcase\",label:B0(1320,\"Transform to Kebab Case\"),precondition:g.writable,canTriggerInlineEdits:!0})}_modifyText(J,X){let Y=mj.caseBoundary.get(),Z=mj.singleLetters.get(),Q=mj.underscoreBoundary.get();if(!Y||!Z||!Q)return J;return J.replace(Q,\"$1-$3\").replace(Y,\"$1-$2\").replace(Z,\"$1-$2\").toLocaleLowerCase()}}y0(l30);y0(s30);y0(a30);y0(i30);y0(r30);y0(o30);y0(n30);y0(t30);y0(tc);y0(Jq0);y0(Xq0);y0(Yq0);y0(ec);y0(Jd);y0(Zq0);y0(Qq0);y0($q0);y0(qq0);y0(Gq0);y0(Uq0);y0(e30);if(gj.caseBoundary.isSupported()&&gj.singleLetters.isSupported())y0(gj);if(kU.singleLineWordBoundary.isSupported()&&kU.multiLineWordBoundary.isSupported())y0(kU);if(pj.wordBoundary.isSupported())y0(pj);if(FI.titleBoundary.isSupported())y0(FI);if(mj.isSupported())y0(mj);class Yd extends H7{constructor(J){super(J);this._inSelectionMode=J.inSelectionMode,this._wordNavigationType=J.wordNavigationType}runEditorCommand(J,X,Y){if(!X.hasModel())return;let Z=V7(X.getOption(148),X.getOption(147)),Q=X.getModel(),$=X.getSelections(),q=$.length>1,G=$.map((U)=>{let H=new C(U.positionLineNumber,U.positionColumn),V=this._move(Z,Q,H,this._wordNavigationType,q);return this._moveTo(U,V,this._inSelectionMode)});if(Q.pushStackElement(),X._getViewModel().setCursorStates(\"moveWordCommand\",3,G.map((U)=>l0.fromModelSelection(U))),G.length===1){let U=new C(G[0].positionLineNumber,G[0].positionColumn);X.revealPosition(U,0)}}_moveTo(J,X,Y){if(Y)return new Y0(J.selectionStartLineNumber,J.selectionStartColumn,X.lineNumber,X.column);else return new Y0(X.lineNumber,X.column,X.lineNumber,X.column)}}class U$ extends Yd{_move(J,X,Y,Z,Q){return J6.moveWordLeft(J,X,Y,Z,Q)}}class H$ extends Yd{_move(J,X,Y,Z,Q){return J6.moveWordRight(J,X,Y,Z)}}class Hq0 extends U${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordStartLeft\",precondition:void 0})}}class Vq0 extends U${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:\"cursorWordEndLeft\",precondition:void 0})}}class Kq0 extends U${constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:\"cursorWordLeft\",precondition:void 0,kbOpts:{kbExpr:P0.and(g.textInputFocus,P0.and(UG,F_)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}class jq0 extends U${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordStartLeftSelect\",precondition:void 0})}}class Wq0 extends U${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:\"cursorWordEndLeftSelect\",precondition:void 0})}}class zq0 extends U${constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:\"cursorWordLeftSelect\",precondition:void 0,kbOpts:{kbExpr:P0.and(g.textInputFocus,P0.and(UG,F_)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Fq0 extends U${constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:\"cursorWordAccessibilityLeft\",precondition:void 0})}_move(J,X,Y,Z,Q){return super._move(V7(I8.wordSeparators.defaultValue,J.intlSegmenterLocales),X,Y,Z,Q)}}class Bq0 extends U${constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:\"cursorWordAccessibilityLeftSelect\",precondition:void 0})}_move(J,X,Y,Z,Q){return super._move(V7(I8.wordSeparators.defaultValue,J.intlSegmenterLocales),X,Y,Z,Q)}}class _q0 extends H${constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:\"cursorWordStartRight\",precondition:void 0})}}class Aq0 extends H${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:\"cursorWordEndRight\",precondition:void 0,kbOpts:{kbExpr:P0.and(g.textInputFocus,P0.and(UG,F_)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}class Pq0 extends H${constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:\"cursorWordRight\",precondition:void 0})}}class Dq0 extends H${constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:\"cursorWordStartRightSelect\",precondition:void 0})}}class Oq0 extends H${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:\"cursorWordEndRightSelect\",precondition:void 0,kbOpts:{kbExpr:P0.and(g.textInputFocus,P0.and(UG,F_)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class Mq0 extends H${constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:\"cursorWordRightSelect\",precondition:void 0})}}class Rq0 extends H${constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:\"cursorWordAccessibilityRight\",precondition:void 0})}_move(J,X,Y,Z,Q){return super._move(V7(I8.wordSeparators.defaultValue,J.intlSegmenterLocales),X,Y,Z,Q)}}class Nq0 extends H${constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:\"cursorWordAccessibilityRightSelect\",precondition:void 0})}_move(J,X,Y,Z,Q){return super._move(V7(I8.wordSeparators.defaultValue,J.intlSegmenterLocales),X,Y,Z,Q)}}class Zd extends H7{constructor(J){super({canTriggerInlineEdits:!0,...J});this._whitespaceHeuristics=J.whitespaceHeuristics,this._wordNavigationType=J.wordNavigationType}runEditorCommand(J,X,Y){let Z=J?.get(u6);if(!X.hasModel()||!Z)return;let Q=V7(X.getOption(148),X.getOption(147)),$=X.getModel(),q=X.getSelections(),G=X.getOption(10),U=X.getOption(15),H=Z.getLanguageConfiguration($.getLanguageId()).getAutoClosingPairs(),V=X._getViewModel(),K=q.map((j)=>{let W=this._delete({wordSeparators:Q,model:$,selection:j,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:X.getOption(13),autoClosingBrackets:G,autoClosingQuotes:U,autoClosingPairs:H,autoClosedCharacters:V.getCursorAutoClosedCharacters()},this._wordNavigationType);return new w8(W,\"\")});X.pushUndoStop(),X.executeCommands(this.id,K),X.pushUndoStop()}}class BI extends Zd{_delete(J,X){let Y=J6.deleteWordLeft(J,X);if(Y)return Y;return new T(1,1,1,1)}}class _I extends Zd{_delete(J,X){let Y=J6.deleteWordRight(J,X);if(Y)return Y;let Z=J.model.getLineCount(),Q=J.model.getLineMaxColumn(Z);return new T(Z,Q,Z,Q)}}class wq0 extends BI{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:\"deleteWordStartLeft\",precondition:g.writable})}}class Tq0 extends BI{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:\"deleteWordEndLeft\",precondition:g.writable})}}class Lq0 extends BI{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:\"deleteWordLeft\",precondition:g.writable,kbOpts:{kbExpr:g.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class Iq0 extends _I{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:\"deleteWordStartRight\",precondition:g.writable})}}class kq0 extends _I{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:\"deleteWordEndRight\",precondition:g.writable})}}class Eq0 extends _I{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:\"deleteWordRight\",precondition:g.writable,kbOpts:{kbExpr:g.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class yq0 extends U1{constructor(){super({id:\"deleteInsideWord\",precondition:g.writable,label:B0(1628,\"Delete Word\"),metadata:{description:B0(1629,\"Delete the word at the cursor\"),args:[{name:\"args\",schema:{type:\"object\",properties:{onlyWord:{type:\"boolean\",default:!1,description:F(1627,\"Delete only the word and leave surrounding whitespace\")}}}}]}})}run(J,X,Y){if(!X.hasModel())return;let Z=!!(Y&&typeof Y===\"object\"&&Y.onlyWord),Q=V7(X.getOption(148),X.getOption(147)),$=X.getModel(),G=X.getSelections().map((U)=>{let H=J6.deleteInsideWord(Q,$,U,Z);return new w8(H,\"\")});X.pushUndoStop(),X.executeCommands(this.id,G),X.pushUndoStop()}}O0(new Hq0);O0(new Vq0);O0(new Kq0);O0(new jq0);O0(new Wq0);O0(new zq0);O0(new _q0);O0(new Aq0);O0(new Pq0);O0(new Dq0);O0(new Oq0);O0(new Mq0);O0(new Fq0);O0(new Bq0);O0(new Rq0);O0(new Nq0);O0(new wq0);O0(new Tq0);O0(new Lq0);O0(new Iq0);O0(new kq0);O0(new Eq0);y0(yq0);var xq0={},Qd={};class $d{static getOrCreate(J){if(!Qd[J])Qd[J]=new $d(J);return Qd[J]}constructor(J){this._languageId=J,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((X,Y)=>{this._lazyLoadPromiseResolve=X,this._lazyLoadPromiseReject=Y})}load(){if(!this._loadingTriggered)this._loadingTriggered=!0,xq0[this._languageId].loader().then((J)=>this._lazyLoadPromiseResolve(J),(J)=>this._lazyLoadPromiseReject(J));return this._lazyLoadPromise}}function bq0(J){let X=J.id;xq0[X]=J,UA.register(J);let Y=$d.getOrCreate(X);UA.registerTokensProviderFactory(X,{create:async()=>{return(await Y.load()).language}}),UA.onLanguageEncountered(X,async()=>{let Z=await Y.load();UA.setLanguageConfiguration(X,Z.conf)})}bq0({id:\"markdown\",extensions:[\".md\",\".markdown\",\".mdown\",\".mkdn\",\".mkd\",\".mdwn\",\".mdtxt\",\".mdtext\"],aliases:[\"Markdown\",\"markdown\"],loader:()=>Promise.resolve().then(() => (Sq0(),Cq0))});self.MonacoEnvironment={getWorker:()=>new Worker(URL.createObjectURL(new Blob([\"self.onmessage = () => {}\"],{type:\"text/javascript\"})))};Ej.defineTheme(\"shine-dark\",{base:\"vs-dark\",inherit:!0,rules:[],colors:{\"editor.background\":\"#1e1e1e\",\"editor.lineNumber.foreground\":\"#858585\"}});function qd({value:J,onChange:X,readOnly:Y}){let Z=_7(null),Q=_7(null),$=_7(X);return $.current=X,Q6(()=>{let q=Z.current;if(!q)return;let G=Ej.create(q,{value:J,language:\"markdown\",theme:\"shine-dark\",readOnly:Y??!1,minimap:{enabled:!1},fontSize:13,lineHeight:20,wordWrap:\"on\",scrollBeyondLastLine:!1,automaticLayout:!1,scrollbar:{verticalScrollbarSize:10,horizontalScrollbarSize:10},padding:{top:8,bottom:8}});Q.current=G;let U=G.onDidChangeModelContent(()=>$.current(G.getValue())),H=new ResizeObserver(()=>G.layout());return H.observe(q),()=>{H.disconnect(),U.dispose(),G.dispose(),Q.current=null}},[]),Q6(()=>{let q=Q.current;if(q&&q.getValue()!==J)q.setValue(J)},[J]),Q6(()=>{Q.current?.updateOptions({readOnly:Y??!1})},[Y]),L(\"div\",{ref:Z,style:{flex:1,minHeight:0,height:\"100%\"}})}function fq0({original:J,modified:X}){let Y=_7(null),Z=_7(null);return Q6(()=>{let Q=Y.current;if(!Q)return;let $=Ej.createDiffEditor(Q,{theme:\"shine-dark\",readOnly:!0,renderSideBySide:!0,minimap:{enabled:!1},fontSize:13,lineHeight:20,scrollBeyondLastLine:!1,automaticLayout:!1,scrollbar:{verticalScrollbarSize:10,horizontalScrollbarSize:10},padding:{top:8,bottom:8}});Z.current=$;let q=new ResizeObserver(()=>$.layout());return q.observe(Q),()=>{q.disconnect(),$.dispose(),Z.current=null}},[]),Q6(()=>{let Q=Z.current;if(!Q)return;let $=Ej.createModel(J,\"markdown\"),q=Ej.createModel(X,\"markdown\");return Q.setModel({original:$,modified:q}),()=>{$.dispose(),q.dispose()}},[J,X]),L(\"div\",{ref:Y,style:{flex:1,minHeight:0,height:\"100%\"}})}var xw0={background:\"#4f8cff\",color:\"#fff\",border:\"none\",borderRadius:4,padding:\"0.45rem 1.2rem\",fontSize:\"var(--fs-sm)\",fontWeight:600,cursor:\"pointer\"};function Gd(J){let X=new Date(J),Y=(Z)=>String(Z).padStart(2,\"0\");return`${X.getFullYear()}-${Y(X.getMonth()+1)}-${Y(X.getDate())} ${Y(X.getHours())}:${Y(X.getMinutes())}`}function bw0({value:J,options:X,onPick:Y}){let[Z,Q]=F0(!1),$=_7(null);Q6(()=>{if(!Z)return;let G=(H)=>{if($.current&&!$.current.contains(H.target))Q(!1)},U=(H)=>{if(H.key===\"Escape\")Q(!1)};return document.addEventListener(\"mousedown\",G),document.addEventListener(\"keydown\",U),()=>{document.removeEventListener(\"mousedown\",G),document.removeEventListener(\"keydown\",U)}},[Z]);let q=X.find((G)=>`${G.version}@${G.savedAt}`===J);return m(\"div\",{ref:$,style:{position:\"relative\"},children:[m(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>Q(!Z),title:\"切换保存点(同版本留最近 20 次快照)\",style:{display:\"inline-flex\",alignItems:\"center\",gap:6},children:[L(\"span\",{style:{fontSize:\"var(--fs-xs)\"},children:\"\\uD83D\\uDD58\"}),L(\"span\",{style:{fontSize:\"var(--fs-xs)\"},children:q?`v${q.version} · ${Gd(q.savedAt)}`:\"保存点\"}),L(\"span\",{style:{fontSize:9,color:\"var(--muted)\",transform:Z?\"rotate(180deg)\":\"none\",transition:\"transform .15s\"},children:\"▼\"})]}),Z&&L(\"div\",{className:\"snap-menu\",children:X.map((G,U)=>{let H=`${G.version}@${G.savedAt}`;return m(\"button\",{type:\"button\",className:`snap-item${H===J?\" sel\":\"\"}`,onClick:()=>{Q(!1),Y(G.version,G.savedAt)},children:[m(\"span\",{className:\"snap-ver\",children:[\"v\",G.version]}),L(\"span\",{children:Gd(G.savedAt)}),U===0&&L(\"span\",{className:\"snap-badge\",children:\"最新\"})]},H)})})]})}function hq0(){let{token:J}=m6(),X=w5(J),Y=location.origin,[Z,Q]=F0(null),[$,q]=F0(null),[G,U]=F0(null),[H,V]=F0(\"\"),[K,j]=F0(\"\"),[W,z]=F0(0),[B,P]=F0(!1),[_,A]=F0(!1),[O,D]=F0(!1),[R,N]=F0(null),[w,k]=F0(\"live\"),[I,S]=F0(null),[h,u]=F0(null),[p,s]=F0(null),[l,n]=F0(0),[X0,V0]=F0(\"\"),[e,L0]=F0(!1),[k0,N0]=F0(null),[u0,z1]=F0(!1),[F1,e0]=F0(null),[v6,q1]=F0(null),C5=n5(()=>{return X(\"/api/skills\").then((S0)=>{Q(S0),q(null)}).catch((S0)=>q(S0 instanceof Error?S0.message:\"加载失败(旧 daemon 无此接口,升级后可用)\"))},[X]);Q6(()=>{C5()},[C5]),Q6(()=>{if(G==null&&Z?.files.length)yU(Z.files[0].rel)},[Z]);let Z6=H!==K,r5=I?.find((S0)=>S0.rel===h)??null,EU=r5?.versions[0]!=null&&r5.versions[0].version===p&&r5.versions[0].savedAt===l,tX=u0&&F1!=null&&F1.rel===h?`对比中:左 = 此备份 · 右 = 实时磁盘${r5?.stale?\",有差异(见高亮)\":\",与最新备份一致\"}`:EU?r5?.stale?\"已被覆盖(未生效)\":\"与磁盘一致\":\"历史快照\",uj=async(S0)=>{try{let p1=await X(`/api/skills/file?path=${encodeURIComponent(S0)}`);U(S0),V(p1.content),j(p1.content),z(p1.mtimeMs),P(!1),N(null)}catch{N({kind:\"err\",text:\"读取失败\"})}},yU=(S0)=>{if(G===S0)return;if(Z6){N0({title:\"放弃未保存的修改?\",body:`当前「${G?.split(\"/\")[0]}」有未保存的修改,切换后将丢失。`,okText:\"放弃修改\",danger:!0,onOk:()=>void uj(S0)});return}uj(S0)},xU=async(S0)=>{if(G==null)return;A(!0),N(null);try{let p1={path:G,content:H};if(!S0)p1.baseMtimeMs=W;let P6=await fetch(Y+\"/api/skills/file\",{method:\"PUT\",headers:{Authorization:\"Bearer \"+J,\"content-type\":\"application/json\"},body:JSON.stringify(p1)});if(P6.status===409){A(!1),N0({title:\"文件已被外部修改\",body:\"「\"+(G?.split(\"/\")[0]??\"\")+\"」在编辑期间被其他标签页/外部程序修改过,仍要用当前内容覆盖?\",okText:\"覆盖\",danger:!0,onOk:()=>void xU(!0)});return}if(!P6.ok){let JX=await P6.json().catch(()=>({}));throw Error(JX.error??String(P6.status))}let a7=await P6.json();j(H),z(a7.mtimeMs),e0(null),N({kind:\"ok\",text:`已保存到 v${a7.version} 目录;/reload-skills 后生效`}),setTimeout(()=>N(null),2500),C5()}catch(p1){N({kind:\"err\",text:p1 instanceof Error?p1.message:\"保存失败\"})}finally{A(!1)}},cj=async(S0,p1,P6,a7=\"live\")=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(S0);else{let wZ=document.createElement(\"textarea\");wZ.value=S0,wZ.style.position=\"fixed\",wZ.style.opacity=\"0\",document.body.appendChild(wZ),wZ.select();let sj=document.execCommand(\"copy\");if(document.body.removeChild(wZ),!sj)throw Error(\"execCommand copy failed\")}let JX=a7===\"edits\"?q1:N;JX({kind:\"ok\",text:p1}),setTimeout(()=>JX(null),2500)}catch{(a7===\"edits\"?q1:N)({kind:\"err\",text:P6})}},eX=()=>cj(H,\"已复制——可粘贴回仓库 skills/ 随下版发布\",\"复制失败,请手动全选复制\"),L3=()=>{if(G==null)return;N0({title:\"确认重置?\",body:`将把「${G.split(\"/\")[0]}」恢复到首次编辑前的原始内容,当前修改会丢失。`,okText:\"重置\",danger:!0,onOk:()=>void RZ()})},RZ=async()=>{if(G==null)return;D(!0),N(null);try{let S0=await fetch(Y+\"/api/skills/reset\",{method:\"POST\",headers:{Authorization:\"Bearer \"+J,\"content-type\":\"application/json\"},body:JSON.stringify({path:G})}),p1=await S0.json().catch(()=>({}));if(!S0.ok)throw Error(p1.error??String(S0.status));let P6=await X(`/api/skills/file?path=${encodeURIComponent(G)}`);V(P6.content),j(P6.content),z(P6.mtimeMs),e0(null),N({kind:\"ok\",text:\"已重置到首次编辑前的原始内容\"}),setTimeout(()=>N(null),2500),C5()}catch(S0){N({kind:\"err\",text:S0 instanceof Error?S0.message:\"重置失败\"})}finally{D(!1)}},I3=n5(()=>{return X(\"/api/skills/edits\").then((S0)=>S(S0.edits)).catch(()=>S([]))},[X]);Q6(()=>{if(w===\"edits\")I3()},[w,I3]),Q6(()=>{if(w===\"edits\"&&h==null&&I?.length)k3(I[0].rel)},[w,I]);let k3=async(S0,p1,P6)=>{q1(null);try{let a7=`rel=${encodeURIComponent(S0)}`+(p1?`&version=${encodeURIComponent(p1)}`:\"\")+(P6?`&savedAt=${P6}`:\"\"),JX=await X(`/api/skills/edit?${a7}`);if(u(S0),s(JX.version),n(JX.savedAt),V0(JX.content),u0&&F1?.rel!==S0)NZ(S0)}catch{q1({kind:\"err\",text:\"读取备份失败\"})}},NZ=async(S0)=>{try{let p1=await X(`/api/skills/file?path=${encodeURIComponent(S0)}`);return e0({rel:S0,content:p1.content}),!0}catch{return q1({kind:\"err\",text:\"实时目录中已无此文件(新版已删除?),无法对比\"}),!1}},bU=async()=>{if(h==null)return;if(u0){z1(!1);return}if(!F1||F1.rel!==h){if(!await NZ(h))return}z1(!0)},CU=()=>{if(h==null||p==null)return;N0({title:\"确认恢复到实时?\",body:`将把「${h.split(\"/\")[0]}」v${p}${l?` · ${Gd(l)}`:\"\"} 的快照写回执行目录,立即写回磁盘(/reload-skills 后生效)。当前磁盘内容(可能是升级后的新版)会被覆盖;恢复本身也会落一条新备份,可再次「重置」。`+(Z6?\"⚠ 实时视图当前有未保存的修改,恢复后将被丢弃。\":\"\"),okText:\"恢复\",onOk:()=>void kA()})},kA=async()=>{if(h==null||p==null)return;L0(!0),q1(null);try{let S0=await fetch(Y+\"/api/skills/restore\",{method:\"POST\",headers:{Authorization:\"Bearer \"+J,\"content-type\":\"application/json\"},body:JSON.stringify({path:h,version:p,savedAt:l||void 0})}),p1=await S0.json().catch(()=>({}));if(!S0.ok)throw Error(p1.error??String(S0.status));await Promise.all([C5(),I3()]);let P6=await X(`/api/skills/file?path=${encodeURIComponent(h)}`);U(h),V(P6.content),j(P6.content),z(P6.mtimeMs),P(!1),e0(null),z1(!1),k(\"live\"),N({kind:\"ok\",text:`已把 v${p1.restoredFrom??p} 的备份写回 ${h},立即写回磁盘(/reload-skills 后生效)`}),setTimeout(()=>N(null),3500)}catch(S0){q1({kind:\"err\",text:S0 instanceof Error?S0.message:\"恢复失败\"})}finally{L0(!1)}},EA=()=>cj(X0,\"已复制备份内容\",\"复制失败,请手动全选复制\",\"edits\");Q6(()=>{let S0=(p1)=>{if((p1.ctrlKey||p1.metaKey)&&p1.key.toLowerCase()===\"s\"){if(p1.preventDefault(),w===\"live\"&&G&&Z6&&!_)xU(!1)}};return window.addEventListener(\"keydown\",S0),()=>window.removeEventListener(\"keydown\",S0)},[w,G,Z6,_,H,W]);let dj=(S0,p1)=>{let P6=new Blob([S0],{type:\"text/plain;charset=utf-8\"}),a7=document.createElement(\"a\");a7.href=URL.createObjectURL(P6),a7.download=p1.split(\"/\").pop()??\"skill.md\",a7.click(),URL.revokeObjectURL(a7.href)},lj=()=>{if(G==null)return;dj(H,G)};if($)return m(\"div\",{className:\"stats-view\",children:[L(\"div\",{className:\"panel-header\",children:L(\"h2\",{children:\"Skills\"})}),L(\"div\",{className:\"stats-body\",children:L(\"div\",{className:\"sum-empty\",children:$})})]});return m(R6,{children:[k0&&L(\"div\",{style:{position:\"fixed\",inset:0,background:\"rgba(0,0,0,0.55)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:1000},onClick:()=>N0(null),children:m(\"div\",{style:{background:\"var(--titlebar)\",color:\"var(--text)\",border:\"1px solid var(--border-light)\",borderRadius:8,padding:\"20px 24px\",maxWidth:420,boxShadow:\"0 20px 60px rgba(0,0,0,0.45)\"},onClick:(S0)=>S0.stopPropagation(),children:[L(\"div\",{style:{fontSize:14,fontWeight:700,marginBottom:8},children:k0.title}),L(\"div\",{style:{fontSize:13,color:\"var(--muted)\",marginBottom:18,lineHeight:1.5},children:k0.body}),m(\"div\",{style:{display:\"flex\",gap:8,justifyContent:\"flex-end\"},children:[L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>N0(null),children:\"取消\"}),L(\"button\",{type:\"button\",className:\"tool-btn\",style:k0.danger?{background:\"#ef4444\",borderColor:\"#ef4444\",color:\"#fff\"}:{background:\"#4f8cff\",borderColor:\"#4f8cff\",color:\"#fff\"},onClick:()=>{let S0=k0;N0(null),S0.onOk()},children:k0.okText})]})]})}),m(\"div\",{className:\"stats-view\",children:[m(\"div\",{className:\"panel-header\",children:[L(\"h2\",{children:\"Skills\"}),Z&&m(\"span\",{className:\"field-hint\",style:{padding:0},title:\"插件 skills 不在 Claude Code 自动热重载范围内(官方仅 watch ~/.claude/skills、项目 .claude/skills 与 --add-dir 三处),SKILL.md 改动在已开会话跑 /reload-skills 重载(或重进会话);skill 的 scripts 每次从磁盘执行、即时生效\",children:[\"v\",Z.version,\" · \",Z.files.length,\" 个文件 · \",Z.root,\" · 编辑 SKILL.md 后 /reload-skills 生效\"]})]}),L(\"div\",{className:\"stats-body\",children:m(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"0.5rem\",minHeight:0,height:\"100%\"},children:[m(\"div\",{style:{display:\"flex\",gap:2,flex:\"0 0 auto\",borderBottom:\"1px solid var(--border)\"},children:[L(\"button\",{type:\"button\",className:`tab${w===\"live\"?\" active\":\"\"}`,onClick:()=>k(\"live\"),children:\"实时 skills\"}),m(\"button\",{type:\"button\",className:`tab${w===\"edits\"?\" active\":\"\"}`,onClick:()=>k(\"edits\"),children:[\"备份 skills\",I?.length?` (${I.length})`:\"\"]})]}),w===\"edits\"?m(R6,{children:[L(\"div\",{className:\"skill-tabs\",children:L(\"div\",{className:\"skill-tab-scroll\",children:I==null?null:I.map((S0)=>m(\"button\",{type:\"button\",className:`tab${h===S0.rel?\" active\":\"\"}`,onClick:()=>void k3(S0.rel),title:`${S0.rel} · ${S0.versions.length} 份备份(最新 v${S0.versions[0]?.version??\"?\"})`,children:[S0.stale&&L(\"span\",{className:\"skill-dot\",title:\"执行目录与最新备份不一致\",children:\"●\"}),S0.rel.split(\"/\")[0],m(\"span\",{style:{color:\"var(--muted)\",fontSize:\"var(--fs-xs)\"},children:[\"v\",S0.versions[0]?.version??\"?\"]})]},S0.rel))})}),h!=null&&m(\"div\",{className:\"skill-edit-bar\",children:[r5!=null&&r5.versions.length>1&&L(bw0,{value:p&&l?`${p}@${l}`:\"\",options:r5.versions,onPick:(S0,p1)=>void k3(h,S0,p1)}),L(\"span\",{className:\"field-hint\",style:{padding:0,whiteSpace:\"nowrap\"},children:tX}),v6&&L(\"span\",{className:v6.kind===\"ok\"?\"field-ok\":\"field-err\",style:{fontSize:\"var(--fs-xs)\"},children:v6.text}),m(\"div\",{className:\"skill-edit-actions\",children:[L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>void bU(),title:\"左=此备份,右=执行目录实时内容,差异高亮——升级后搬改动用\",children:u0?\"退出对比\":\"⇄ 对比实时\"}),L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>void EA(),title:\"复制备份全文,可切回「实时 skills」粘贴\",children:\"复制\"}),L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>h&&dj(X0,h),children:\"下载\"}),L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>void CU(),disabled:e,title:\"把这份备份写回执行目录(立即写回磁盘、/reload-skills 后生效,当前磁盘内容被覆盖;恢复本身也落新备份)\",style:{background:\"#4f8cff\",color:\"#fff\",borderColor:\"#4f8cff\"},children:e?\"恢复中…\":\"⬇ 恢复到实时\"})]})]}),I==null?L(\"div\",{className:\"sum-empty\",style:{flex:1},children:\"加载中…\"}):I.length===0?L(\"div\",{className:\"sum-empty\",style:{flex:1},children:\"暂无修改记录——在「实时 skills」编辑保存后,这里会出现备份。\"}):h==null?L(\"div\",{className:\"sum-empty\",style:{flex:1},children:\"点击上方文件查看备份内容(只读)。\"}):u0&&F1!=null&&F1.rel===h?L(\"div\",{style:{flex:1,minHeight:0,borderRadius:4,border:\"1px solid rgba(127,127,127,0.35)\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\"},children:L(fq0,{original:X0,modified:F1.content})}):L(\"div\",{style:{flex:1,minHeight:0,borderRadius:4,border:\"1px solid rgba(127,127,127,0.35)\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\"},children:L(qd,{value:X0,onChange:()=>{},readOnly:!0})})]}):m(R6,{children:[m(\"div\",{className:\"skill-tabs\",children:[L(\"div\",{className:\"skill-tab-scroll\",children:Z==null?null:Z.files.map((S0)=>m(\"button\",{type:\"button\",className:`tab${G===S0.rel?\" active\":\"\"}`,onClick:()=>void yU(S0.rel),title:`${S0.rel}${S0.useCount?` · 近7天调用 ${S0.useCount} 次`:\"\"}`,children:[S0.rel.split(\"/\")[0],G===S0.rel&&Z6&&L(\"span\",{className:\"skill-dot\",children:\"*\"})]},S0.rel))}),G!=null&&m(\"div\",{className:\"skill-actions\",children:[R&&L(\"span\",{className:R.kind===\"ok\"?\"field-ok\":\"field-err\",style:{fontSize:\"var(--fs-xs)\"},children:R.text}),L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>P(!B),children:B?\"编辑\":\"预览\"}),L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:()=>void eX(),title:\"复制全文,可粘贴回仓库 skills/ 随下版发布\",children:\"复制\"}),L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:lj,children:\"下载\"}),L(\"button\",{type:\"button\",className:\"tool-btn\",onClick:L3,disabled:O,title:\"恢复到首次编辑前的原始内容\",children:O?\"重置中…\":\"重置\"}),L(\"button\",{type:\"button\",onClick:()=>void xU(!1),disabled:_||!Z6,title:\"保存落盘即时;/reload-skills 后 skill 内容生效\",style:{...xw0,cursor:_||!Z6?\"default\":\"pointer\",opacity:!Z6||_?0.5:1},children:_?\"保存中…\":\"\\uD83D\\uDCBE 保存\"})]})]}),Z==null?L(\"div\",{className:\"sum-empty\",style:{flex:1},children:\"加载中…\"}):G==null?L(\"div\",{className:\"sum-empty\",style:{flex:1},children:\"点击上方 tab 编辑对应 SKILL.md;旧编辑可在「备份 skills」里查看与恢复。\"}):B?L(\"div\",{className:\"sum-section\",style:{overflowY:\"auto\",flex:1,minHeight:0},children:L(Zz,{src:H})}):L(\"div\",{style:{flex:1,minHeight:0,borderRadius:4,border:\"1px solid rgba(127,127,127,0.35)\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\"},children:L(qd,{value:H,onChange:V})})]})]})})]})]})}function Cw0(){let{activeModule:J}=m6();switch(J){case\"overview\":return L(Ey,{});case\"sessions\":return L(Cr,{});case\"report\":return L(hr,{});case\"settings\":return L(vr,{});case\"zentao\":return L(pr,{});case\"daily\":return L(mr,{});case\"weekly\":return L(ur,{});case\"skills\":return L(hq0,{});case\"system\":return L(cr,{});default:return L(Ey,{})}}function Sw0(){let{navCollapsed:J}=m6();return m(R6,{children:[L($r,{}),m(\"div\",{className:\"body-middle\",children:[L(\"aside\",{id:\"nav-panel\",className:`panel${J?\" collapsed\":\"\"}`,children:L(qr,{})}),L(\"section\",{id:\"events-panel\",className:\"panel\",children:L(Cw0,{})})]})]})}function vq0({token:J}){return L(ei,{token:J,children:L(Sw0,{})})}var gq0=\"shine_worklog_token\";function fw0(){let J=new URLSearchParams(location.search).get(\"t\");if(J)return sessionStorage.setItem(gq0,J),history.replaceState(null,\"\",location.pathname),J;return sessionStorage.getItem(gq0)}var pq0=fw0(),mq0=document.getElementById(\"root\");if(!pq0)mq0.innerHTML='<div style=\"padding:2rem;font-family:sans-serif;color:#ccc;background:#0f1115;min-height:100vh\">'+\"缺少 token。请通过 <code>shine-worklog ui</code> 命令打开。</div>\";else uq0.createRoot(mq0).render(L(II,{children:L(vq0,{token:pq0})}));\n";
export const STYLE_CSS = ":root {\n  /* VS Code Dark+ 配色 */\n  --bg: #1e1e1e;\n  --sidebar: #252526;\n  --titlebar: #323233;\n  --border: #2d2d2d;\n  --border-light: #3c3c3c;\n  --text: #dcdcdc;\n  --muted: #a8a8a8;\n  --accent: #0e639c;\n  --accent-hover: #1177bb;\n  --accent-line: #007acc;\n  --selected: #04395e;\n  --hover: #2a2d2e;\n  --err: #f48771;\n  --c-session: #4ec9b0;\n  --c-prompt: #569cd6;\n  --c-posttool: #c586c0;\n  --c-pretool: #ce9178;\n  --nav-w: 98px;\n  --tree-w: 200px;\n  --footer-h: 170px;\n  /* 设计 token：间距 / 字号 / 圆角 / 图标尺寸 */\n  --space-1: 0.25rem;\n  --space-2: 0.5rem;\n  --space-3: 0.8rem;\n  --space-4: 1.15rem;\n  --fs-xs: 11px;\n  --fs-sm: 12px;\n  --fs-base: 13px;\n  --fs-md: 14px;\n  --fs-lg: 15px;\n  --radius-sm: 3px;\n  --radius-md: 6px;\n  --radius-lg: 10px;\n  --icon: 16px;\n  /* 状态徽章配色 */\n  --ok: #4ec9b0;\n  --warn: #dcdcaa;\n  --err-bg: rgba(244, 135, 113, 0.14);\n  --warn-bg: rgba(220, 220, 170, 0.12);\n  --ok-bg: rgba(78, 201, 176, 0.12);\n}\n\n* { box-sizing: border-box; }\nhtml, body { margin: 0; height: 100%; }\nbody {\n  background: var(--bg);\n  color: var(--text);\n  font-family: -apple-system, \"Segoe UI\", \"Windows Sans Serif\", sans-serif;\n  font-size: 13px;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n}\n/* React 挂在 #root：必须让它占满 body 并成为 flex column 容器，\n   否则 Header/.body-middle/LogPanel 的 flex 链从顶层断裂 → 内容撑出 body 被 overflow:hidden 裁掉、滚不动、splitter 拖拽无效。*/\n#root { display: flex; flex-direction: column; height: 100%; min-height: 0; }\n\nheader {\n  flex: 0 0 36px;\n  display: flex;\n  align-items: center;\n  gap: var(--space-3);\n  padding: 0 var(--space-3);\n  background: var(--titlebar);\n  border-bottom: 1px solid var(--border);\n}\nheader .title {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  font-weight: 600;\n  font-size: var(--fs-sm);\n  letter-spacing: 0.3px;\n  color: var(--text);\n}\nheader .title .icon { color: var(--c-session); }\n.view-toggles { display: flex; gap: var(--space-1); }\n.toggle-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background: transparent;\n  color: var(--muted);\n  border: 1px solid transparent;\n  border-radius: var(--radius-sm);\n  width: 24px;\n  height: 24px;\n  padding: 0;\n  cursor: pointer;\n}\n.toggle-btn:hover { background: var(--hover); color: var(--text); }\n.toggle-btn.active { color: var(--accent-line); border-color: var(--border-light); }\n.toggle-btn:focus-visible { outline: 2px solid var(--accent-line); outline-offset: 1px; }\n\n/* 图标基类 */\n.icon { display: inline-block; vertical-align: middle; flex: 0 0 auto; }\nbutton .icon, .tab .icon, .card-trigger .icon { display: block; }\n\n/* 顶栏右侧运行状态：核心指标常驻 + 次要指标 hover/focus popover */\n.status {\n  margin-left: auto;\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  color: var(--muted);\n  font-size: var(--fs-xs);\n}\n.status > span { white-space: nowrap; }\n.st-ver { color: var(--muted); font-variant-numeric: tabular-nums; }\n.st-rate { display: inline-flex; align-items: center; gap: 4px; color: var(--ok); font-variant-numeric: tabular-nums; }\n.st-rate .icon { color: inherit; }\n.st-tokens { color: #9dbefe; font-variant-numeric: tabular-nums; white-space: nowrap; }\n.st-dot.connecting { color: var(--warn); }\n\n/* 徽章 */\n.badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 1px 7px;\n  border-radius: 999px;\n  font-size: var(--fs-xs);\n  font-weight: 600;\n  line-height: 1.5;\n  border: 1px solid transparent;\n}\n.badge.err { color: var(--err); background: var(--err-bg); border-color: rgba(244, 135, 113, 0.4); }\n.badge.warn { color: var(--warn); background: var(--warn-bg); border-color: rgba(220, 220, 170, 0.35); }\n.badge.ok { color: var(--ok); background: var(--ok-bg); border-color: rgba(78, 201, 176, 0.35); }\n\n/* 运行详情 popover（纯 CSS hover/focus 显隐）*/\n.status-detail { position: relative; display: inline-flex; color: var(--muted); cursor: help; }\n.status-detail:focus { outline: none; }\n.status-detail:focus-visible .icon { color: var(--accent-line); }\n.status-detail .popover {\n  display: none;\n  position: absolute;\n  top: calc(100% + 6px);\n  right: 0;\n  z-index: 50;\n  min-width: 196px;\n  padding: var(--space-2) var(--space-3);\n  background: #2a2a2b;\n  border: 1px solid var(--border-light);\n  border-radius: var(--radius-md);\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);\n  font-size: var(--fs-xs);\n  color: var(--text);\n  cursor: default;\n}\n.status-detail:hover .popover,\n.status-detail:focus-within .popover { display: block; }\n.pop-row { display: flex; justify-content: space-between; gap: var(--space-2); padding: 2px 0; }\n.pop-row span { color: var(--muted); }\n.pop-row b { font-weight: 500; font-variant-numeric: tabular-nums; }\n.pop-err { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--border); color: var(--err); word-break: break-word; }\n\n.body-middle { flex: 1; display: flex; flex-direction: row; min-height: 0; }\n\n.panel { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--bg); }\n.panel-header { flex: 0 0 auto; padding: 0.45rem 0.8rem; border-bottom: 1px solid var(--border); }\nh2 {\n  margin: 0;\n  font-size: 11px;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: var(--muted);\n}\nul { list-style: none; margin: 0; padding: 0; }\n\n/* 固定宽度而非 flex: 0 0 auto：basis auto 取 content max-content，\n   超长会话触发大规模 reflow 时 Chromium 会重算 nav-item padding 导致 content 收缩，\n   进而让整个导航栏/会话树左移错位。固定值消除对 reflow 的依赖。 */\n#nav-panel { flex: 0 0 var(--nav-w); background: var(--sidebar); overflow: hidden; border-right: 1px solid var(--border); }\n#sessions-panel ul { flex: 1; overflow: auto; }\n#events-panel { flex: 1 1 0; overflow: hidden; }\n\n.splitter { flex: 0 0 4px; background: var(--border); position: relative; z-index: 5; transition: background 0.1s; }\n.splitter:hover, .splitter.dragging { background: var(--accent-line); }\n.splitter-v { cursor: col-resize; width: 4px; height: 100%; }\n.splitter-h { cursor: row-resize; height: 4px; width: 100%; }\n.splitter.hidden { display: none; }\n#nav-panel.collapsed { flex: 0 0 48px !important; overflow: hidden; border: 0; }\n\n/* 左侧模块导航 */\n.side-nav {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  padding: 0.4rem 0;\n}\n.nav-list { list-style: none; margin: 0; padding: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }\n.nav-item {\n  display: flex;\n  align-items: center;\n  gap: 0.7rem;\n  padding: 0.5rem 0.9rem;\n  margin: 0 0.4rem;\n  border: none;\n  border-left: 2px solid transparent;\n  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;\n  background: transparent;\n  color: var(--muted);\n  font-size: var(--fs-sm);\n  cursor: pointer;\n  text-align: left;\n  white-space: nowrap;\n  overflow: hidden;\n}\n.nav-item:hover { background: var(--hover); color: var(--text); }\n.nav-item.active { color: var(--text); border-left-color: var(--accent-line); background: var(--selected); }\n.nav-item .icon { color: inherit; flex: 0 0 auto; }\n.nav-label { overflow: hidden; text-overflow: ellipsis; }\n.nav-collapse {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin: 0 0.4rem;\n  padding: 0.4rem;\n  border: none;\n  background: transparent;\n  color: var(--muted);\n  cursor: pointer;\n  border-radius: var(--radius-sm);\n}\n.nav-collapse:hover { background: var(--hover); color: var(--text); }\n.side-nav .nav-collapse svg { transition: transform 0.15s; }\n.side-nav:not(.collapsed) .nav-collapse svg { transform: rotate(180deg); }\n/* 收起态：只显图标，标签隐藏，导航项居中 */\n.side-nav.collapsed .nav-label { display: none; }\n.side-nav.collapsed .nav-item { justify-content: center; padding: 0.5rem 0; margin: 0 0.2rem; }\n.side-nav.collapsed .nav-list { align-items: center; }\n#log-panel.collapsed { flex: 0 0 auto !important; }\n#log-panel.collapsed #log { display: none; }\n\n.session-tree { padding: 0.4rem 0; font-family: Consolas, \"Courier New\", monospace; font-size: 12px; }\n.session-tree .group { padding: 0; color: var(--text); }\n.session-tree .group-head {\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  padding: 0.3rem 0.8rem;\n  cursor: pointer;\n  user-select: none;\n}\n.session-tree .group-head:hover { background: var(--hover); }\n.session-tree .group-caret { flex: 0 0 auto; color: var(--muted); font-size: 10px; }\n.session-tree .group-cwd {\n  flex: 1 1 auto;\n  min-width: 0;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  font-family: Consolas, \"Courier New\", monospace;\n}\n.session-tree ul { padding-left: 0.8rem; }\n.session-tree li li {\n  display: flex;\n  flex-direction: column;\n  gap: 1px;\n  padding: 0.25rem 0.5rem;\n  border-radius: 3px;\n  cursor: pointer;\n  color: var(--muted);\n}\n.session-tree li li:hover { background: var(--hover); }\n.session-tree li li.active { background: var(--selected); color: var(--text); }\n.session-tree .sess-row { display: flex; align-items: baseline; gap: 0.4rem; min-width: 0; }\n.session-tree .sess-time { flex: 0 0 auto; color: var(--muted); font-size: 10px; }\n.session-tree .sess-sid { flex: 1 1 auto; min-width: 0; color: var(--text); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.session-tree .sess-sub { font-size: 10px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n/* 空状态 / 加载骨架 */\n.empty-state {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: var(--space-2);\n  min-height: 100%;\n  flex: 1;\n  padding: var(--space-4) var(--space-3);\n  color: var(--muted);\n  text-align: center;\n  font-size: var(--fs-sm);\n}\n.empty-state .icon { color: var(--border-light); }\n.empty-state .es-hint { color: var(--text); font-size: var(--fs-base); }\n.empty-state .es-sub { color: var(--muted); font-size: var(--fs-xs); }\n.skeleton {\n  background: linear-gradient(90deg, #2a2a2a 0%, #333 50%, #2a2a2a 100%);\n  background-size: 200% 100%;\n  animation: skel 1.3s ease-in-out infinite;\n  border-radius: var(--radius-sm);\n}\n.skel-bubble { height: 40px; width: 58%; border-radius: var(--radius-md); margin: 12px 0 12px auto; }\n.skel-block { height: 52px; width: 80%; border-radius: var(--radius-md); margin: 12px 0; }\n@keyframes skel { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }\n@media (prefers-reduced-motion: reduce) {\n  .skeleton { animation: none; background: #2a2a2a; }\n}\n\n/* toolbar + tabs */\n.toolbar {\n  flex: 0 0 auto;\n  display: flex;\n  align-items: center;\n  gap: var(--space-3);\n  padding: var(--space-2) var(--space-3);\n  border-bottom: 1px solid var(--border);\n  color: var(--muted);\n}\n.tabs { display: flex; gap: var(--space-1); }\n.tab {\n  background: transparent;\n  color: var(--muted);\n  border: none;\n  border-bottom: 2px solid transparent;\n  border-radius: 0;\n  padding: var(--space-1) 0.7rem;\n  font-size: var(--fs-sm);\n  cursor: pointer;\n}\n.tab.active { color: var(--text); border-bottom-color: var(--accent-line); }\n.tab:hover { background: var(--hover); }\n.report-toolbar .tab { width: 7rem; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.report-toolbar .tab-upload {\n  background: var(--accent-line);\n  color: #fff;\n  border-radius: 4px;\n  border-bottom: none;\n}\n.report-toolbar .tab-upload:hover { background: var(--accent-line); filter: brightness(1.12); }\n.report-toolbar .tab-upload:disabled { opacity: 0.6; cursor: default; }\n.report-toolbar .upload-slot { min-width: 9rem; display: inline-flex; align-items: center; }\n/* 顶栏手动更新按钮 */\n.hdr-update { display: flex; align-items: center; gap: var(--space-2); }\n.update-btn {\n  display: inline-flex; align-items: center; gap: 4px;\n  background: transparent; color: var(--muted);\n  border: 1px solid var(--border-light); border-radius: 4px;\n  padding: 2px var(--space-2); font-size: var(--fs-sm); cursor: pointer;\n  white-space: nowrap;\n}\n.update-btn:hover:not(:disabled) { background: var(--hover); color: var(--text); border-color: var(--border); }\n.update-btn:disabled { opacity: 0.6; cursor: default; }\n.update-btn .spin { display: inline-block; animation: sw-spin 0.8s linear infinite; }\n@keyframes sw-spin { to { transform: rotate(360deg); } }\n.update-msg {\n  font-size: var(--fs-sm); padding: 2px var(--space-2);\n  border-radius: 4px; border: 1px solid var(--border-light);\n  background: var(--hover); white-space: nowrap;\n}\n.update-msg.ok { color: #16a34a; border-color: #16a34a; }\n.update-msg.err { color: #ef4444; border-color: #ef4444; }\n.update-msg.info { color: var(--muted); }\n.icon-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background: transparent;\n  color: var(--muted);\n  border: 1px solid var(--border-light);\n  border-radius: var(--radius-sm);\n  width: 26px;\n  height: 26px;\n  padding: 0;\n  cursor: pointer;\n}\n.icon-btn:hover { background: var(--hover); color: var(--text); border-color: var(--accent-line); }\n.icon-btn:focus-visible { outline: 2px solid var(--accent-line); outline-offset: 1px; }\n.search-input {\n  background: var(--bg);\n  color: var(--text);\n  border: 1px solid var(--border-light);\n  border-radius: 3px;\n  padding: 0.2rem 0.5rem;\n  font-size: 12px;\n  flex: 1 1 auto;\n  min-width: 120px;\n  max-width: 360px;\n  outline: none;\n}\n.search-input:focus { border-color: var(--accent-line); }\n.search-input::placeholder { color: var(--muted); }\n.session-select {\n  background: var(--bg);\n  color: var(--text);\n  border: 1px solid var(--border-light);\n  border-radius: 3px;\n  padding: 0.2rem 0.4rem;\n  font-size: 12px;\n  flex: 0 1 auto;\n  max-width: 240px;\n  min-width: 120px;\n  outline: none;\n  cursor: pointer;\n}\n.session-select:focus { border-color: var(--accent-line); }\n\n/* 事件模块：左侧会话树 + 右侧事件流（两栏） */\n.events-with-tree { flex: 1; display: flex; flex-direction: row; min-height: 0; }\n.events-tree-panel { flex: 0 0 var(--tree-w); background: var(--sidebar); overflow: auto; }\n.events-main { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }\n/* 会话模块：同事件模块的两栏布局（左会话树 + 右对话） */\n.sessions-with-tree { flex: 1; display: flex; flex-direction: row; min-height: 0; }\n.sessions-tree-panel { flex: 0 0 var(--tree-w); background: var(--sidebar); overflow: auto; }\n.sessions-main { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }\n/* 会话树「全部」项（事件模块筛选用） */\n.session-tree .tree-all {\n  padding: 0.3rem 0.8rem;\n  color: var(--text);\n  cursor: pointer;\n  font-size: 12px;\n  border-bottom: 1px solid var(--border);\n}\n.session-tree .tree-all:hover { background: var(--hover); }\n.session-tree .tree-all.active { background: var(--selected); color: var(--text); }\n.search-count { padding: 0.3rem 0 0.5rem; color: var(--accent-line); font-size: 11px; }\n\n/* 视图容器：三视图常驻 DOM（keep-alive），切换只切 display，避免卸载/重挂导致的大批 DOM 重建闪烁 */\n.views { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; }\n.view { flex: 1 1 0; min-height: 0; display: none; flex-direction: column; }\n.view.active { display: flex; }\n\n/* 事件流 */\n.event-list { flex: 1; overflow: auto; font-family: Consolas, \"Courier New\", monospace; font-size: 11.5px; }\n.event-list li {\n  display: flex;\n  flex-direction: column;\n  border-bottom: 1px solid var(--border-light);\n  cursor: pointer;\n}\n.event-list li:hover { background: var(--hover); }\n.event-row {\n  display: grid;\n  grid-template-columns: 80px 116px 96px 1fr;\n  gap: 0.5rem;\n  padding: 0.12rem 0.7rem;\n  white-space: nowrap;\n}\n.event-list.filtered .event-row { grid-template-columns: 80px 116px 1fr; }\n.event-list.filtered .sess { display: none; }\n.event-list .ts { color: var(--muted); }\n.event-list .type { font-weight: 600; }\n.event-list .sess { color: var(--muted); }\n.event-list .summary { color: var(--text); overflow: hidden; text-overflow: ellipsis; }\n.event-list .SessionStart .type,\n.event-list .SessionEnd .type { color: var(--c-session); }\n.event-list .UserPromptSubmit .type { color: var(--c-prompt); }\n.event-list .PostToolUse .type { color: var(--c-posttool); }\n.event-list .PreToolUse .type { color: var(--c-pretool); }\n.event-detail {\n  display: none;\n  margin: 0.2rem 0.5rem 0.4rem;\n  padding: 0.5rem 0.7rem;\n  background: var(--sidebar);\n  border-left: 2px solid var(--accent);\n  font-family: -apple-system, \"Segoe UI\", sans-serif;\n  font-size: 12px;\n  color: var(--text);\n  max-height: 380px;\n  overflow: auto;\n}\n.event.open .event-detail { display: block; }\n.detail-section { margin-bottom: 0.55rem; }\n.detail-section:last-child { margin-bottom: 0; }\n.detail-label {\n  font-size: 10px;\n  font-weight: 700;\n  color: var(--accent);\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  margin-bottom: 0.25rem;\n}\n.detail-content { color: var(--text); }\n.detail-text {\n  white-space: pre-wrap;\n  word-break: break-word;\n  font-size: 12.5px;\n  line-height: 1.5;\n  color: #d4d4d4;\n}\n.detail-json {\n  white-space: pre-wrap;\n  word-break: break-word;\n  font-family: Consolas, \"Courier New\", monospace;\n  background: rgba(0, 0, 0, 0.3);\n  padding: 0.45rem 0.6rem;\n  border-radius: 3px;\n  font-size: 11.5px;\n  line-height: 1.45;\n  color: #cccccc;\n}\n.tool-name { color: var(--c-posttool); font-family: Consolas, monospace; }\n.j-key { color: #9cdcfe; }\n.j-str { color: #ce9178; }\n.j-num { color: #b5cea8; }\n.j-bool { color: #569cd6; }\n\n/* 对话视图（精修气泡式：用户右气泡 · 助手左流 + 角色头 · 卡片左色条）*/\n.conversation {\n  flex: 1; overflow: auto;\n  position: relative;\n  /* top 固定留给浮动的 conv-token-bar：无论 bar 显隐/数字变化，消息都从此处开始，不跳动 */\n  padding: 2.6rem 1.4rem 1.8rem;\n  font-size: 13.5px; line-height: 1.7;\n}\n.conversation .empty { color: var(--muted); padding: 2rem; text-align: center; }\n.msg-row { margin-bottom: 1rem; }\n\n/* 用户气泡：右侧，蓝调渐变 + 阴影，右下小圆角拟\"尾巴\" */\n.user-row { display: flex; justify-content: flex-end; }\n.user-row .bubble {\n  max-width: min(80%, 64ch);\n  background: linear-gradient(135deg, #2c4a7a, #27406e);\n  border: 1px solid rgba(120, 160, 220, 0.22);\n  color: #eaf0fb;\n  padding: 0.62rem 1rem;\n  border-radius: 14px 14px 4px 14px;\n  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n/* 助手：左侧流，顶部小角色头（◆ Claude · 时间）*/\n.assistant-row { display: flex; flex-direction: column; gap: 0.55rem; align-items: flex-start; }\n.role-head { display: flex; align-items: baseline; gap: 0.45rem; margin: 0.1rem 0 0; }\n.role-mark { color: var(--c-session); font-size: 11px; line-height: 1; }\n.role-name { color: var(--c-session); font-size: 11px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }\n.role-ts { color: var(--muted); font-size: 10.5px; }\n.assistant-text { padding: 0 !important; font-size: 14px; line-height: 1.72; max-width: 92%; }\n.assistant-text > *:first-child { margin-top: 0; }\n.assistant-text > *:last-child { margin-bottom: 0; }\n/* 卡片（工具/思考/结果）：圆角 + 阴影 + 左色条区分类型 */\n.tool-card, .think-card, .result-card {\n  border: 1px solid var(--border-light);\n  border-radius: 8px;\n  background: rgba(255, 255, 255, 0.022);\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);\n  overflow: hidden;\n  width: 100%;\n  align-self: stretch;\n  max-width: 92%;\n}\n.tool-card { border-left: 3px solid var(--c-posttool); }\n.think-card { border-left: 3px solid var(--c-pretool); }\n.result-card { border-left: 3px solid var(--muted); }\n.result-card.is-error { border-left-color: var(--err); }\n.card-trigger {\n  display: flex; align-items: center; gap: 0.5rem;\n  padding: 0.45rem 0.75rem; cursor: pointer; font-size: 12.5px;\n  user-select: none; color: var(--text); list-style: none;\n}\n.card-trigger::-webkit-details-marker { display: none; }\n.card-trigger:hover { background: rgba(255, 255, 255, 0.045); }\n.card-chev { flex: 0 0 auto; color: var(--muted); transition: transform 0.18s; font-size: 10px; }\n.tool-card[open] .card-chev, .think-card[open] .card-chev, .result-card[open] .card-chev { transform: rotate(90deg); }\n.tool-icon { flex: 0 0 auto; }\n.tool-title { flex: 0 0 auto; color: var(--text); font-weight: 600; }\n.tool-sub { flex: 1; min-width: 0; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: Consolas, \"Courier New\", monospace; font-size: 12px; }\n.tool-stat { flex: 0 0 auto; font-family: Consolas, \"Courier New\", monospace; font-size: 11px; white-space: nowrap; }\n.tool-stat .s-add { color: #9bcd97; }\n.tool-stat .s-del { color: #fc533a; }\n.think-label, .result-label { color: var(--muted); font-size: 12px; font-weight: 600; }\n.result-card.is-error .result-label { color: var(--err); }\n.tool-content { border-top: 1px solid var(--border-light); }\n.card-output {\n  margin: 0; padding: 0.55rem 0.8rem; background: #181818;\n  font-size: 11.5px; color: #ccc; max-height: 320px; overflow: auto;\n  white-space: pre-wrap; word-break: break-word; font-family: Consolas, \"Courier New\", monospace;\n}\n.think-body { padding: 0.6rem 0.85rem; font-size: 12.5px; color: var(--muted); border-top: 1px solid var(--border-light); line-height: 1.62; }\n.think-body > *:first-child { margin-top: 0; }\n.think-body > *:last-child { margin-bottom: 0; }\n.think-body p { margin: 0 0 0.4rem; }\n.think-body code { font-family: Consolas, \"Courier New\", monospace; background: rgba(0, 0, 0, 0.35); padding: 0.1rem 0.3rem; border-radius: 3px; font-size: 0.92em; }\n.think-body pre { background: #181818; padding: 0.5rem 0.7rem; border-radius: 5px; overflow: auto; margin: 0.35rem 0; }\n.think-body pre code { background: none; padding: 0; }\n/* diff（行级，+绿/-红、连续 context 折叠蓝色分隔条）*/\n.diff-block {\n  margin: 0; padding: 0.45rem 0; background: #181818;\n  font-family: Consolas, \"Courier New\", monospace; font-size: 11.5px; line-height: 1.6;\n  max-height: 440px; overflow: auto;\n}\n.diff-line { display: flex; gap: 0.4rem; padding: 0 0.6rem; white-space: pre-wrap; word-break: break-word; }\n.diff-line .diff-sign { flex: 0 0 auto; width: 0.8em; font-weight: 700; }\n.diff-line.add { background: rgba(155, 205, 151, 0.12); }\n.diff-line.add .diff-sign, .diff-line.add .diff-text { color: #9bcd97; }\n.diff-line.del { background: rgba(252, 83, 58, 0.10); }\n.diff-line.del .diff-sign, .diff-line.del .diff-text { color: #fc533a; }\n.diff-line.ctx .diff-text { color: var(--muted); }\n.diff-folds { padding: 0.25rem; color: #9dbefe; background: rgba(157, 190, 254, 0.07); font-size: 11px; text-align: center; }\n/* 助手正文 Markdown（.msg-text 由 assistant-text 复用：纯流式，无气泡底）*/\n.msg-text { word-break: break-word; font-size: 14px; line-height: 1.72; color: #d7d7d7; }\n.msg-text p { margin: 0 0 0.55rem; }\n.msg-text p:last-child { margin-bottom: 0; }\n.msg-text h1, .msg-text h2, .msg-text h3, .msg-text h4 { margin: 0.8rem 0 0.4rem; line-height: 1.3; font-weight: 600; color: #ececec; }\n.msg-text h1 { font-size: 1.3em; }\n.msg-text h2 { font-size: 1.18em; }\n.msg-text h3 { font-size: 1.06em; }\n.msg-text ul, .msg-text ol { margin: 0.4rem 0; padding-left: 1.5rem; }\n.msg-text li { margin: 0.18rem 0; }\n.msg-text code {\n  font-family: Consolas, \"Courier New\", monospace;\n  background: rgba(0, 0, 0, 0.38);\n  border: 1px solid var(--border-light);\n  padding: 0.08rem 0.32rem;\n  border-radius: 4px;\n  font-size: 0.88em;\n  color: #ce9178;\n}\n.msg-text pre {\n  background: #181818;\n  border: 1px solid var(--border-light);\n  border-radius: 6px;\n  padding: 0.65rem 0.85rem;\n  overflow: auto;\n  margin: 0.55rem 0;\n}\n.msg-text pre code { background: none; border: 0; padding: 0; font-size: 12.5px; color: #d4d4d4; }\n.msg-text table { border-collapse: collapse; margin: 0.5rem 0; font-size: 0.95em; }\n.msg-text th, .msg-text td { border: 1px solid var(--border-light); padding: 0.3rem 0.55rem; }\n.msg-text th { background: rgba(255, 255, 255, 0.05); font-weight: 600; }\n.msg-text blockquote {\n  border-left: 3px solid var(--accent-line);\n  padding: 0.1rem 0.2rem 0.1rem 0.75rem;\n  margin: 0.5rem 0;\n  color: var(--muted);\n}\n.msg-text blockquote p { margin: 0.15rem 0; }\n.msg-text strong { color: #f0f0f0; font-weight: 600; }\n.msg-text em { font-style: italic; }\n.msg-text a { color: var(--accent-line); text-decoration: none; }\n.msg-text a:hover { text-decoration: underline; }\n.msg-text hr { border: none; border-top: 1px solid var(--border-light); margin: 0.7rem 0; }\n/* 全局细滚动条（VS Code Dark+ 风格：透明轨道 · 圆角 thumb · hover/active 渐亮）\n   通配 * 覆盖所有可滚动区（事件流 / session 树 / 日志 / 对话 / 代码块 / diff …），避免漏配留原生滚动条 */\n*::-webkit-scrollbar { width: 10px; height: 10px; }\n*::-webkit-scrollbar-track,\n*::-webkit-scrollbar-corner { background: transparent; }\n*::-webkit-scrollbar-thumb {\n  background-color: #3a3a3a;\n  border-radius: 5px;\n  border: 2px solid transparent;\n  background-clip: content-box;\n  transition: background-color 0.15s ease;\n}\n*::-webkit-scrollbar-thumb:hover { background-color: #4f4f4f; }\n*::-webkit-scrollbar-thumb:active { background-color: var(--accent-line); }\n/* Firefox 回退（无 hover 态）*/\n* { scrollbar-width: thin; scrollbar-color: #3a3a3a transparent; }\n\n#log-panel { flex: 0 0 var(--footer-h); background: var(--sidebar); overflow: hidden; }\n#log {\n  flex: 1;\n  overflow: auto;\n  margin: 0;\n  padding: 0.5rem 0.8rem;\n  font-family: Consolas, \"Courier New\", monospace;\n  font-size: 12px;\n  color: var(--muted);\n  white-space: pre-wrap;\n}\n\n/* ===== token 角标 / 会话累计（对话视图 + session 树）===== */\n.role-tokens {\n  color: #9dbefe;\n  font-size: 10.5px;\n  font-family: Consolas, \"Courier New\", monospace;\n  font-variant-numeric: tabular-nums;\n}\n.conv-token-bar {\n  position: absolute;        /* 脱离文档流：显隐/更新数字都不推动消息内容，消除切换跳动 */\n  top: 0.5rem;\n  left: 1.4rem;\n  right: 1.4rem;\n  z-index: 3;\n  margin: 0;\n  padding: 0.4rem 0.7rem;\n  background: var(--sidebar);\n  border: 1px solid var(--border-light);\n  border-radius: var(--radius-md);\n  font-size: var(--fs-xs);\n  color: var(--muted);\n}\n.conv-token-bar b {\n  color: #9dbefe;\n  font-family: Consolas, \"Courier New\", monospace;\n  font-variant-numeric: tabular-nums;\n}\n.conv-token-cache { color: var(--muted); }\n.sess-tokens { color: #9dbefe; font-family: Consolas, \"Courier New\", monospace; font-variant-numeric: tabular-nums; flex: 0 0 auto; white-space: nowrap; }\n\n/* ===== 汇总视图（Token 按会话 + 提交按时间）===== */\n.summary-view {\n  flex: 1;\n  overflow: auto;\n  padding: 0.9rem 1.1rem 1.6rem;\n  display: flex;\n  flex-direction: column;\n  gap: 1.1rem;\n}\n.sum-section {\n  border: 1px solid var(--border-light);\n  border-radius: var(--radius-md);\n  background: rgba(255, 255, 255, 0.015);\n  overflow: hidden;\n}\n.sum-head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0.45rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  background: var(--sidebar);\n}\n.sum-head h3 { margin: 0; font-size: var(--fs-sm); color: var(--text); font-weight: 600; }\n.sum-total { font-size: var(--fs-xs); color: var(--muted); font-variant-numeric: tabular-nums; }\n.sum-empty { padding: 0.9rem 0.8rem; color: var(--muted); font-size: var(--fs-xs); }\n.sum-list { margin: 0; padding: 0.25rem 0; list-style: none; max-height: 340px; overflow: auto; }\n.sum-list li {\n  display: flex;\n  align-items: baseline;\n  gap: 0.6rem;\n  padding: 0.2rem 0.8rem;\n  font-size: var(--fs-xs);\n  color: var(--muted);\n  white-space: nowrap;\n}\n.sum-list li:hover { background: var(--hover); }\n.sum-ts { flex: 0 0 auto; color: var(--muted); font-family: Consolas, \"Courier New\", monospace; }\n.sum-cwd { color: var(--c-session); overflow: hidden; text-overflow: ellipsis; }\n.sum-tok { flex: 0 0 auto; color: #9dbefe; font-variant-numeric: tabular-nums; font-family: Consolas, \"Courier New\", monospace; }\n.sum-add { color: #9bcd97; font-variant-numeric: tabular-nums; flex: 0 0 auto; min-width: 3rem; text-align: right; }\n.sum-del { color: #fc533a; font-variant-numeric: tabular-nums; flex: 0 0 auto; min-width: 2.5rem; text-align: right; }\n.sum-subject { color: var(--text); overflow: hidden; text-overflow: ellipsis; }\n/* token 行：cwd 占中间伸缩，token 靠右 */\n.sum-token-list .sum-cwd { flex: 1 1 auto; min-width: 0; }\n/* 提交行：cwd 固定，subject 占中间伸缩 */\n.sum-commit-list .sum-cwd { flex: 0 1 auto; min-width: 0; }\n.sum-commit-list .sum-subject { flex: 1 1 auto; min-width: 0; }\n\n/* 会话详情（SessionsModule 选中会话后） */\n.session-detail { flex: 1; display: flex; flex-direction: column; min-height: 0; }\n.detail-head {\n  display: flex;\n  align-items: center;\n  gap: 0.6rem;\n  padding: 0.45rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n}\n.detail-back .icon { transform: rotate(180deg); }\n.detail-sid { font-family: Consolas, \"Courier New\", monospace; color: var(--text); font-size: var(--fs-sm); }\n.detail-cwd { color: var(--c-session); font-size: var(--fs-xs); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.detail-token { margin-left: auto; color: #9dbefe; font-variant-numeric: tabular-nums; font-size: var(--fs-xs); }\n.detail-tabs {\n  display: flex;\n  align-items: center;\n  gap: var(--space-2);\n  padding: 0 var(--space-3);\n  border-bottom: 1px solid var(--border);\n}\n.detail-search { max-width: 260px; }\n.detail-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }\n\n/* 概览首页（KPI 卡 + 近期活动） */\n.overview-view { flex: 1; overflow: auto; padding: 0.9rem 1.1rem 1.5rem; display: flex; flex-direction: column; gap: 1.1rem; }\n.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0.7rem; }\n.kpi-card {\n  display: flex;\n  flex-direction: column;\n  gap: 0.25rem;\n  padding: 0.7rem 0.9rem;\n  background: var(--sidebar);\n  border: 1px solid var(--border-light);\n  border-radius: var(--radius-md);\n}\n.kpi-label { color: var(--muted); font-size: var(--fs-xs); }\n.kpi-value { color: var(--text); font-size: 1.25rem; font-variant-numeric: tabular-nums; font-family: Consolas, \"Courier New\", monospace; }\n.tl-kind { flex: 0 0 auto; padding: 0 0.4rem; border-radius: var(--radius-sm); font-size: 10px; }\n.tl-kind.event { color: var(--c-posttool); background: rgba(197, 134, 192, 0.12); }\n.tl-kind.commit { color: #9bcd97; background: rgba(155, 205, 151, 0.12); }\n\n/* 统计模块（纯 CSS 条形，无图表库） */\n.stats-view { flex: 1; display: flex; flex-direction: column; min-height: 0; }\n.stats-body { flex: 1; overflow: auto; padding: 0.9rem 1.1rem 1.5rem; }\n.bar-list { padding: 0.5rem 0.8rem; display: flex; flex-direction: column; gap: 0.35rem; }\n.bar-row { display: flex; align-items: center; gap: 0.6rem; font-size: var(--fs-xs); }\n.bar-label { flex: 0 0 88px; color: var(--c-session); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.bar-list.day .bar-label { flex: 0 0 48px; color: var(--muted); font-family: Consolas, \"Courier New\", monospace; }\n.bar-track { flex: 1 1 auto; height: 14px; background: var(--bg); border-radius: 7px; overflow: hidden; min-width: 0; }\n.bar-fill { height: 100%; border-radius: 7px; min-width: 2px; transition: width 0.2s; }\n.bar-fill.tok { background: linear-gradient(90deg, #2c4a7a, #4a7ac4); }\n.bar-fill.commit { background: linear-gradient(90deg, #2d6a4f, #52b788); }\n.bar-val { flex: 0 0 auto; color: var(--muted); font-variant-numeric: tabular-nums; font-family: Consolas, \"Courier New\", monospace; }\n\n/* 系统模块（daemon 信息 + 日志尾 + 数据目录） */\n.system-view { flex: 1; overflow: auto; padding: 0.9rem 1.1rem 1.5rem; display: flex; flex-direction: column; gap: 1.1rem; }\n.sys-grid { padding: 0.3rem 0.8rem; display: flex; flex-direction: column; }\n.sys-row {\n  display: flex;\n  justify-content: space-between;\n  gap: 0.6rem;\n  padding: 0.3rem 0;\n  font-size: var(--fs-xs);\n  border-bottom: 1px solid var(--border);\n}\n.sys-row:last-child { border-bottom: none; }\n.sys-row span { color: var(--muted); flex: 0 0 auto; }\n.sys-row b {\n  color: var(--text);\n  font-variant-numeric: tabular-nums;\n  font-family: Consolas, \"Courier New\", monospace;\n  text-align: right;\n  word-break: break-all;\n}\n.sys-row.err b { color: var(--err); }\n.sys-log {\n  margin: 0;\n  padding: 0.6rem 0.8rem;\n  font-family: Consolas, \"Courier New\", monospace;\n  font-size: 11.5px;\n  line-height: 1.5;\n  color: var(--muted);\n  white-space: pre-wrap;\n  word-break: break-word;\n  max-height: 340px;\n  overflow: auto;\n}\n.sys-empty { padding: 0.7rem 0.8rem; color: var(--muted); font-size: var(--fs-xs); line-height: 1.6; }\n.sys-empty code { color: var(--c-session); font-family: Consolas, \"Courier New\", monospace; }\n\n/* ===== 提交视图（git log：时间 + +新增/-删除 + 说明 + 作者）===== */\n.commits-view {\n  flex: 1;\n  overflow: auto;\n  font-family: Consolas, \"Courier New\", monospace;\n  font-size: 11.5px;\n}\n.commit-list { list-style: none; margin: 0; padding: 0; }\n.commit {\n  display: flex;\n  flex-direction: column;\n  border-bottom: 1px solid var(--border-light);\n  cursor: pointer;\n}\n.commit:hover { background: var(--hover); }\n.commit-row {\n  display: grid;\n  grid-template-columns: 92px 50px 50px 1fr 96px;\n  gap: 0.5rem;\n  padding: 0.18rem 0.7rem;\n  white-space: nowrap;\n  align-items: baseline;\n}\n.commit-ts { color: var(--muted); }\n.commit-add { color: #9bcd97; text-align: right; }\n.commit-del { color: #fc533a; text-align: right; }\n.commit-subject { color: var(--text); overflow: hidden; text-overflow: ellipsis; }\n.commit-author { color: var(--muted); overflow: hidden; text-overflow: ellipsis; }\n.commit-files {\n  list-style: none;\n  margin: 0.15rem 0 0.4rem 0.7rem;\n  padding: 0.3rem 0.5rem;\n  background: var(--sidebar);\n  border-left: 2px solid var(--accent);\n  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;\n  max-height: 320px;\n  overflow: auto;\n}\n.commit-files li {\n  display: grid;\n  grid-template-columns: 46px 46px 1fr;\n  gap: 0.4rem;\n  padding: 0.1rem 0;\n  white-space: nowrap;\n}\n.cf-add { color: #9bcd97; text-align: right; }\n.cf-del { color: #fc533a; text-align: right; }\n.cf-path { color: var(--text); overflow: hidden; text-overflow: ellipsis; }\n\n/* 数据上报模块:表格 + 标题汇总 */\n.report-title { display: flex; gap: 1.2rem; align-items: baseline; flex-wrap: wrap; padding: 0.55rem 0.8rem; border-bottom: 1px solid var(--border); flex: 0 0 auto; }\n.report-title h2 { margin: 0; font-size: var(--fs-md); }\n.report-title .rt-sum { color: var(--muted); font-size: var(--fs-xs); white-space: nowrap; }\n.report-title .rt-sum b { color: var(--text); font-family: Consolas, \"Courier New\", monospace; font-variant-numeric: tabular-nums; }\n.report-table { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }\n.report-table th { position: sticky; top: 0; background: var(--bg); text-align: left; color: var(--muted); font-weight: 600; padding: 0.45rem 0.6rem; border-bottom: 1px solid var(--border-light); white-space: nowrap; }\n.report-table td { padding: 0.32rem 0.6rem; border-bottom: 1px solid var(--border); color: var(--text); white-space: nowrap; }\n.report-table th.rt-num, .report-table td.rt-num { text-align: right; font-family: Consolas, \"Courier New\", monospace; font-variant-numeric: tabular-nums; color: var(--muted); }\n.report-table td.rt-sid { font-family: Consolas, \"Courier New\", monospace; color: var(--c-session); }\n.report-table th.rt-idx, .report-table td.rt-idx { text-align: center; width: 3rem; color: var(--muted); }\n.report-table tr:hover td { background: var(--hover); }\n.report-nav { list-style: none; margin: 0; padding: 0.3rem; }\n.report-nav li { padding: 0.45rem 0.7rem; border-radius: 4px; cursor: pointer; color: var(--text); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.report-nav li:hover { background: var(--hover); }\n.report-nav li.active { background: var(--accent); color: #fff; }\n.report-pager { display: flex; align-items: center; gap: 0.6rem; padding: 0.4rem 0.8rem; border-top: 1px solid var(--border); color: var(--muted); font-size: var(--fs-xs); flex: 0 0 auto; }\n.report-pager button { background: none; border: 1px solid var(--border-light); color: var(--text); border-radius: 4px; padding: 0.15rem 0.55rem; cursor: pointer; font-size: var(--fs-xs); }\n.report-pager button:disabled { opacity: 0.4; cursor: default; }\n/* 设置模块:表单输入 */\n.field-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.8rem; }\n.field-row label { flex: 0 0 88px; color: var(--muted); font-size: var(--fs-xs); }\n.field-input { background: var(--bg); border: 1px solid var(--border-light); color: var(--text); border-radius: 4px; padding: 0.4rem 0.6rem; font-size: var(--fs-sm); font-family: Consolas, \"Courier New\", monospace; min-width: 0; flex: 1 1 auto; }\n.field-input:focus { outline: none; border-color: var(--accent-line); }\n.field-hint { color: var(--muted); font-size: var(--fs-xs); padding: 0.3rem 0.8rem; }\n.field-ok { color: #9bcd97; }\n.field-err { color: var(--c-err, #fc533a); }\n\n/* Skills 模块:顶部 tab 导航(skill 名为 tab,工具按钮行尾),编辑区撑满剩余高度 */\n.skill-tabs { flex: 0 0 auto; display: flex; align-items: stretch; border-bottom: 1px solid var(--border); }\n.skill-tab-scroll { display: flex; gap: 2px; overflow-x: auto; min-height: 0; }\n.skill-tab-scroll .tab { display: inline-flex; align-items: center; gap: 0.3rem; white-space: nowrap; }\n.skill-dot { color: #f5a623; font-size: var(--fs-xs); flex: 0 0 auto; }\n.skill-actions { margin-left: auto; display: flex; align-items: center; gap: 0.4rem; padding: 0 0 0 0.6rem; flex: 0 0 auto; }\n\n/* 「备份 skills」操作条:tab 行下方独立一行(快照菜单+状态+操作按钮),窄窗口 flex-wrap 换行不互挤 */\n.skill-edit-bar { flex: 0 0 auto; display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }\n.skill-edit-actions { margin-left: auto; display: flex; align-items: center; gap: 0.4rem; flex: 0 0 auto; }\n\n/* 保存点下拉(Skills「备份 skills」自绘菜单,替代原生 select) */\n.snap-menu {\n  position: absolute;\n  top: calc(100% + 4px);\n  right: 0;\n  z-index: 100;\n  min-width: 100%; /* 至少与触发按钮同宽(容器=按钮外层 relative),不再固定 15rem 各走各的 */\n  width: max-content; /* 按最宽项展开:absolute 无显式宽时 shrink-to-fit 被父容器卡宽,「最新」badge 加宽后首项日期被压换行 */\n  max-height: 18rem;\n  overflow-y: auto;\n  background: var(--titlebar);\n  border: 1px solid var(--border-light);\n  border-radius: 6px;\n  box-shadow: 0 12px 32px rgba(0,0,0,0.45);\n  padding: 4px;\n}\n.snap-item {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  width: 100%;\n  text-align: left;\n  white-space: nowrap; /* 版本/日期/「最新」badge 一行放下,永不折行(双保险) */\n  background: transparent;\n  border: none;\n  border-radius: 4px;\n  padding: 0.35rem 0.55rem;\n  cursor: pointer;\n  color: var(--muted);\n  font-size: var(--fs-xs);\n}\n.snap-item:hover { background: var(--hover); color: var(--text); }\n.snap-item.sel { background: rgba(79,140,255,0.16); color: var(--text); }\n.snap-ver { font-size: var(--fs-xs); color: #7fb0ff; flex: 0 0 auto; }\n.snap-item:not(.sel) .snap-ver { color: var(--muted); }\n.snap-badge {\n  margin-left: auto;\n  flex: 0 0 auto;\n  font-size: 10px;\n  color: #9bcd97;\n  border: 1px solid rgba(155,205,151,0.4);\n  border-radius: 3px;\n  padding: 0 4px;\n}\n\n/* Skills 工具栏次要按钮(预览/复制/下载/恢复):默认可见底+描边,按下实心蓝明显反馈 */\n.tool-btn {\n  background: var(--titlebar);\n  color: var(--text);\n  border: 1px solid var(--border-light);\n  border-radius: 4px;\n  padding: 0.35rem 0.9rem;\n  font-size: var(--fs-sm);\n  cursor: pointer;\n  transition: background 0.08s, border-color 0.08s, color 0.08s, transform 0.05s;\n}\n.tool-btn:hover { background: var(--hover); border-color: var(--accent-line); color: #fff; }\n.tool-btn:active { background: var(--accent); border-color: var(--accent); color: #fff; transform: translateY(1px); }\n.tool-btn:disabled { opacity: 0.45; cursor: default; }\n.tool-btn:disabled:hover, .tool-btn:disabled:active { background: var(--titlebar); border-color: var(--border-light); color: var(--text); transform: none; }\n";
export const VENDOR_CSS = ".monaco-editor{--monaco-monospace-font:\"SF Mono\",Monaco,Menlo,Consolas,\"Ubuntu Mono\",\"Liberation Mono\",\"DejaVu Sans Mono\",\"Courier New\",monospace;font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Droid Sans,sans-serif}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;top:0;position:absolute!important}.monaco-editor .synthetic-focus,.monaco-diff-editor .synthetic-focus,.monaco-editor [tabindex=\"0\"]:focus,.monaco-diff-editor [tabindex=\"0\"]:focus,.monaco-editor [tabindex=\"-1\"]:focus,.monaco-diff-editor [tabindex=\"-1\"]:focus,.monaco-editor button:focus,.monaco-diff-editor button:focus,.monaco-editor input[type=button]:focus,.monaco-diff-editor input[type=button]:focus,.monaco-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-editor input[type=search]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-editor input[type=text]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-editor select:focus,.monaco-diff-editor select:focus,.monaco-editor textarea:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;text-spacing-trim:space-all;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .editorCanvas{position:absolute;z-index:0;pointer-events:none;width:100%;height:100%}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:\"\";background:var(--vscode-editorError-background);width:100%;height:100%}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:\"\";background:var(--vscode-editorWarning-background);width:100%;height:100%}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:\"\";background:var(--vscode-editorInfo-background);width:100%;height:100%}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.disable-animations .monaco-scrollable-element>.visible,.disable-animations .monaco-scrollable-element>.invisible.fade{transition:none}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;box-shadow:var(--vscode-scrollbar-shadow)0 6px 6px -6px inset;width:100%;height:3px;top:0;left:3px}.monaco-scrollable-element>.shadow.left{display:block;box-shadow:var(--vscode-scrollbar-shadow)6px 0 6px -6px inset;width:3px;height:100%;top:3px;left:0}.monaco-scrollable-element>.shadow.top-left-corner{display:block;width:3px;height:3px;top:0;left:0}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow)6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar{background:var(--vscode-scrollbar-background)}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .blockDecorations-container{position:absolute;pointer-events:none;top:0}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;box-sizing:border-box;height:100%;top:0;left:0}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;justify-content:center;align-items: center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;bottom:0}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-mouse-cursor-text{cursor:text}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border-style:solid;border-width:1px;border-color:var(--vscode-contrastBorder);cursor:pointer;border-radius:2px;padding:4px}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{box-sizing:border-box;position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{position:absolute;top:0;bottom:0}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;background:#fff;top:0}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;width:100%;height:100%;left:0}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-shadow-md)}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;pointer-events:none;width:6px;left:-6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;width:1px;left:-1px}.minimap.minimap-autohide-mouseover,.minimap.minimap-autohide-scroll{opacity:0;transition:opacity .5s}.minimap.minimap-autohide-scroll{pointer-events:none}.minimap.minimap-autohide-mouseover:hover,.minimap.minimap-autohide-scroll.active{opacity:1;pointer-events:auto}.monaco-editor .minimap{z-index:5}.monaco-editor .minimap canvas{opacity:.9}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground)inset;pointer-events:none;top:0}.monaco-editor .scroll-decoration{position:absolute;box-shadow:var(--vscode-scrollbar-shadow)0 6px 6px -6px inset;height:6px;top:0;left:0}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{border-style:solid;border-width:1px;background:0 0!important}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-style:solid;border-bottom-width:2px;background:0 0!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-style:solid;border-bottom-width:1px;background:0 0!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .monaco-decoration-css-rule-extractor{visibility:hidden;pointer-events:none}.monaco-editor .inputarea{position:absolute;resize:none;overflow:hidden;color:#0000;z-index:-10;background-color:#0000;border:none;min-width:0;min-height:0;margin:0;padding:0;outline:none!important}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .native-edit-context{position:absolute;overflow-y:scroll;scrollbar-width:none;z-index:-10;white-space:pre-wrap;margin:0;padding:0}.monaco-editor .ime-text-area{position:absolute;resize:none;overflow:hidden;color:#0000;z-index:-10;background-color:#0000;border:none;min-width:0;min-height:0;margin:0;padding:0;outline:none!important}.monaco-editor .edit-context-composition-none{background-color:#0000;border-bottom:none}.monaco-editor :not(:-webkit-any(.hc-black,.hc-light)) .edit-context-composition-secondary{border-bottom:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(:-moz-any(.hc-black,.hc-light)) .edit-context-composition-secondary{border-bottom:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(:is(.hc-black,.hc-light)) .edit-context-composition-secondary{border-bottom:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(:-webkit-any(.hc-black,.hc-light)) .edit-context-composition-primary{border-bottom:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(:-moz-any(.hc-black,.hc-light)) .edit-context-composition-primary{border-bottom:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(:is(.hc-black,.hc-light)) .edit-context-composition-primary{border-bottom:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :-webkit-any(.hc-black,.hc-light) .edit-context-composition-secondary{border:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :-moz-any(.hc-black,.hc-light) .edit-context-composition-secondary{border:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-secondary{border:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :-webkit-any(.hc-black,.hc-light) .edit-context-composition-primary{border:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :-moz-any(.hc-black,.hc-light) .edit-context-composition-primary{border:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-primary{border:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor .margin-view-overlays .gpu-mark{position:absolute;display:inline-block;border-left:solid 2px var(--vscode-editorWarning-foreground);opacity:.2;width:100%;transition:background-color .1s linear;top:0;bottom:0;left:0}.monaco-editor .margin-view-overlays .gpu-mark:hover{background-color:var(--vscode-editorWarning-foreground)}.monaco-hover.workbench-hover{position:relative;z-index:40;overflow:hidden;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-editorHoverWidget-foreground);box-shadow:var(--vscode-shadow-lg);border-radius:5px;max-width:700px;font-size:13px;line-height:19px}.monaco-hover.workbench-hover.with-pointer{border-radius:3px}.monaco-hover.workbench-hover .monaco-action-bar .action-item .codicon{width:13px;height:13px}.monaco-hover.workbench-hover hr{border-bottom:none}.monaco-hover.workbench-hover.compact{font-size:12px}.monaco-hover.workbench-hover.compact .monaco-action-bar .action-item .codicon{width:12px;height:12px}.monaco-hover.workbench-hover.compact .hover-contents{padding:2px 8px}.workbench-hover-container.locked .monaco-hover.workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.workbench-hover-container:focus-within.locked .monaco-hover.workbench-hover{outline-color:var(--vscode-focusBorder)}.workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.workbench-hover-pointer:after{content:\"\";position:absolute;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border);width:5px;height:5px}.workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after{border-bottom-width:2px;border-right-width:2px;width:4px;height:4px}.workbench-hover-container:focus-within .workbench-hover-pointer:after{border-right:1px solid var(--vscode-focusBorder);border-bottom:1px solid var(--vscode-focusBorder)}.workbench-hover-pointer.left{left:-3px}.workbench-hover-pointer.right{right:3px}.workbench-hover-pointer.top{top:-3px}.workbench-hover-pointer.bottom{bottom:3px}.workbench-hover-pointer.left:after{transform:rotate(135deg)}.workbench-hover-pointer.right:after{transform:rotate(315deg)}.workbench-hover-pointer.top:after{transform:rotate(225deg)}.workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-hover.workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-hover.workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-hover.workbench-hover a.codicon:focus,.monaco-hover.workbench-hover a.monaco-button:focus{text-decoration:none}.monaco-hover.workbench-hover a:hover,.monaco-hover.workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-hover.workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-hover.workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-hover.workbench-hover.right-aligned{left:1px}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-left:16px;margin-right:0}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;white-space:var(--vscode-hover-whiteSpace,normal);line-height:1.5em}.monaco-hover.fade-in{animation:fadein .1s linear}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;height:1px;margin:4px -8px -4px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{padding:0 8px;font-style:italic}.monaco-hover .hover-row.status-bar .actions{display:flex;box-sizing:border-box;width:100%;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{vertical-align:middle;font-size:inherit;padding-right:4px}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);text-decoration:var(--text-link-decoration)}.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon{color:var(--vscode-textLink-foreground)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:\"(\"}.monaco-hover .hover-contents a.code-link:after{content:\")\"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;text-underline-position:under;color:var(--vscode-textLink-foreground);border-bottom:1px solid #0000}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-hover .action-container,.monaco-hover .action,.monaco-hover button,.monaco-hover .monaco-button,.monaco-hover .monaco-text-button,.monaco-hover [role=button]{-webkit-user-select:none;user-select:none}.context-view{position:absolute}.context-view.fixed{all:initial;position:fixed;color:inherit;font-family:inherit;font-size:13px}.monaco-select-box{cursor:pointer;border-radius:var(--vscode-cornerRadius-small);width:100%}.monaco-select-box-dropdown-container{text-transform:none;font-size:13px;font-weight:400}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{border-radius:var(--vscode-cornerRadius-small);min-height:24px;font-size:11px}.monaco-list{position:relative;white-space:nowrap;overflow:hidden;width:100%;height:100%}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;text-align:center;white-space:normal;opacity:.7;pointer-events:none;width:100%;height:100%;padding:40px 1em 1em;top:0;left:0}.monaco-list-type-filter-message:empty{display:none}.monaco-drag-image{display:inline-block;position:absolute;z-index:1000;background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-list-focusOutline);outline-offset:-1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:10px;max-width:120px;padding:1px 7px;font-size:12px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box;border-radius:var(--vscode-cornerRadius-large);box-shadow:var(--vscode-shadow-lg)}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;text-align:left;overflow:hidden;flex-direction:column;width:1px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{overflow:hidden;box-sizing:border-box;flex:none;align-self: flex-start;width:100%}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px 6px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list:focus:before{outline:0!important}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer;padding-left:2px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;float:left;padding-left:6px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;float:left;opacity:.7;padding-left:6px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;float:right;padding-right:10px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator{cursor:default;border-radius:0;padding:0}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator>.option-text{visibility:hidden;float:none;width:0}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator>.option-detail{display:none}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator>.option-decorator-right{color:var(--vscode-descriptionForeground);font-size:12px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator:after{content:\"\";position:absolute;background-color:var(--vscode-menu-separatorBackground);height:1px;top:50%;left:0;right:0}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;top:auto;left:-10000px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{opacity:0;flex:auto;align-self: flex-start}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{white-space:nowrap;padding-left:8px;padding-right:8px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;align-items: center;width:100%;height:100%;margin:0 auto;padding:0}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;cursor:pointer;position:relative;justify-content:center;align-items: center}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items: center;width:16px;height:16px}.monaco-action-bar .action-label,.monaco-action-bar .action-item .keybinding{display:flex;border-radius:var(--vscode-cornerRadius-medium);padding:3px;font-size:11px}.monaco-action-bar .action-item.disabled .action-label:not(.icon),.monaco-action-bar .action-item.disabled .action-label:not(.icon):before,.monaco-action-bar .action-item.disabled .action-label:not(.icon):hover{color:var(--vscode-disabledForeground)}.monaco-action-bar .action-item.disabled .action-label.icon,.monaco-action-bar .action-item.disabled .action-label.icon:before,.monaco-action-bar .action-item.disabled .action-label.icon:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-item .action-label.separator{display:block;border-bottom:1px solid var(--vscode-menu-separatorBackground,var(--vscode-disabledForeground));background-color:#0000;width:100%;height:0;margin:4px .8em;padding-top:1px}.monaco-action-bar .action-item .action-label.separator{cursor:default;background-color:var(--vscode-disabledForeground);width:1px;min-width:1px;height:16px;padding:0;margin:5px 4px!important}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;display:flex;flex:1;justify-content:center;align-items: center;min-width:60px;max-width:170px;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;cursor:default;align-items: center}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;display:flex;justify-content:center;align-items: center;height:100%}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown .dropdown-menu{border-radius:var(--vscode-cornerRadius-large);box-shadow:var(--vscode-shadow-lg)}.monaco-dropdown-with-primary{border-radius:5px;flex-direction:row;display:flex!important}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{margin-left:-3px;padding-left:0;padding-right:0;font-size:12px;line-height:16px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-position:50%;background-repeat:no-repeat;background-size:16px}.monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;width:16px;height:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{color:var(--vscode-descriptionForeground);overflow:hidden;border-radius:2px}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:\", \"}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{border-radius:5px;flex-direction:row;display:flex!important}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;width:16px;height:16px}.monaco-dropdown-with-default>.action-container.disabled{cursor:default}.monaco-dropdown-with-default>.action-container.disabled>.action-label{opacity:.4;pointer-events:none}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{margin-left:-3px;padding-left:0;padding-right:0;font-size:12px;line-height:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-position:50%;background-repeat:no-repeat;background-size:16px}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;width:var(--vscode-sash-size);height:100%;top:0}.monaco-sash.horizontal{cursor:ns-resize;height:var(--vscode-sash-size);width:100%;left:0}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:\" \";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:\"\";pointer-events:none;position:absolute;background:0 0;width:100%;height:100%}.monaco-enable-motion .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size)/2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size)/2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;pointer-events:none;width:100%;height:100%}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{white-space:nowrap;position:relative;width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:\" \";position:absolute;z-index:5;pointer-events:none;background-color:var(--separator-border);top:0;left:0}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{width:1px;height:100%}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{width:100%;height:1px}.monaco-table{display:flex;position:relative;white-space:nowrap;overflow:hidden;flex-direction:column;width:100%;height:100%}.monaco-table>.monaco-split-view2{border-bottom:1px solid #0000}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{overflow:hidden;text-overflow:ellipsis;width:100%;height:100%;font-weight:700}.monaco-table-th,.monaco-table-td{box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:\"\";position:absolute;left:calc(var(--vscode-sash-size)/2);border-left:1px solid #0000;width:0}.monaco-enable-motion .monaco-table>.monaco-split-view2,.monaco-enable-motion .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{float:left;cursor:pointer;overflow:hidden;box-sizing:border-box;user-select:none;-webkit-user-select:none;border:1px solid #0000;border-radius:3px;width:20px;height:20px;margin-left:2px;padding:1px}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.monaco-custom-toggle.disabled{opacity:.4;cursor:default;pointer-events:none}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:0 0}.monaco-custom-toggle.monaco-checkbox{opacity:1;border:1px solid #0000;border-radius:3px;width:18px;height:18px;margin-left:0;margin-right:9px;padding:0;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;border-radius:2px;align-items: center;padding-right:2px}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-inputbox{position:relative;display:block;box-sizing:border-box;font-size:inherit;border-radius:4px;padding:0}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;line-height:inherit;font-family:inherit;font-size:inherit;resize:none;color:inherit;border:none;width:100%;height:100%}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word;width:100%;top:0;left:0}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;box-sizing:border-box;word-wrap:break-word;width:100%;margin-top:-1px;padding:.4em;font-size:12px;line-height:17px}.monaco-inputbox .monaco-action-bar{position:absolute;top:4px;right:2px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{color:var(--vscode-icon-foreground);background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{width:100%;font-size:13px}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:0 0}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:0 0}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:0 0}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:0 0}}.monaco-tl-row{display:flex;position:relative;align-items: center;height:100%}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{position:absolute;pointer-events:none;height:100%;top:0;left:16px}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;opacity:0;border-left:1px solid #0000;height:100%}.monaco-enable-motion .monaco-tl-indent>.indent-guide{transition:opacity .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{text-align:right;flex-shrink:0;justify-content:center;align-items: center;width:16px;padding-right:6px;font-size:10px;transform:translate(3px);display:flex!important}.monaco-tl-contents{overflow:hidden;flex:1}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30)infinite;transform-origin:center center}.monaco-tree-type-filter{position:absolute;display:flex;z-index:100;border:1px solid var(--vscode-widget-border);border-bottom-right-radius:4px;border-bottom-left-radius:4px;max-width:200px;margin:0 10px 0 6px;padding:3px;top:0;right:0}.monaco-enable-motion .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;z-index:13;background-color:var(--vscode-sideBar-background);width:100%;height:0;top:0;left:0}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;overflow:hidden;background-color:var(--vscode-sideBar-background);width:100%;opacity:1!important}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{cursor:pointer;background-color:var(--vscode-list-hoverBackground)!important}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;width:100%;height:0;bottom:-3px;left:0}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex=\"0\"]:focus{outline:none}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight,.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight,.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight,.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{color:#555;background-color:#ddd6;border:1px solid #ccc6;border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6}.hc-black .monaco-keybinding>.monaco-keybinding-key{box-shadow:none;color:#fff;background-color:#0000;border:1px solid #6fc3df}.hc-light .monaco-keybinding>.monaco-keybinding-key{box-shadow:none;color:#292929;background-color:#0000;border:1px solid #0f4a85}.vs-dark .monaco-keybinding>.monaco-keybinding-key{color:#ccc;background-color:#8080802b;border:1px solid #3339;border-bottom-color:#4449;box-shadow:inset 0 -1px #4449}.quick-input-widget{position:absolute;z-index:2550;-webkit-app-region:no-drag;border-radius:var(--vscode-cornerRadius-xLarge);box-shadow:var(--vscode-shadow-xl);width:600px;left:50%}.quick-input-titlebar{cursor:grab;display:flex;border-top-left-radius:5px;border-top-right-radius:5px;align-items: center}.quick-input-widget.no-drag .quick-input-titlebar,.quick-input-widget.no-drag .quick-input-title,.quick-input-widget.no-drag .quick-input-header{cursor:default}.quick-input-widget .monaco-inputbox .monaco-action-bar{top:0}.quick-input-widget .monaco-action-bar .monaco-custom-toggle{box-sizing:content-box;border-radius:5px;margin-left:0}.quick-input-left-action-bar{display:flex;margin-left:4px}.quick-input-inline-action-bar .actions-container>.action-item:first-child{margin-left:5px}.quick-input-inline-action-bar .actions-container>.action-item{margin-top:2px}.quick-input-title{cursor:grab;text-align:center;text-overflow:ellipsis;overflow:hidden;flex:1;padding:3px 0}.quick-input-right-action-bar{display:flex;margin-right:4px}.quick-input-right-action-bar .actions-container{justify-content:flex-end}.quick-input-right-action-bar .actions-container>.action-item,.quick-input-inline-action-bar .actions-container>.action-item{margin-left:4px}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{flex:1;margin:4px 2px}.quick-input-header{cursor:grab;display:flex;padding:6px 6px 4px}.quick-input-widget .quick-input-filter .monaco-inputbox{border-radius:var(--vscode-cornerRadius-medium)}.quick-input-widget.hidden-input .quick-input-header{margin-bottom:0;padding:0}.quick-input-and-message{display:flex;position:relative;flex-direction:column;flex-grow:1;min-width:0}.quick-input-check-all{align-self: center;margin:0}.quick-input-widget .quick-input-header .monaco-checkbox{margin-top:6px}.quick-input-filter{display:flex;position:relative;flex-grow:1}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{position:absolute;display:flex;align-self: center;align-items: center;right:4px}.quick-input-count .monaco-count-badge{vertical-align:middle;border-radius:2px;min-height:auto;padding:2px 4px;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-message{overflow-wrap:break-word;margin-top:-1px;padding:5px}.quick-input-message>.codicon{vertical-align:text-bottom;margin:0 .2em}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:7px}.quick-input-list .monaco-scrollable-element{padding:0 6px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-style:solid;border-top-width:1px}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index=\"0\"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;flex:1;height:100%}.quick-input-widget .monaco-checkbox{margin-right:0}.quick-input-widget .quick-input-list .monaco-checkbox,.quick-input-widget .quick-input-tree .monaco-checkbox{margin-top:4px}.quick-input-list .quick-input-list-icon{display:flex;background-position:0;background-repeat:no-repeat;background-size:16px;justify-content:center;align-items: center;width:16px;height:22px;padding-right:6px}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;flex:1;height:100%;margin-left:5px}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items: center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;text-overflow:ellipsis;overflow:hidden;line-height:normal}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{background-color:unset;font-weight:700;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-quickInputList-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{font-size:var(--vscode-bodyFontSize-xSmall);color:var(--vscode-descriptionForeground);margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;overflow:visible;flex:0}.quick-input-list .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry-action-bar .monaco-custom-toggle{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar .monaco-custom-toggle.codicon{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .monaco-custom-toggle.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .monaco-custom-toggle,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .monaco-custom-toggle,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .monaco-custom-toggle,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .monaco-custom-toggle{display:flex}.quick-input-list>.monaco-list:focus .monaco-list-row.focused{outline-offset:-1px;outline:1px solid var(--vscode-list-focusOutline)!important}.quick-input-list>.monaco-list:focus .monaco-list-row.focused .quick-input-list-entry.quick-input-list-separator-border{border-color:#0000}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row:hover .monaco-keybinding-key{border-color:var(--vscode-widget-shadow);background:0 0}:-webkit-any(.vs,.vs-dark) .quick-input-list .monaco-list-row.focused .monaco-keybinding-key{border-color:color-mix(in srgb,currentColor 30%,transparent)}:-moz-any(.vs,.vs-dark) .quick-input-list .monaco-list-row.focused .monaco-keybinding-key{border-color:color-mix(in srgb,currentColor 30%,transparent)}:is(.vs,.vs-dark) .quick-input-list .monaco-list-row.focused .monaco-keybinding-key{border-color:color-mix(in srgb,currentColor 30%,transparent)}:-webkit-any(.vs,.vs-dark) .quick-input-list .monaco-list-row:hover .monaco-keybinding-key{border-color:color-mix(in srgb,currentColor 30%,transparent)}:-moz-any(.vs,.vs-dark) .quick-input-list .monaco-list-row:hover .monaco-keybinding-key{border-color:color-mix(in srgb,currentColor 30%,transparent)}:is(.vs,.vs-dark) .quick-input-list .monaco-list-row:hover .monaco-keybinding-key{border-color:color-mix(in srgb,currentColor 30%,transparent)}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.quick-input-tree .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-tree.quick-input-tree-flat .monaco-tl-indent,.quick-input-tree.quick-input-tree-flat .monaco-tl-twistie{display:none!important}.quick-input-tree.quick-input-tree-flat .monaco-checkbox{margin-left:6px}.quick-input-tree .quick-input-tree-entry{box-sizing:border-box;overflow:hidden;display:flex;padding-right:6px}.quick-input-tree .quick-input-tree-label{overflow:hidden;display:flex;flex:1;height:100%}.quick-input-tree .quick-input-tree-icon{display:flex;background-position:0;background-repeat:no-repeat;background-size:16px;justify-content:center;align-items: center;width:16px;height:22px;padding-right:6px}.quick-input-tree .quick-input-tree-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;flex:1;height:100%;margin-left:5px}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row{display:flex;align-items: center}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label,.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-tree .quick-input-tree-rows .monaco-highlighted-label>span{opacity:1}.quick-input-tree .quick-input-tree-entry-action-bar{display:flex;overflow:visible;flex:0}.quick-input-tree .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry-action-bar .monaco-custom-toggle{display:none}.quick-input-tree .quick-input-tree-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-tree .quick-input-tree-entry-action-bar .monaco-custom-toggle.codicon{margin-right:4px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-top:1px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-right:4px}.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .action-label.always-visible,.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .monaco-custom-toggle.always-visible,.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .monaco-custom-toggle,.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .monaco-custom-toggle,.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .monaco-custom-toggle,.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .monaco-custom-toggle{display:flex}.quick-input-tree>.monaco-list:focus .monaco-list-row.focused{outline-offset:-1px;outline:1px solid var(--vscode-list-focusOutline)!important}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-toolbar.responsive.responsive-all .monaco-action-bar>.actions-container>.action-item{min-width:var(--vscode-toolbar-action-min-width,20px);flex-shrink:1}.monaco-toolbar.responsive.responsive-last .monaco-action-bar>.actions-container>.action-item{flex-shrink:0}.monaco-toolbar.responsive.responsive-last .monaco-action-bar:not(.has-overflow)>.actions-container>.action-item:last-child{min-width:var(--vscode-toolbar-action-min-width,20px);flex-shrink:1}.monaco-toolbar.responsive.responsive-last .monaco-action-bar.has-overflow>.actions-container>.action-item:nth-last-child(2){min-width:var(--vscode-toolbar-action-min-width,20px);flex-shrink:1}.monaco-text-button{box-sizing:border-box;display:flex;text-align:center;cursor:pointer;border:1px solid var(--vscode-button-border,transparent);overflow-wrap:normal;border-radius:4px;justify-content:center;align-items: center;width:100%;padding:4px 8px;font-size:12px;line-height:16px}.monaco-text-button.secondary{border-color:var(--vscode-button-secondaryBorder,var(--vscode-button-border,transparent))}.monaco-text-button.small{padding:3px 6px;font-size:11px;line-height:14px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{cursor:default;opacity:.4!important}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{overflow:hidden;flex-flow:wrap;height:28px;padding:0 4px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{overflow:hidden;flex-grow:1;width:0}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;font-weight:400;font-style:inherit;justify-content:center;align-items: center;padding:4px 0;line-height:18px}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{cursor:default;padding:4px 0}.monaco-button-dropdown .monaco-button-dropdown-separator>div{width:1px;height:100%}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);display:flex;border-radius:0 4px 4px 0;align-items: center;padding:0 4px;border-left-width:0!important}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button.secondary{border-color:var(--vscode-button-secondaryBorder,var(--vscode-button-border,transparent))}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:4px 0 0 4px}.monaco-description-button{display:flex;flex-direction:column;align-items: center;margin:4px 5px}.monaco-description-button .monaco-button-description{padding:4px 20px;font-size:11px;font-style:italic}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items: center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground);border-top-color:var(--vscode-button-secondaryBorder,var(--vscode-button-border));border-bottom-color:var(--vscode-button-secondaryBorder,var(--vscode-button-border))}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{text-align:center;display:inline-block;box-sizing:border-box;border-radius:11px;min-width:18px;min-height:18px;padding:3px 5px;font-size:11px;font-weight:400;line-height:11px}.monaco-count-badge.long{border-radius:2px;min-height:auto;padding:2px 3px;line-height:normal}.monaco-progress-container{overflow:hidden;width:100%;height:2px}.monaco-progress-container .progress-bit{position:absolute;display:none;width:2%;height:2px;left:0}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{transition:width .1s linear;left:0}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;animation-timing-function:linear;transform:translate(0,0)}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0%)scaleX(1)}50%{transform:translate(2500%)scaleX(3)}to{transform:translate(4900%)scaleX(1)}}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;background-position:0;background-repeat:no-repeat;background-size:16px;flex-shrink:0;width:16px;height:22px;padding-right:6px;line-height:inherit!important}.monaco-icon-label-iconpath{display:flex;width:16px;height:22px;margin-right:6px}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{opacity:.5;margin:0 2px}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;white-space:pre;margin-left:.5em;font-size:.9em}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-weight:700}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;text-align:center;margin:auto 16px 0 5px;font-size:90%;font-weight:600}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items: center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-flex;border-style:solid;border-width:1px;border-radius:3px;justify-content:center;align-items: center;min-width:12px;margin:0 2px;padding:3px 5px;font-size:11px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review{user-select:none;-webkit-user-select:none;z-index:99}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow)0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;vertical-align:middle;width:10px}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;z-index:100;top:2px;right:10px}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-component.diff-review .action-label{background:var(--vscode-editorActionList-background)}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;font-size:13px;line-height:14px;transform:translateY(-10px)}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{background-color:#0000;background-clip:padding-box;border-top:4px solid #0000;border-bottom:2px solid #0000;height:4px;transition:background-color .1s ease-out}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items: center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);height:24px}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{border-left:solid var(--vscode-diffEditor-removedTextBackground)3px;margin-left:-1px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground)3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:0 0}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:0 0}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{align-items: center;opacity:.7!important;display:flex!important;font-size:11px!important}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill)12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill)50%,var(--vscode-diffEditor-diagonalFill)62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-grow:0;flex-shrink:0}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{position:absolute;border-left:2px var(--vscode-menu-separatorBackground)solid;width:1px;height:100%;left:50%}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;display:flex;justify-content:center;align-items: center;width:100%}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:-moz-fit-content;height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{background:var(--vscode-editorGutter-itemBackground);border-radius:4px;width:-moz-fit-content;width:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{color:var(--vscode-editorGutter-itemGlyphForeground);padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{display:flex;height:11px}.monaco-diff-editor .diff-hidden-lines-compact .line-left{border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;width:100%;height:1px;margin:auto}.monaco-diff-editor .diff-hidden-lines-compact .line-right{border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;width:100%;height:1px;margin:auto}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;margin:0 4px;font-size:11px;line-height:11px}.monaco-editor .line-delete-selectable{user-select:text!important;-webkit-user-select:text!important;z-index:1!important}.line-delete-selectable .view-line{user-select:text!important;-webkit-user-select:text!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;border-radius:3px;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);position:relative;overflow-y:hidden;width:100%;height:100%}.monaco-component.multiDiffEditor>div{position:absolute;width:100%;height:100%;top:0;left:0}.monaco-component.multiDiffEditor>div.placeholder{visibility:hidden;display:grid;place-content: center;place-items: center}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor>.multi-diff-root-floating-menu{position:absolute;width:auto;inset:auto 28px 24px auto}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border:var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;overflow:hidden;flex-direction:column;flex:1}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{cursor:pointer;margin:0 5px}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{border-top:1px solid var(--vscode-multiDiffEditor-border);display:flex;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground);align-items: center;margin:8px 0 0;padding:4px 5px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow)0px 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{text-overflow:ellipsis;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{opacity:.75;margin:0 10px;font-weight:600;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{display:flex;border-bottom:1px solid var(--vscode-multiDiffEditor-border);overflow:hidden;flex-direction:column;flex:1}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:var(--vscode-shadow-lg);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;overflow:hidden;box-sizing:border-box;box-shadow:var(--vscode-shadow-lg);color:var(--vscode-editorWidget-foreground);border:1px solid var(--vscode-widget-border);border-radius:var(--vscode-cornerRadius-large);background-color:var(--vscode-editorWidget-background);height:34px;margin-top:4px;padding:0 4px 0 9px;transition:transform .2s linear;line-height:19px;transform:translateY(calc(-100% - 10px))}.monaco-reduce-motion .monaco-editor .find-widget{transition:transform linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px;outline-color:var(--vscode-focusBorder)}.monaco-editor .find-widget .monaco-inputbox .input{background-color:#0000;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{display:flex;margin:3px 25px 0 17px;font-size:12px}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{display:flex;align-items: center;height:25px}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;vertical-align:middle;box-sizing:border-box;text-align:center;height:25px;margin:0 0 0 3px;padding:2px 0 0 2px;line-height:23px}.monaco-editor .find-widget .button{display:flex;flex:initial;cursor:pointer;display:flex;background-position:50%;background-repeat:no-repeat;border-radius:5px;justify-content:center;align-items: center;width:16px;height:16px;margin-left:3px;padding:3px}.monaco-editor .find-widget .codicon-find-selection{border-radius:5px;width:22px;height:22px;padding:3px}.monaco-editor .find-widget .button.left{margin:4px 0 4px 5px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;border-radius:var(--vscode-cornerRadius-small);box-sizing:border-box;width:18px;height:-webkit-fill-available;top:0;left:0}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;background-color:var(--vscode-editor-findMatchHighlightBackground);animation-name:inherit!important}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);box-sizing:border-box;padding:1px}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{background-color:var(--vscode-editorWidget-resizeBorder,var(--vscode-editorWidget-border));left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;display:flex;justify-content:center;align-items: center;margin-left:2px;transition:opacity .5s;font-size:140%}.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:var(--vscode-editor-foldPlaceholderForeground);content:\"⋯\";display:inline;cursor:pointer;margin:.1em .2em 0;line-height:1em}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{justify-content:center;align-items: center;display:flex!important}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{animation:none;font-size:90%!important}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .monaco-editor-overlaymessage{z-index:10000;padding-bottom:8px}.monaco-editor .monaco-editor-overlaymessage.below{z-index:10000;padding-top:8px;padding-bottom:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px;padding:2px 4px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block-start:0;margin-block-end:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{z-index:1000;position:absolute;border:8px solid #0000;left:2px;width:0!important;height:0!important}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.action-widget{z-index:40;display:block;border-radius:var(--vscode-cornerRadius-large);background-color:var(--vscode-menu-background);color:var(--vscode-menu-foreground);box-shadow:var(--vscode-shadow-lg);width:100%;min-width:100px;max-width:80vw;padding:4px;font-size:13px;border:1px solid var(--vscode-editorHoverWidget-border)!important}.context-view-block{position:fixed;cursor:initial;z-index:-1;width:100%;height:100%;top:0;left:0}.context-view-pointerBlock{position:fixed;cursor:initial;z-index:2;width:100%;height:100%;top:0;left:0}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{white-space:nowrap;cursor:pointer;touch-action:none;border-radius:var(--vscode-cornerRadius-medium);padding:0 12px 0 6px}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){color:var(--vscode-list-hoverForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-2px;background-color:var(--vscode-list-hoverBackground)!important}.action-widget .monaco-list-row.group-header{font-size:11px;font-weight:500;color:var(--vscode-descriptionForeground)!important}.action-widget .monaco-list-row.group-header:not(:first-of-type){margin-top:2px}.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator{border-top:1px solid var(--vscode-editorHoverWidget-border);color:var(--vscode-descriptionForeground);cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:0;width:100%;margin:4px 0;font-size:12px}.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator:hover,.action-widget .monaco-scrollable-element .monaco-list-rows .monaco-list-row.separator.focused{outline:0 solid;border-radius:0;background-color:#0000!important}.action-widget .monaco-list-row.separator:first-of-type{border-top:none;margin-top:0}.action-widget .monaco-list-row.separator>span:not(:empty){display:flex;align-items: center;height:100%;padding-left:10px}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:default!important;outline:0 solid!important;background-color:#0000!important}.action-widget .monaco-list-row.action{display:flex;align-items: center;gap:6px}.action-widget .monaco-list-row.action .codicon{font-size:12px}.action-widget .monaco-list-row.action .action-list-item-toolbar .codicon{font-size:16px}.action-widget .actionList.compact-icons .monaco-list-row.action .codicon{font-size:var(--vscode-codiconFontSize-compact,12px)}.action-widget .actionList.compact-icons .monaco-list-row.action .action-list-item-toolbar .codicon,.action-widget .actionList.compact-icons .monaco-list-row.action .action-list-submenu-indicator.codicon{font-size:var(--vscode-codiconFontSize,16px)}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{overflow:hidden;text-overflow:ellipsis;flex:1}.action-widget .monaco-list-row.action .detail{color:var(--vscode-descriptionForeground);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;order:99;width:100%;padding-left:18px;font-size:11px;line-height:14px}.action-widget .monaco-list-row.action .action-item-badge{background-color:var(--vscode-badge-background);color:var(--vscode-badge-foreground);border-radius:10px;flex-shrink:0;padding:0 6px;font-size:11px;line-height:18px}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);border-radius:3px}.action-widget .action-widget-action-bar{background-color:var(--vscode-menu-background);border-top:1px solid var(--vscode-editorHoverWidget-border);margin-top:4px}.action-widget .action-widget-action-bar:before{display:block;content:\"\";width:100%}.action-widget .action-widget-action-bar .actions-container{width:auto;padding:2px 8px 0 26px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);pointer-events:all;padding:0;font-size:12px;line-height:22px}.action-widget-action-bar .action-item{pointer-events:none;margin-right:16px}.action-widget-action-bar .action-label:hover{background-color:#0000!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.action-widget .monaco-list .monaco-list-row .description{color:var(--vscode-descriptionForeground);margin-left:.5em;font-size:12px}.action-widget .monaco-list .monaco-list-row .description a{color:var(--vscode-textLink-foreground)}.action-widget .monaco-list .monaco-list-row .description a:hover,.action-widget .monaco-list .monaco-list-row .description a:active{color:var(--vscode-textLink-activeForeground)}.action-widget .monaco-list-row.action .group-title{color:var(--vscode-descriptionForeground);flex-shrink:0;margin-left:.5em;margin-right:6px;font-size:12px}.action-widget .monaco-list .monaco-list-row.action:has(.detail:not([style*=\"display: none\"])){flex-wrap:wrap;align-content: center;padding-right:6px}.action-widget .monaco-list .monaco-list-row.action:has(.detail:not([style*=\"display: none\"])) .title{line-height:14px}.action-widget .inline-description .monaco-list-row.action{gap:0}.action-widget .inline-description .monaco-list-row.action .title{flex:0 auto;min-width:0;margin-left:6px}.action-widget .inline-description .monaco-list-row.action .description{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.action-widget .inline-description .monaco-list-row.action .group-title{margin-left:auto}.action-widget .inline-description .monaco-list-row.action .action-list-item-toolbar{margin-left:4px;margin-right:10px}.action-widget .inline-description .monaco-list-row.action .action-list-submenu-indicator{margin-left:auto;margin-right:10px}.action-widget .monaco-list-row.action .action-list-item-toolbar{display:none}.action-widget .monaco-list-row.focused.action.has-toolbar .action-list-item-toolbar,.action-widget .monaco-list-row:hover.action.has-toolbar .action-list-item-toolbar{display:flex}.action-widget .monaco-list-row .action-list-item-toolbar .monaco-action-bar:not(.vertical) .action-label:not(.disabled):hover{background-color:var(--vscode-toolbar-hoverBackground)}.action-widget-delegate-label{display:flex;align-items: center;gap:4px;font-size:12px}.action-widget .action-list-filter{padding:2px 2px 4px}.action-widget .action-list-filter-row{display:flex;align-items: center;gap:4px;padding-right:10px}.action-widget .action-list-filter:first-child{border-bottom:none}.action-widget .action-list-filter:last-child{border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-list-filter-input{box-sizing:border-box;border:1px solid var(--vscode-input-border,transparent);background-color:var(--vscode-input-background);color:var(--vscode-input-foreground);outline:none;border-radius:3px;flex:1;width:100%;padding:4px 8px}.action-widget .action-list-filter-input:focus{border-color:var(--vscode-focusBorder)}.action-widget .action-list-filter-input::placeholder{color:var(--vscode-input-placeholderForeground)}.action-widget .action-list-filter-actions .action-label{border-radius:3px;padding:3px}.action-widget .action-list-filter-actions .action-label:hover{background-color:var(--vscode-toolbar-hoverBackground)}.action-widget .action-list-filter-label{color:var(--vscode-descriptionForeground);flex-shrink:0;margin-right:2px;font-size:12px}.action-widget .action-list-footer{color:var(--vscode-descriptionForeground);border-top:1px solid var(--vscode-editorHoverWidget-border);margin-top:4px;padding:4px 10px 2px 6px;font-size:11px}.action-widget .action-list-header{display:flex;color:var(--vscode-foreground);background-color:var(--vscode-chat-requestBubbleBackground);border-radius:var(--vscode-cornerRadius-medium);align-items: flex-start;gap:6px;margin-bottom:2px;padding:6px 12px 6px 6px;font-size:12px;line-height:16px}.action-widget:has(.action-list-header){min-width:160px}.action-widget .action-list-header .action-list-header-icon{text-align:center;color:var(--vscode-descriptionForeground);flex-shrink:0;width:12px;line-height:16px;font-size:12px!important}.action-widget .action-list-header .action-list-header-text{flex:1;font-size:11px}.action-widget .actionList{position:relative}.action-widget .action-list-submenu-indicator{display:flex;border-radius:4px;flex-shrink:0;justify-content:center;align-items: center;width:20px;height:20px}.action-widget .action-list-submenu-indicator.has-submenu{opacity:.6}.action-widget .monaco-list-row.action .action-list-submenu-indicator.codicon{display:flex;font-size:16px}.action-list-submenu-panel{background-color:var(--vscode-menu-background);color:var(--vscode-menu-foreground);border:1px solid var(--vscode-menu-border,var(--vscode-editorHoverWidget-border));box-shadow:0 2px 8px var(--vscode-widget-shadow);z-index:50;outline:none;border-radius:5px;width:max-content}.action-list-submenu-hover-header{word-wrap:break-word;-webkit-user-select:text;user-select:text;max-width:300px;padding:4px 8px;font-size:12px;line-height:1.4em}.action-list-submenu-hover-header a{color:var(--vscode-textLink-foreground)}.action-list-submenu-hover-header a:hover,.action-list-submenu-hover-header a:active{color:var(--vscode-textLink-activeForeground)}.action-list-submenu-hover-header.has-submenu{border-bottom:1px solid var(--vscode-menu-separatorBackground,var(--vscode-editorWidget-border))}.action-list-submenu-hover-header>p{margin-left:0;margin-right:0}.action-list-submenu-hover-header>p:first-child{margin-top:0}.action-list-submenu-hover-header>p:last-child{margin-bottom:0}.post-edit-widget{box-shadow:var(--vscode-shadow-lg);border:1px solid var(--vscode-widget-border,transparent);color:var(--vscode-button-foreground);background-color:var(--vscode-button-background);overflow:hidden;border-radius:4px}.post-edit-widget .monaco-button{border:none;border-radius:0;padding:2px}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-hoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}\n";
