/*! For license information please see css.worker.js.LICENSE.txt */ (()=>{var e={4750:(e,t,n)=>{"use strict";function i(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let i=0,r=e.length;ie){const n=new Set;return e.filter((e=>{const i=t(e);return!n.has(i)&&(n.add(i),!0)}))}function l(e,t){return e.length>0?e[0]:t}function c(e,t,n){const i=e.slice(0,t),r=e.slice(t);return i.concat(n,r)}function h(e,t){for(const n of t)e.push(n)}var d;function u(e,t){return(n,i)=>t(e(n),e(i))}n.d(t,{BV:()=>m,EB:()=>a,H9:()=>f,KO:()=>o,W$:()=>g,Xh:()=>l,Zv:()=>c,fS:()=>i,fv:()=>p,mw:()=>r,tT:()=>u,vA:()=>h,zy:()=>s}),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(d||(d={}));const p=(e,t)=>e-t;function m(e){return(t,n)=>-e(t,n)}class f{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class g{static{this.empty=new g((e=>{}))}constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new g((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new g((t=>this.iterate((n=>t(e(n))))))}findLast(e){let t;return this.iterate((n=>(e(n)&&(t=n),!0))),t}findLastMaxBy(e){let t,n=!0;return this.iterate((i=>((n||d.isGreaterThan(e(i,t)))&&(n=!1,t=i),!0))),t}}},6318:(e,t,n)=>{"use strict";function i(e,t){const n=function(e,t,n=e.length-1){for(let i=n;i>=0;i--)if(t(e[i]))return i;return-1}(e,t);if(-1!==n)return e[n]}function r(e,t){const n=s(e,t);return-1===n?void 0:e[n]}function s(e,t,n=0,i=e.length){let r=n,s=i;for(;ra,Jw:()=>s,b1:()=>l,cn:()=>o,dF:()=>i,ti:()=>r});class l{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(l.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.");this._prevFindLastPredicate=e}const t=s(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}},6517:(e,t,n)=>{"use strict";n.d(t,{DM:()=>a,eZ:()=>o,ok:()=>r,vE:()=>s});var i=n(8177);function r(e,t){if(!e)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function s(e,t="Unreachable"){throw new Error(t)}function o(e){e()||(e(),(0,i.dL)(new i.he("Assertion Failed")))}function a(e,t){let n=0;for(;n{"use strict";n.d(t,{zh:()=>l,pY:()=>c,J8:()=>a,jg:()=>h}),n(6152);var i=n(8177),r=n(5718),s=n(6263),o=n(3883);function a(e){return!!e&&"function"==typeof e.then}Symbol("MicrotaskDelay");class l{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new i.he("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const r=n.setInterval((()=>{e()}),t);this.disposable=(0,s.OF)((()=>{n.clearInterval(r),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}}class c{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}let h,d;var u;d="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{(0,o.fn)((()=>{if(n)return;const e=Date.now()+15,i={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(i))}));let n=!1;return{dispose(){n||(n=!0)}}}:(e,t,n)=>{const i=e.requestIdleCallback(t,"number"==typeof n?{timeout:n}:void 0);let r=!1;return{dispose(){r||(r=!0,e.cancelIdleCallback(i))}}},h=e=>d(globalThis,e),function(e){e.settled=async function(e){let t;const n=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return n},e.withAsyncBody=function(e){return new Promise((async(t,n)=>{try{await e(t,n)}catch(e){n(e)}}))}}(u||(u={}));class p{static fromArray(e){return new p((t=>{t.emitMany(e)}))}static fromPromise(e){return new p((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new p((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new p((async t=>{await Promise.all(e.map((async e=>{for await(const n of e)t.emitOne(n)})))}))}static{this.EMPTY=p.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new r.Q5,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new p((async n=>{for await(const i of e)n.emitOne(t(i))}))}map(e){return p.map(this,e)}static filter(e,t){return new p((async n=>{for await(const i of e)t(i)&&n.emitOne(i)}))}filter(e){return p.filter(this,e)}static coalesce(e){return p.filter(e,(e=>!!e))}coalesce(){return p.coalesce(this)}static async toPromise(e){const t=[];for await(const n of e)t.push(n);return t}toPromise(){return p.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}},80:(e,t,n)=>{"use strict";n.d(t,{Ag:()=>c,Cg:()=>u,KN:()=>o,Q$:()=>d,T4:()=>h,mP:()=>a,oq:()=>l});var i=n(7147);const r="undefined"!=typeof Buffer;let s;new i.o((()=>new Uint8Array(256)));class o{static wrap(e){return r&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new o(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return r?this.buffer.toString():(s||(s=new TextDecoder),s.decode(this.buffer))}}function a(e,t){return(0|e[t+0])>>>0|e[t+1]<<8>>>0}function l(e,t,n){e[n+0]=255&t,t>>>=8,e[n+1]=255&t}function c(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function h(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function d(e,t){return e[t]}function u(e,t,n){e[n]=t}},5480:(e,t,n)=>{"use strict";function i(e){return e}n.d(t,{bQ:()=>s,t2:()=>r});class r{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=i):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class s{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,"function"==typeof e?(this._fn=e,this._computeKey=i):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const n=this._fn(e);return this._map.set(e,n),this._map2.set(t,n),n}}},6152:(e,t,n)=>{"use strict";n.d(t,{AU:()=>a});var i=n(5718);const r=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var s;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof o||!(!t||"object"!=typeof t)&&"boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.ju.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r})}(s||(s={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?r:(this._emitter||(this._emitter=new i.Q5),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=s.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=s.None}}},2161:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var i=n(3870);const r=Object.create(null);function s(e,t){if((0,i.HD)(t)){const n=r[t];if(void 0===n)throw new Error(`${e} references an unknown codicon: ${t}`);t=n}return r[e]=t,{id:e}}const o={add:s("add",6e4),plus:s("plus",6e4),gistNew:s("gist-new",6e4),repoCreate:s("repo-create",6e4),lightbulb:s("lightbulb",60001),lightBulb:s("light-bulb",60001),repo:s("repo",60002),repoDelete:s("repo-delete",60002),gistFork:s("gist-fork",60003),repoForked:s("repo-forked",60003),gitPullRequest:s("git-pull-request",60004),gitPullRequestAbandoned:s("git-pull-request-abandoned",60004),recordKeys:s("record-keys",60005),keyboard:s("keyboard",60005),tag:s("tag",60006),gitPullRequestLabel:s("git-pull-request-label",60006),tagAdd:s("tag-add",60006),tagRemove:s("tag-remove",60006),person:s("person",60007),personFollow:s("person-follow",60007),personOutline:s("person-outline",60007),personFilled:s("person-filled",60007),gitBranch:s("git-branch",60008),gitBranchCreate:s("git-branch-create",60008),gitBranchDelete:s("git-branch-delete",60008),sourceControl:s("source-control",60008),mirror:s("mirror",60009),mirrorPublic:s("mirror-public",60009),star:s("star",60010),starAdd:s("star-add",60010),starDelete:s("star-delete",60010),starEmpty:s("star-empty",60010),comment:s("comment",60011),commentAdd:s("comment-add",60011),alert:s("alert",60012),warning:s("warning",60012),search:s("search",60013),searchSave:s("search-save",60013),logOut:s("log-out",60014),signOut:s("sign-out",60014),logIn:s("log-in",60015),signIn:s("sign-in",60015),eye:s("eye",60016),eyeUnwatch:s("eye-unwatch",60016),eyeWatch:s("eye-watch",60016),circleFilled:s("circle-filled",60017),primitiveDot:s("primitive-dot",60017),closeDirty:s("close-dirty",60017),debugBreakpoint:s("debug-breakpoint",60017),debugBreakpointDisabled:s("debug-breakpoint-disabled",60017),debugHint:s("debug-hint",60017),terminalDecorationSuccess:s("terminal-decoration-success",60017),primitiveSquare:s("primitive-square",60018),edit:s("edit",60019),pencil:s("pencil",60019),info:s("info",60020),issueOpened:s("issue-opened",60020),gistPrivate:s("gist-private",60021),gitForkPrivate:s("git-fork-private",60021),lock:s("lock",60021),mirrorPrivate:s("mirror-private",60021),close:s("close",60022),removeClose:s("remove-close",60022),x:s("x",60022),repoSync:s("repo-sync",60023),sync:s("sync",60023),clone:s("clone",60024),desktopDownload:s("desktop-download",60024),beaker:s("beaker",60025),microscope:s("microscope",60025),vm:s("vm",60026),deviceDesktop:s("device-desktop",60026),file:s("file",60027),fileText:s("file-text",60027),more:s("more",60028),ellipsis:s("ellipsis",60028),kebabHorizontal:s("kebab-horizontal",60028),mailReply:s("mail-reply",60029),reply:s("reply",60029),organization:s("organization",60030),organizationFilled:s("organization-filled",60030),organizationOutline:s("organization-outline",60030),newFile:s("new-file",60031),fileAdd:s("file-add",60031),newFolder:s("new-folder",60032),fileDirectoryCreate:s("file-directory-create",60032),trash:s("trash",60033),trashcan:s("trashcan",60033),history:s("history",60034),clock:s("clock",60034),folder:s("folder",60035),fileDirectory:s("file-directory",60035),symbolFolder:s("symbol-folder",60035),logoGithub:s("logo-github",60036),markGithub:s("mark-github",60036),github:s("github",60036),terminal:s("terminal",60037),console:s("console",60037),repl:s("repl",60037),zap:s("zap",60038),symbolEvent:s("symbol-event",60038),error:s("error",60039),stop:s("stop",60039),variable:s("variable",60040),symbolVariable:s("symbol-variable",60040),array:s("array",60042),symbolArray:s("symbol-array",60042),symbolModule:s("symbol-module",60043),symbolPackage:s("symbol-package",60043),symbolNamespace:s("symbol-namespace",60043),symbolObject:s("symbol-object",60043),symbolMethod:s("symbol-method",60044),symbolFunction:s("symbol-function",60044),symbolConstructor:s("symbol-constructor",60044),symbolBoolean:s("symbol-boolean",60047),symbolNull:s("symbol-null",60047),symbolNumeric:s("symbol-numeric",60048),symbolNumber:s("symbol-number",60048),symbolStructure:s("symbol-structure",60049),symbolStruct:s("symbol-struct",60049),symbolParameter:s("symbol-parameter",60050),symbolTypeParameter:s("symbol-type-parameter",60050),symbolKey:s("symbol-key",60051),symbolText:s("symbol-text",60051),symbolReference:s("symbol-reference",60052),goToFile:s("go-to-file",60052),symbolEnum:s("symbol-enum",60053),symbolValue:s("symbol-value",60053),symbolRuler:s("symbol-ruler",60054),symbolUnit:s("symbol-unit",60054),activateBreakpoints:s("activate-breakpoints",60055),archive:s("archive",60056),arrowBoth:s("arrow-both",60057),arrowDown:s("arrow-down",60058),arrowLeft:s("arrow-left",60059),arrowRight:s("arrow-right",60060),arrowSmallDown:s("arrow-small-down",60061),arrowSmallLeft:s("arrow-small-left",60062),arrowSmallRight:s("arrow-small-right",60063),arrowSmallUp:s("arrow-small-up",60064),arrowUp:s("arrow-up",60065),bell:s("bell",60066),bold:s("bold",60067),book:s("book",60068),bookmark:s("bookmark",60069),debugBreakpointConditionalUnverified:s("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:s("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:s("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:s("debug-breakpoint-data-unverified",60072),debugBreakpointData:s("debug-breakpoint-data",60073),debugBreakpointDataDisabled:s("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:s("debug-breakpoint-log-unverified",60074),debugBreakpointLog:s("debug-breakpoint-log",60075),debugBreakpointLogDisabled:s("debug-breakpoint-log-disabled",60075),briefcase:s("briefcase",60076),broadcast:s("broadcast",60077),browser:s("browser",60078),bug:s("bug",60079),calendar:s("calendar",60080),caseSensitive:s("case-sensitive",60081),check:s("check",60082),checklist:s("checklist",60083),chevronDown:s("chevron-down",60084),chevronLeft:s("chevron-left",60085),chevronRight:s("chevron-right",60086),chevronUp:s("chevron-up",60087),chromeClose:s("chrome-close",60088),chromeMaximize:s("chrome-maximize",60089),chromeMinimize:s("chrome-minimize",60090),chromeRestore:s("chrome-restore",60091),circleOutline:s("circle-outline",60092),circle:s("circle",60092),debugBreakpointUnverified:s("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:s("terminal-decoration-incomplete",60092),circleSlash:s("circle-slash",60093),circuitBoard:s("circuit-board",60094),clearAll:s("clear-all",60095),clippy:s("clippy",60096),closeAll:s("close-all",60097),cloudDownload:s("cloud-download",60098),cloudUpload:s("cloud-upload",60099),code:s("code",60100),collapseAll:s("collapse-all",60101),colorMode:s("color-mode",60102),commentDiscussion:s("comment-discussion",60103),creditCard:s("credit-card",60105),dash:s("dash",60108),dashboard:s("dashboard",60109),database:s("database",60110),debugContinue:s("debug-continue",60111),debugDisconnect:s("debug-disconnect",60112),debugPause:s("debug-pause",60113),debugRestart:s("debug-restart",60114),debugStart:s("debug-start",60115),debugStepInto:s("debug-step-into",60116),debugStepOut:s("debug-step-out",60117),debugStepOver:s("debug-step-over",60118),debugStop:s("debug-stop",60119),debug:s("debug",60120),deviceCameraVideo:s("device-camera-video",60121),deviceCamera:s("device-camera",60122),deviceMobile:s("device-mobile",60123),diffAdded:s("diff-added",60124),diffIgnored:s("diff-ignored",60125),diffModified:s("diff-modified",60126),diffRemoved:s("diff-removed",60127),diffRenamed:s("diff-renamed",60128),diff:s("diff",60129),diffSidebyside:s("diff-sidebyside",60129),discard:s("discard",60130),editorLayout:s("editor-layout",60131),emptyWindow:s("empty-window",60132),exclude:s("exclude",60133),extensions:s("extensions",60134),eyeClosed:s("eye-closed",60135),fileBinary:s("file-binary",60136),fileCode:s("file-code",60137),fileMedia:s("file-media",60138),filePdf:s("file-pdf",60139),fileSubmodule:s("file-submodule",60140),fileSymlinkDirectory:s("file-symlink-directory",60141),fileSymlinkFile:s("file-symlink-file",60142),fileZip:s("file-zip",60143),files:s("files",60144),filter:s("filter",60145),flame:s("flame",60146),foldDown:s("fold-down",60147),foldUp:s("fold-up",60148),fold:s("fold",60149),folderActive:s("folder-active",60150),folderOpened:s("folder-opened",60151),gear:s("gear",60152),gift:s("gift",60153),gistSecret:s("gist-secret",60154),gist:s("gist",60155),gitCommit:s("git-commit",60156),gitCompare:s("git-compare",60157),compareChanges:s("compare-changes",60157),gitMerge:s("git-merge",60158),githubAction:s("github-action",60159),githubAlt:s("github-alt",60160),globe:s("globe",60161),grabber:s("grabber",60162),graph:s("graph",60163),gripper:s("gripper",60164),heart:s("heart",60165),home:s("home",60166),horizontalRule:s("horizontal-rule",60167),hubot:s("hubot",60168),inbox:s("inbox",60169),issueReopened:s("issue-reopened",60171),issues:s("issues",60172),italic:s("italic",60173),jersey:s("jersey",60174),json:s("json",60175),kebabVertical:s("kebab-vertical",60176),key:s("key",60177),law:s("law",60178),lightbulbAutofix:s("lightbulb-autofix",60179),linkExternal:s("link-external",60180),link:s("link",60181),listOrdered:s("list-ordered",60182),listUnordered:s("list-unordered",60183),liveShare:s("live-share",60184),loading:s("loading",60185),location:s("location",60186),mailRead:s("mail-read",60187),mail:s("mail",60188),markdown:s("markdown",60189),megaphone:s("megaphone",60190),mention:s("mention",60191),milestone:s("milestone",60192),gitPullRequestMilestone:s("git-pull-request-milestone",60192),mortarBoard:s("mortar-board",60193),move:s("move",60194),multipleWindows:s("multiple-windows",60195),mute:s("mute",60196),noNewline:s("no-newline",60197),note:s("note",60198),octoface:s("octoface",60199),openPreview:s("open-preview",60200),package:s("package",60201),paintcan:s("paintcan",60202),pin:s("pin",60203),play:s("play",60204),run:s("run",60204),plug:s("plug",60205),preserveCase:s("preserve-case",60206),preview:s("preview",60207),project:s("project",60208),pulse:s("pulse",60209),question:s("question",60210),quote:s("quote",60211),radioTower:s("radio-tower",60212),reactions:s("reactions",60213),references:s("references",60214),refresh:s("refresh",60215),regex:s("regex",60216),remoteExplorer:s("remote-explorer",60217),remote:s("remote",60218),remove:s("remove",60219),replaceAll:s("replace-all",60220),replace:s("replace",60221),repoClone:s("repo-clone",60222),repoForcePush:s("repo-force-push",60223),repoPull:s("repo-pull",60224),repoPush:s("repo-push",60225),report:s("report",60226),requestChanges:s("request-changes",60227),rocket:s("rocket",60228),rootFolderOpened:s("root-folder-opened",60229),rootFolder:s("root-folder",60230),rss:s("rss",60231),ruby:s("ruby",60232),saveAll:s("save-all",60233),saveAs:s("save-as",60234),save:s("save",60235),screenFull:s("screen-full",60236),screenNormal:s("screen-normal",60237),searchStop:s("search-stop",60238),server:s("server",60240),settingsGear:s("settings-gear",60241),settings:s("settings",60242),shield:s("shield",60243),smiley:s("smiley",60244),sortPrecedence:s("sort-precedence",60245),splitHorizontal:s("split-horizontal",60246),splitVertical:s("split-vertical",60247),squirrel:s("squirrel",60248),starFull:s("star-full",60249),starHalf:s("star-half",60250),symbolClass:s("symbol-class",60251),symbolColor:s("symbol-color",60252),symbolConstant:s("symbol-constant",60253),symbolEnumMember:s("symbol-enum-member",60254),symbolField:s("symbol-field",60255),symbolFile:s("symbol-file",60256),symbolInterface:s("symbol-interface",60257),symbolKeyword:s("symbol-keyword",60258),symbolMisc:s("symbol-misc",60259),symbolOperator:s("symbol-operator",60260),symbolProperty:s("symbol-property",60261),wrench:s("wrench",60261),wrenchSubaction:s("wrench-subaction",60261),symbolSnippet:s("symbol-snippet",60262),tasklist:s("tasklist",60263),telescope:s("telescope",60264),textSize:s("text-size",60265),threeBars:s("three-bars",60266),thumbsdown:s("thumbsdown",60267),thumbsup:s("thumbsup",60268),tools:s("tools",60269),triangleDown:s("triangle-down",60270),triangleLeft:s("triangle-left",60271),triangleRight:s("triangle-right",60272),triangleUp:s("triangle-up",60273),twitter:s("twitter",60274),unfold:s("unfold",60275),unlock:s("unlock",60276),unmute:s("unmute",60277),unverified:s("unverified",60278),verified:s("verified",60279),versions:s("versions",60280),vmActive:s("vm-active",60281),vmOutline:s("vm-outline",60282),vmRunning:s("vm-running",60283),watch:s("watch",60284),whitespace:s("whitespace",60285),wholeWord:s("whole-word",60286),window:s("window",60287),wordWrap:s("word-wrap",60288),zoomIn:s("zoom-in",60289),zoomOut:s("zoom-out",60290),listFilter:s("list-filter",60291),listFlat:s("list-flat",60292),listSelection:s("list-selection",60293),selection:s("selection",60293),listTree:s("list-tree",60294),debugBreakpointFunctionUnverified:s("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:s("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:s("debug-breakpoint-function-disabled",60296),debugStackframeActive:s("debug-stackframe-active",60297),circleSmallFilled:s("circle-small-filled",60298),debugStackframeDot:s("debug-stackframe-dot",60298),terminalDecorationMark:s("terminal-decoration-mark",60298),debugStackframe:s("debug-stackframe",60299),debugStackframeFocused:s("debug-stackframe-focused",60299),debugBreakpointUnsupported:s("debug-breakpoint-unsupported",60300),symbolString:s("symbol-string",60301),debugReverseContinue:s("debug-reverse-continue",60302),debugStepBack:s("debug-step-back",60303),debugRestartFrame:s("debug-restart-frame",60304),debugAlt:s("debug-alt",60305),callIncoming:s("call-incoming",60306),callOutgoing:s("call-outgoing",60307),menu:s("menu",60308),expandAll:s("expand-all",60309),feedback:s("feedback",60310),gitPullRequestReviewer:s("git-pull-request-reviewer",60310),groupByRefType:s("group-by-ref-type",60311),ungroupByRefType:s("ungroup-by-ref-type",60312),account:s("account",60313),gitPullRequestAssignee:s("git-pull-request-assignee",60313),bellDot:s("bell-dot",60314),debugConsole:s("debug-console",60315),library:s("library",60316),output:s("output",60317),runAll:s("run-all",60318),syncIgnored:s("sync-ignored",60319),pinned:s("pinned",60320),githubInverted:s("github-inverted",60321),serverProcess:s("server-process",60322),serverEnvironment:s("server-environment",60323),pass:s("pass",60324),issueClosed:s("issue-closed",60324),stopCircle:s("stop-circle",60325),playCircle:s("play-circle",60326),record:s("record",60327),debugAltSmall:s("debug-alt-small",60328),vmConnect:s("vm-connect",60329),cloud:s("cloud",60330),merge:s("merge",60331),export:s("export",60332),graphLeft:s("graph-left",60333),magnet:s("magnet",60334),notebook:s("notebook",60335),redo:s("redo",60336),checkAll:s("check-all",60337),pinnedDirty:s("pinned-dirty",60338),passFilled:s("pass-filled",60339),circleLargeFilled:s("circle-large-filled",60340),circleLarge:s("circle-large",60341),circleLargeOutline:s("circle-large-outline",60341),combine:s("combine",60342),gather:s("gather",60342),table:s("table",60343),variableGroup:s("variable-group",60344),typeHierarchy:s("type-hierarchy",60345),typeHierarchySub:s("type-hierarchy-sub",60346),typeHierarchySuper:s("type-hierarchy-super",60347),gitPullRequestCreate:s("git-pull-request-create",60348),runAbove:s("run-above",60349),runBelow:s("run-below",60350),notebookTemplate:s("notebook-template",60351),debugRerun:s("debug-rerun",60352),workspaceTrusted:s("workspace-trusted",60353),workspaceUntrusted:s("workspace-untrusted",60354),workspaceUnknown:s("workspace-unknown",60355),terminalCmd:s("terminal-cmd",60356),terminalDebian:s("terminal-debian",60357),terminalLinux:s("terminal-linux",60358),terminalPowershell:s("terminal-powershell",60359),terminalTmux:s("terminal-tmux",60360),terminalUbuntu:s("terminal-ubuntu",60361),terminalBash:s("terminal-bash",60362),arrowSwap:s("arrow-swap",60363),copy:s("copy",60364),personAdd:s("person-add",60365),filterFilled:s("filter-filled",60366),wand:s("wand",60367),debugLineByLine:s("debug-line-by-line",60368),inspect:s("inspect",60369),layers:s("layers",60370),layersDot:s("layers-dot",60371),layersActive:s("layers-active",60372),compass:s("compass",60373),compassDot:s("compass-dot",60374),compassActive:s("compass-active",60375),azure:s("azure",60376),issueDraft:s("issue-draft",60377),gitPullRequestClosed:s("git-pull-request-closed",60378),gitPullRequestDraft:s("git-pull-request-draft",60379),debugAll:s("debug-all",60380),debugCoverage:s("debug-coverage",60381),runErrors:s("run-errors",60382),folderLibrary:s("folder-library",60383),debugContinueSmall:s("debug-continue-small",60384),beakerStop:s("beaker-stop",60385),graphLine:s("graph-line",60386),graphScatter:s("graph-scatter",60387),pieChart:s("pie-chart",60388),bracket:s("bracket",60175),bracketDot:s("bracket-dot",60389),bracketError:s("bracket-error",60390),lockSmall:s("lock-small",60391),azureDevops:s("azure-devops",60392),verifiedFilled:s("verified-filled",60393),newline:s("newline",60394),layout:s("layout",60395),layoutActivitybarLeft:s("layout-activitybar-left",60396),layoutActivitybarRight:s("layout-activitybar-right",60397),layoutPanelLeft:s("layout-panel-left",60398),layoutPanelCenter:s("layout-panel-center",60399),layoutPanelJustify:s("layout-panel-justify",60400),layoutPanelRight:s("layout-panel-right",60401),layoutPanel:s("layout-panel",60402),layoutSidebarLeft:s("layout-sidebar-left",60403),layoutSidebarRight:s("layout-sidebar-right",60404),layoutStatusbar:s("layout-statusbar",60405),layoutMenubar:s("layout-menubar",60406),layoutCentered:s("layout-centered",60407),target:s("target",60408),indent:s("indent",60409),recordSmall:s("record-small",60410),errorSmall:s("error-small",60411),terminalDecorationError:s("terminal-decoration-error",60411),arrowCircleDown:s("arrow-circle-down",60412),arrowCircleLeft:s("arrow-circle-left",60413),arrowCircleRight:s("arrow-circle-right",60414),arrowCircleUp:s("arrow-circle-up",60415),layoutSidebarRightOff:s("layout-sidebar-right-off",60416),layoutPanelOff:s("layout-panel-off",60417),layoutSidebarLeftOff:s("layout-sidebar-left-off",60418),blank:s("blank",60419),heartFilled:s("heart-filled",60420),map:s("map",60421),mapHorizontal:s("map-horizontal",60421),foldHorizontal:s("fold-horizontal",60421),mapFilled:s("map-filled",60422),mapHorizontalFilled:s("map-horizontal-filled",60422),foldHorizontalFilled:s("fold-horizontal-filled",60422),circleSmall:s("circle-small",60423),bellSlash:s("bell-slash",60424),bellSlashDot:s("bell-slash-dot",60425),commentUnresolved:s("comment-unresolved",60426),gitPullRequestGoToChanges:s("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:s("git-pull-request-new-changes",60428),searchFuzzy:s("search-fuzzy",60429),commentDraft:s("comment-draft",60430),send:s("send",60431),sparkle:s("sparkle",60432),insert:s("insert",60433),mic:s("mic",60434),thumbsdownFilled:s("thumbsdown-filled",60435),thumbsupFilled:s("thumbsup-filled",60436),coffee:s("coffee",60437),snake:s("snake",60438),game:s("game",60439),vr:s("vr",60440),chip:s("chip",60441),piano:s("piano",60442),music:s("music",60443),micFilled:s("mic-filled",60444),repoFetch:s("repo-fetch",60445),copilot:s("copilot",60446),lightbulbSparkle:s("lightbulb-sparkle",60447),robot:s("robot",60448),sparkleFilled:s("sparkle-filled",60449),diffSingle:s("diff-single",60450),diffMultiple:s("diff-multiple",60451),surroundWith:s("surround-with",60452),share:s("share",60453),gitStash:s("git-stash",60454),gitStashApply:s("git-stash-apply",60455),gitStashPop:s("git-stash-pop",60456),vscode:s("vscode",60457),vscodeInsiders:s("vscode-insiders",60458),codeOss:s("code-oss",60459),runCoverage:s("run-coverage",60460),runAllCoverage:s("run-all-coverage",60461),coverage:s("coverage",60462),githubProject:s("github-project",60463),mapVertical:s("map-vertical",60464),foldVertical:s("fold-vertical",60464),mapVerticalFilled:s("map-vertical-filled",60465),foldVerticalFilled:s("fold-vertical-filled",60465),goToSearch:s("go-to-search",60466),percentage:s("percentage",60467),sortPercentage:s("sort-percentage",60467),attach:s("attach",60468),dialogError:s("dialog-error","error"),dialogWarning:s("dialog-warning","warning"),dialogInfo:s("dialog-info","info"),dialogClose:s("dialog-close","close"),treeItemExpanded:s("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:s("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:s("tree-filter-on-type-off","list-selection"),treeFilterClear:s("tree-filter-clear","close"),treeItemLoading:s("tree-item-loading","loading"),menuSelection:s("menu-selection","check"),menuSubmenu:s("menu-submenu","chevron-right"),menuBarMore:s("menubar-more","more"),scrollbarButtonLeft:s("scrollbar-button-left","triangle-left"),scrollbarButtonRight:s("scrollbar-button-right","triangle-right"),scrollbarButtonUp:s("scrollbar-button-up","triangle-up"),scrollbarButtonDown:s("scrollbar-button-down","triangle-down"),toolBarMore:s("toolbar-more","more"),quickInputBack:s("quick-input-back","arrow-left"),dropDownButton:s("drop-down-button",60084),symbolCustomColor:s("symbol-customcolor",60252),exportIcon:s("export",60332),workspaceUnspecified:s("workspace-unspecified",60355),newLine:s("newline",60394),thumbsDownFilled:s("thumbsdown-filled",60435),thumbsUpFilled:s("thumbsup-filled",60436),gitFetch:s("git-fetch",60445),lightbulbSparkleAutofix:s("lightbulb-sparkle-autofix",60447),debugBreakpointPending:s("debug-breakpoint-pending",60377)}},9263:(e,t,n)=>{"use strict";function i(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}n.d(t,{Il:()=>a,Oz:()=>s,VS:()=>r});class r{constructor(e,t,n,r=1){this._rgbaBrand=void 0,this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,n)),this.a=i(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class s{constructor(e,t,n,r){this._hslaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.l=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,n=e.g/255,i=e.b/255,r=e.a,o=Math.max(t,n,i),a=Math.min(t,n,i);let l=0,c=0;const h=(a+o)/2,d=o-a;if(d>0){switch(c=Math.min(h<=.5?d/(2*h):d/(2-2*h),1),o){case t:l=(n-i)/d+(n1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:i,a:o}=e;let a,l,c;if(0===n)a=l=c=i;else{const e=i<.5?i*(1+n):i+n-i*n,r=2*i-e;a=s._hue2rgb(r,e,t+1/3),l=s._hue2rgb(r,e,t),c=s._hue2rgb(r,e,t-1/3)}return new r(Math.round(255*a),Math.round(255*l),Math.round(255*c),o)}}class o{constructor(e,t,n,r){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=i(Math.max(Math.min(1,t),0),3),this.v=i(Math.max(Math.min(1,n),0),3),this.a=i(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,n=e.g/255,i=e.b/255,r=Math.max(t,n,i),s=r-Math.min(t,n,i),a=0===r?0:s/r;let l;return l=0===s?0:r===t?((n-i)/s%6+6)%6:r===n?(i-t)/s+2:(t-n)/s+4,new o(Math.round(60*l),a,r,e.a)}static toRGBA(e){const{h:t,s:n,v:i,a:s}=e,o=i*n,a=o*(1-Math.abs(t/60%2-1)),l=i-o;let[c,h,d]=[0,0,0];return t<60?(c=o,h=a):t<120?(c=a,h=o):t<180?(h=o,d=a):t<240?(h=a,d=o):t<300?(c=a,d=o):t<=360&&(c=o,d=a),c=Math.round(255*(c+l)),h=Math.round(255*(h+l)),d=Math.round(255*(d+l)),new r(c,h,d,s)}}class a{static fromHex(e){return a.Format.CSS.parseHex(e)||a.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:s.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:o.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof r)this.rgba=e;else if(e instanceof s)this._hsla=e,this.rgba=s.toRGBA(e);else{if(!(e instanceof o))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=o.toRGBA(e)}}equals(e){return!!e&&r.equals(this.rgba,e.rgba)&&s.equals(this.hsla,e.hsla)&&o.equals(this.hsva,e.hsva)}getRelativeLuminance(){return i(.2126*a._relativeLuminanceForComponent(this.rgba.r)+.7152*a._relativeLuminanceForComponent(this.rgba.g)+.0722*a._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance(){"use strict";n.d(t,{B8:()=>h,L6:()=>c,b1:()=>l,dL:()=>r,he:()=>u,ri:()=>s});const i=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(d.isErrorNoTelemetry(e))throw new d(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function r(e){var t;(t=e)instanceof a||t instanceof Error&&t.name===o&&t.message===o||i.onUnexpectedError(e)}function s(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:d.isErrorNoTelemetry(e)}}return e}const o="Canceled";class a extends Error{constructor(){super(o),this.name=this.message}}function l(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function c(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class h extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class d extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof d)return e;const t=new d;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class u extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,u.prototype)}}},5718:(e,t,n)=>{"use strict";n.d(t,{Q5:()=>p,ju:()=>i});var i,r=n(8177),s=n(6263),o=(n(8320),n(7776));!function(e){function t(e){return(t,n=null,i)=>{let r,s=!1;return r=e((e=>{if(!s)return r?r.dispose():s=!0,t.call(n,e)}),null,i),s&&r.dispose(),r}}function n(e,t,n){return r(((n,i=null,r)=>e((e=>n.call(i,t(e))),null,r)),n)}function i(e,t,n){return r(((n,i=null,r)=>e((e=>t(e)&&n.call(i,e)),null,r)),n)}function r(e,t){let n;const i=new p({onWillAddFirstListener(){n=e(i.fire,i)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(i),i.event}function o(e,t,n=100,i=!1,r=!1,s,o){let a,l,c,h,d=0;const u=new p({leakWarningThreshold:s,onWillAddFirstListener(){a=e((e=>{d++,l=t(l,e),i&&!c&&(u.fire(l),l=void 0),h=()=>{const e=l;l=void 0,c=void 0,(!i||d>1)&&u.fire(e),d=0},"number"==typeof n?(clearTimeout(c),c=setTimeout(h,n)):void 0===c&&(c=0,queueMicrotask(h))}))},onWillRemoveListener(){r&&d>0&&h?.()},onDidRemoveLastListener(){h=void 0,a.dispose()}});return o?.add(u),u.event}e.None=()=>s.JT.None,e.defer=function(e,t){return o(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=t,e.onceIf=function(t,n){return e.once(e.filter(t,n))},e.map=n,e.forEach=function(e,t,n){return r(((n,i=null,r)=>e((e=>{t(e),n.call(i,e)}),null,r)),n)},e.filter=i,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,i)=>{return r=(0,s.F8)(...e.map((e=>e((e=>t.call(n,e)))))),(o=i)instanceof Array?o.push(r):o&&o.add(r),r;var r,o}},e.reduce=function(e,t,i,r){let s=i;return n(e,(e=>(s=t(s,e),s)),r)},e.debounce=o,e.accumulate=function(t,n=0,i){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,i)},e.latch=function(e,t=(e,t)=>e===t,n){let r,s=!0;return i(e,(e=>{const n=s||!t(e,r);return s=!1,r=e,n}),n)},e.split=function(t,n,i){return[e.filter(t,n,i),e.filter(t,(e=>!n(e)),i)]},e.buffer=function(e,t=!1,n=[],i){let r=n.slice(),s=e((e=>{r?r.push(e):a.fire(e)}));i&&i.add(s);const o=()=>{r?.forEach((e=>a.fire(e))),r=null},a=new p({onWillAddFirstListener(){s||(s=e((e=>a.fire(e))),i&&i.add(s))},onDidAddFirstListener(){r&&(t?setTimeout(o):o())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return i&&i.add(a),a.event},e.chain=function(e,t){return(n,i,r)=>{const s=t(new l);return e((function(e){const t=s.evaluate(e);t!==a&&n.call(i,t)}),void 0,r)}};const a=Symbol("HaltChainable");class l{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:a)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=(e,t)=>e===t){let t,n=!0;return this.steps.push((i=>{const r=n||!e(i,t);return n=!1,t=i,r?i:a})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===a)break;return e}}e.fromNodeEventEmitter=function(e,t,n=e=>e){const i=(...e)=>r.fire(n(...e)),r=new p({onWillAddFirstListener:()=>e.on(t,i),onDidRemoveLastListener:()=>e.removeListener(t,i)});return r.event},e.fromDOMEventEmitter=function(e,t,n=e=>e){const i=(...e)=>r.fire(n(...e)),r=new p({onWillAddFirstListener:()=>e.addEventListener(t,i),onDidRemoveLastListener:()=>e.removeEventListener(t,i)});return r.event},e.toPromise=function(e){return new Promise((n=>t(e)(n)))},e.fromPromise=function(e){const t=new p;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class c{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const n={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new p(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new c(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,i)=>{let r=0,o=!1;const a={beginUpdate(){r++},endUpdate(){r--,0===r&&(e.reportChanges(),o&&(o=!1,t.call(n)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return i instanceof s.SL?i.add(l):Array.isArray(i)&&i.push(l),l}}}(i||(i={}));class a{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${a._idPool++}`,a.all.add(this)}start(e){this._stopWatch=new o.G,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}class l{static{this._idPool=1}constructor(e,t,n=(l._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const n=this.threshold;if(n<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[n,i]of this._stacks)(!e||t{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],n=new d(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||r.dL)(n),s.JT.None}if(this._disposed)return s.JT.None;t&&(e=e.bind(t));const i=new u(e);let o;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(i.stack=c.create(),o=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof u?(this._deliveryQueue??=new m,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,s.OF)((()=>{o?.(),this._removeListener(i)}));return n instanceof s.SL?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,n=t.indexOf(e);if(-1===n)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[n]=void 0;const i=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let n=0;n0}}class m{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}},154:(e,t,n)=>{"use strict";n.d(t,{KM:()=>c,ej:()=>o,fn:()=>a,yj:()=>l});var i=n(4727),r=(n(3883),n(8810));function s(e){return 47===e||92===e}function o(e){return e.replace(/[\\/]/g,i.KR.sep)}function a(e){return-1===e.indexOf("/")&&(e=o(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e="/"+e),e}function l(e,t=i.KR.sep){if(!e)return"";const n=e.length,r=e.charCodeAt(0);if(s(r)){if(s(e.charCodeAt(1))&&!s(e.charCodeAt(2))){let i=3;const r=i;for(;i=65&&o<=90||o>=97&&o<=122)&&58===e.charCodeAt(1))return s(e.charCodeAt(2))?e.slice(0,2)+t:e.slice(0,2);var o;let a=e.indexOf("://");if(-1!==a)for(a+=3;ae.length)return!1;if(n){if(!(0,r.ok)(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===s&&n--,e.charAt(n)===s}return t.charAt(t.length-1)!==s&&(t+=s),0===e.indexOf(t)}},8699:(e,t,n)=>{"use strict";n.d(t,{EQ:()=>L,Qc:()=>N});var i=n(430),r=n(154),s=n(1484),o=n(4727),a=n(3883),l=n(8810);const c="**",h="/",d="[/\\\\]",u="[^/\\\\]",p=/\//g;function m(e,t){switch(e){case 0:return"";case 1:return`${u}*?`;default:return`(?:${d}|${u}+${d}${t?`|${d}${u}+`:""})*?`}}function f(e,t){if(!e)return[];const n=[];let i=!1,r=!1,s="";for(const o of e){switch(o){case t:if(!i&&!r){n.push(s),s="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1}s+=o}return s&&n.push(s),n}function g(e){if(!e)return"";let t="";const n=f(e,h);if(n.every((e=>e===c)))t=".*";else{let e=!1;n.forEach(((i,r)=>{if(i===c){if(e)return;t+=m(2,r===n.length-1)}else{let e=!1,s="",o=!1,a="";for(const n of i)if("}"!==n&&e)s+=n;else if(!o||"]"===n&&a)switch(n){case"{":e=!0;continue;case"[":o=!0;continue;case"}":{const n=`(?:${f(s,",").map((e=>g(e))).join("|")})`;t+=n,e=!1,s="";break}case"]":t+="["+a+"]",o=!1,a="";break;case"?":t+=u;continue;case"*":t+=m(1);continue;default:t+=(0,l.ec)(n)}else{let e;e="-"===n?n:"^"!==n&&"!"!==n||a?n===h?"":(0,l.ec)(n):"^",a+=e}rE(e,t))).filter((e=>e!==x)),e),i=n.length;if(!i)return x;if(1===i)return n[0];const r=function(t,i){for(let r=0,s=n.length;r!!e.allBasenames));s&&(r.allBasenames=s.allBasenames);const o=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return o.length&&(r.allPaths=o),r}(n,t):(s=C.exec(F(n,t)))?I(s[1].substr(1),n,!0):(s=_.exec(F(n,t)))?I(s[1],n,!1):function(e){try{const t=new RegExp(`^${g(e)}$`);return function(n){return t.lastIndex=0,"string"==typeof n&&t.test(n)?e:null}}catch(e){return x}}(n),k.set(i,c)),function(e,t){if("string"==typeof t)return e;const n=function(n,i){return(0,r.KM)(n,t.base,!a.IJ)?e((0,l.j3)(n.substr(t.base.length),o.ir),i):null};return n.allBasenames=e.allBasenames,n.allPaths=e.allPaths,n.basenames=e.basenames,n.patterns=e.patterns,n}(c,e)}function F(e,t){return t.trimForExclusions&&e.endsWith("/**")?e.substr(0,e.length-2):e}function I(e,t,n){const i=o.ir===o.KR.sep,r=i?e:e.replace(p,o.ir),s=o.ir+r,a=o.KR.sep+e;let l;return l=n?function(n,o){return"string"!=typeof n||n!==r&&!n.endsWith(s)&&(i||n!==e&&!n.endsWith(a))?null:t}:function(n,s){return"string"!=typeof n||n!==r&&(i||n!==e)?null:t},l.allPaths=[(n?"*/":"./")+e],l}function L(e,t,n){return!(!e||"string"!=typeof t)&&N(e)(t,void 0,n)}function N(e,t={}){if(!e)return S;if("string"==typeof e||function(e){const t=e;return!!t&&("string"==typeof t.base&&"string"==typeof t.pattern)}(e)){const n=E(e,t);if(n===x)return S;const i=function(e,t){return!!n(e,t)};return n.allBasenames&&(i.allBasenames=n.allBasenames),n.allPaths&&(i.allPaths=n.allPaths),i}return function(e,t){const n=T(Object.getOwnPropertyNames(e).map((n=>function(e,t,n){if(!1===t)return x;const r=E(e,n);if(r===x)return x;if("boolean"==typeof t)return r;if(t){const n=t.when;if("string"==typeof n){const t=(t,s,o,a)=>{if(!a||!r(t,s))return null;const l=a(n.replace("$(basename)",(()=>o)));return(0,i.J8)(l)?l.then((t=>t?e:null)):l?e:null};return t.requiresSiblings=!0,t}}return r}(n,e[n],t))).filter((e=>e!==x))),r=n.length;if(!r)return x;if(!n.some((e=>!!e.requiresSiblings))){if(1===r)return n[0];const e=function(e,t){let r;for(let s=0,o=n.length;s{for(const e of r){const t=await e;if("string"==typeof t)return t}return null})():null},t=n.find((e=>!!e.allBasenames));t&&(e.allBasenames=t.allBasenames);const s=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return s.length&&(e.allPaths=s),e}const s=function(e,t,r){let s,a;for(let l=0,c=n.length;l{for(const e of a){const t=await e;if("string"==typeof t)return t}return null})():null},a=n.find((e=>!!e.allBasenames));a&&(s.allBasenames=a.allBasenames);const l=n.reduce(((e,t)=>t.allPaths?e.concat(t.allPaths):e),[]);return l.length&&(s.allPaths=l),s}(e,t)}function T(e,t){const n=e.filter((e=>!!e.basenames));if(n.length<2)return e;const i=n.reduce(((e,t)=>{const n=t.basenames;return n?e.concat(n):e}),[]);let r;if(t){r=[];for(let e=0,n=i.length;e{const n=t.patterns;return n?e.concat(n):e}),[]);const s=function(e,t){if("string"!=typeof e)return null;if(!t){let n;for(n=e.length;n>0;n--){const t=e.charCodeAt(n-1);if(47===t||92===t)break}t=e.substr(n)}const n=i.indexOf(t);return-1!==n?r[n]:null};s.basenames=i,s.patterns=r,s.allBasenames=i;const o=e.filter((e=>!e.basenames));return o.push(s),o}},1252:(e,t,n)=>{"use strict";n.d(t,{Cv:()=>o,SP:()=>r,yP:()=>h});var i=n(8810);function r(e,t){switch(typeof e){case"object":return null===e?s(349,t):Array.isArray(e)?(n=e,i=s(104579,i=t),n.reduce(((e,t)=>r(t,e)),i)):function(e,t){return t=s(181387,t),Object.keys(e).sort().reduce(((t,n)=>(t=o(n,t),r(e[n],t))),t)}(e,t);case"string":return o(e,t);case"boolean":return function(e,t){return s(e?433:863,t)}(e,t);case"number":return s(e,t);case"undefined":return s(937,t);default:return s(617,t)}var n,i}function s(e,t){return(t<<5)-t+e|0}function o(e,t){t=s(149417,t);for(let n=0,i=e.length;n>>i)>>>0}function l(e,t=0,n=e.byteLength,i=0){for(let r=0;re.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length>>0).toString(16),t/4)}class h{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(e){const t=e.length;if(0===t)return;const n=this._buff;let r,s,o=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(r=a,s=-1,a=0):(r=e.charCodeAt(0),s=0);;){let l=r;if(i.ZG(r)){if(!(s+1>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),c(this._h0)+c(this._h1)+c(this._h2)+c(this._h3)+c(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,l(this._buff,this._buffLen),this._buffLen>56&&(this._step(),l(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=h._bigBlock32,t=this._buffDV;for(let n=0;n<64;n+=4)e.setUint32(n,t.getUint32(n,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,a(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let n,i,r,s=this._h0,o=this._h1,l=this._h2,c=this._h3,d=this._h4;for(let t=0;t<80;t++)t<20?(n=o&l|~o&c,i=1518500249):t<40?(n=o^l^c,i=1859775393):t<60?(n=o&l|o&c|l&c,i=2400959708):(n=o^l^c,i=3395469782),r=a(s,5)+n+d+i+e.getUint32(4*t,!1)&4294967295,d=c,c=l,l=a(o,30),o=s,s=r;this._h0=this._h0+s&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+l&4294967295,this._h3=this._h3+c&4294967295,this._h4=this._h4+d&4294967295}}},455:(e,t,n)=>{"use strict";var i;n.d(t,{$:()=>i}),function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function*i(e){yield e}e.empty=function(){return n},e.single=i,e.wrap=function(e){return t(e)?e:i(e)},e.from=function(e){return e||n},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let n=0;for(const i of e)if(t(i,n++))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const i of e)yield t(i,n++)},e.flatMap=function*(e,t){let n=0;for(const i of e)yield*t(i,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let i=n;for(const n of e)i=t(i,n);return i},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);tr}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(i||(i={}))},7147:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});class i{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},6263:(e,t,n)=>{"use strict";function i(e,t){const n=this;let i,r=!1;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}n.d(t,{JT:()=>p,b2:()=>f,SL:()=>u,XK:()=>m,F8:()=>h,B9:()=>c,Nq:()=>a,OF:()=>d,wi:()=>o});var r=n(455);let s=null;function o(e){return s?.trackDisposable(e),e}function a(e){s?.markAsDisposed(e)}function l(e,t){s?.setParent(e,t)}function c(e){if(r.$.is(e)){const t=[];for(const n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function h(...e){const t=d((()=>c(e)));return function(e,t){if(s)for(const n of e)s.setParent(n,t)}(e,t),t}function d(e){const t=o({dispose:i((()=>{a(t),e()}))});return t}class u{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,o(this)}dispose(){this._isDisposed||(a(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{c(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return l(e,this),this._isDisposed?u.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),l(e,null))}}class p{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new u,o(this),l(this._store,this)}dispose(){a(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}class m{constructor(){this._isDisposed=!1,o(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&l(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,a(this),this._value?.dispose(),this._value=void 0}}class f{constructor(){this._store=new Map,this._isDisposed=!1,o(this)}dispose(){a(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{c(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},8320:(e,t,n)=>{"use strict";n.d(t,{S:()=>r});class i{static{this.Undefined=new i(void 0)}constructor(e){this.element=e,this.next=i.Undefined,this.prev=i.Undefined}}class r{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let e=this._first;for(;e!==i.Undefined;){const t=e.next;e.prev=i.Undefined,e.next=i.Undefined,e=t}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new i(e);if(this._first===i.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==i.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==i.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==i.Undefined&&e.next!==i.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===i.Undefined&&e.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):e.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):e.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==i.Undefined;)yield e.element,e=e.next}}},1484:(e,t,n)=>{"use strict";var i,r;n.d(t,{Y9:()=>o,YQ:()=>h,ri:()=>d,z6:()=>c});class s{constructor(e,t){this.uri=e,this.value=t}}class o{static{this.defaultToKey=e=>e.toString()}constructor(e,t){if(this[i]="ResourceMap",e instanceof o)this.map=new Map(e.map),this.toKey=t??o.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=t??o.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=e??o.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new s(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[t,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(i=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}class a{constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let i=this._map.get(e);if(i)i.value=t,0!==n&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(i);break;case 1:this.addItemFirst(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class l extends a{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class c extends l{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class h{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class d{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){return this.map.get(e)||new Set}}},5655:(e,t,n)=>{"use strict";n.d(t,{v:()=>i});const i=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})},73:(e,t,n)=>{"use strict";n.d(t,{Gi:()=>u,lg:()=>i,xn:()=>c});var i,r=n(8177),s=n(3883),o=n(8810),a=n(7002),l=n(4727);function c(e,t){return a.o.isUri(e)?(0,o.qq)(e.scheme,t):(0,o.ok)(e,t+":")}!function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",e.vscodeNotebookMetadata="vscode-notebook-metadata",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.commentsInput="comment",e.codeSetting="code-setting",e.outputChannel="output"}(i||(i={}));const h=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return l.KR.join(this._serverRootPath,i.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(t){return r.dL(t),e}const t=e.authority;let n=this._hosts[t];n&&-1!==n.indexOf(":")&&-1===n.indexOf("[")&&(n=`[${n}]`);const o=this._ports[t],l=this._connectionTokens[t];let c=`path=${encodeURIComponent(e.path)}`;return"string"==typeof l&&(c+=`&tkn=${encodeURIComponent(l)}`),a.o.from({scheme:s.$L?this._preferredWebSchema:i.vscodeRemoteResource,authority:`${n}:${o}`,path:this._remoteResourcesPath,query:c})}};class d{static{this.FALLBACK_AUTHORITY="vscode-app"}asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===i.vscodeRemote?h.rewrite(e):e.scheme!==i.file||!s.tY&&s.qB!==`${i.vscodeFileResource}://${d.FALLBACK_AUTHORITY}`?e:e.with({scheme:i.vscodeFileResource,authority:e.authority||d.FALLBACK_AUTHORITY,query:null,fragment:null})}toUri(e,t){if(a.o.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return a.o.joinPath(a.o.parse(t,!0),e);const n=l.v_(t,e);return a.o.file(n)}return a.o.parse(t.toUrl(e))}}const u=new d;var p;!function(e){const t=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"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const n="vscode-coi";e.getHeadersFromQuery=function(e){let i;"string"==typeof e?i=new URL(e).searchParams:e instanceof URL?i=e.searchParams:a.o.isUri(e)&&(i=new URL(e.toString(!0)).searchParams);const r=i?.get(n);if(r)return t.get(r)},e.addSearchParam=function(e,t,i){if(!globalThis.crossOriginIsolated)return;const r=t&&i?"3":i?"2":"1";e instanceof URLSearchParams?e.set(n,r):e[n]=r}}(p||(p={}))},2961:(e,t,n)=>{"use strict";function i(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;nfunction(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},i={};for(const t of e)i[t]=n(t);return i}n.d(t,{$E:()=>r,IU:()=>s,fS:()=>i}),Object.prototype.hasOwnProperty},4727:(e,t,n)=>{"use strict";n.d(t,{EZ:()=>L,XX:()=>I,DZ:()=>N,v_:()=>x,Fv:()=>S,KR:()=>k,Gf:()=>F,DB:()=>E,ir:()=>T,Ku:()=>C});var i=n(3883);let r;const s=globalThis.vscode;if(void 0!==s&&void 0!==s.process){const e=s.process;r={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else r="undefined"!=typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return i.ED?"win32":i.dz?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const o=r.cwd,a=r.env,l=r.platform,c=46,h=47,d=92,u=58;class p extends Error{constructor(e,t,n){let i;"string"==typeof t&&0===t.indexOf("not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be";const r=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${r} ${i} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function m(e,t){if("string"!=typeof e)throw new p(t,"string",e)}const f="win32"===l;function g(e){return e===h||e===d}function b(e){return e===h}function v(e){return e>=65&&e<=90||e>=97&&e<=122}function w(e,t,n,i){let r="",s=0,o=-1,a=0,l=0;for(let d=0;d<=e.length;++d){if(d2){const e=r.lastIndexOf(n);-1===e?(r="",s=0):(r=r.slice(0,e),s=r.length-1-r.lastIndexOf(n)),o=d,a=0;continue}if(0!==r.length){r="",s=0,o=d,a=0;continue}}t&&(r+=r.length>0?`${n}..`:"..",s=2)}else r.length>0?r+=`${n}${e.slice(o+1,d)}`:r=e.slice(o+1,d),s=d-o-1;o=d,a=0}else l===c&&-1!==a?++a:a=-1}return r}function y(e,t){!function(e){if(null===e||"object"!=typeof e)throw new p("pathObject","Object",e)}(t);const n=t.dir||t.root,i=t.base||`${t.name||""}${r=t.ext,r?`${"."===r[0]?"":"."}${r}`:""}`;var r;return n?n===t.root?`${n}${i}`:`${n}${e}${i}`:i}const C={resolve(...e){let t="",n="",i=!1;for(let r=e.length-1;r>=-1;r--){let s;if(r>=0){if(s=e[r],m(s,`paths[${r}]`),0===s.length)continue}else 0===t.length?s=o():(s=a[`=${t}`]||o(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===d)&&(s=`${t}\\`));const l=s.length;let c=0,h="",p=!1;const f=s.charCodeAt(0);if(1===l)g(f)&&(c=1,p=!0);else if(g(f))if(p=!0,g(s.charCodeAt(1))){let e=2,t=e;for(;e2&&g(s.charCodeAt(2))&&(p=!0,c=3));if(h.length>0)if(t.length>0){if(h.toLowerCase()!==t.toLowerCase())continue}else t=h;if(i){if(t.length>0)break}else if(n=`${s.slice(c)}\\${n}`,i=p,p&&t.length>0)break}return n=w(n,!i,"\\",g),i?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){m(e,"path");const t=e.length;if(0===t)return".";let n,i=0,r=!1;const s=e.charCodeAt(0);if(1===t)return b(s)?"\\":e;if(g(s))if(r=!0,g(e.charCodeAt(1))){let r=2,s=r;for(;r2&&g(e.charCodeAt(2))&&(r=!0,i=3));let o=i0&&g(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?r?`\\${o}`:o:r?`${n}\\${o}`:`${n}${o}`},isAbsolute(e){m(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return g(n)||t>2&&v(n)&&e.charCodeAt(1)===u&&g(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let i=0;i0&&(void 0===t?t=n=r:t+=`\\${r}`)}if(void 0===t)return".";let i=!0,r=0;if("string"==typeof n&&g(n.charCodeAt(0))){++r;const e=n.length;e>1&&g(n.charCodeAt(1))&&(++r,e>2&&(g(n.charCodeAt(2))?++r:i=!1))}if(i){for(;r=2&&(t=`\\${t.slice(r)}`)}return C.normalize(t)},relative(e,t){if(m(e,"from"),m(t,"to"),e===t)return"";const n=C.resolve(e),i=C.resolve(t);if(n===i)return"";if((e=n.toLowerCase())===(t=i.toLowerCase()))return"";let r=0;for(;rr&&e.charCodeAt(s-1)===d;)s--;const o=s-r;let a=0;for(;aa&&t.charCodeAt(l-1)===d;)l--;const c=l-a,h=oh){if(t.charCodeAt(a+p)===d)return i.slice(a+p+1);if(2===p)return i.slice(a+p)}o>h&&(e.charCodeAt(r+p)===d?u=p:2===p&&(u=3)),-1===u&&(u=0)}let f="";for(p=r+u+1;p<=s;++p)p!==s&&e.charCodeAt(p)!==d||(f+=0===f.length?"..":"\\..");return a+=u,f.length>0?`${f}${i.slice(a,l)}`:(i.charCodeAt(a)===d&&++a,i.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=C.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===d){if(t.charCodeAt(1)===d){const e=t.charCodeAt(2);if(63!==e&&e!==c)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(v(t.charCodeAt(0))&&t.charCodeAt(1)===u&&t.charCodeAt(2)===d)return`\\\\?\\${t}`;return e},dirname(e){m(e,"path");const t=e.length;if(0===t)return".";let n=-1,i=0;const r=e.charCodeAt(0);if(1===t)return g(r)?e:".";if(g(r)){if(n=i=1,g(e.charCodeAt(1))){let r=2,s=r;for(;r2&&g(e.charCodeAt(2))?3:2,i=n);let s=-1,o=!0;for(let n=t-1;n>=i;--n)if(g(e.charCodeAt(n))){if(!o){s=n;break}}else o=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&m(t,"suffix"),m(e,"path");let n,i=0,r=-1,s=!0;if(e.length>=2&&v(e.charCodeAt(0))&&e.charCodeAt(1)===u&&(i=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){const l=e.charCodeAt(n);if(g(l)){if(!s){i=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(r=n):(o=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=i;--n)if(g(e.charCodeAt(n))){if(!s){i=n+1;break}}else-1===r&&(s=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname(e){m(e,"path");let t=0,n=-1,i=0,r=-1,s=!0,o=0;e.length>=2&&e.charCodeAt(1)===u&&v(e.charCodeAt(0))&&(t=i=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(g(t)){if(!s){i=a+1;break}}else-1===r&&(s=!1,r=a+1),t===c?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:y.bind(null,"\\"),parse(e){m(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let i=0,r=e.charCodeAt(0);if(1===n)return g(r)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(g(r)){if(i=1,g(e.charCodeAt(1))){let t=2,r=t;for(;t0&&(t.root=e.slice(0,i));let s=-1,o=i,a=-1,l=!0,h=e.length-1,d=0;for(;h>=i;--h)if(r=e.charCodeAt(h),g(r)){if(!l){o=h+1;break}}else-1===a&&(l=!1,a=h+1),r===c?-1===s?s=h:1!==d&&(d=1):-1!==s&&(d=-1);return-1!==a&&(-1===s||0===d||1===d&&s===a-1&&s===o+1?t.base=t.name=e.slice(o,a):(t.name=e.slice(o,s),t.base=e.slice(o,a),t.ext=e.slice(s,a))),t.dir=o>0&&o!==i?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},_=(()=>{if(f){const e=/\\/g;return()=>{const t=o().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>o()})(),k={resolve(...e){let t="",n=!1;for(let i=e.length-1;i>=-1&&!n;i--){const r=i>=0?e[i]:_();m(r,`paths[${i}]`),0!==r.length&&(t=`${r}/${t}`,n=r.charCodeAt(0)===h)}return t=w(t,!n,"/",b),n?`/${t}`:t.length>0?t:"."},normalize(e){if(m(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===h,n=e.charCodeAt(e.length-1)===h;return 0===(e=w(e,!t,"/",b)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(m(e,"path"),e.length>0&&e.charCodeAt(0)===h),join(...e){if(0===e.length)return".";let t;for(let n=0;n0&&(void 0===t?t=i:t+=`/${i}`)}return void 0===t?".":k.normalize(t)},relative(e,t){if(m(e,"from"),m(t,"to"),e===t)return"";if((e=k.resolve(e))===(t=k.resolve(t)))return"";const n=e.length,i=n-1,r=t.length-1,s=is){if(t.charCodeAt(1+a)===h)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else i>s&&(e.charCodeAt(1+a)===h?o=a:0===a&&(o=0));let l="";for(a=1+o+1;a<=n;++a)a!==n&&e.charCodeAt(a)!==h||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+o)}`},toNamespacedPath:e=>e,dirname(e){if(m(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===h;let n=-1,i=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===h){if(!i){n=t;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&m(t,"ext"),m(e,"path");let n,i=0,r=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===h){if(!s){i=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(r=n):(o=-1,r=a))}return i===r?r=a:-1===r&&(r=e.length),e.slice(i,r)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===h){if(!s){i=n+1;break}}else-1===r&&(s=!1,r=n+1);return-1===r?"":e.slice(i,r)},extname(e){m(e,"path");let t=-1,n=0,i=-1,r=!0,s=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a!==h)-1===i&&(r=!1,i=o+1),a===c?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!r){n=o+1;break}}return-1===t||-1===i||0===s||1===s&&t===i-1&&t===n+1?"":e.slice(t,i)},format:y.bind(null,"/"),parse(e){m(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===h;let i;n?(t.root="/",i=1):i=0;let r=-1,s=0,o=-1,a=!0,l=e.length-1,d=0;for(;l>=i;--l){const t=e.charCodeAt(l);if(t!==h)-1===o&&(a=!1,o=l+1),t===c?-1===r?r=l:1!==d&&(d=1):-1!==r&&(d=-1);else if(!a){s=l+1;break}}if(-1!==o){const i=0===s&&n?1:s;-1===r||0===d||1===d&&r===o-1&&r===s+1?t.base=t.name=e.slice(i,o):(t.name=e.slice(i,r),t.base=e.slice(i,o),t.ext=e.slice(r,o))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};k.win32=C.win32=C,k.posix=C.posix=k;const S=f?C.normalize:k.normalize,x=f?C.join:k.join,E=f?C.resolve:k.resolve,F=f?C.relative:k.relative,I=f?C.dirname:k.dirname,L=f?C.basename:k.basename,N=f?C.extname:k.extname,T=f?C.sep:k.sep},3883:(e,t,n)=>{"use strict";n.d(t,{$L:()=>L,ED:()=>x,G6:()=>W,IJ:()=>F,OS:()=>A,dz:()=>E,fn:()=>D,i7:()=>P,qB:()=>N,r:()=>z,tY:()=>I,un:()=>V,vU:()=>B});var i=n(2174);const r="en";let s,o,a=!1,l=!1,c=!1,h=!1,d=!1,u=!1,p=!1,m=!1,f=!1,g=!1,b=null,v=null,w=null;const y=globalThis;let C;void 0!==y.vscode&&void 0!==y.vscode.process?C=y.vscode.process:"undefined"!=typeof process&&"string"==typeof process?.versions?.node&&(C=process);const _="string"==typeof C?.versions?.electron,k=_&&"renderer"===C?.type;if("object"==typeof C){a="win32"===C.platform,l="darwin"===C.platform,c="linux"===C.platform,h=c&&!!C.env.SNAP&&!!C.env.SNAP_REVISION,p=_,f=!!C.env.CI||!!C.env.BUILD_ARTIFACTSTAGINGDIRECTORY,s=r,b=r;const e=C.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);s=t.userLocale,v=t.osLocale,b=t.resolvedLanguage||r,w=t.languagePack?.translationsConfigFile}catch(e){}d=!0}else"object"!=typeof navigator||k?console.error("Unable to resolve platform."):(o=navigator.userAgent,a=o.indexOf("Windows")>=0,l=o.indexOf("Macintosh")>=0,m=(o.indexOf("Macintosh")>=0||o.indexOf("iPad")>=0||o.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,c=o.indexOf("Linux")>=0,o?.indexOf("Mobi")>=0,u=!0,b=i.fq()||r,s=navigator.language.toLowerCase(),v=s);let S=0;l?S=1:a?S=3:c&&(S=2);const x=a,E=l,F=c,I=d,L=u,N=u&&"function"==typeof y.importScripts?y.origin:void 0,T=o,R="function"==typeof y.postMessage&&!y.importScripts,D=(()=>{if(R){const e=[];y.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,i=e.length;n{const i=++t;e.push({id:i,callback:n}),y.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),A=l||m?2:a?1:3;let M=!0,O=!1;function z(){if(!O){O=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);M=513===t[0]}return M}const P=!!(T&&T.indexOf("Chrome")>=0),B=!!(T&&T.indexOf("Firefox")>=0),W=!!(!P&&T&&T.indexOf("Safari")>=0),V=!!(T&&T.indexOf("Edg/")>=0);T&&T.indexOf("Android")},8948:(e,t,n)=>{"use strict";n.d(t,{EZ:()=>u,Vb:()=>f});var i=n(154),r=n(73),s=n(4727),o=n(3883),a=n(8810),l=n(7002);function c(e){return(0,l.q)(e,!0)}class h{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:(0,a.qu)(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t||!(!e||!t)&&this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===r.lg.file)return i.KM(c(e),c(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(p(e.authority,t.authority))return i.KM(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return l.o.joinPath(e,...t)}basenameOrAuthority(e){return u(e)||e.authority}basename(e){return s.KR.basename(e.path)}extname(e){return s.KR.extname(e.path)}dirname(e){if(0===e.path.length)return e;let t;return e.scheme===r.lg.file?t=l.o.file(s.XX(c(e))).path:(t=s.KR.dirname(e.path),e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===r.lg.file?l.o.file(s.Fv(c(e))).path:s.KR.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!p(e.authority,t.authority))return;if(e.scheme===r.lg.file){const n=s.Gf(c(e),c(t));return o.ED?i.ej(n):n}let n=e.path||"/";const a=t.path||"/";if(this._ignorePathCasing(e)){let e=0;for(const t=Math.min(n.length,a.length);ei.yj(n).length&&n[n.length-1]===t}{const t=e.path;return t.length>1&&47===t.charCodeAt(t.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=s.ir){return m(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=s.ir){let n=!1;if(e.scheme===r.lg.file){const r=c(e);n=void 0!==r&&r.length===i.yj(r).length&&r[r.length-1]===t}else{t="/";const i=e.path;n=1===i.length&&47===i.charCodeAt(i.length-1)}return n||m(e,t)?e:e.with({path:e.path+"/"})}}const d=new h((()=>!1)),u=(new h((e=>e.scheme!==r.lg.file||!o.IJ)),new h((e=>!0)),d.isEqual.bind(d),d.isEqualOrParent.bind(d),d.getComparisonKey.bind(d),d.basenameOrAuthority.bind(d),d.basename.bind(d)),p=(d.extname.bind(d),d.dirname.bind(d),d.joinPath.bind(d),d.normalizePath.bind(d),d.relativePath.bind(d),d.resolvePath.bind(d),d.isAbsolutePath.bind(d),d.isEqualAuthority.bind(d)),m=d.hasTrailingPathSeparator.bind(d);var f;d.removeTrailingPathSeparator.bind(d),d.addTrailingPathSeparator.bind(d),function(e){e.META_DATA_LABEL="label",e.META_DATA_DESCRIPTION="description",e.META_DATA_SIZE="size",e.META_DATA_MIME="mime",e.parseMetaData=function(t){const n=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach((e=>{const[t,i]=e.split(":");t&&i&&n.set(t,i)}));const i=t.path.substring(0,t.path.indexOf(";"));return i&&n.set(e.META_DATA_MIME,i),n}}(f||(f={}))},7776:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const i=globalThis.performance&&"function"==typeof globalThis.performance.now;class r{static create(e){return new r(e)}constructor(e){this._now=i&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},8810:(e,t,n)=>{"use strict";n.d(t,{$i:()=>N,C8:()=>A,GF:()=>c,IO:()=>h,K7:()=>D,LC:()=>u,PJ:()=>z,Qe:()=>T,Ut:()=>I,W1:()=>E,YK:()=>_,ZG:()=>C,ZH:()=>S,ZK:()=>W,ab:()=>R,c1:()=>M,df:()=>v,ec:()=>a,fA:()=>o,j3:()=>l,m5:()=>s,ok:()=>y,ow:()=>p,qq:()=>w,qu:()=>m,rL:()=>k,uS:()=>O,uq:()=>d,vU:()=>V});var i=n(5480),r=n(7147);function s(e){return!e||"string"!=typeof e||0===e.trim().length}function o(e){return e.replace(/[<>"'&]/g,(e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e}))}function a(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function l(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let i=0;for(;e.indexOf(t,i)===i;)i+=n;return e.substring(i)}function c(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=a(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),new RegExp(e,i)}function h(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&!(!e.exec("")||0!==e.lastIndex)}function d(e){return e.split(/\r\n|\r|\n/)}function u(e){for(let t=0,n=e.length;t=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function m(e,t){return et?1:0}function f(e,t,n=0,i=e.length,r=0,s=t.length){for(;ns)return 1}const o=i-n,a=s-r;return oa?1:0}function g(e,t,n=0,i=e.length,r=0,s=t.length){for(;n=128||a>=128)return f(e.toLowerCase(),t.toLowerCase(),n,i,r,s);b(o)&&(o-=32),b(a)&&(a-=32);const l=o-a;if(0!==l)return l}const o=i-n,a=s-r;return oa?1:0}function b(e){return e>=97&&e<=122}function v(e){return e>=65&&e<=90}function w(e,t){return e.length===t.length&&0===g(e,t)}function y(e,t){const n=t.length;return!(t.length>e.length)&&0===g(e,t,0,n)}function C(e){return 55296<=e&&e<=56319}function _(e){return 56320<=e&&e<=57343}function k(e,t){return t-56320+(e-55296<<10)+65536}function S(e,t,n){const i=e.charCodeAt(n);if(C(i)&&n+11){const i=e.charCodeAt(t-2);if(C(i))return k(i,n)}return n}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=S(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class E{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new x(e,t)}nextGraphemeLength(){const e=B.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const n=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());if(P(i,r)){t.setOffset(n);break}i=r}return t.offset-n}prevGraphemeLength(){const e=B.getInstance(),t=this._iterator,n=t.offset;let i=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const n=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());if(P(r,i)){t.setOffset(n);break}i=r}return n-t.offset}eol(){return this._iterator.eol()}}let F;function I(e){return F||(F=/(?:[\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])/),F.test(e)}const L=/^[\t\n\r\x20-\x7E]*$/;function N(e){return L.test(e)}const T=/[\u2028\u2029]/;function R(e){return T.test(e)}function D(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function A(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const M=String.fromCharCode(65279);function O(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function z(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function P(e,t){return 0===e?5!==t&&7!==t:!(2===e&&3===t||4!==e&&2!==e&&3!==e&&4!==t&&2!==t&&3!==t&&(8===e&&(8===t||9===t||11===t||12===t)||!(11!==e&&9!==e||9!==t&&10!==t)||(12===e||10===e)&&10===t||5===t||13===t||7===t||1===e||13===e&&14===t||6===e&&6===t))}class B{static{this._INSTANCE=null}static getInstance(){return B._INSTANCE||(B._INSTANCE=new B),B._INSTANCE}constructor(){this._data=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]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let i=1;for(;i<=n;)if(et[3*i+1]))return t[3*i+2];i=2*i+1}return 0}}class W{static{this.ambiguousCharacterData=new r.o((()=>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,8218,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,8242,96,1370,96,1523,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,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,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,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,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,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,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,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,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,71922,67,71913,67,65315,67,8557,67,8450,67,8493,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,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,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,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,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,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,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,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,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,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,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,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,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,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,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,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,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,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,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,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,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,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,71919,87,71910,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,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,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,66293,90,71909,90,65338,90,8484,90,8488,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,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,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,65283,35,65292,44,65307,59],"ko":[8211,45,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,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,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,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[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,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,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,65283,35,65307,59]}')))}static{this.cache=new i.t2({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let n=0;n!e.startsWith("_")&&e in i));0===s.length&&(s=["_default"]);for(const e of s)r=n(r,t(i[e]));const o=function(e,t){const n=new Map(e);for(const[e,i]of t)n.set(e,i);return n}(t(i._common),r);return new W(o)}))}static getInstance(e){return W.cache.get(Array.from(e))}static{this._locales=new r.o((()=>Object.keys(W.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))))}static getLocales(){return W._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class V{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,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,12288,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]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(V.getRawData())),this._data}static isInvisibleCharacter(e){return V.getData().has(e)}static get codePoints(){return V.getData()}}},3870:(e,t,n)=>{"use strict";function i(e){return"string"==typeof e}function r(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function s(e){return void 0===e}function o(e){return s(e)||null===e}n.d(t,{HD:()=>i,Jp:()=>o,Kn:()=>r,o8:()=>s})},8635:(e,t,n)=>{"use strict";function i(e){return e<0?0:e>255?255:0|e}function r(e){return e<0?0:e>4294967295?4294967295:0|e}n.d(t,{A:()=>r,K:()=>i})},7002:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,q:()=>b});var i=n(4727),r=n(3883);const s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//,l="",c="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{static isUri(e){return e instanceof d||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}constructor(e,t,n,i,r,h=!1){"object"==typeof e?(this.scheme=e.scheme||l,this.authority=e.authority||l,this.path=e.path||l,this.query=e.query||l,this.fragment=e.fragment||l):(this.scheme=function(e,t){return e||t?e:"file"}(e,h),this.authority=t||l,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==c&&(t=c+t):t=c}return t}(this.scheme,n||l),this.query=i||l,this.fragment=r||l,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!s.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!o.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,h))}get fsPath(){return b(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:i,query:r,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=l),void 0===n?n=this.authority:null===n&&(n=l),void 0===i?i=this.path:null===i&&(i=l),void 0===r?r=this.query:null===r&&(r=l),void 0===s?s=this.fragment:null===s&&(s=l),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new p(t,n,i,r,s)}static parse(e,t=!1){const n=h.exec(e);return n?new p(n[2]||l,C(n[4]||l),C(n[5]||l),C(n[7]||l),C(n[9]||l),t):new p(l,l,l,l,l)}static file(e){let t=l;if(r.ED&&(e=e.replace(/\\/g,c)),e[0]===c&&e[1]===c){const n=e.indexOf(c,2);-1===n?(t=e.substring(2),e=c):(t=e.substring(2,n),e=e.substring(n)||c)}return new p("file",t,e,l,l)}static from(e,t){return new p(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=r.ED&&"file"===e.scheme?d.file(i.Ku.join(b(e,!0),...t)).path:i.KR.join(e.path,...t),e.with({path:n})}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof d)return e;{const t=new p(e);return t._formatted=e.external??null,t._fsPath=e._sep===u?e.fsPath??null:null,t}}return e}}const u=r.ED?1:void 0;class p extends d{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(e=!1){return e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=u),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const m={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 f(e,t,n){let i,r=-1;for(let s=0;s=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),void 0!==i&&(i+=e.charAt(s));else{void 0===i&&(i=e.substr(0,s));const t=m[o];void 0!==t?(-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),i+=t):-1===r&&(r=s)}}return-1!==r&&(i+=encodeURIComponent(e.substring(r))),void 0!==i?i:e}function g(e){let t;for(let n=0;n1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,r.ED&&(n=n.replace(/\//g,"\\")),n}function v(e,t){const n=t?g:f;let i="",{scheme:r,authority:s,path:o,query:a,fragment:l}=e;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=c,i+=c),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?i+=n(t,!1,!1):(i+=n(t.substr(0,e),!1,!1),i+=":",i+=n(t.substr(e+1),!1,!0)),i+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?i+=n(s,!1,!0):(i+=n(s.substr(0,e),!1,!0),i+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}i+=n(o,!0,!1)}return a&&(i+="?",i+=n(a,!1,!1)),l&&(i+="#",i+=t?l:f(l,!1,!1)),i}function w(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+w(e.substr(3)):e}}const y=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(y)?e.replace(y,(e=>w(e))):e}},8321:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SimpleWorkerClient:()=>w,SimpleWorkerServer:()=>_,create:()=>k,logOnceWebWorkerWarning:()=>u});var i=n(8177),r=n(5718),s=n(6263),o=n(73),a=n(3883),l=n(8810);const c="default",h="$initialize";let d=!1;function u(e){a.$L&&(d||(d=!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(e.message))}class p{constructor(e,t,n,i,r){this.vsWorker=e,this.req=t,this.channel=n,this.method=i,this.args=r,this.type=0}}class m{constructor(e,t,n,i){this.vsWorker=e,this.seq=t,this.res=n,this.err=i,this.type=1}}class f{constructor(e,t,n,i,r){this.vsWorker=e,this.req=t,this.channel=n,this.eventName=i,this.arg=r,this.type=2}}class g{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class b{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class v{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,n){const i=String(++this._lastSentReq);return new Promise(((r,s)=>{this._pendingReplies[i]={resolve:r,reject:s},this._send(new p(this._workerId,i,e,t,n))}))}listen(e,t,n){let i=null;const s=new r.Q5({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,s),this._send(new f(this._workerId,i,e,t,n))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new b(this._workerId,i)),i=null}});return s.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}createProxyToRemoteChannel(e,t){const n={get:(n,i)=>("string"!=typeof i||n[i]||(C(i)?n[i]=t=>this.listen(e,i,t):y(i)?n[i]=this.listen(e,i,void 0):36===i.charCodeAt(0)&&(n[i]=async(...n)=>(await(t?.()),this.sendMessage(e,i,n)))),n[i])};return new Proxy(Object.create(null),n)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then((e=>{this._send(new m(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=(0,i.ri)(e.detail)),this._send(new m(this._workerId,t,void 0,(0,i.ri)(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.channel,e.eventName,e.arg)((e=>{this._send(new g(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n{this._protocol.handleMessage(e)}),(e=>{(0,i.dL)(e)}))),this._protocol=new v({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)}),this._protocol.setWorkerId(this._worker.getId());let n=null;const r=globalThis.require;void 0!==r&&"function"==typeof r.getConfig?n=r.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(c,h,[this._worker.getId(),JSON.parse(JSON.stringify(n)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(c,(async()=>{await this._onModuleLoaded})),this._onModuleLoaded.catch((e=>{this._onError("Worker failed to load "+t.amdModuleId,e)}))}_handleMessage(e,t,n){const i=this._localChannels.get(e);if(!i)return Promise.reject(new Error(`Missing channel ${e} on main thread`));if("function"!=typeof i[t])return Promise.reject(new Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(i[t].apply(i,n))}catch(e){return Promise.reject(e)}}_handleEvent(e,t,n){const i=this._localChannels.get(e);if(!i)throw new Error(`Missing channel ${e} on main thread`);if(C(t)){const r=i[t].call(i,n);if("function"!=typeof r)throw new Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return r}if(y(t)){const n=i[t];if("function"!=typeof n)throw new Error(`Missing event ${t} on main thread channel ${e}.`);return n}throw new Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}}function y(e){return"o"===e[0]&&"n"===e[1]&&l.df(e.charCodeAt(2))}function C(e){return/^onDynamic/.test(e)&&l.df(e.charCodeAt(9))}class _{constructor(e,t){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=t,this._requestHandler=null,this._protocol=new v({sendMessage:(t,n)=>{e(t,n)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t,n){if(e===c&&t===h)return this.initialize(n[0],n[1],n[2]);const i=e===c?this._requestHandler:this._localChannels.get(e);if(!i)return Promise.reject(new Error(`Missing channel ${e} on worker thread`));if("function"!=typeof i[t])return Promise.reject(new Error(`Missing method ${t} on worker thread channel ${e}`));try{return Promise.resolve(i[t].apply(i,n))}catch(e){return Promise.reject(e)}}_handleEvent(e,t,n){const i=e===c?this._requestHandler:this._localChannels.get(e);if(!i)throw new Error(`Missing channel ${e} on worker thread`);if(C(t)){const e=i[t].call(i,n);if("function"!=typeof e)throw new Error(`Missing dynamic event ${t} on request handler.`);return e}if(y(t)){const e=i[t];if("function"!=typeof e)throw new Error(`Missing event ${t} on request handler.`);return e}throw new Error(`Malformed event name ${t}`)}getChannel(e){if(!this._remoteChannels.has(e)){const t=this._protocol.createProxyToRemoteChannel(e);this._remoteChannels.set(e,t)}return this._remoteChannels.get(e)}async initialize(e,t,i){if(this._protocol.setWorkerId(e),!this._requestHandlerFactory){t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t));{const e=o.Gi.asBrowserUri(`${i}.js`).toString(!0);return n(9822)(`${e}`).then((e=>{if(this._requestHandler=e.create(this),!this._requestHandler)throw new Error("No RequestHandler!")}))}}this._requestHandler=this._requestHandlerFactory(this)}}function k(e){return new _(e,null)}},9822:(e,t,n)=>{var i={"./simpleWorker":8321,"./simpleWorker.js":8321};function r(e){return Promise.resolve().then((()=>{if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n(i[e])}))}r.keys=()=>Object.keys(i),r.id=9822,e.exports=r},3355:(e,t,n)=>{"use strict";n.d(t,{N:()=>r});var i=n(8635);class r{constructor(e){const t=(0,i.K)(e);this._defaultValue=t,this._asciiMap=r._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=(0,i.K)(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}},8402:(e,t,n)=>{"use strict";n.d(t,{CE:()=>y,Re:()=>g,UP:()=>C,Vs:()=>w,eS:()=>b,lK:()=>f,m1:()=>k,r0:()=>_,ts:()=>S,zJ:()=>v});var i=n(2174),r=n(9263),s=n(7443),o=n(3620);const a=(0,s.P6G)("editor.lineHighlightBackground",null,i.NC("lineHighlight","Background color for the highlight of line at the cursor position.")),l=((0,s.P6G)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:s.lRK},i.NC("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),(0,s.P6G)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},i.NC("rangeHighlight","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),(0,s.P6G)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:s.xL1,hcLight:s.xL1},i.NC("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,s.P6G)("editor.symbolHighlightBackground",{dark:s.MUv,light:s.MUv,hcDark:null,hcLight:null},i.NC("symbolHighlight","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),(0,s.P6G)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:s.xL1,hcLight:s.xL1},i.NC("symbolHighlightBorder","Background color of the border around highlighted symbols.")),(0,s.P6G)("editorCursor.foreground",{dark:"#AEAFAD",light:r.Il.black,hcDark:r.Il.white,hcLight:"#0F4A85"},i.NC("caret","Color of the editor cursor."))),c=(0,s.P6G)("editorCursor.background",null,i.NC("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),h=((0,s.P6G)("editorMultiCursor.primary.foreground",l,i.NC("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),(0,s.P6G)("editorMultiCursor.primary.background",c,i.NC("editorMultiCursorPrimaryBackground","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.")),(0,s.P6G)("editorMultiCursor.secondary.foreground",l,i.NC("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),(0,s.P6G)("editorMultiCursor.secondary.background",c,i.NC("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),(0,s.P6G)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},i.NC("editorWhitespaces","Color of whitespace characters in the editor."))),d=((0,s.P6G)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:r.Il.white,hcLight:"#292929"},i.NC("editorLineNumbers","Color of editor line numbers.")),(0,s.P6G)("editorIndentGuide.background",h,i.NC("editorIndentGuides","Color of the editor indentation guides."),!1,i.NC("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead."))),u=(0,s.P6G)("editorIndentGuide.activeBackground",h,i.NC("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,i.NC("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),p=((0,s.P6G)("editorIndentGuide.background1",d,i.NC("editorIndentGuides1","Color of the editor indentation guides (1).")),(0,s.P6G)("editorIndentGuide.background2","#00000000",i.NC("editorIndentGuides2","Color of the editor indentation guides (2).")),(0,s.P6G)("editorIndentGuide.background3","#00000000",i.NC("editorIndentGuides3","Color of the editor indentation guides (3).")),(0,s.P6G)("editorIndentGuide.background4","#00000000",i.NC("editorIndentGuides4","Color of the editor indentation guides (4).")),(0,s.P6G)("editorIndentGuide.background5","#00000000",i.NC("editorIndentGuides5","Color of the editor indentation guides (5).")),(0,s.P6G)("editorIndentGuide.background6","#00000000",i.NC("editorIndentGuides6","Color of the editor indentation guides (6).")),(0,s.P6G)("editorIndentGuide.activeBackground1",u,i.NC("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),(0,s.P6G)("editorIndentGuide.activeBackground2","#00000000",i.NC("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),(0,s.P6G)("editorIndentGuide.activeBackground3","#00000000",i.NC("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),(0,s.P6G)("editorIndentGuide.activeBackground4","#00000000",i.NC("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),(0,s.P6G)("editorIndentGuide.activeBackground5","#00000000",i.NC("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),(0,s.P6G)("editorIndentGuide.activeBackground6","#00000000",i.NC("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),(0,s.P6G)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:s.xL1,hcLight:s.xL1},i.NC("editorActiveLineNumber","Color of editor active line number"),!1,i.NC("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."))),m=((0,s.P6G)("editorLineNumber.activeForeground",p,i.NC("editorActiveLineNumber","Color of editor active line number")),(0,s.P6G)("editorLineNumber.dimmedForeground",null,i.NC("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed.")),(0,s.P6G)("editorRuler.foreground",{dark:"#5A5A5A",light:r.Il.lightgrey,hcDark:r.Il.white,hcLight:"#292929"},i.NC("editorRuler","Color of the editor rulers.")),(0,s.P6G)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},i.NC("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,s.P6G)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},i.NC("editorBracketMatchBackground","Background color behind matching brackets")),(0,s.P6G)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:s.lRK,hcLight:s.lRK},i.NC("editorBracketMatchBorder","Color for matching brackets boxes")),(0,s.P6G)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},i.NC("editorOverviewRulerBorder","Color of the overview ruler border.")),(0,s.P6G)("editorOverviewRuler.background",null,i.NC("editorOverviewRulerBackground","Background color of the editor overview ruler.")),(0,s.P6G)("editorGutter.background",s.cvW,i.NC("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,s.P6G)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:r.Il.fromHex("#fff").transparent(.8),hcLight:s.lRK},i.NC("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor.")),(0,s.P6G)("editorUnnecessaryCode.opacity",{dark:r.Il.fromHex("#000a"),light:r.Il.fromHex("#0007"),hcDark:null,hcLight:null},i.NC("unnecessaryCodeOpacity","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.")),(0,s.P6G)("editorGhostText.border",{dark:null,light:null,hcDark:r.Il.fromHex("#fff").transparent(.8),hcLight:r.Il.fromHex("#292929").transparent(.8)},i.NC("editorGhostTextBorder","Border color of ghost text in the editor.")),(0,s.P6G)("editorGhostText.foreground",{dark:r.Il.fromHex("#ffffff56"),light:r.Il.fromHex("#0007"),hcDark:null,hcLight:null},i.NC("editorGhostTextForeground","Foreground color of the ghost text in the editor.")),(0,s.P6G)("editorGhostText.background",null,i.NC("editorGhostTextBackground","Background color of the ghost text in the editor.")),new r.Il(new r.VS(0,122,204,.6))),f=((0,s.P6G)("editorOverviewRuler.rangeHighlightForeground",m,i.NC("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.P6G)("editorOverviewRuler.errorForeground",{dark:new r.Il(new r.VS(255,18,18,.7)),light:new r.Il(new r.VS(255,18,18,.7)),hcDark:new r.Il(new r.VS(255,50,50,1)),hcLight:"#B5200D"},i.NC("overviewRuleError","Overview ruler marker color for errors."))),g=(0,s.P6G)("editorOverviewRuler.warningForeground",{dark:s.uoC,light:s.uoC,hcDark:s.pW3,hcLight:s.pW3},i.NC("overviewRuleWarning","Overview ruler marker color for warnings.")),b=(0,s.P6G)("editorOverviewRuler.infoForeground",{dark:s.c63,light:s.c63,hcDark:s.T83,hcLight:s.T83},i.NC("overviewRuleInfo","Overview ruler marker color for infos.")),v=(0,s.P6G)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},i.NC("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),w=(0,s.P6G)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},i.NC("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),y=(0,s.P6G)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},i.NC("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),C=(0,s.P6G)("editorBracketHighlight.foreground4","#00000000",i.NC("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),_=(0,s.P6G)("editorBracketHighlight.foreground5","#00000000",i.NC("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),k=(0,s.P6G)("editorBracketHighlight.foreground6","#00000000",i.NC("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),S=(0,s.P6G)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new r.Il(new r.VS(255,18,18,.8)),light:new r.Il(new r.VS(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},i.NC("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets."));(0,s.P6G)("editorBracketPairGuide.background1","#00000000",i.NC("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.background2","#00000000",i.NC("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.background3","#00000000",i.NC("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.background4","#00000000",i.NC("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.background5","#00000000",i.NC("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.background6","#00000000",i.NC("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.activeBackground1","#00000000",i.NC("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.activeBackground2","#00000000",i.NC("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.activeBackground3","#00000000",i.NC("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.activeBackground4","#00000000",i.NC("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.activeBackground5","#00000000",i.NC("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),(0,s.P6G)("editorBracketPairGuide.activeBackground6","#00000000",i.NC("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides.")),(0,s.P6G)("editorUnicodeHighlight.border",s.uoC,i.NC("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,s.P6G)("editorUnicodeHighlight.background",s.gpD,i.NC("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),(0,o.Ic)(((e,t)=>{const n=e.getColor(s.cvW),i=e.getColor(a),r=i&&!i.isTransparent()?i:n;r&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${r}; }`)}))},8235:(e,t,n)=>{"use strict";function i(e){let t=0,n=0,i=0,r=0;for(let s=0,o=e.length;si})},3627:(e,t,n)=>{"use strict";n.d(t,{i:()=>l,z:()=>a});var i=n(8177),r=n(5653),s=n(4117),o=n(6318);class a{static fromRangeInclusive(e){return new a(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(0===e.length)return[];let t=new l(e[0].slice());for(let n=1;nt)throw new i.he(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&et.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.Jw)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const i=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,i)}}contains(e){const t=(0,o.ti)(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=(0,o.ti)(this._normalizedRanges,(t=>t.startLineNumbere.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,i=0,r=null;for(;n=s.startLineNumber?r=new a(r.startLineNumber,Math.max(r.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(r),r=s)}return null!==r&&t.push(r),new l(t)}subtractFrom(e){const t=(0,o.J_)(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=(0,o.Jw)(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new l([e]);const i=[];let r=e.startLineNumber;for(let e=t;er&&i.push(new a(r,t.startLineNumber)),r=t.endLineNumberExclusive}return re.toString())).join(", ")}getIntersection(e){const t=[];let n=0,i=0;for(;nt.delta(e))))}}},5653:(e,t,n)=>{"use strict";n.d(t,{q:()=>r});var i=n(8177);class r{static addRange(e,t){let n=0;for(;nt))return new r(e,t)}static ofLength(e){return new r(0,e)}static ofStartAndLength(e,t){return new r(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new i.he(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new r(this.start+e,this.endExclusive+e)}deltaStart(e){return new r(this.start+e,this.endExclusive)}deltaEnd(e){return new r(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new i.he(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new i.he(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;t{"use strict";n.d(t,{L:()=>i});class i{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new i(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return i.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return i.isBefore(this,e)}static isBefore(e,t){return e.lineNumber{"use strict";n.d(t,{e:()=>r});var i=n(4985);class r{constructor(e,t,n,i){e>n||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}isEmpty(){return r.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return r.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return r.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return r.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return r.plusRange(this,e)}static plusRange(e,t){let n,i,s,o;return t.startLineNumbere.endLineNumber?(s=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,o=e.endColumn),new r(n,i,s,o)}intersectRanges(e){return r.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,i=e.startColumn,s=e.endLineNumber,o=e.endColumn;const a=t.startLineNumber,l=t.startColumn,c=t.endLineNumber,h=t.endColumn;return nc?(s=c,o=h):s===c&&(o=Math.min(o,h)),n>s||n===s&&i>o?null:new r(n,i,s,o)}equalsRange(e){return r.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return r.getEndPosition(this)}static getEndPosition(e){return new i.L(e.endLineNumber,e.endColumn)}getStartPosition(){return r.getStartPosition(this)}static getStartPosition(e){return new i.L(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new r(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new r(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return r.collapseToStart(this)}static collapseToStart(e){return new r(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return r.collapseToEnd(this)}static collapseToEnd(e){return new r(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new r(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new r(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new r(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}},3944:(e,t,n)=>{"use strict";n.d(t,{Y:()=>s});var i=n(4985),r=n(4117);class s extends r.e{constructor(e,t,n,i){super(e,t,n,i),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=i}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return s.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new s(this.startLineNumber,this.startColumn,e,t):new s(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new i.L(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new i.L(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new s(e,t,this.endLineNumber,this.endColumn):new s(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new s(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new s(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new s(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new s(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,i=e.length;n{"use strict";n.d(t,{Af:()=>s,eq:()=>o,t2:()=>l});var i=n(455),r=n(8320);const s=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of"`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?")e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function o(e){let t=s;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const a=new r.S;function l(e,t,n,r,s){if(t=o(t),s||(s=i.$.first(a)),n.length>s.maxLen){let i=e-s.maxLen/2;return i<0?i=0:r+=i,l(e,t,n=n.substring(i,e+s.maxLen/2),r,s)}const h=Date.now(),d=e-1-r;let u=-1,p=null;for(let e=1;!(Date.now()-h>=s.timeBudget);e++){const i=d-s.windowSize*e;t.lastIndex=Math.max(0,i);const r=c(t,n,d,u);if(!r&&p)break;if(p=r,i<=0)break;u=i}if(p){const e={word:p[0],startColumn:r+1+p.index,endColumn:r+1+p.index+p[0].length};return t.lastIndex=0,e}return null}function c(e,t,n,i){let r;for(;r=e.exec(t);){const t=r.index||0;if(t<=n&&e.lastIndex>=n)return r;if(i>0&&t>i)return null}return null}a.unshift({maxLen:1e3,windowSize:15,timeBudget:150})},6394:(e,t,n)=>{"use strict";n.d(t,{N:()=>i});class i{static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return!!(1024&e)}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(16744448&e)>>>15}static getBackground(e){return(4278190080&e)>>>24}static getClassNameFromMetadata(e){let t="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),8&n&&(t+=" mtks"),t}static getInlineStyleFromMetadata(e,t){const n=this.getForeground(e),i=this.getFontStyle(e);let r=`color: ${t[n]};`;1&i&&(r+="font-style: italic;"),2&i&&(r+="font-weight: bold;");let s="";return 4&i&&(s+=" underline"),8&i&&(s+=" line-through"),s&&(r+=`text-decoration:${s};`),r}static getPresentationFromMetadata(e){const t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:Boolean(1&n),bold:Boolean(2&n),underline:Boolean(4&n),strikethrough:Boolean(8&n)}}}},3779:(e,t,n)=>{"use strict";n.d(t,{DI:()=>C,WU:()=>y,RW:()=>k,A3:()=>S});var i=n(2161),r=(n(7002),n(5718)),s=n(6263);class o{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new r.Q5,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),(0,s.OF)((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){this._factories.get(e)?.dispose();const n=new a(this,e,t);return this._factories.set(e,n),(0,s.OF)((()=>{const t=this._factories.get(e);t&&t===n&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class a extends s.JT{get isResolved(){return this._isResolved}constructor(e,t,n){super(),this._registry=e,this._languageId=t,this._factory=n,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}var l,c,h,d,u,p,m,f,g,b,v,w=n(2174);class y{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class C{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}!function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(l||(l={})),function(e){const t=new Map;t.set(0,i.l.symbolMethod),t.set(1,i.l.symbolFunction),t.set(2,i.l.symbolConstructor),t.set(3,i.l.symbolField),t.set(4,i.l.symbolVariable),t.set(5,i.l.symbolClass),t.set(6,i.l.symbolStruct),t.set(7,i.l.symbolInterface),t.set(8,i.l.symbolModule),t.set(9,i.l.symbolProperty),t.set(10,i.l.symbolEvent),t.set(11,i.l.symbolOperator),t.set(12,i.l.symbolUnit),t.set(13,i.l.symbolValue),t.set(15,i.l.symbolEnum),t.set(14,i.l.symbolConstant),t.set(15,i.l.symbolEnum),t.set(16,i.l.symbolEnumMember),t.set(17,i.l.symbolKeyword),t.set(27,i.l.symbolSnippet),t.set(18,i.l.symbolText),t.set(19,i.l.symbolColor),t.set(20,i.l.symbolFile),t.set(21,i.l.symbolReference),t.set(22,i.l.symbolCustomColor),t.set(23,i.l.symbolFolder),t.set(24,i.l.symbolTypeParameter),t.set(25,i.l.account),t.set(26,i.l.issues),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for CompletionItemKind "+e),n=i.l.symbolProperty),n};const n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",27),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),e.fromString=function(e,t){let i=n.get(e);return void 0!==i||t||(i=9),i}}(c||(c={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(h||(h={})),function(e){e[e.Automatic=0]="Automatic",e[e.PasteAs=1]="PasteAs"}(d||(d={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(u||(u={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(p||(p={})),(0,w.NC)("Array","array"),(0,w.NC)("Boolean","boolean"),(0,w.NC)("Class","class"),(0,w.NC)("Constant","constant"),(0,w.NC)("Constructor","constructor"),(0,w.NC)("Enum","enumeration"),(0,w.NC)("EnumMember","enumeration member"),(0,w.NC)("Event","event"),(0,w.NC)("Field","field"),(0,w.NC)("File","file"),(0,w.NC)("Function","function"),(0,w.NC)("Interface","interface"),(0,w.NC)("Key","key"),(0,w.NC)("Method","method"),(0,w.NC)("Module","module"),(0,w.NC)("Namespace","namespace"),(0,w.NC)("Null","null"),(0,w.NC)("Number","number"),(0,w.NC)("Object","object"),(0,w.NC)("Operator","operator"),(0,w.NC)("Package","package"),(0,w.NC)("Property","property"),(0,w.NC)("String","string"),(0,w.NC)("Struct","struct"),(0,w.NC)("TypeParameter","type parameter"),(0,w.NC)("Variable","variable"),function(e){const t=new Map;t.set(0,i.l.symbolFile),t.set(1,i.l.symbolModule),t.set(2,i.l.symbolNamespace),t.set(3,i.l.symbolPackage),t.set(4,i.l.symbolClass),t.set(5,i.l.symbolMethod),t.set(6,i.l.symbolProperty),t.set(7,i.l.symbolField),t.set(8,i.l.symbolConstructor),t.set(9,i.l.symbolEnum),t.set(10,i.l.symbolInterface),t.set(11,i.l.symbolFunction),t.set(12,i.l.symbolVariable),t.set(13,i.l.symbolConstant),t.set(14,i.l.symbolString),t.set(15,i.l.symbolNumber),t.set(16,i.l.symbolBoolean),t.set(17,i.l.symbolArray),t.set(18,i.l.symbolObject),t.set(19,i.l.symbolKey),t.set(20,i.l.symbolNull),t.set(21,i.l.symbolEnumMember),t.set(22,i.l.symbolStruct),t.set(23,i.l.symbolEvent),t.set(24,i.l.symbolOperator),t.set(25,i.l.symbolTypeParameter),e.toIcon=function(e){let n=t.get(e);return n||(console.info("No codicon found for SymbolKind "+e),n=i.l.symbolProperty),n}}(m||(m={}));class _{static{this.Comment=new _("comment")}static{this.Imports=new _("imports")}static{this.Region=new _("region")}static fromValue(e){switch(e){case"comment":return _.Comment;case"imports":return _.Imports;case"region":return _.Region}return new _(e)}constructor(e){this.value=e}}!function(e){e[e.AIGenerated=1]="AIGenerated"}(f||(f={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(g||(g={})),function(e){e.is=function(e){return!(!e||"object"!=typeof e)&&"string"==typeof e.id&&"string"==typeof e.title}}(b||(b={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(v||(v={}));const k=new o,S=new o;var x;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(x||(x={}))},2969:(e,t,n)=>{"use strict";n.d(t,{O:()=>i});const i=(0,n(6574).yh)("languageService")},835:(e,t,n)=>{"use strict";n.d(t,{bd:()=>c,dQ:()=>l});var i=n(2174),r=n(5718),s=n(1430),o=n(5655),a=n(1e3);const l=new class{constructor(){this._onDidChangeLanguages=new r.Q5,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t{"use strict";n.d(t,{Hf:()=>c,Qi:()=>h,Tx:()=>d,U:()=>r,dJ:()=>a,je:()=>u,pt:()=>p,sh:()=>i,tk:()=>l});var i,r,s,o=n(2961);!function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(i||(i={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(r||(r={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(s||(s={}));class a{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(e){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|e.tabSize),"tabSize"===e.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|e.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace),this.bracketPairColorizationOptions=e.bracketPairColorizationOptions}equals(e){return this.tabSize===e.tabSize&&this._indentSizeIsTabSize===e._indentSizeIsTabSize&&this.indentSize===e.indentSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace&&(0,o.fS)(this.bracketPairColorizationOptions,e.bracketPairColorizationOptions)}createChangeEvent(e){return{tabSize:this.tabSize!==e.tabSize,indentSize:this.indentSize!==e.indentSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}}}class l{constructor(e,t){this._findMatchBrand=void 0,this.range=e,this.matches=t}}function c(e){return e&&"function"==typeof e.read}class h{constructor(e,t,n,i,r,s){this.identifier=e,this.range=t,this.text=n,this.forceMoveMarkers=i,this.isAutoWhitespaceEdit=r,this._isTracked=s}}class d{constructor(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n}}class u{constructor(e,t,n){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=n}}function p(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},1832:(e,t,n)=>{"use strict";n.d(t,{bc:()=>d,sz:()=>g,pM:()=>m,iE:()=>u,cM:()=>f});var i=n(8810),r=n(1484),s=n(3355);class o extends s.N{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let t=0,n=e.length;tt)break;n=i}return n}findNextIntlWordAtOrAfterOffset(e,t){for(const n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index=n)break;const i=e.charCodeAt(t);if(110===i||114===i||87===i)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let t=null;try{t=i.GF(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(e){return null}if(!t)return null;let n=!this.isRegex&&!e;return n&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(n=this.matchCase),new h.Tx(t,this.wordSeparators?function(e,t){const n=`${e}/${t.join(",")}`;let i=a.get(n);return i||(i=new o(e,t),a.set(n,i)),i}(this.wordSeparators,[]):null,n?this.searchString:null)}}function u(e,t,n){if(!n)return new h.tk(e,null);const i=[];for(let e=0,n=t.length;e=e?i=r-1:t[r+1]>=e?(n=r,i=r):n=r+1}return n+1}}class m{static findMatches(e,t,n,i,r){const s=t.parseSearchRequest();return s?s.regex.multiline?this._doFindMatchesMultiline(e,n,new g(s.wordSeparators,s.regex),i,r):this._doFindMatchesLineByLine(e,n,s,i,r):[]}static _getMultilineMatchRange(e,t,n,i,r,s){let o,a,l=0;if(i?(l=i.findLineFeedCountBeforeOffset(r),o=t+r+l):o=t+r,i){const e=i.findLineFeedCountBeforeOffset(r+s.length)-l;a=o+s.length+e}else a=o+s.length;const h=e.getPositionAt(o),d=e.getPositionAt(a);return new c.e(h.lineNumber,h.column,d.lineNumber,d.column)}static _doFindMatchesMultiline(e,t,n,i,r){const s=e.getOffsetAt(t.getStartPosition()),o=e.getValueInRange(t,1),a="\r\n"===e.getEOL()?new p(o):null,l=[];let c,h=0;for(n.reset(0);c=n.next(o);)if(l[h++]=u(this._getMultilineMatchRange(e,s,o,a,c.index,c[0]),c,i),h>=r)return l;return l}static _doFindMatchesLineByLine(e,t,n,i,r){const s=[];let o=0;if(t.startLineNumber===t.endLineNumber){const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,i,r),s}const a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);o=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,o,s,i,r);for(let a=t.startLineNumber+1;a=a))return r;return r}const d=new g(e.wordSeparators,e.regex);let p;d.reset(0);do{if(p=d.next(t),p&&(s[r++]=u(new c.e(n,p.index+1+i,n,p.index+1+p[0].length+i),p,o),r>=a))return r}while(p);return r}static findNextMatch(e,t,n,i){const r=t.parseSearchRequest();if(!r)return null;const s=new g(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindNextMatchMultiline(e,n,s,i):this._doFindNextMatchLineByLine(e,n,s,i)}static _doFindNextMatchMultiline(e,t,n,i){const r=new l.L(t.lineNumber,1),s=e.getOffsetAt(r),o=e.getLineCount(),a=e.getValueInRange(new c.e(r.lineNumber,r.column,o,e.getLineMaxColumn(o)),1),h="\r\n"===e.getEOL()?new p(a):null;n.reset(t.column-1);const d=n.next(a);return d?u(this._getMultilineMatchRange(e,s,a,h,d.index,d[0]),d,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new l.L(1,1),n,i):null}static _doFindNextMatchLineByLine(e,t,n,i){const r=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s),a=this._findFirstMatchInLine(n,o,s,t.column,i);if(a)return a;for(let t=1;t<=r;t++){const o=(s+t-1)%r,a=e.getLineContent(o+1),l=this._findFirstMatchInLine(n,a,o+1,1,i);if(l)return l}return null}static _findFirstMatchInLine(e,t,n,i,r){e.reset(i-1);const s=e.next(t);return s?u(new c.e(n,s.index+1,n,s.index+1+s[0].length),s,r):null}static findPreviousMatch(e,t,n,i){const r=t.parseSearchRequest();if(!r)return null;const s=new g(r.wordSeparators,r.regex);return r.regex.multiline?this._doFindPreviousMatchMultiline(e,n,s,i):this._doFindPreviousMatchLineByLine(e,n,s,i)}static _doFindPreviousMatchMultiline(e,t,n,i){const r=this._doFindMatchesMultiline(e,new c.e(1,1,t.lineNumber,t.column),n,i,9990);if(r.length>0)return r[r.length-1];const s=e.getLineCount();return t.lineNumber!==s||t.column!==e.getLineMaxColumn(s)?this._doFindPreviousMatchMultiline(e,new l.L(s,e.getLineMaxColumn(s)),n,i):null}static _doFindPreviousMatchLineByLine(e,t,n,i){const r=e.getLineCount(),s=t.lineNumber,o=e.getLineContent(s).substring(0,t.column-1),a=this._findLastMatchInLine(n,o,s,i);if(a)return a;for(let t=1;t<=r;t++){const o=(r+s-t-1)%r,a=e.getLineContent(o+1),l=this._findLastMatchInLine(n,a,o+1,i);if(l)return l}return null}static _findLastMatchInLine(e,t,n,i){let r,s=null;for(e.reset(0);r=e.next(t);)s=u(new c.e(n,r.index+1,n,r.index+1+r[0].length),r,i);return s}}function f(e,t,n,i,r){return function(e,t,n,i,r){if(0===i)return!0;const s=t.charCodeAt(i-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(r>0){const n=t.charCodeAt(i);if(0!==e.get(n))return!0}return!1}(e,t,0,i,r)&&function(e,t,n,i,r){if(i+r===n)return!0;const s=t.charCodeAt(i+r);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(r>0){const n=t.charCodeAt(i+r-1);if(0!==e.get(n))return!0}return!1}(e,t,n,i,r)}class g{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const r=n.index,s=n[0].length;if(r===this._prevMatchStartIndex&&s===this._prevMatchLength){if(0===s){i.ZH(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=s,!this._wordSeparators||f(this._wordSeparators,e,t,r,s))return n}while(n);return null}}},5192:(e,t,n)=>{"use strict";n.r(t),n.d(t,{KeyMod:()=>me,createMonacoBaseAPI:()=>fe});var i=n(6152),r=n(5718);class s{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const o=new s,a=new s,l=new s,c=new Array(230),h={},d=[],u=Object.create(null),p=Object.create(null),m=[],f=[];for(let e=0;e<=193;e++)m[e]=-1;for(let e=0;e<=132;e++)f[e]=-1;var g;!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[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,e,0,e,e,e],[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",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],i=[];for(const e of t){const[t,r,s,g,b,v,w,y,C]=e;if(i[r]||(i[r]=!0,d[r]=s,u[s]=r,p[s.toLowerCase()]=r,t&&(m[r]=g,0!==g&&3!==g&&5!==g&&4!==g&&6!==g&&57!==g&&(f[g]=r))),!n[g]){if(n[g]=!0,!b)throw new Error(`String representation missing for key code ${g} around scan code ${s}`);o.define(g,b),a.define(g,y||b),l.define(g,C||y||b)}v&&(c[v]=g),w&&(h[w]=g)}f[3]=46}(),function(e){e.toString=function(e){return o.keyCodeToStr(e)},e.fromString=function(e){return o.strToKeyCode(e)},e.toUserSettingsUS=function(e){return a.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return l.keyCodeToStr(e)},e.fromUserSettings=function(e){return a.strToKeyCode(e)||l.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return o.keyCodeToStr(e)}}(g||(g={}));var b,v,w,y,C,_,k,S,x,E,F,I,L,N,T,R,D,A,M,O,z,P,B,W,V,U,q,$,j,K,H,G,J,Q,X,Y,Z,ee,te,ne,ie,re,se,oe,ae,le,ce=n(7002),he=n(4985),de=n(4117),ue=n(3944),pe=n(3779);!function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(b||(b={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(v||(v={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(w||(w={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(y||(y={})),function(e){e[e.Deprecated=1]="Deprecated"}(C||(C={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(_||(_={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(k||(k={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(S||(S={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(x||(x={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(E||(E={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(F||(F={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.placeholder=88]="placeholder",e[e.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",e[e.quickSuggestions=90]="quickSuggestions",e[e.quickSuggestionsDelay=91]="quickSuggestionsDelay",e[e.readOnly=92]="readOnly",e[e.readOnlyMessage=93]="readOnlyMessage",e[e.renameOnType=94]="renameOnType",e[e.renderControlCharacters=95]="renderControlCharacters",e[e.renderFinalNewline=96]="renderFinalNewline",e[e.renderLineHighlight=97]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=99]="renderValidationDecorations",e[e.renderWhitespace=100]="renderWhitespace",e[e.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",e[e.roundedSelection=102]="roundedSelection",e[e.rulers=103]="rulers",e[e.scrollbar=104]="scrollbar",e[e.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=106]="scrollBeyondLastLine",e[e.scrollPredominantAxis=107]="scrollPredominantAxis",e[e.selectionClipboard=108]="selectionClipboard",e[e.selectionHighlight=109]="selectionHighlight",e[e.selectOnLineNumbers=110]="selectOnLineNumbers",e[e.showFoldingControls=111]="showFoldingControls",e[e.showUnused=112]="showUnused",e[e.snippetSuggestions=113]="snippetSuggestions",e[e.smartSelect=114]="smartSelect",e[e.smoothScrolling=115]="smoothScrolling",e[e.stickyScroll=116]="stickyScroll",e[e.stickyTabStops=117]="stickyTabStops",e[e.stopRenderingLineAfter=118]="stopRenderingLineAfter",e[e.suggest=119]="suggest",e[e.suggestFontSize=120]="suggestFontSize",e[e.suggestLineHeight=121]="suggestLineHeight",e[e.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",e[e.suggestSelection=123]="suggestSelection",e[e.tabCompletion=124]="tabCompletion",e[e.tabIndex=125]="tabIndex",e[e.unicodeHighlighting=126]="unicodeHighlighting",e[e.unusualLineTerminators=127]="unusualLineTerminators",e[e.useShadowDOM=128]="useShadowDOM",e[e.useTabStops=129]="useTabStops",e[e.wordBreak=130]="wordBreak",e[e.wordSegmenterLocales=131]="wordSegmenterLocales",e[e.wordSeparators=132]="wordSeparators",e[e.wordWrap=133]="wordWrap",e[e.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=136]="wordWrapColumn",e[e.wordWrapOverride1=137]="wordWrapOverride1",e[e.wordWrapOverride2=138]="wordWrapOverride2",e[e.wrappingIndent=139]="wrappingIndent",e[e.wrappingStrategy=140]="wrappingStrategy",e[e.showDeprecated=141]="showDeprecated",e[e.inlayHints=142]="inlayHints",e[e.editorClassName=143]="editorClassName",e[e.pixelRatio=144]="pixelRatio",e[e.tabFocusMode=145]="tabFocusMode",e[e.layoutInfo=146]="layoutInfo",e[e.wrappingInfo=147]="wrappingInfo",e[e.defaultColorDecorators=148]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"}(I||(I={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(L||(L={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(N||(N={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(T||(T={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(R||(R={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(D||(D={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(A||(A={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(M||(M={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(O||(O={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(z||(z={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(P||(P={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(B||(B={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(W||(W={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(V||(V={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(U||(U={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(q||(q={})),function(e){e[e.AIGenerated=1]="AIGenerated"}($||($={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(j||(j={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(K||(K={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(H||(H={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(G||(G={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(J||(J={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(Q||(Q={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(X||(X={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(Y||(Y={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(Z||(Z={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(ee||(ee={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(te||(te={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(ne||(ne={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(ie||(ie={})),function(e){e[e.Deprecated=1]="Deprecated"}(re||(re={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(se||(se={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(oe||(oe={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(ae||(ae={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(le||(le={}));class me{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)}}function fe(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.AU,Emitter:r.Q5,KeyCode:P,KeyMod:me,Position:he.L,Range:de.e,Selection:ue.Y,SelectionDirection:ee,MarkerSeverity:B,MarkerTag:W,Uri:ce.o,Token:pe.WU}}},2766:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BaseEditorSimpleWorker:()=>Ae,EditorSimpleWorker:()=>Me,create:()=>Oe});class i{constructor(e,t,n,i){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=i}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}var r=n(1252);class s{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,i=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new i(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(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class h{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[i,r,s]=h._getElements(e),[o,a,l]=h._getElements(t);this._hasStrings=s&&l,this._originalStringElements=i,this._originalElementsOrHash=r,this._modifiedStringElements=o,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(h._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,i=t.length;n=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let s;return n<=r?(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s=[new i(e,0,n,r-n+1)]):e<=t?(a.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),s=[new i(e,t-e+1,n,0)]):(a.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),s=[]),s}const o=[0],l=[0],c=this.ComputeRecursionPoint(e,t,n,r,o,l,s),h=o[0],d=l[0];if(null!==c)return c;if(!s[0]){const o=this.ComputeDiffRecursive(e,h,n,d,s);let a=[];return a=s[0]?[new i(h+1,t-(h+1)+1,d+1,r-(d+1)+1)]:this.ComputeDiffRecursive(h+1,t,d+1,r,s),this.ConcatenateChanges(o,a)}return[new i(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,s,o,a,l,h,d,u,p,m,f,g,b,v,w){let y=null,C=null,_=new c,k=t,S=n,x=m[0]-b[0]-r,E=-1073741824,F=this.m_forwardHistory.length-1;do{const t=x+e;t===k||t=0&&(e=(h=this.m_forwardHistory[F])[0],k=1,S=h.length-1)}while(--F>=-1);if(y=_.getReverseChanges(),w[0]){let e=m[0]+1,t=b[0]+1;if(null!==y&&y.length>0){const n=y[y.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}C=[new i(e,p-e+1,t,g-t+1)]}else{_=new c,k=o,S=a,x=m[0]-b[0]-l,E=1073741824,F=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=x+s;e===k||e=d[e+1]?(f=(u=d[e+1]-1)-x-l,u>E&&_.MarkNextChange(),E=u+1,_.AddOriginalElement(u+1,f+1),x=e+1-s):(f=(u=d[e-1])-x-l,u>E&&_.MarkNextChange(),E=u,_.AddModifiedElement(u+1,f+1),x=e-1-s),F>=0&&(s=(d=this.m_reverseHistory[F])[0],k=1,S=d.length-1)}while(--F>=-1);C=_.getChanges()}return this.ConcatenateChanges(y,C)}ComputeRecursionPoint(e,t,n,r,s,o,a){let c=0,h=0,d=0,u=0,p=0,m=0;e--,n--,s[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=t-e+(r-n),g=f+1,b=new Int32Array(g),v=new Int32Array(g),w=r-n,y=t-e,C=e-n,_=t-r,k=(y-w)%2==0;b[w]=e,v[y]=t,a[0]=!1;for(let S=1;S<=f/2+1;S++){let f=0,x=0;d=this.ClipDiagonalBound(w-S,S,w,g),u=this.ClipDiagonalBound(w+S,S,w,g);for(let e=d;e<=u;e+=2){c=e===d||ef+x&&(f=c,x=h),!k&&Math.abs(e-y)<=S-1&&c>=v[e])return s[0]=c,o[0]=h,n<=v[e]&&S<=1448?this.WALKTRACE(w,d,u,C,y,p,m,_,b,v,c,t,s,h,r,o,k,a):null}const E=(f-e+(x-n)-S)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(f,E))return a[0]=!0,s[0]=f,o[0]=x,E>0&&S<=1448?this.WALKTRACE(w,d,u,C,y,p,m,_,b,v,c,t,s,h,r,o,k,a):(e++,n++,[new i(e,t-e+1,n,r-n+1)]);p=this.ClipDiagonalBound(y-S,S,y,g),m=this.ClipDiagonalBound(y+S,S,y,g);for(let i=p;i<=m;i+=2){c=i===p||i=v[i+1]?v[i+1]-1:v[i-1],h=c-(i-y)-_;const l=c;for(;c>e&&h>n&&this.ElementsAreEqual(c,h);)c--,h--;if(v[i]=c,k&&Math.abs(i-w)<=S&&c<=b[i])return s[0]=c,o[0]=h,l>=b[i]&&S<=1448?this.WALKTRACE(w,d,u,C,y,p,m,_,b,v,c,t,s,h,r,o,k,a):null}if(S<=1447){let e=new Int32Array(u-d+2);e[0]=w-d+1,l.Copy2(b,d,e,1,u-d+1),this.m_forwardHistory.push(e),e=new Int32Array(m-p+2),e[0]=y-p+1,l.Copy2(v,p,e,1,m-p+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(w,d,u,C,y,p,m,_,b,v,c,t,s,h,r,o,k,a)}PrettifyChanges(e){for(let t=0;t0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;t--){const n=e[t];let i=0,r=0;if(t>0){const n=e[t-1];i=n.originalStart+n.originalLength,r=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,o=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,c=n.modifiedStart-e;if(tl&&(l=h,a=e)}n.originalStart-=a,n.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t0&&n>a&&(a=n,l=t,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,n){let i=0;for(let r=0;r=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,i){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,i)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const i=new Array(e.length+t.length-1);return l.Copy(e,0,i,0,e.length-1),i[e.length-1]=n[0],l.Copy(t,1,i,e.length,t.length-1),i}{const n=new Array(e.length+t.length);return l.Copy(e,0,n,0,e.length),l.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(a.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),a.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let s=e.originalLength;const o=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new i(r,s,o,a),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,i){if(e>=0&&et&&(t=s),r>n&&(n=r),o>n&&(n=o)}t++,n++;const i=new p(n,t,0);for(let t=0,n=e.length;t=this._maxCharCode?0:this._states.get(e,t)}}let f=null,g=null;class b{static _createLink(e,t,n,i,r){let s=r-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>i);if(i>0){const e=t.charCodeAt(i-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:s+2},url:t.substring(i,s+1)}}static computeLinks(e,t=function(){return null===f&&(f=new m([[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]])),f}()){const n=function(){if(null===g){g=new u.N(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;t=0?(i+=n?1:-1,i<0?i=e.length-1:i%=e.length,e[i]):null}}var w=n(5192),y=n(9042),C=n(7776),_=n(6823);class k{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class S{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}var x=n(8177),E=n(3627),F=n(4985),I=n(6517),L=n(5653);class N{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}}class T{static inverse(e,t,n){const i=[];let r=1,s=1;for(const t of e){const e=new T(new E.z(r,t.original.startLineNumber),new E.z(s,t.modified.startLineNumber));e.modified.isEmpty||i.push(e),r=t.original.endLineNumberExclusive,s=t.modified.endLineNumberExclusive}const o=new T(new E.z(r,t+1),new E.z(s,n+1));return o.modified.isEmpty||i.push(o),i}static clip(e,t,n){const i=[];for(const r of e){const e=r.original.intersect(t),s=r.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&i.push(new T(e,s))}return i}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new T(this.modified,this.original)}join(e){return new T(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new M(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new x.he("not a valid diff");return new M(new d.e(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new d.e(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new M(new d.e(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new d.e(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(D(this.original.endLineNumberExclusive,e)&&D(this.modified.endLineNumberExclusive,t))return new M(new d.e(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new d.e(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new M(d.e.fromPositions(new F.L(this.original.startLineNumber,1),R(new F.L(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),d.e.fromPositions(new F.L(this.modified.startLineNumber,1),R(new F.L(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new M(d.e.fromPositions(R(new F.L(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),R(new F.L(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),d.e.fromPositions(R(new F.L(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),R(new F.L(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new x.he}}function R(e,t){if(e.lineNumber<1)return new F.L(1,1);if(e.lineNumber>t.length)return new F.L(t.length,t[t.length-1].length+1);const n=t[e.lineNumber-1];return e.column>n.length+1?new F.L(e.lineNumber,n.length+1):e}function D(e,t){return e>=1&&e<=t.length}class A extends T{static fromRangeMappings(e){const t=E.z.join(e.map((e=>E.z.fromRangeInclusive(e.originalRange)))),n=E.z.join(e.map((e=>E.z.fromRangeInclusive(e.modifiedRange))));return new A(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){return new A(this.modified,this.original,this.innerChanges?.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new A(this.original,this.modified,[this.toRangeMapping()])}}class M{static assertSorted(e){for(let t=1;t${this.modifiedRange.toString()}}`}flip(){return new M(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new N(this.originalRange,t)}}var O=n(8810);class z{computeDiff(e,t,n){const i=new q(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),r=[];let s=null;for(const e of i.changes){let t,n;t=0===e.originalEndLineNumber?new E.z(e.originalStartLineNumber+1,e.originalStartLineNumber+1):new E.z(e.originalStartLineNumber,e.originalEndLineNumber+1),n=0===e.modifiedEndLineNumber?new E.z(e.modifiedStartLineNumber+1,e.modifiedStartLineNumber+1):new E.z(e.modifiedStartLineNumber,e.modifiedEndLineNumber+1);let i=new A(t,n,e.charChanges?.map((e=>new M(new d.e(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new d.e(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));s&&(s.modified.endLineNumberExclusive!==i.modified.startLineNumber&&s.original.endLineNumberExclusive!==i.original.startLineNumber||(i=new A(s.original.join(i.original),s.modified.join(i.modified),s.innerChanges&&i.innerChanges?s.innerChanges.concat(i.innerChanges):void 0),r.pop())),r.push(i),s=i}return(0,I.eZ)((()=>(0,I.DM)(r,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class V{constructor(e,t,n,i,r,s,o,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=i,this.modifiedStartLineNumber=r,this.modifiedStartColumn=s,this.modifiedEndLineNumber=o,this.modifiedEndColumn=a}static createFromDiffChange(e,t,n){const i=t.getStartLineNumber(e.originalStart),r=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),o=t.getEndColumn(e.originalStart+e.originalLength-1),a=n.getStartLineNumber(e.modifiedStart),l=n.getStartColumn(e.modifiedStart),c=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),h=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new V(i,r,s,o,a,l,c,h)}}class U{constructor(e,t,n,i,r){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=i,this.charChanges=r}static createFromDiffResult(e,t,n,i,r,s,o){let a,l,c,h,d;if(0===t.originalLength?(a=n.getStartLineNumber(t.originalStart)-1,l=0):(a=n.getStartLineNumber(t.originalStart),l=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(c=i.getStartLineNumber(t.modifiedStart)-1,h=0):(c=i.getStartLineNumber(t.modifiedStart),h=i.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&r()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=i.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&a.getElements().length>0){let e=P(s,a,r,!0).changes;o&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let i=1,r=e.length;i1&&o>1&&e.charCodeAt(n-2)===t.charCodeAt(o-2);)n--,o--;(n>1||o>1)&&this._pushTrimWhitespaceCharChange(i,r+1,1,n,s+1,1,o)}{let n=j(e,1),o=j(t,1);const a=e.length+1,l=t.length+1;for(;n!0;const t=Date.now();return()=>Date.now()-t{n.push(J.fromOffsetPairs(e?e.getEndExclusives():Q.zero,i?i.getStarts():new Q(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new J(new L.q(e.offset1,t.offset1),new L.q(e.offset2,t.offset2))}static assertSorted(e){let t;for(const n of e){if(t&&!(t.seq1Range.endExclusive<=n.seq1Range.start&&t.seq2Range.endExclusive<=n.seq2Range.start))throw new x.he("Sequence diffs must be sorted");t=n}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new J(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new J(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new J(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new J(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new J(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new J(t,n)}getStarts(){return new Q(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Q(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Q{static{this.zero=new Q(0,0)}static{this.max=new Q(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new Q(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}class X{static{this.instance=new X}isValid(){return!0}}class Y{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new x.he("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&l>0&&3===s.get(a-1,l-1)&&(d+=o.get(a-1,l-1)),d+=i?i(a,l):1):d=-1;const u=Math.max(c,h,d);if(u===d){const e=a>0&&l>0?o.get(a-1,l-1):0;o.set(a,l,e+1),s.set(a,l,3)}else u===c?(o.set(a,l,0),s.set(a,l,1)):u===h&&(o.set(a,l,0),s.set(a,l,2));r.set(a,l,u)}const a=[];let l=e.length,c=t.length;function h(e,t){e+1===l&&t+1===c||a.push(new J(new L.q(e+1,l),new L.q(t+1,c))),l=e,c=t}let d=e.length-1,u=t.length-1;for(;d>=0&&u>=0;)3===s.get(d,u)?(h(d,u),d--,u--):1===s.get(d,u)?d--:u--;return h(-1,-1),a.reverse(),new G(a,!1)}}class ie{compute(e,t,n=X.instance){if(0===e.length||0===t.length)return G.trivial(e,t);const i=e,r=t;function s(e,t){for(;ei.length||u>r.length)continue;const p=s(d,u);a.set(c,p);const m=d===o?l.get(c+1):l.get(c-1);if(l.set(c,p!==d?new re(m,d,u,p-d):m),a.get(c)===i.length&&a.get(c)-c===r.length)break e}}let h=l.get(c);const d=[];let u=i.length,p=r.length;for(;;){const e=h?h.x+h.length:0,t=h?h.y+h.length:0;if(e===u&&t===p||d.push(new J(new L.q(e,u),new L.q(t,p))),!h)break;u=h.x,p=h.y,h=h.prev}return d.reverse(),new G(d,!1)}}class re{constructor(e,t,n,i){this.prev=e,this.x=t,this.y=n,this.length=i}}class se{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class oe{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}var ae=n(6318),le=n(1484);class ce{constructor(e,t,n){this.lines=e,this.range=t,this.considerWhitespaceChanges=n,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let t=this.range.startLineNumber;t<=this.range.endLineNumber;t++){let i=e[t-1],r=0;t===this.range.startLineNumber&&this.range.startColumn>1&&(r=this.range.startColumn-1,i=i.substring(r)),this.lineStartOffsets.push(r);let s=0;if(!n){const e=i.trimStart();s=i.length-e.length,i=e.trimEnd()}this.trimmedWsLengthsByLineIdx.push(s);const o=t===this.range.endLineNumber?Math.min(this.range.endColumn-1-r-s,i.length):i.length;for(let e=0;eString.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=pe(e>0?this.elements[e-1]:-1),n=pe(et<=e)),i=e-this.firstElementOffsetByLineIdx[n];return new F.L(this.range.startLineNumber+n,1+this.lineStartOffsets[n]+i+(0===i&&"left"===t?0:this.trimmedWsLengthsByLineIdx[n]))}translateRange(e){const t=this.translateOffset(e.start,"right"),n=this.translateOffset(e.endExclusive,"left");return n.isBefore(t)?d.e.fromPositions(n,n):d.e.fromPositions(t,n)}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!he(this.elements[e]))return;let t=e;for(;t>0&&he(this.elements[t-1]);)t--;let n=e;for(;nt<=e.start))??0,n=(0,ae.cn)(this.firstElementOffsetByLineIdx,(t=>e.endExclusive<=t))??this.elements.length;return new L.q(t,n)}}function he(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const de={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function ue(e){return de[e]}function pe(e){return 10===e?8:13===e?7:ee(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function me(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const i=(new ie).compute(new ce([e],new d.e(1,1,1,e.length),!1),new ce([t],new d.e(1,1,1,t.length),!1),n);let r=0;const s=J.invert(i.diffs,e.length);for(const t of s)t.seq1Range.forEach((t=>{ee(e.charCodeAt(t))||r++}));const o=function(t){let n=0;for(let i=0;it.length?e:t);return r/o>.6&&o>10}function fe(e,t,n){let i=n;return i=ge(e,t,i),i=ge(e,t,i),i=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let i=0;i0?n[i-1]:void 0,s=n[i],o=i+10&&(o=o.delta(a))}r.push(o)}return i.length>0&&r.push(i[i.length-1]),r}function be(e,t,n,i,r){let s=1;for(;e.seq1Range.start-s>=i.start&&e.seq2Range.start-s>=r.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let o=0;for(;e.seq1Range.start+ol&&(l=c,a=i)}return e.delta(a)}class ve{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:we(this.lines[e-1]))+(e===this.lines.length?0:we(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function we(e){let t=0;for(;te===t)))return new k([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new k([new A(new E.z(1,e.length+1),new E.z(1,t.length+1),[new M(new d.e(1,1,e.length,e[e.length-1].length+1),new d.e(1,1,t.length,t[t.length-1].length+1))])],[],!1);const i=0===n.maxComputationTimeMs?X.instance:new Y(n.maxComputationTimeMs),r=!n.ignoreTrimWhitespace,s=new Map;function o(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const a=e.map((e=>o(e.trim()))),l=t.map((e=>o(e.trim()))),c=new ve(a,e),h=new ve(l,t),u=(()=>c.length+h.length<1700?this.dynamicProgrammingDiffing.compute(c,h,i,((n,i)=>e[n]===t[i]?0===t[i].length?.1:1+Math.log(1+t[i].length):.99)):this.myersDiffingAlgorithm.compute(c,h,i))();let p=u.diffs,m=u.hitTimeout;p=fe(c,h,p),p=function(e,t,n){let i=n;if(0===i.length)return i;let r,s=0;do{r=!1;const o=[i[0]];for(let a=1;a5||n.seq1Range.length+n.seq2Range.length>5)}h(c,l)?(r=!0,o[o.length-1]=o[o.length-1].join(l)):o.push(l)}i=o}while(s++<10&&r);return i}(c,0,p);const f=[],g=n=>{if(r)for(let s=0;sn.seq1Range.start-b==n.seq2Range.start-v)),g(n.seq1Range.start-b),b=n.seq1Range.endExclusive,v=n.seq2Range.endExclusive;const s=this.refineDiff(e,t,n,i,r);s.hitTimeout&&(m=!0);for(const e of s.mappings)f.push(e)}g(e.length-b);const w=Ce(f,e,t);let y=[];return n.computeMoves&&(y=this.computeMoves(w,e,t,a,l,i,r)),(0,I.eZ)((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function i(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1||e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const r of w){if(!r.innerChanges)return!1;for(const i of r.innerChanges)if(!(n(i.modifiedRange.getStartPosition(),t)&&n(i.modifiedRange.getEndPosition(),t)&&n(i.originalRange.getStartPosition(),e)&&n(i.originalRange.getEndPosition(),e)))return!1;if(!i(r.modified,t)||!i(r.original,e))return!1}return!0})),new k(w,y,m)}computeMoves(e,t,n,i,r,s,o){return function(e,t,n,i,r,s){let{moves:o,excludedChanges:a}=function(e,t,n,i){const r=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new te(e.original,t,e))),o=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new te(e.modified,n,e)))),a=new Set;for(const e of s){let t,n=-1;for(const i of o){const r=e.computeSimilarity(i);r>n&&(n=r,t=i)}if(n>.9&&t&&(o.delete(t),r.push(new T(e.range,t.range)),a.add(e.source),a.add(t.source)),!i.isValid())return{moves:r,excludedChanges:a}}return{moves:r,excludedChanges:a}}(e,t,n,s);if(!s.isValid())return[];const l=function(e,t,n,i,r,s){const o=[],a=new le.ri;for(const n of e)for(let e=n.original.startLineNumber;ee.modified.startLineNumber),H.fv));for(const t of e){let e=[];for(let i=t.modified.startLineNumber;i{for(const n of e)if(n.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&n.modifiedLineRange.endLineNumberExclusive+1===r.endLineNumberExclusive)return n.originalLineRange=new E.z(n.originalLineRange.startLineNumber,t.endLineNumberExclusive),n.modifiedLineRange=new E.z(n.modifiedLineRange.startLineNumber,r.endLineNumberExclusive),void s.push(n);const n={modifiedLineRange:r,originalLineRange:t};l.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}l.sort((0,H.BV)((0,H.tT)((e=>e.modifiedLineRange.length),H.fv)));const c=new E.i,h=new E.i;for(const e of l){const t=e.modifiedLineRange.startLineNumber-e.originalLineRange.startLineNumber,n=c.subtractFrom(e.modifiedLineRange),i=h.subtractFrom(e.originalLineRange).getWithDelta(t),r=n.getIntersection(i);for(const e of r.ranges){if(e.length<3)continue;const n=e,i=e.delta(-t);o.push(new T(i,n)),c.addRange(n),h.addRange(i)}}o.sort((0,H.tT)((e=>e.original.startLineNumber),H.fv));const d=new ae.b1(e);for(let t=0;te.original.startLineNumber<=n.original.startLineNumber)),l=(0,ae.ti)(e,(e=>e.modified.startLineNumber<=n.modified.startLineNumber)),u=Math.max(n.original.startLineNumber-a.original.startLineNumber,n.modified.startLineNumber-l.modified.startLineNumber),p=d.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumberi.length||t>r.length)break;if(c.contains(t)||h.contains(e))break;if(!me(i[e-1],r[t-1],s))break}for(g>0&&(h.addRange(new E.z(n.original.startLineNumber-g,n.original.startLineNumber)),c.addRange(new E.z(n.modified.startLineNumber-g,n.modified.startLineNumber))),b=0;bi.length||t>r.length)break;if(c.contains(t)||h.contains(e))break;if(!me(i[e-1],r[t-1],s))break}b>0&&(h.addRange(new E.z(n.original.endLineNumberExclusive,n.original.endLineNumberExclusive+b)),c.addRange(new E.z(n.modified.endLineNumberExclusive,n.modified.endLineNumberExclusive+b))),(g>0||b>0)&&(o[t]=new T(new E.z(n.original.startLineNumber-g,n.original.endLineNumberExclusive+b),new E.z(n.modified.startLineNumber-g,n.modified.endLineNumberExclusive+b)))}return o}(e.filter((e=>!a.has(e))),i,r,t,n,s);return(0,H.vA)(o,l),o=function(e){if(0===e.length)return e;e.sort((0,H.tT)((e=>e.original.startLineNumber),H.fv));const t=[e[0]];for(let n=1;n=0&&o>=0&&s+o<=2?t[t.length-1]=i.join(r):t.push(r)}return t}(o),o=o.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e){let t=0;for(const n of e)n.length>=2&&t++;return t}(n)>=2})),o=function(e,t){const n=new ae.b1(e);return t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumber{const i=Ce(this.refineDiff(t,n,new J(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,o).mappings,t,n,!0);return new S(e,i)}))}refineDiff(e,t,n,i,r){var s;const o=(s=n,new T(new E.z(s.seq1Range.start+1,s.seq1Range.endExclusive+1),new E.z(s.seq2Range.start+1,s.seq2Range.endExclusive+1))).toRangeMapping2(e,t),a=new ce(e,o.originalRange,r),l=new ce(t,o.modifiedRange,r),c=a.length+l.length<500?this.dynamicProgrammingDiffing.compute(a,l,i):this.myersDiffingAlgorithm.compute(a,l,i);let h=c.diffs;h=fe(a,l,h),h=function(e,t,n){const i=J.invert(n,e.length),r=[];let s=new Q(0,0);function o(n,o){if(n.offset10;){const n=i[0];if(!n.seq1Range.intersects(c.seq1Range)&&!n.seq2Range.intersects(c.seq2Range))break;const r=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),o=new J(r,s),a=o.intersect(n);if(d+=a.seq1Range.length,u+=a.seq2Range.length,c=c.join(o),!(c.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;i.shift()}d+u<2*(c.seq1Range.length+c.seq2Range.length)/3&&r.push(c),s=c.getEndExclusives()}for(;i.length>0;){const e=i.shift();e.seq1Range.isEmpty||(o(e.getStarts(),e),o(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const i=e[0],r=t[0];let s;s=i&&(!r||i.seq1Range.start0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,r)}(a,l,h),h=function(e,t,n){const i=[];for(const e of n){const t=i[i.length-1];t&&(e.seq1Range.start-t.seq1Range.endExclusive<=2||e.seq2Range.start-t.seq2Range.endExclusive<=2)?i[i.length-1]=new J(t.seq1Range.join(e.seq1Range),t.seq2Range.join(e.seq2Range)):i.push(e)}return i}(0,0,h),h=function(e,t,n){let i=n;if(0===i.length)return i;let r,s=0;do{r=!1;const a=[i[0]];for(let l=1;l5||r.length>500)return!1;const s=e.getText(r).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const o=e.countLinesIn(n.seq1Range),a=n.seq1Range.length,l=t.countLinesIn(n.seq2Range),d=n.seq2Range.length,u=e.countLinesIn(i.seq1Range),p=i.seq1Range.length,m=t.countLinesIn(i.seq2Range),f=i.seq2Range.length;function g(e){return Math.min(e,130)}return Math.pow(Math.pow(g(40*o+a),1.5)+Math.pow(g(40*l+d),1.5),1.5)+Math.pow(Math.pow(g(40*u+p),1.5)+Math.pow(g(40*m+f),1.5),1.5)>74184.96480721243}d(h,c)?(r=!0,a[a.length-1]=a[a.length-1].join(c)):a.push(c)}i=a}while(s++<10&&r);const o=[];return(0,H.KO)(i,((t,n,i)=>{let r=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const a=e.extendToFullLines(n.seq1Range),l=e.getText(new L.q(a.start,n.seq1Range.start));s(l)&&(r=r.deltaStart(-l.length));const c=e.getText(new L.q(n.seq1Range.endExclusive,a.endExclusive));s(c)&&(r=r.deltaEnd(c.length));const h=J.fromOffsetPairs(t?t.getEndExclusives():Q.zero,i?i.getStarts():Q.max),d=r.intersect(h);o.length>0&&d.getStarts().equals(o[o.length-1].getEndExclusives())?o[o.length-1]=o[o.length-1].join(d):o.push(d)})),o}(a,l,h);return{mappings:h.map((e=>new M(a.translateRange(e.seq1Range),l.translateRange(e.seq2Range)))),hitTimeout:c.hitTimeout}}}function Ce(e,t,n,i=!1){const r=[];for(const i of(0,H.mw)(e.map((e=>function(e,t,n){let i=0,r=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+i<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+i<=e.modifiedRange.endLineNumber&&(r=-1),e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+r&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+r&&(i=1);const s=new E.z(e.originalRange.startLineNumber+i,e.originalRange.endLineNumber+1+r),o=new E.z(e.modifiedRange.startLineNumber+i,e.modifiedRange.endLineNumber+1+r);return new A(s,o,[e])}(e,t,n))),((e,t)=>e.original.overlapOrTouch(t.original)||e.modified.overlapOrTouch(t.modified)))){const e=i[0],t=i[i.length-1];r.push(new A(e.original.join(t.original),e.modified.join(t.modified),i.map((e=>e.innerChanges[0]))))}return(0,I.eZ)((()=>{if(!i&&r.length>0){if(r[0].modified.startLineNumber!==r[0].original.startLineNumber)return!1;if(n.length-r[r.length-1].modified.endLineNumberExclusive!=t.length-r[r.length-1].original.endLineNumberExclusive)return!1}return(0,I.DM)(r,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map((e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn]))]))}return{identical:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let i=1;i<=n;i++)if(e.getLineContent(i)!==t.getLineContent(i))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(e,t,n){const i=this._getModel(e);if(!i)return t;const r=[];let s;t=t.slice(0).sort(((e,t)=>e.range&&t.range?d.e.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)));let a=0;for(let e=1;eMe._diffLimit){r.push({range:e,text:a});continue}const c=o(t,a,n),h=i.offsetAt(d.e.lift(e).getStartPosition());for(const e of c){const t=i.positionAt(h+e.originalStart),n=i.positionAt(h+e.originalStart+e.originalLength),s={text:a.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(s.range)!==s.text&&r.push(s)}}return"number"==typeof s&&r.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}async $computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?b.computeLinks(e):[]}(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=Te(e,/\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/gm);if(n.length>0)for(const i of n){const n=i.filter((e=>void 0!==e)),r=n[1],s=n[2];if(!s)continue;let o;if("rgb"===r){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;o=Le(Fe(e,i),Te(s,t),!1)}else if("rgba"===r){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Le(Fe(e,i),Te(s,t),!0)}else if("hsl"===r){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;o=Ne(Fe(e,i),Te(s,t),!1)}else if("hsla"===r){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Ne(Fe(e,i),Te(s,t),!0)}else"#"===r&&(o=Ie(Fe(e,i),r+s));o&&t.push(o)}return t}(e):[]}(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(e,t,n,i){const r=new C.G,s=new RegExp(n,i),o=new Set;e:for(const n of e){const e=this._getModel(n);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(o.add(n),o.size>Me._suggestionsLimit))break e}return{words:Array.from(o),duration:r.elapsed()}}async $computeWordRanges(e,t,n,i){const r=this._getModel(e);if(!r)return Object.create(null);const s=new RegExp(n,i),o=Object.create(null);for(let e=t.startLineNumber;ethis._host.$fhr(e,t))),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve((0,_e.$E)(this._foreignModule))):new Promise(((i,s)=>{const o=e=>{this._foreignModule=e.create(r,t),i((0,_e.$E)(this._foreignModule))};{const t=ke.Gi.asBrowserUri(`${e}.js`).toString(!0);n(2067)(`${t}`).then(o).catch(s)}}))}$fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}}function Oe(e){return new Me(y.EditorWorkerHost.getChannel(e),null)}"function"==typeof importScripts&&(globalThis.monaco=(0,w.createMonacoBaseAPI)())},2525:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IEditorWorkerService:()=>i});const i=(0,n(6574).yh)("editorWorkerService")},9042:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EditorWorkerHost:()=>i});class i{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(e){return e.getChannel(i.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(i.CHANNEL_NAME,t)}}},7080:(e,t,n)=>{"use strict";n.r(t),n.d(t,{findSectionHeaders:()=>s});const i=new RegExp("\\bMARK:\\s*(.*)$","d"),r=/^-+|-+$/g;function s(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){const i=function(e,t){const n=[],i=e.getLineCount();for(let r=1;r<=i;r++){const i=e.getLineContent(r),s=i.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:r,startColumn:s[0].length+1,endLineNumber:r,endColumn:i.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(i.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);n=n.concat(i)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let i=1;i<=n;i++)o(e.getLineContent(i),i,t);return t}(e);n=n.concat(t)}return n}function o(e,t,n){i.lastIndex=0;const r=i.exec(e);if(r){const e={startLineNumber:t,startColumn:r.indices[1][0]+1,endLineNumber:t,endColumn:r.indices[1][1]+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(r,""),hasSeparatorLine:t}}},9184:(e,t,n)=>{"use strict";n.r(t),n.d(t,{getIconClasses:()=>u});var i,r=n(73),s=n(8948),o=n(7002),a=n(835);!function(e){e[e.FILE=0]="FILE",e[e.FOLDER=1]="FOLDER",e[e.ROOT_FOLDER=2]="ROOT_FOLDER"}(i||(i={}));var l,c,h=n(2161);!function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(l||(l={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){const i=t.exec(e.id);if(!i)return n(h.l.error);const[,r,s]=i,o=["codicon","codicon-"+r];return s&&o.push("codicon-modifier-"+s.substring(1)),o}e.asClassNameArray=n,e.asClassName=function(e){return n(e).join(" ")},e.asCSSSelector=function(e){return"."+n(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||l.isThemeColor(e.color))};const i=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=i.exec(e);if(!t)return;const[,n]=t;return{id:n}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let n=e.id;const i=n.lastIndexOf("~");return-1!==i&&(n=n.substring(0,i)),t&&(n=`${n}~${t}`),{id:n}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){return e.id===t.id&&e.color?.id===t.color?.id}}(c||(c={}));const d=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function u(e,t,n,l,h){if(c.isThemeIcon(h))return[`codicon-${h.id}`,"predefined-file-icon"];if(o.o.isUri(h))return[];const u=l===i.ROOT_FOLDER?["rootfolder-icon"]:l===i.FOLDER?["folder-icon"]:["file-icon"];if(n){let o;if(n.scheme===r.lg.data)o=s.Vb.parseMetaData(n).get(s.Vb.META_DATA_LABEL);else{const e=n.path.match(d);e?(o=p(e[2].toLowerCase()),e[1]&&u.push(`${p(e[1].toLowerCase())}-name-dir-icon`)):o=p(n.authority.toLowerCase())}if(l===i.ROOT_FOLDER)u.push(`${o}-root-name-folder-icon`);else if(l===i.FOLDER)u.push(`${o}-name-folder-icon`);else{if(o){if(u.push(`${o}-name-file-icon`),u.push("name-file-icon"),o.length<=255){const e=o.split(".");for(let t=1;t{"use strict";n.r(t),n.d(t,{ILanguageFeatureDebounceService:()=>m,LanguageFeatureDebounceService:()=>v});var i=n(1252),r=n(1484);function s(e,t,n){return Math.min(Math.max(e,t),n)}class o{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class a{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n(0,i.SP)(f.of(t),e)),0)}get(e){const t=this._key(e),n=this._cache.get(t);return n?s(n.value,this._min,this._max):this.default()}update(e,t){const n=this._key(e);let i=this._cache.get(n);i||(i=new a(6),this._cache.set(n,i));const r=s(i.update(t),this._min,this._max);return(0,u.xn)(e.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${e.uri.toString()} is ${r}ms`),r}_overall(){const e=new o;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){return s(0|this._overall()||this._default,this._min,this._max)}}let v=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,n){const i=n?.min??50,r=n?.max??i**2,s=n?.key??void 0,o=`${f.of(e)},${i}${s?","+s:""}`;let a=this._data.get(o);return a||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${t}] is disabled in developed mode`),a=new g(1.5*i)):a=new b(this._logService,t,e,0|this._overallAverage()||1.5*i,i,r),this._data.set(o,a)),a}_overallAverage(){const e=new o;for(const t of this._data.values())e.update(t.default());return e.value}};v=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([p(0,d.VZ),p(1,c)],v),(0,h.z)(m,v,1)},5363:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ILanguageFeaturesService:()=>i});const i=(0,n(6574).yh)("ILanguageFeaturesService")},4958:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageFeaturesService:()=>f});var i=n(5718),r=n(6263),s=n(4611),o=n(8699),a=n(4727);function l(e,t,n,i,r,s){if(Array.isArray(e)){let o=0;for(const a of e){const e=l(a,t,n,i,r,s);if(10===e)return e;e>o&&(o=e)}return o}if("string"==typeof e)return i?"*"===e?5:e===n?10:0:0;if(e){const{language:l,pattern:c,scheme:h,hasAccessToAllModels:d,notebookType:u}=e;if(!i&&!d)return 0;u&&r&&(t=r);let p=0;if(h)if(h===t.scheme)p=10;else{if("*"!==h)return 0;p=5}if(l)if(l===n)p=10;else{if("*"!==l)return 0;p=Math.max(p,5)}if(u)if(u===s)p=10;else{if("*"!==u||void 0===s)return 0;p=Math.max(p,5)}if(c){let e;if(e="string"==typeof c?c:{...c,base:(0,a.Fv)(c.base)},e!==t.fsPath&&!(0,o.EQ)(e,t.fsPath))return 0;p=10}return p}return 0}function c(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(c):!!e.exclusive)}class h{constructor(e,t,n,i,r){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=i,this.recursive=r}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}}class d{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new i.Q5,this.onDidChange=this._onDidChange.event}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,r.OF)((()=>{if(n){const e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}}))}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const e of this._entries)e._score>0&&t.push(e.provider);return t}ordered(e,t=!1){const n=[];return this._orderedForEach(e,t,(e=>n.push(e.provider))),n}orderedGroups(e){const t=[];let n,i;return this._orderedForEach(e,!1,(e=>{n&&i===e._score?n.push(e.provider):(i=e._score,n=[e.provider],t.push(n))})),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(const e of this._entries)e._score>0&&n(e)}_updateScores(e,t){const n=this._notebookInfoResolver?.(e.uri),i=n?new h(e.uri,e.getLanguageId(),n.uri,n.type,t):new h(e.uri,e.getLanguageId(),void 0,void 0,t);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(const n of this._entries)if(n._score=l(n.selector,i.uri,i.languageId,(0,s.pt)(e),i.notebookUri,i.notebookType),c(n.selector)&&n._score>0){if(!t){for(const e of this._entries)e._score=0;n._score=1e3;break}n._score=0}this._entries.sort(d._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:u(e.selector)&&!u(t.selector)?1:!u(e.selector)&&u(t.selector)?-1:e._timet._time?-1:0}}function u(e){return"string"!=typeof e&&(Array.isArray(e)?e.some(u):Boolean(e.isBuiltin))}var p=n(5363),m=n(4726);class f{constructor(){this.referenceProvider=new d(this._score.bind(this)),this.renameProvider=new d(this._score.bind(this)),this.newSymbolNamesProvider=new d(this._score.bind(this)),this.codeActionProvider=new d(this._score.bind(this)),this.definitionProvider=new d(this._score.bind(this)),this.typeDefinitionProvider=new d(this._score.bind(this)),this.declarationProvider=new d(this._score.bind(this)),this.implementationProvider=new d(this._score.bind(this)),this.documentSymbolProvider=new d(this._score.bind(this)),this.inlayHintsProvider=new d(this._score.bind(this)),this.colorProvider=new d(this._score.bind(this)),this.codeLensProvider=new d(this._score.bind(this)),this.documentFormattingEditProvider=new d(this._score.bind(this)),this.documentRangeFormattingEditProvider=new d(this._score.bind(this)),this.onTypeFormattingEditProvider=new d(this._score.bind(this)),this.signatureHelpProvider=new d(this._score.bind(this)),this.hoverProvider=new d(this._score.bind(this)),this.documentHighlightProvider=new d(this._score.bind(this)),this.multiDocumentHighlightProvider=new d(this._score.bind(this)),this.selectionRangeProvider=new d(this._score.bind(this)),this.foldingRangeProvider=new d(this._score.bind(this)),this.linkProvider=new d(this._score.bind(this)),this.inlineCompletionsProvider=new d(this._score.bind(this)),this.inlineEditProvider=new d(this._score.bind(this)),this.completionProvider=new d(this._score.bind(this)),this.linkedEditingRangeProvider=new d(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new d(this._score.bind(this)),this.documentSemanticTokensProvider=new d(this._score.bind(this)),this.documentDropEditProvider=new d(this._score.bind(this)),this.documentPasteEditProvider=new d(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}}(0,m.z)(p.ILanguageFeaturesService,f,1)},3839:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageService:()=>L});var i=n(5718),r=n(6263),s=n(7752),o=n(4750),a=n(3779),l=n(835);const c=(e,t)=>e===t;new WeakMap;class h{constructor(e,t,n){this.owner=e,this.debugNameSource=t,this.referenceFn=n}getDebugName(e){return function(e,t){const n=u.get(e);if(n)return n;const i=function(e,t){const n=u.get(e);if(n)return n;const i=t.owner?function(e){const t=m.get(e);if(t)return t;const n=function(e){const t=e.constructor;return t?t.name:"Object"}(e);let i=p.get(n)??0;i++,p.set(n,i);const r=1===i?n:`${n}#${i}`;return m.set(e,r),r}(t.owner)+".":"";let r;const s=t.debugNameSource;if(void 0!==s){if("function"!=typeof s)return i+s;if(r=s(),void 0!==r)return i+r}const o=t.referenceFn;if(void 0!==o&&(r=f(o),void 0!==r))return i+r;if(void 0!==t.owner){const n=function(e,t){for(const n in e)if(e[n]===t)return n}(t.owner,e);if(void 0!==n)return i+n}}(e,t);if(i){let t=d.get(i)??0;t++,d.set(i,t);const n=1===t?i:`${i}#${t}`;return u.set(e,n),n}}(e,this)}}const d=new Map,u=new WeakMap,p=new Map,m=new WeakMap;function f(e){const t=e.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t),i=n?n[1]:void 0;return i?.trim()}let g,b,v;class w{get TChange(){return null}reportChanges(){this.get()}read(e){return e?e.readObservable(this):this.get()}map(e,t){const n=void 0===t?void 0:e,i=void 0===t?e:t;return v({owner:n,debugName:()=>{const e=f(i);if(void 0!==e)return e;const t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());return t?`${this.debugName}.${t[2]}`:n?void 0:`${this.debugName} (mapped)`},debugReferenceFn:i},(e=>i(this.read(e),e)))}flatten(){return v({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},(e=>this.read(e).read(e)))}recomputeInitiallyAndOnChange(e,t){return e.add(g(this,t)),this}keepObserved(e){return e.add(b(this)),this}}class y extends w{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),0===t&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}class C{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():f(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t`}beginUpdate(e){this.updateCount++;const t=1===this.updateCount;if(3===this.state&&(this.state=1,!t))for(const e of this.observers)e.handlePossibleChange(this);if(t)for(const e of this.observers)e.beginUpdate(this)}endUpdate(e){if(this.updateCount--,0===this.updateCount){const e=[...this.observers];for(const t of e)t.endUpdate(this)}(0,_.eZ)((()=>this.updateCount>=0))}handlePossibleChange(e){if(3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const e of this.observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const n=!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary),i=3===this.state;if(n&&(1===this.state||i)&&(this.state=2,i))for(const e of this.observers)e.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function S(e){return new x(new h(void 0,void 0,e),e,void 0,void 0)}class x{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(e,t,n,i){this._debugNameData=e,this._runFn=t,this.createChangeSummary=n,this._handleChange=i,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=this.createChangeSummary?.(),this._runIfNeeded(),(0,r.wi)(this)}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear(),(0,r.Nq)(this)}_runIfNeeded(){if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){const e=this.changeSummary;this.changeSummary=this.createChangeSummary?.(),this._runFn(this,e)}}finally{for(const e of this.dependenciesToBeRemoved)e.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,(0,_.eZ)((()=>this.updateCount>=0))}handlePossibleChange(e){3===this.state&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:t=>t===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}function E(...e){let t,n,i;return 3===e.length?[t,n,i]=e:[n,i]=e,new F(new h(t,void 0,i),n,i,(()=>F.globalTransaction),c)}(S||(S={})).Observer=x;class F extends y{constructor(e,t,n,i,r){super(),this._debugNameData=e,this.event=t,this._getValue=n,this._getTransaction=i,this._equalityComparator=r,this.hasValue=!1,this.handleEvent=e=>{const t=this._getValue(e),n=this.value,i=!this.hasValue||!this._equalityComparator(n,t);let r=!1;var s,o,a;i&&(this.value=t,this.hasValue&&(r=!0,s=this._getTransaction(),o=e=>{for(const t of this.observers)e.updateObserver(t,this),t.handleChange(this,void 0)},a=()=>{const e=this.getDebugName();return"Event fired"+(e?`: ${e}`:"")},s?o(s):function(e,t){const n=new C(e,t);try{e(n)}finally{n.finish()}}(o,a)),this.hasValue=!0)}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}!function(e){e.Observer=F,e.batchEventsGlobally=function(e,t){let n=!1;void 0===F.globalTransaction&&(F.globalTransaction=e,n=!0);try{t()}finally{n&&(F.globalTransaction=void 0)}}}(E||(E={})),b=function(e){const t=new I(!1,void 0);return e.addObserver(t),(0,r.OF)((()=>{e.removeObserver(t)}))},g=function(e,t){const n=new I(!0,t);return e.addObserver(n),t?t(e.get()):e.reportChanges(),(0,r.OF)((()=>{e.removeObserver(n)}))};class I{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}n(8177);class L extends r.JT{static{this.instanceCount=0}constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new i.Q5),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new i.Q5),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new i.Q5({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,L.instanceCount++,this._registry=this._register(new s.LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){L.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const n=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return(0,o.Xh)(n,null)}createById(e){return new N(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(e)))}createByFilepathOrFirstLine(e,t){return new N(this.onDidChange,(()=>{const n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)}))}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=l.bd),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),a.RW.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}class N{constructor(e,t){this._value=E(this,e,(()=>t())),this.onDidChange=i.ju.fromObservable(this._value)}get languageId(){return this._value.get()}}},3305:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearPlatformLanguageAssociations:()=>m,getLanguageIds:()=>f,registerPlatformLanguageAssociation:()=>p});var i=n(8699),r=n(5655),s=n(73),o=n(4727),a=n(8948),l=n(8810),c=n(835);let h=[],d=[],u=[];function p(e,t=!1){!function(e,t,n){const r=function(e){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:false,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?(0,i.Qc)(e.filepattern.toLowerCase()):void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(o.KR.sep)>=0}}(e);h.push(r),r.userConfigured?u.push(r):d.push(r),n&&!r.userConfigured&&h.forEach((e=>{e.mime===r.mime||e.userConfigured||(r.extension&&e.extension===r.extension&&console.warn(`Overwriting extension <<${r.extension}>> to now point to mime <<${r.mime}>>`),r.filename&&e.filename===r.filename&&console.warn(`Overwriting filename <<${r.filename}>> to now point to mime <<${r.mime}>>`),r.filepattern&&e.filepattern===r.filepattern&&console.warn(`Overwriting filepattern <<${r.filepattern}>> to now point to mime <<${r.mime}>>`),r.firstline&&e.firstline===r.firstline&&console.warn(`Overwriting firstline <<${r.firstline}>> to now point to mime <<${r.mime}>>`))}))}(e,0,t)}function m(){h=h.filter((e=>e.userConfigured)),d=[]}function f(e,t){return function(e,t){let n;if(e)switch(e.scheme){case s.lg.file:n=e.fsPath;break;case s.lg.data:n=a.Vb.parseMetaData(e).get(a.Vb.META_DATA_LABEL);break;case s.lg.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:"unknown",mime:r.v.unknown}];n=n.toLowerCase();const i=(0,o.EZ)(n),p=g(n,i,u);if(p)return[p,{id:c.bd,mime:r.v.text}];const m=g(n,i,d);if(m)return[m,{id:c.bd,mime:r.v.text}];if(t){const e=function(e){if((0,l.uS)(e)&&(e=e.substr(1)),e.length>0)for(let t=h.length-1;t>=0;t--){const n=h[t];if(!n.firstline)continue;const i=e.match(n.firstline);if(i&&i.length>0)return n}}(t);if(e)return[e,{id:c.bd,mime:r.v.text}]}return[{id:"unknown",mime:r.v.unknown}]}(e,t).map((e=>e.id))}function g(e,t,n){let i,r,s;for(let o=n.length-1;o>=0;o--){const a=n[o];if(t===a.filenameLowercase){i=a;break}if(a.filepattern&&(!r||a.filepattern.length>r.filepattern.length)){const n=a.filepatternOnPath?e:t;a.filepatternLowercase?.(n)&&(r=a)}a.extension&&(!s||a.extension.length>s.extension.length)&&t.endsWith(a.extensionLowercase)&&(s=a)}return i||r||s||void 0}},7752:(e,t,n)=>{"use strict";n.r(t),n.d(t,{LanguageIdCodec:()=>u,LanguagesRegistry:()=>p});var i=n(5718),r=n(6263),s=n(8810),o=n(3305),a=n(835),l=n(1e3),c=n(1430);const h=Object.prototype.hasOwnProperty,d="vs.editor.nullLanguage";class u{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(d,0),this._register(a.bd,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||d}}class p extends r.JT{static{this.instanceCount=0}constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new i.Q5),this.onDidChange=this._onDidChange.event,p.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new u,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(a.dQ.onDidChangeLanguages((e=>{this._initializeFromRegistry()}))))}dispose(){p.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},(0,o.clearPlatformLanguageAssociations)();const e=[].concat(a.dQ.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((e=>{const t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach((e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier})),t.mimetypes.forEach((e=>{this._mimeTypesMap[e]=t.identifier}))})),c.B.as(l.IP.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let n;h.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){const n=t.id;let i=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),i=t.mimetypes[0]),i||(i=`text/x-${n}`,e.mimetypes.push(i)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const e of t.extensions)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const r of t.filenames)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,filename:r},this._warnOnOverwrite),e.filenames.push(r);if(Array.isArray(t.filenamePatterns))for(const e of t.filenamePatterns)(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,filepattern:e},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{const t=new RegExp(e);(0,s.IO)(t)||(0,o.registerPlatformLanguageAssociation)({id:n,mime:i,firstline:t},this._warnOnOverwrite)}catch(n){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,n)}}e.aliases.push(n);let r=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(r=0===t.aliases.length?[null]:t.aliases),null!==r)for(const t of r)t&&0!==t.length&&e.aliases.push(t);const a=null!==r&&r.length>0;if(a&&null===r[0]);else{const t=(a?r[0]:null)||n;!a&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return!!e&&h.call(this._languages,e)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return h.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&h.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return e||t?(0,o.getLanguageIds)(e,t):[]}}},2587:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IMarkerDecorationsService:()=>i});const i=(0,n(6574).yh)("markerDecorationsService")},777:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MarkerDecorationsService:()=>_});var i,r=n(8810);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(i||(i={})),function(e){const t="error",n="warning",i="info";e.fromValue=function(s){return s?r.qq(t,s)?e.Error:r.qq(n,s)||r.qq("warn",s)?e.Warning:r.qq(i,s)?e.Info:e.Ignore:e.Ignore},e.toString=function(r){switch(r){case e.Error:return t;case e.Warning:return n;case e.Info:return i;default:return"ignore"}}}(i||(i={}));const s=i;var o,a,l=n(2174),c=n(6574);!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(o||(o={})),function(e){e.compare=function(e,t){return t-e};const t=Object.create(null);t[e.Error]=(0,l.NC)("sev.error","Error"),t[e.Warning]=(0,l.NC)("sev.warning","Warning"),t[e.Info]=(0,l.NC)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case s.Error:return e.Error;case s.Warning:return e.Warning;case s.Info:return e.Info;case s.Ignore:return e.Hint}},e.toSeverity=function(t){switch(t){case e.Error:return s.Error;case e.Warning:return s.Warning;case e.Info:return s.Info;case e.Hint:return s.Ignore}}}(o||(o={})),function(e){const t="";function n(e,n){const i=[t];return e.source?i.push(e.source.replace("¦","\\¦")):i.push(t),e.code?"string"==typeof e.code?i.push(e.code.replace("¦","\\¦")):i.push(e.code.value.replace("¦","\\¦")):i.push(t),void 0!==e.severity&&null!==e.severity?i.push(o.toString(e.severity)):i.push(t),e.message&&n?i.push(e.message.replace("¦","\\¦")):i.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?i.push(e.startLineNumber.toString()):i.push(t),void 0!==e.startColumn&&null!==e.startColumn?i.push(e.startColumn.toString()):i.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?i.push(e.endLineNumber.toString()):i.push(t),void 0!==e.endColumn&&null!==e.endColumn?i.push(e.endColumn.toString()):i.push(t),i.push(t),i.join("¦")}e.makeKey=function(e){return n(e,!0)},e.makeKeyOptionalMessage=n}(a||(a={}));const h=(0,c.yh)("markerService");var d=n(6263),u=n(4611),p=n(3620),m=n(8402),f=n(7408),g=n(4117),b=n(73),v=n(5718),w=n(7443),y=n(1484),C=function(e,t){return function(n,i){t(n,i,e)}};let _=class extends d.JT{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new v.Q5),this._markerDecorations=new y.Y9,e.getModels().forEach((e=>this._onModelAdded(e))),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((e=>e.dispose())),this._markerDecorations.clear()}getMarker(e,t){const n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach((e=>{const t=this._markerDecorations.get(e);t&&this._updateDecorations(t)}))}_onModelAdded(e){const t=new k(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),e.uri.scheme!==b.lg.inMemory&&e.uri.scheme!==b.lg.internal&&e.uri.scheme!==b.lg.vscode||this._markerService?.read({resource:e.uri}).map((e=>e.owner)).forEach((t=>this._markerService.remove(t,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};_=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([C(0,f.IModelService),C(1,h)],_);class k extends d.JT{constructor(e){super(),this.model=e,this._map=new y.YQ,this._register((0,d.OF)((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(e){const{added:t,removed:n}=function(e,t){const n=[],i=[];for(const i of e)t.has(i)||n.push(i);for(const n of t)e.has(n)||i.push(n);return{removed:n,added:i}}(new Set(this._map.keys()),new Set(e));if(0===t.length&&0===n.length)return!1;const i=n.map((e=>this._map.get(e))),r=t.map((e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)}))),s=this.model.deltaDecorations(i,r);for(const e of n)this._map.delete(e);for(let e=0;e=t)return n;const i=e.getWordAtPosition(n.getStartPosition());i&&(n=new g.e(n.startLineNumber,i.startColumn,n.endLineNumber,i.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&n.startLineNumber===n.endLineNumber){const i=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);i=0}}},7408:(e,t,n)=>{"use strict";n.r(t),n.d(t,{IModelService:()=>i});const i=(0,n(6574).yh)("modelService")},1018:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DefaultModelSHA1Computer:()=>mr,ModelService:()=>pr});var i=n(5718),r=n(6263),s=n(3883),o=n(4750),a=n(9263),l=n(8177),c=n(8810),h=n(7002),d=n(8235);class u{static _nextVisibleColumn(e,t,n){return 9===e?u.nextRenderTabStop(t,n):c.K7(e)||c.C8(e)?t+2:t+1}static visibleColumnFromColumn(e,t,n){const i=Math.min(t-1,e.length),r=e.substring(0,i),s=new c.W1(r);let o=0;for(;!s.eol();){const e=c.ZH(r,i,s.offset);s.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;const i=e.length,r=new c.W1(e);let s=0,o=1;for(;!r.eol();){const a=c.ZH(e,i,r.offset);r.nextGraphemeLength();const l=this._nextVisibleColumn(a,s,n),h=r.offset+1;if(l>=t)return l-t \n\t"}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((e=>new y(e))):e.brackets?this._autoClosingPairs=e.brackets.map((e=>new y({open:e[0],close:e[1]}))):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new y({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:k.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:k.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}function S(e){return!!(3&e)}var x=n(80);let E,F,I;function L(){return E||(E=new TextDecoder("UTF-16LE")),E}class N{constructor(e,t,n,i,r,s){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=n,this.close=i,this.forwardRegex=r,this.reversedRegex=s,this._openSet=N._toSet(this.open),this._closeSet=N._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){const t=new Set;for(const n of e)t.add(n);return t}}class T{constructor(e,t){this._richEditBracketsBrand=void 0;const n=function(e){const t=e.length;e=e.map((e=>[e[0].toLowerCase(),e[1].toLowerCase()]));const n=[];for(let e=0;e{const[n,i]=e,[r,s]=t;return n===r||n===s||i===r||i===s},r=(e,i)=>{const r=Math.min(e,i),s=Math.max(e,i);for(let e=0;e0&&s.push({open:r,close:o})}return s}(t);this.brackets=n.map(((t,i)=>new N(e,i,t.open,t.close,function(e,t,n,i){let r=[];r=r.concat(e),r=r.concat(t);for(let e=0,t=r.length;e=0&&i.push(t);for(const t of s.close)t.indexOf(e)>=0&&i.push(t)}}function D(e,t){return e.length-t.length}function A(e){if(e.length<=1)return e;const t=[],n=new Set;for(const i of e)n.has(i)||(t.push(i),n.add(i));return t}function M(e){const t=/^[\w ]+$/.test(e);return e=c.ec(e),t?`\\b${e}\\b`:e}function O(e,t){const n=`(${e.map(M).join(")|(")})`;return c.GF(n,!0,t)}const z=function(){let e=null,t=null;return function(n){return e!==n&&(e=n,t=function(e){const t=new Uint16Array(e.length);let n=0;for(let i=e.length-1;i>=0;i--)t[n++]=e.charCodeAt(i);return(I||(I=s.r()?L():(F||(F=new TextDecoder("UTF-16BE")),F)),I).decode(t)}(e)),t}}();class P{static _findPrevBracketInText(e,t,n,i){const r=n.match(e);if(!r)return null;const s=n.length-(r.index||0),o=r[0].length,a=i+s;return new m.e(t,a-o+1,t,a+1)}static findPrevBracketInRange(e,t,n,i,r){const s=z(n).substring(n.length-r,n.length-i);return this._findPrevBracketInText(e,t,s,i)}static findNextBracketInText(e,t,n,i){const r=n.match(e);if(!r)return null;const s=r.index||0,o=r[0].length;if(0===o)return null;const a=i+s;return new m.e(t,a+1,t,a+1+o)}static findNextBracketInRange(e,t,n,i,r){const s=n.substring(i,r);return this.findNextBracketInText(e,t,s,i)}}class B{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const n of t.close){const t=n.charAt(n.length-1);e.push(t)}return(0,o.EB)(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const i=t.findTokenIndexAtOffset(n-1);if(S(t.getStandardTokenType(i)))return null;const r=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,n-1)+e,o=P.findPrevBracketInRange(r,1,s,0,s.length);if(!o)return null;const a=s.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;const l=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function W(e){return e.global&&(e.lastIndex=0),!0}class V{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&W(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&W(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&W(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&W(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class U{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach((e=>{const t=U._createOpenBracketRegExp(e[0]),n=U._createCloseBracketRegExp(e[1]);t&&n&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:n})})),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,n,i){if(e>=3)for(let e=0,r=this._regExpRules.length;e!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text)))))return r.action}if(e>=2&&n.length>0&&i.length>0)for(let e=0,t=this._brackets.length;e=2&&n.length>0)for(let e=0,t=this._brackets.length;e{const t=new Set;return{info:new X(this,e,t),closing:t}})),r=new H.bQ((e=>{const t=new Set,n=new Set;return{info:new Y(this,e,t,n),opening:t,openingColorized:n}}));for(const[e,t]of n){const n=i.get(e),s=r.get(t);n.closing.add(s.info),s.opening.add(n.info)}const s=t.colorizedBracketPairs?J(t.colorizedBracketPairs):n.filter((e=>!("<"===e[0]&&">"===e[1])));for(const[e,t]of s){const n=i.get(e),s=r.get(t);n.closing.add(s.info),s.openingColorized.add(n.info),s.opening.add(n.info)}this._openingBrackets=new Map([...i.cachedValues].map((([e,t])=>[e,t.info]))),this._closingBrackets=new Map([...r.cachedValues].map((([e,t])=>[e,t.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return O(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}}function J(e){return e.filter((([e,t])=>""!==e&&""!==t))}class Q{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class X extends Q{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}}class Y extends Q{constructor(e,t,n,i){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=i,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var Z=function(e,t){return function(n,i){t(n,i,e)}};class ee{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}const te=(0,q.yh)("languageConfigurationService");let ne=class extends r.JT{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new ce),this.onDidChangeEmitter=this._register(new i.Q5),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const n=new Set(Object.values(ie));this._register(this.configurationService.onDidChangeConfiguration((e=>{const t=e.change.keys.some((e=>n.has(e))),i=e.change.overrides.filter((([e,t])=>t.some((e=>n.has(e))))).map((([e])=>e));if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new ee(void 0));else for(const e of i)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new ee(e)))}))),this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new ee(e.languageId))})))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,n,i){let r=t.getLanguageConfiguration(e);if(!r){if(!i.isRegisteredLanguageId(e))return new he(e,{});r=new he(e,{})}const s=function(e,t){const n=t.getValue(ie.brackets,{overrideIdentifier:e}),i=t.getValue(ie.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:re(n),colorizedBracketPairs:re(i)}}(r.languageId,n),o=oe([r.underlyingConfig,s]);return new he(r.languageId,o)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};ne=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([Z(0,$.Ui),Z(1,v.O)],ne);const ie={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function re(e){if(Array.isArray(e))return e.map((e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]})).filter((e=>!!e))}class se{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const n=new ae(e,t,++this._order);return this._entries.push(n),this._resolved=null,(0,r.OF)((()=>{for(let e=0;ee.configuration))))}}function oe(e){let t={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(const n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}class ae{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class le{constructor(e){this.languageId=e}}class ce extends r.JT{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new i.Q5),this.onDidChange=this._onDidChange.event,this._register(this.register(K.bd,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let i=this._entries.get(e);i||(i=new se(e),this._entries.set(e,i));const s=i.register(t,n);return this._onDidChange.fire(new le(e)),(0,r.OF)((()=>{s.dispose(),this._onDidChange.fire(new le(e))}))}getLanguageConfiguration(e){const t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class he{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new U(this.underlyingConfig):null,this.comments=he._handleComments(this.underlyingConfig),this.characterPair=new k(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||w.Af,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new V(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new G(e,this.underlyingConfig)}getWordDefinition(){return(0,w.eq)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new T(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new B(this.brackets)),this._electricCharacter}onEnter(e,t,n,i){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,i):null}getAutoClosingPairs(){return new C(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const n={};if(t.lineComment&&(n.lineCommentToken=t.lineComment),t.blockComment){const[e,i]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=i}return n}}(0,j.z)(te,ne,1);var de=n(4611);class ue{constructor(e,t,n,i){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=n,this.isInvalid=i}}class pe{constructor(e,t,n,i,r,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=n,this.nestingLevel=i,this.nestingLevelOfEqualBracketType=r,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class me extends pe{constructor(e,t,n,i,r,s,o){super(e,t,n,i,r,s),this.minVisibleColumnIndentation=o}}class fe{static{this.zero=new fe(0,0)}static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new fe(0,t.column-e.column):new fe(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return fe.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,n=0;for(const i of e)"\n"===i?(t++,n=0):n++;return new fe(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new m.e(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new m.e(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new p.L(e.lineNumber,e.column+this.columnCount):new p.L(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}function ge(e){return 0===e}const be=2**26;function ve(e,t){return e*be+t}function we(e){const t=e,n=Math.floor(t/be);return new fe(n,t-n*be)}function ye(e,t){let n=e+t;return t>=be&&(n-=e%be),n}function Ce(e,t){return e.reduce(((e,n)=>ye(e,t(n))),0)}function _e(e,t){return e===t}function ke(e,t){const n=e,i=t;if(i-n<=0)return 0;const r=Math.floor(n/be),s=Math.floor(i/be),o=i-s*be;return r===s?ve(0,o-(n-r*be)):ve(s-r,o)}function Se(e,t){return e=t}function Fe(e){return ve(e.lineNumber-1,e.column-1)}function Ie(e,t){const n=e,i=Math.floor(n/be),r=n-i*be,s=t,o=Math.floor(s/be),a=s-o*be;return new m.e(i+1,r+1,o+1,a+1)}class Le{static fromModelContentChanges(e){return e.map((e=>{const t=m.e.lift(e.range);return new Le(Fe(t.getStartPosition()),Fe(t.getEndPosition()),function(e){const t=(0,c.uq)(e);return ve(t.length-1,t[t.length-1].length)}(e.text))})).reverse()}constructor(e,t,n){this.startOffset=e,this.endOffset=t,this.newLength=n}toString(){return`[${we(this.startOffset)}...${we(this.endOffset)}) -> ${we(this.newLength)}`}}class Ne{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map((e=>Te.from(e)))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],n=t?this.translateOldToCur(t.offsetObj):null;return null===n?null:ke(e,n)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?ve(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):ve(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=we(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?ve(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):ve(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(0===i){const e=1<e};class Me{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}class Oe{get length(){return this._length}constructor(e){this._length=e}}class ze extends Oe{static create(e,t,n){let i=e.length;return t&&(i=ye(i,t.length)),n&&(i=ye(i,n.length)),new ze(i,e,t,n,t?t.missingOpeningBracketIds:De.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,n,i,r){super(e),this.openingBracket=t,this.child=n,this.closingBracket=i,this.missingOpeningBracketIds=r}canBeReused(e){return null!==this.closingBracket&&!e.intersects(this.missingOpeningBracketIds)}deepClone(){return new ze(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(ye(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class Pe extends Oe{static create23(e,t,n,i=!1){let r=e.length,s=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(r=ye(r,t.length),s=s.merge(t.missingOpeningBracketIds),n){if(e.listHeight!==n.listHeight)throw new Error("Invalid list heights");r=ye(r,n.length),s=s.merge(n.missingOpeningBracketIds)}return i?new We(r,e.listHeight+1,e,t,n,s):new Be(r,e.listHeight+1,e,t,n,s)}static getEmpty(){return new Ue(0,0,[],De.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,n){super(e),this.listHeight=t,this._missingOpeningBracketIds=n,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(0===e)return;const t=this.getChild(e-1),n=4===t.kind?t.toMutable():t;return t!==n&&this.setChild(e-1,n),n}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){const e=t.childrenLength;if(0===e)throw new l.he;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,n=this.getChild(0).missingOpeningBracketIds;for(let i=1;ithis.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let n=0;for(;;){const i=this.lineTokens,r=i.getCount();let s=null;if(this.lineTokenOffset1e3)break}if(n>1500)break}const i=(r=e,s=t,o=this.lineIdx,a=this.lineCharOffset,r!==o?ve(o-r,a):ve(0,a-s));var r,s,o,a;return new Je(i,0,-1,De.getEmpty(),new je(i))}}class Ye{constructor(e,t){this.text=e,this._offset=0,this.idx=0;const n=t.getRegExpStr(),i=n?new RegExp(n+"|\n","gi"):null,r=[];let s,o=0,a=0,l=0,c=0;const h=[];for(let e=0;e<60;e++)h.push(new Je(ve(0,e),0,-1,De.getEmpty(),new je(ve(0,e))));const d=[];for(let e=0;e<60;e++)d.push(new Je(ve(1,e),0,-1,De.getEmpty(),new je(ve(1,e))));if(i)for(i.lastIndex=0;null!==(s=i.exec(e));){const e=s.index,n=s[0];if("\n"===n)o++,a=e+1;else{if(l!==e){let t;if(c===o){const n=e-l;if(nfunction(e){let t=(0,c.ec)(e);return/^[\w ]+/.test(e)&&(t=`\\b${t}`),/[\w ]+$/.test(e)&&(t=`${t}\\b`),t}(e))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,n]of this.map)if(2===n.kind&&n.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class et{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=Ze.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function tt(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let n=e.length;for(;n>3;){const i=n>>1;for(let r=0;r=3?e[2]:null,t)}function nt(e,t){return Math.abs(e.listHeight-t.listHeight)}function it(e,t){return e.listHeight===t.listHeight?Pe.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let n=e=e.toMutable();const i=[];let r;for(;;){if(t.listHeight===n.listHeight){r=t;break}if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeLastElementMutable()}for(let e=i.length-1;e>=0;e--){const t=i[e];r?t.childrenLength>=3?r=Pe.create23(t.unappendChild(),r,null,!1):(t.appendChildOfSameHeight(r),r=void 0):t.handleChildrenChanged()}return r?Pe.create23(e,r,null,!1):e}(e,t):function(e,t){let n=e=e.toMutable();const i=[];for(;t.listHeight!==n.listHeight;){if(4!==n.kind)throw new Error("unexpected");i.push(n),n=n.makeFirstElementMutable()}let r=t;for(let e=i.length-1;e>=0;e--){const t=i[e];r?t.childrenLength>=3?r=Pe.create23(r,t.unprependChild(),null,!1):(t.prependChildOfSameHeight(r),r=void 0):t.handleChildrenChanged()}return r?Pe.create23(r,e,null,!1):e}(t,e)}class rt{constructor(e){this.lastOffset=0,this.nextNodes=[e],this.offsets=[0],this.idxs=[]}readLongestNodeAt(e,t){if(Se(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const n=ot(this.nextNodes);if(!n)return;const i=ot(this.offsets);if(Se(e,i))return;if(Se(i,e))if(ye(i,n.length)<=e)this.nextNodeAfterCurrent();else{const e=st(n);-1!==e?(this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(n))return this.nextNodeAfterCurrent(),n;{const e=st(n);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(n.getChild(e)),this.offsets.push(i),this.idxs.push(e)}}}}nextNodeAfterCurrent(){for(;;){const e=ot(this.offsets),t=ot(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const n=ot(this.nextNodes),i=st(n,this.idxs[this.idxs.length-1]);if(-1!==i){this.nextNodes.push(n.getChild(i)),this.offsets.push(ye(e,t.length)),this.idxs[this.idxs.length-1]=i;break}this.idxs.pop()}}}function st(e,t=-1){for(;;){if(++t>=e.childrenLength)return-1;if(e.getChild(t))return t}}function ot(e){return e.length>0?e[e.length-1]:void 0}function at(e,t,n,i){return new lt(e,t,n,i).parseDocument()}class lt{constructor(e,t,n,i){if(this.tokenizer=e,this.createImmutableLists=i,this._itemsConstructed=0,this._itemsFromCache=0,n&&i)throw new Error("Not supported");this.oldNodeReader=n?new rt(n):void 0,this.positionMapper=new Ne(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(De.getEmpty(),0);return e||(e=Pe.getEmpty()),e}parseList(e,t){const n=[];for(;;){let i=this.tryReadChildFromCache(e);if(!i){const n=this.tokenizer.peek();if(!n||2===n.kind&&n.bracketIds.intersects(e))break;i=this.parseChild(e,t+1)}4===i.kind&&0===i.childrenLength||n.push(i)}const i=this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function n(){if(t>=e.length)return null;const n=t,i=e[n].listHeight;for(t++;t=2?tt(0===n&&t===e.length?e:e.slice(n,t),!1):e[n]}let i=n(),r=n();if(!r)return i;for(let e=n();e;e=n())nt(i,r)<=nt(r,e)?(i=it(i,r),r=e):r=it(r,e);return it(i,r)}(n):tt(n,this.createImmutableLists);return i}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!ge(t)){const n=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(n=>!(null!==t&&!Se(n.length,t))&&n.canBeReused(e)));if(n)return this._itemsFromCache++,this.tokenizer.skip(n.length),n}}}parseChild(e,t){this._itemsConstructed++;const n=this.tokenizer.read();switch(n.kind){case 2:return new He(n.bracketIds,n.length);case 0:return n.astNode;case 1:{if(t>300)return new je(n.length);const i=e.merge(n.bracketIds),r=this.parseList(i,t+1),s=this.tokenizer.peek();return s&&2===s.kind&&(s.bracketId===n.bracketId||s.bracketIds.intersects(n.bracketIds))?(this.tokenizer.read(),ze.create(n.astNode,r,s.astNode)):ze.create(n.astNode,r,null)}default:throw new Error("unexpected")}}}function ct(e,t){if(0===e.length)return t;if(0===t.length)return e;const n=new o.H9(dt(e)),i=dt(t);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let r=n.dequeue();function s(e){if(void 0===e){const e=n.takeWhile((e=>!0))||[];return r&&e.unshift(r),e}const t=[];for(;r&&!ge(e);){const[i,s]=r.splitAt(e);t.push(i),e=ke(i.lengthAfter,e),r=s??n.dequeue()}return ge(e)||t.push(new ht(!1,e,e)),t}const a=[];function l(e,t,n){if(a.length>0&&_e(a[a.length-1].endOffset,e)){const e=a[a.length-1];a[a.length-1]=new Le(e.startOffset,t,ye(e.newLength,n))}else a.push({startOffset:e,endOffset:t,newLength:n})}let c=0;for(const e of i){const t=s(e.lengthBefore);if(e.modified){const n=ye(c,Ce(t,(e=>e.lengthBefore)));l(c,n,e.lengthAfter),c=n}else for(const e of t){const t=c;c=ye(c,e.lengthBefore),e.modified&&l(t,c,e.lengthAfter)}}return a}class ht{constructor(e,t,n){this.modified=e,this.lengthBefore=t,this.lengthAfter=n}splitAt(e){const t=ke(e,this.lengthAfter);return _e(t,0)?[this,void 0]:this.modified?[new ht(this.modified,this.lengthBefore,e),new ht(this.modified,0,t)]:[new ht(this.modified,e,e),new ht(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${we(this.lengthBefore)} -> ${we(this.lengthAfter)}`}}function dt(e){const t=[];let n=0;for(const i of e){const e=ke(n,i.startOffset);ge(e)||t.push(new ht(!1,e,e));const r=ke(i.startOffset,i.endOffset);t.push(new ht(!0,r,i.newLength)),n=i.endOffset}return t}class ut extends r.JT{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new i.Q5,this.denseKeyProvider=new Me,this.brackets=new et(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new Ye(this.textModel.getValue(),e);this.initialAstWithoutTokens=at(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map((e=>new Le(ve(e.fromLineNumber-1,0),ve(e.toLineNumber,0),ve(e.toLineNumber-e.fromLineNumber+1,0))));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=Le.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const n=ct(this.queuedTextEdits,e);this.queuedTextEdits=n,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=ct(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,n){const i=t;return at(new Qe(this.textModel,this.brackets),e,i,n)}getBracketsInRange(e,t){this.flushQueue();const n=ve(e.startLineNumber-1,e.startColumn-1),i=ve(e.endLineNumber-1,e.endColumn-1);return new o.W$((e=>{const r=this.initialAstWithoutTokens||this.astWithTokens;ft(r,0,r.length,n,i,e,0,0,new Map,t)}))}getBracketPairsInRange(e,t){this.flushQueue();const n=Fe(e.getStartPosition()),i=Fe(e.getEndPosition());return new o.W$((e=>{const r=this.initialAstWithoutTokens||this.astWithTokens,s=new gt(e,t,this.textModel);bt(r,0,r.length,n,i,s,0,new Map)}))}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return mt(t,0,t.length,Fe(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return pt(t,0,t.length,Fe(e))}}function pt(e,t,n,i){if(4===e.kind||2===e.kind){const r=[];for(const i of e.children)n=ye(t,i.length),r.push({nodeOffsetStart:t,nodeOffsetEnd:n}),t=n;for(let t=r.length-1;t>=0;t--){const{nodeOffsetStart:n,nodeOffsetEnd:s}=r[t];if(Se(n,i)){const r=pt(e.children[t],n,s,i);if(r)return r}}return null}if(3===e.kind)return null;if(1===e.kind){const i=Ie(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function mt(e,t,n,i){if(4===e.kind||2===e.kind){for(const r of e.children){if(Se(i,n=ye(t,r.length))){const e=mt(r,t,n,i);if(e)return e}t=n}return null}if(3===e.kind)return null;if(1===e.kind){const i=Ie(t,n);return{bracketInfo:e.bracketInfo,range:i}}return null}function ft(e,t,n,i,r,s,o,a,l,c,h=!1){if(o>200)return!0;e:for(;;)switch(e.kind){case 4:{const a=e.childrenLength;for(let h=0;h200)return!0;let l=!0;if(2===e.kind){let c=0;if(a){let t=a.get(e.openingBracket.text);void 0===t&&(t=0),c=t,t++,a.set(e.openingBracket.text,t)}const h=ye(t,e.openingBracket.length);let d=-1;if(s.includeMinIndentation&&(d=e.computeMinIndentation(t,s.textModel)),l=s.push(new me(Ie(t,n),Ie(t,h),e.closingBracket?Ie(ye(h,e.child?.length||0),n):void 0,o,c,e,d)),t=h,l&&e.child){const c=e.child;if(n=ye(t,c.length),xe(t,r)&&Ee(n,i)&&(l=bt(c,t,n,i,r,s,o+1,a),!l))return!1}a?.set(e.openingBracket.text,c)}else{let n=t;for(const t of e.children){const e=n;if(n=ye(n,t.length),xe(e,r)&&xe(i,n)&&(l=bt(t,e,n,i,r,s,o,a),!l))return!1}}return l}class vt extends r.JT{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new r.XK),this.onDidChangeEmitter=new i.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){e.languageId&&!this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const n=new r.SL;this.bracketPairsTree.value=(e=n.add(new ut(this.textModel,(e=>this.languageConfigurationService.getLanguageConfiguration(e)))),t=n,{object:e,dispose:()=>t?.dispose()}),n.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var e,t}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||o.W$.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||o.W$.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||o.W$.empty}findMatchingBracketUp(e,t,n){const i=this.textModel.validatePosition(t),r=this.textModel.getLanguageIdAtPosition(i.lineNumber,i.column);if(this.canBuildAST){const n=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew.getClosingBracketInfo(e);if(!n)return null;const i=this.getBracketPairsInRange(m.e.fromPositions(t,t)).findLast((e=>n.closes(e.openingBracketInfo)));return i?i.openingBracketRange:null}{const t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(r).brackets;if(!s)return null;const o=s.textIsBracket[t];return o?Ct(this._findMatchingBracketUp(o,i,wt(n))):null}}matchBracket(e,t){if(this.canBuildAST){const t=this.getBracketPairsInRange(m.e.fromPositions(e,e)).filter((t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e)))).findLastMaxBy((0,o.tT)((t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange),m.e.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{const n=wt(t);return this._matchBracket(this.textModel.validatePosition(e),n)}}_establishBracketSearchOffsets(e,t,n,i){const r=t.getCount(),s=t.getLanguageId(i);let o=Math.max(0,e.column-1-n.maxBracketLength);for(let e=i-1;e>=0;e--){const n=t.getEndOffset(e);if(n<=o)break;if(S(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){o=n;break}}let a=Math.min(t.getLineContent().length,e.column-1+n.maxBracketLength);for(let e=i+1;e=a)break;if(S(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){a=n;break}}return{searchStartOffset:o,searchEndOffset:a}}_matchBracket(e,t){const n=e.lineNumber,i=this.textModel.tokenization.getLineTokens(n),r=this.textModel.getLineContent(n),s=i.findTokenIndexAtOffset(e.column-1);if(s<0)return null;const o=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(s)).brackets;if(o&&!S(i.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,i,o,s),c=null;for(;;){const i=P.findNextBracketInRange(o.forwardRegex,n,r,a,l);if(!i)break;if(i.startColumn<=e.column&&e.column<=i.endColumn){const e=r.substring(i.startColumn-1,i.endColumn-1).toLowerCase(),n=this._matchFoundBracket(i,o.textIsBracket[e],o.textIsOpenBracket[e],t);if(n){if(n instanceof yt)return null;c=n}}a=i.endColumn-1}if(c)return c}if(s>0&&i.getStartOffset(s)===e.column-1){const o=s-1,a=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId(o)).brackets;if(a&&!S(i.getStandardTokenType(o))){const{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,i,a,o),c=P.findPrevBracketInRange(a.reversedRegex,n,r,s,l);if(c&&c.startColumn<=e.column&&e.column<=c.endColumn){const e=r.substring(c.startColumn-1,c.endColumn-1).toLowerCase(),n=this._matchFoundBracket(c,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(n)return n instanceof yt?null:n}}}return null}_matchFoundBracket(e,t,n,i){if(!t)return null;const r=n?this._findMatchingBracketDown(t,e.getEndPosition(),i):this._findMatchingBracketUp(t,e.getStartPosition(),i);return r?r instanceof yt?r:[e,r]:null}_findMatchingBracketUp(e,t,n){const i=e.languageId,r=e.reversedRegex;let s=-1,o=0;const a=(t,i,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return yt.INSTANCE;const c=P.findPrevBracketInRange(r,t,i,a,l);if(!c)break;const h=i.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(h)?s++:e.isClose(h)&&s--,0===s)return c;l=c.startColumn-1}return null};for(let e=t.lineNumber;e>=1;e--){const n=this.textModel.tokenization.getLineTokens(e),r=n.getCount(),s=this.textModel.getLineContent(e);let o=r-1,l=s.length,c=s.length;e===t.lineNumber&&(o=n.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1);let h=!0;for(;o>=0;o--){const t=n.getLanguageId(o)===i&&!S(n.getStandardTokenType(o));if(t)h?l=n.getStartOffset(o):(l=n.getStartOffset(o),c=n.getEndOffset(o));else if(h&&l!==c){const t=a(e,s,l,c);if(t)return t}h=t}if(h&&l!==c){const t=a(e,s,l,c);if(t)return t}}return null}_findMatchingBracketDown(e,t,n){const i=e.languageId,r=e.forwardRegex;let s=1,o=0;const a=(t,i,a,l)=>{for(;;){if(n&&++o%100==0&&!n())return yt.INSTANCE;const c=P.findNextBracketInRange(r,t,i,a,l);if(!c)break;const h=i.substring(c.startColumn-1,c.endColumn-1).toLowerCase();if(e.isOpen(h)?s++:e.isClose(h)&&s--,0===s)return c;a=c.endColumn-1}return null},l=this.textModel.getLineCount();for(let e=t.lineNumber;e<=l;e++){const n=this.textModel.tokenization.getLineTokens(e),r=n.getCount(),s=this.textModel.getLineContent(e);let o=0,l=0,c=0;e===t.lineNumber&&(o=n.findTokenIndexAtOffset(t.column-1),l=t.column-1,c=t.column-1);let h=!0;for(;o=1;e--){const s=this.textModel.tokenization.getLineTokens(e),o=s.getCount(),a=this.textModel.getLineContent(e);let l=o-1,c=a.length,h=a.length;if(e===t.lineNumber){l=s.findTokenIndexAtOffset(t.column-1),c=t.column-1,h=t.column-1;const e=s.getLanguageId(l);n!==e&&(n=e,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let d=!0;for(;l>=0;l--){const t=s.getLanguageId(l);if(n!==t){if(i&&r&&d&&c!==h){const t=P.findPrevBracketInRange(i.reversedRegex,e,a,c,h);if(t)return this._toFoundBracket(r,t);d=!1}n=t,i=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const o=!!i&&!S(s.getStandardTokenType(l));if(o)d?c=s.getStartOffset(l):(c=s.getStartOffset(l),h=s.getEndOffset(l));else if(r&&i&&d&&c!==h){const t=P.findPrevBracketInRange(i.reversedRegex,e,a,c,h);if(t)return this._toFoundBracket(r,t)}d=o}if(r&&i&&d&&c!==h){const t=P.findPrevBracketInRange(i.reversedRegex,e,a,c,h);if(t)return this._toFoundBracket(r,t)}}return null}findNextBracket(e){const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;const n=this.textModel.getLineCount();let i=null,r=null,s=null;for(let e=t.lineNumber;e<=n;e++){const n=this.textModel.tokenization.getLineTokens(e),o=n.getCount(),a=this.textModel.getLineContent(e);let l=0,c=0,h=0;if(e===t.lineNumber){l=n.findTokenIndexAtOffset(t.column-1),c=t.column-1,h=t.column-1;const e=n.getLanguageId(l);i!==e&&(i=e,r=this.languageConfigurationService.getLanguageConfiguration(i).brackets,s=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let d=!0;for(;lvoid 0!==t.closingBracketRange&&t.range.strictContainsRange(e)));return t?[t.openingBracketRange,t.closingBracketRange]:null}const i=wt(t),r=this.textModel.getLineCount(),s=new Map;let o=[];const a=(e,t)=>{if(!s.has(e)){const n=[];for(let e=0,i=t?t.brackets.length:0;e{for(;;){if(i&&++l%100==0&&!i())return yt.INSTANCE;const a=P.findNextBracketInRange(e.forwardRegex,t,n,r,s);if(!a)break;const c=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),h=e.textIsBracket[c];if(h&&(h.isOpen(c)?o[h.index]++:h.isClose(c)&&o[h.index]--,-1===o[h.index]))return this._matchFoundBracket(a,h,!1,i);r=a.endColumn-1}return null};let h=null,d=null;for(let e=n.lineNumber;e<=r;e++){const t=this.textModel.tokenization.getLineTokens(e),i=t.getCount(),r=this.textModel.getLineContent(e);let s=0,o=0,l=0;if(e===n.lineNumber){s=t.findTokenIndexAtOffset(n.column-1),o=n.column-1,l=n.column-1;const e=t.getLanguageId(s);h!==e&&(h=e,d=this.languageConfigurationService.getLanguageConfiguration(h).brackets,a(h,d))}let u=!0;for(;s!0;{const t=Date.now();return()=>Date.now()-t<=e}}class yt{static{this.INSTANCE=new yt}constructor(){this._searchCanceledBrand=void 0}}function Ct(e){return e instanceof yt?null:e}var _t=n(8402),kt=n(3620);class St extends r.JT{constructor(e){super(),this.textModel=e,this.colorProvider=new xt,this.onDidChangeEmitter=new i.Q5,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,n,i){return i||void 0===t?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map((e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range}))).toArray():[]}getAllDecorations(e,t){return void 0===e?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new m.e(1,1,this.textModel.getLineCount(),1),e,t):[]}}class xt{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-"+e%30}}(0,kt.Ic)(((e,t)=>{const n=[_t.zJ,_t.Vs,_t.CE,_t.UP,_t.r0,_t.m1],i=new xt;t.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${e.getColor(_t.ts)}; }`);const r=n.map((t=>e.getColor(t))).filter((e=>!!e)).filter((e=>!e.isTransparent()));for(let e=0;e<30;e++){const n=r[e%r.length];t.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(e)} { color: ${n}; }`)}}));var Et=n(2174);function Ft(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class It{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(e,t,n,i){this.oldPosition=e,this.oldText=t,this.newPosition=n,this.newText=i}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${Ft(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${Ft(this.oldText)}")`:`(replace@${this.oldPosition} "${Ft(this.oldText)}" with "${Ft(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,n){const i=t.length;x.T4(e,i,n),n+=4;for(let r=0;r0&&(65279===i[0]||65534===i[0])?function(e,t,n){const i=[];let r=0;for(let s=0;s0&&(this.changes=(o=t,null===(s=this.changes)||0===s.length?o:new Lt(s,o).compress())),this.afterEOL=n,this.afterVersionId=i,this.afterCursorState=r}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,n){if(x.T4(e,t?t.length:0,n),n+=4,t)for(const i of t)x.T4(e,i.selectionStartLineNumber,n),n+=4,x.T4(e,i.selectionStartColumn,n),n+=4,x.T4(e,i.positionLineNumber,n),n+=4,x.T4(e,i.positionColumn,n),n+=4;return n}static _readSelections(e,t,n){const i=x.Ag(e,t);t+=4;for(let r=0;re.toString())).join(", ")}matchesResource(e){return(h.o.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof Rt}append(e,t,n,i,r){this._data instanceof Rt&&this._data.append(e,t,n,i,r)}close(){this._data instanceof Rt&&(this._data=this._data.serialize())}open(){this._data instanceof Rt||(this._data=Rt.deserialize(this._data))}undo(){if(h.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Rt&&(this._data=this._data.serialize());const e=Rt.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(h.o.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof Rt&&(this._data=this._data.serialize());const e=Rt.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof Rt&&(this._data=this._data.serialize()),this._data.byteLength+168}}class At{get resources(){return this._editStackElementsArr.map((e=>e.resource))}constructor(e,t,n){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=n.slice(0),this._editStackElementsMap=new Map;for(const e of this._editStackElementsArr){const t=Tt(e.resource);this._editStackElementsMap.set(t,e)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=Tt(e);return this._editStackElementsMap.has(t)}setModel(e){const t=Tt(h.o.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=Tt(e.uri);return!!this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).canAppend(e)}append(e,t,n,i,r){const s=Tt(e.uri);this._editStackElementsMap.get(s).append(e,t,n,i,r)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=Tt(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${(0,Nt.EZ)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function Mt(e){return"\n"===e.getEOL()?0:1}function Ot(e){return!!e&&(e instanceof Dt||e instanceof At)}class zt{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Ot(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);Ot(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const n=this._undoRedoService.getLastElement(this._model.uri);if(Ot(n)&&n.canAppend(this._model))return n;const i=new Dt(Et.NC("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(i,t),i}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],Mt(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,n,i){const r=this._getOrCreateEditStackElement(e,i),s=this._model.applyEdits(t,!0),o=zt._computeCursorState(n,s),a=s.map(((e,t)=>({index:t,textChange:e.textChange})));return a.sort(((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition)),r.append(this._model,a.map((e=>e.textChange)),Mt(this._model),this._model.getAlternativeVersionId(),o),o}static _computeCursorState(e,t){try{return e?e(t):null}catch(e){return(0,l.dL)(e),null}}}var Pt,Bt=n(6318);class Wt extends r.JT{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}!function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(Pt||(Pt={}));class Vt{constructor(e,t,n,i,r,s){if(this.visibleColumn=e,this.column=t,this.className=n,this.horizontalLine=i,this.forWrappedLinesAfterColumn=r,this.forWrappedLinesBeforeOrAtColumn=s,-1!==e==(-1!==t))throw new Error}}class Ut{constructor(e,t){this.top=e,this.endColumn=t}}class qt extends Wt{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return function(e,t){let n=0,i=0;const r=e.length;for(;ii)throw new l.he("Illegal value for lineNumber");const r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(r&&r.offSide);let o=-2,a=-1,c=-2,h=-1;const d=e=>{if(-1!==o&&(-2===o||o>e-1)){o=-1,a=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){o=t,a=e;break}}}if(-2===c){c=-1,h=-1;for(let t=e;t=0){c=t,h=e;break}}}};let u=-2,p=-1,m=-2,f=-1;const g=e=>{if(-2===u){u=-1,p=-1;for(let t=e-2;t>=0;t--){const e=this._computeIndentLevel(t);if(e>=0){u=t,p=e;break}}}if(-1!==m&&(-2===m||m=0){m=t,f=e;break}}}};let b=0,v=!0,w=0,y=!0,C=0,_=0;for(let r=0;v||y;r++){const o=e-r,l=e+r;r>1&&(o<1||o1&&(l>i||l>n)&&(y=!1),r>5e4&&(v=!1,y=!1);let m=-1;if(v&&o>=1){const e=this._computeIndentLevel(o-1);e>=0?(c=o-1,h=e,m=Math.ceil(e/this.textModel.getOptions().indentSize)):(d(o),m=this._getIndentLevelForWhitespaceLine(s,a,h))}let k=-1;if(y&&l<=i){const e=this._computeIndentLevel(l-1);e>=0?(u=l-1,p=e,k=Math.ceil(e/this.textModel.getOptions().indentSize)):(g(l),k=this._getIndentLevelForWhitespaceLine(s,p,f))}if(0!==r){if(1===r){if(l<=i&&k>=0&&_+1===k){v=!1,b=l,w=l,C=k;continue}if(o>=1&&m>=0&&m-1===_){y=!1,b=o,w=o,C=m;continue}if(b=e,w=e,C=_,0===C)return{startLineNumber:b,endLineNumber:w,indent:C}}v&&(m>=C?b=o:v=!1),y&&(k>=C?w=l:y=!1)}else _=m}return{startLineNumber:b,endLineNumber:w,indent:C}}getLinesBracketGuides(e,t,n,i){const r=[];for(let n=e;n<=t;n++)r.push([]);const s=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new m.e(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let o;if(n&&s.length>0){const i=(e<=n.lineNumber&&n.lineNumber<=t?s:this.textModel.bracketPairs.getBracketPairsInRange(m.e.fromPositions(n)).toArray()).filter((e=>m.e.strictContainsPosition(e.range,n)));o=(0,Bt.dF)(i,(e=>true))?.range}const a=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,l=new $t;for(const n of s){if(!n.closingBracketRange)continue;const s=o&&n.range.equalsRange(o);if(!s&&!i.includeInactive)continue;const h=l.getInlineClassName(n.nestingLevel,n.nestingLevelOfEqualBracketType,a)+(i.highlightActive&&s?" "+l.activeClassName:""),d=n.openingBracketRange.getStartPosition(),u=n.closingBracketRange.getStartPosition(),p=i.horizontalGuides===Pt.Enabled||i.horizontalGuides===Pt.EnabledForActive&&s;if(n.range.startLineNumber===n.range.endLineNumber){p&&r[n.range.startLineNumber-e].push(new Vt(-1,n.openingBracketRange.getEndPosition().column,h,new Ut(!1,u.column),-1,-1));continue}const m=this.getVisibleColumnFromPosition(u),f=this.getVisibleColumnFromPosition(n.openingBracketRange.getStartPosition()),g=Math.min(f,m,n.minVisibleColumnIndentation+1);let b=!1;c.LC(this.textModel.getLineContent(n.closingBracketRange.startLineNumber))=e&&f>g&&r[d.lineNumber-e].push(new Vt(g,-1,h,new Ut(!1,d.column),-1,-1)),u.lineNumber<=t&&m>g&&r[u.lineNumber-e].push(new Vt(g,-1,h,new Ut(!b,u.column),-1,-1)))}for(const e of r)e.sort(((e,t)=>e.visibleColumn-t.visibleColumn));return r}getVisibleColumnFromPosition(e){return u.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");const i=this.textModel.getOptions(),r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=Boolean(r&&r.offSide),o=new Array(t-e+1);let a=-2,l=-1,c=-2,h=-1;for(let r=e;r<=t;r++){const t=r-e,d=this._computeIndentLevel(r-1);if(d>=0)a=r-1,l=d,o[t]=Math.ceil(d/i.indentSize);else{if(-2===a){a=-1,l=-1;for(let e=r-2;e>=0;e--){const t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==c&&(-2===c||c=0){c=e,h=t;break}}}o[t]=this._getIndentLevelForWhitespaceLine(s,l,h)}}return o}_getIndentLevelForWhitespaceLine(e,t,n){const i=this.textModel.getOptions();return-1===t||-1===n?0:t0&&a>0)return;if(l>0&&c>0)return;const h=Math.abs(a-c),d=Math.abs(o-l);if(0===h)return r.spacesDiff=d,void(d>0&&0<=l-1&&l-10?r++:f>1&&s++,Kt(o,a,d,m,h),h.looksLikeAlignment&&(!n||t!==h.spacesDiff))continue;const b=h.spacesDiff;b<=8&&c[b]++,o=d,a=m}let d=n;r!==s&&(d=r{const n=c[t];n>e&&(e=n,u=t)})),4===u&&c[4]>0&&c[2]>0&&c[2]>=c[4]/2&&(u=2)}return{insertSpaces:d,tabSize:u}}function Gt(e){return(1&e.metadata)>>>0}function Jt(e,t){e.metadata=254&e.metadata|t}function Qt(e){return(2&e.metadata)>>>1==1}function Xt(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function Yt(e){return(4&e.metadata)>>>2==1}function Zt(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function en(e){return(64&e.metadata)>>>6==1}function tn(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}function nn(e,t){e.metadata=231&e.metadata|t<<3}function rn(e,t){e.metadata=223&e.metadata|(t?1:0)<<5}class sn{constructor(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,Jt(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,Zt(this,!1),tn(this,!1),nn(this,1),rn(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,Xt(this,!1)}reset(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i}setOptions(e){this.options=e;const t=this.options.className;Zt(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),tn(this,null!==this.options.glyphMarginClassName),nn(this,this.options.stickiness),rn(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const on=new sn(null,0,0);on.parent=on,on.left=on,on.right=on,Jt(on,0);class an{constructor(){this.root=on,this.requestNormalizeDelta=!1}intervalSearch(e,t,n,i,r,s){return this.root===on?[]:function(e,t,n,i,r,s,o){let a=e.root,l=0,c=0,h=0,d=0;const u=[];let p=0;for(;a!==on;)if(Qt(a))Xt(a.left,!1),Xt(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;else{if(!Qt(a.left)){if(c=l+a.maxEnd,cn)Xt(a,!0);else{if(d=l+a.end,d>=t){a.setCachedOffsets(h,d,s);let e=!0;i&&a.ownerId&&a.ownerId!==i&&(e=!1),r&&Yt(a)&&(e=!1),o&&!en(a)&&(e=!1),e&&(u[p++]=a)}Xt(a,!0),a.right===on||Qt(a.right)||(l+=a.delta,a=a.right)}}return Xt(e.root,!1),u}(this,e,t,n,i,r,s)}search(e,t,n,i){return this.root===on?[]:function(e,t,n,i,r){let s=e.root,o=0,a=0,l=0;const c=[];let h=0;for(;s!==on;){if(Qt(s)){Xt(s.left,!1),Xt(s.right,!1),s===s.parent.right&&(o-=s.parent.delta),s=s.parent;continue}if(s.left!==on&&!Qt(s.left)){s=s.left;continue}a=o+s.start,l=o+s.end,s.setCachedOffsets(a,l,i);let e=!0;t&&s.ownerId&&s.ownerId!==t&&(e=!1),n&&Yt(s)&&(e=!1),r&&!en(s)&&(e=!1),e&&(c[h++]=s),Xt(s,!0),s.right===on||Qt(s.right)||(o+=s.delta,s=s.right)}return Xt(e.root,!1),c}(this,e,t,n,i)}collectNodesFromOwner(e){return function(e,t){let n=e.root;const i=[];let r=0;for(;n!==on;)Qt(n)?(Xt(n.left,!1),Xt(n.right,!1),n=n.parent):n.left===on||Qt(n.left)?(n.ownerId===t&&(i[r++]=n),Xt(n,!0),n.right===on||Qt(n.right)||(n=n.right)):n=n.left;return Xt(e.root,!1),i}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root;const n=[];let i=0;for(;t!==on;)Qt(t)?(Xt(t.left,!1),Xt(t.right,!1),t=t.parent):t.left===on||Qt(t.left)?t.right===on||Qt(t.right)?(n[i++]=t,Xt(t,!0)):t=t.right:t=t.left;return Xt(e.root,!1),n}(this)}insert(e){hn(this,e),this._normalizeDeltaIfNecessary()}delete(e){dn(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const n=e;let i=0;for(;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;const r=n.start+i,s=n.end+i;n.setCachedOffsets(r,s,t)}acceptReplace(e,t,n,i){const r=function(e,t,n){let i=e.root,r=0,s=0,o=0,a=0;const l=[];let c=0;for(;i!==on;)if(Qt(i))Xt(i.left,!1),Xt(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;else{if(!Qt(i.left)){if(s=r+i.maxEnd,sn?Xt(i,!0):(a=r+i.end,a>=t&&(i.setCachedOffsets(o,a,0),l[c++]=i),Xt(i,!0),i.right===on||Qt(i.right)||(r+=i.delta,i=i.right))}return Xt(e.root,!1),l}(this,e,e+t);for(let e=0,t=r.length;en?(r.start+=l,r.end+=l,r.delta+=l,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0),Xt(r,!0)):(Xt(r,!0),r.right===on||Qt(r.right)||(s+=r.delta,r=r.right))}Xt(e.root,!1)}(this,e,e+t,n),this._normalizeDeltaIfNecessary();for(let s=0,o=r.length;sn)&&1!==i&&(2===i||t)}function cn(e,t,n,i,r){const s=function(e){return(24&e.metadata)>>>3}(e),o=0===s||2===s,a=1===s||2===s,l=n-t,c=i,h=Math.min(l,c),d=e.start;let u=!1;const p=e.end;let m=!1;t<=d&&p<=n&&function(e){return(32&e.metadata)>>>5==1}(e)&&(e.start=t,u=!0,e.end=t,m=!0);{const e=r?1:l>0?2:0;!u&&ln(d,o,t,e)&&(u=!0),!m&&ln(p,a,t,e)&&(m=!0)}if(h>0&&!r){const e=l>c?2:0;!u&&ln(d,o,t+h,e)&&(u=!0),!m&&ln(p,a,t+h,e)&&(m=!0)}{const i=r?1:0;!u&&ln(d,o,n,i)&&(e.start=t+c,u=!0),!m&&ln(p,a,n,i)&&(e.end=t+c,m=!0)}const f=c-l;u||(e.start=Math.max(0,d+f)),m||(e.end=Math.max(0,p+f)),e.start>e.end&&(e.end=e.start)}function hn(e,t){if(e.root===on)return t.parent=on,t.left=on,t.right=on,Jt(t,0),e.root=t,e.root;!function(e,t){let n=0,i=e.root;const r=t.start,s=t.end;for(;;)if(o=r,a=s,l=i.start+n,c=i.end+n,(o===l?a-c:o-l)<0){if(i.left===on){t.start-=n,t.end-=n,t.maxEnd-=n,i.left=t;break}i=i.left}else{if(i.right===on){t.start-=n+i.delta,t.end-=n+i.delta,t.maxEnd-=n+i.delta,i.right=t;break}n+=i.delta,i=i.right}var o,a,l,c;t.parent=i,t.left=on,t.right=on,Jt(t,1)}(e,t),bn(t.parent);let n=t;for(;n!==e.root&&1===Gt(n.parent);)if(n.parent===n.parent.parent.left){const t=n.parent.parent.right;1===Gt(t)?(Jt(n.parent,0),Jt(t,0),Jt(n.parent.parent,1),n=n.parent.parent):(n===n.parent.right&&(n=n.parent,pn(e,n)),Jt(n.parent,0),Jt(n.parent.parent,1),mn(e,n.parent.parent))}else{const t=n.parent.parent.left;1===Gt(t)?(Jt(n.parent,0),Jt(t,0),Jt(n.parent.parent,1),n=n.parent.parent):(n===n.parent.left&&(n=n.parent,mn(e,n)),Jt(n.parent,0),Jt(n.parent.parent,1),pn(e,n.parent.parent))}return Jt(e.root,0),t}function dn(e,t){let n,i;if(t.left===on?(n=t.right,i=t,n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta):t.right===on?(n=t.left,i=t):(i=function(e){for(;e.left!==on;)e=e.left;return e}(t.right),n=i.right,n.start+=i.delta,n.end+=i.delta,n.delta+=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,i.delta=t.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0)),i===e.root)return e.root=n,Jt(n,0),t.detach(),un(),gn(n),void(e.root.parent=on);const r=1===Gt(i);if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?n.parent=i.parent:(i.parent===t?n.parent=i:n.parent=i.parent,i.left=t.left,i.right=t.right,i.parent=t.parent,Jt(i,Gt(t)),t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==on&&(i.left.parent=i),i.right!==on&&(i.right.parent=i)),t.detach(),r)return bn(n.parent),i!==t&&(bn(i),bn(i.parent)),void un();let s;for(bn(n),bn(n.parent),i!==t&&(bn(i),bn(i.parent));n!==e.root&&0===Gt(n);)n===n.parent.left?(s=n.parent.right,1===Gt(s)&&(Jt(s,0),Jt(n.parent,1),pn(e,n.parent),s=n.parent.right),0===Gt(s.left)&&0===Gt(s.right)?(Jt(s,1),n=n.parent):(0===Gt(s.right)&&(Jt(s.left,0),Jt(s,1),mn(e,s),s=n.parent.right),Jt(s,Gt(n.parent)),Jt(n.parent,0),Jt(s.right,0),pn(e,n.parent),n=e.root)):(s=n.parent.left,1===Gt(s)&&(Jt(s,0),Jt(n.parent,1),mn(e,n.parent),s=n.parent.left),0===Gt(s.left)&&0===Gt(s.right)?(Jt(s,1),n=n.parent):(0===Gt(s.left)&&(Jt(s.right,0),Jt(s,1),pn(e,s),s=n.parent.left),Jt(s,Gt(n.parent)),Jt(n.parent,0),Jt(s.left,0),mn(e,n.parent),n=e.root));Jt(n,0),un()}function un(){on.parent=on,on.delta=0,on.start=0,on.end=0}function pn(e,t){const n=t.right;n.delta+=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,t.right=n.left,n.left!==on&&(n.left.parent=t),n.parent=t.parent,t.parent===on?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n,gn(t),gn(n)}function mn(e,t){const n=t.left;t.delta-=n.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=n.delta,t.end-=n.delta,t.left=n.right,n.right!==on&&(n.right.parent=t),n.parent=t.parent,t.parent===on?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n,gn(t),gn(n)}function fn(e){let t=e.end;if(e.left!==on){const n=e.left.maxEnd;n>t&&(t=n)}if(e.right!==on){const n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function gn(e){e.maxEnd=fn(e)}function bn(e){for(;e!==on;){const t=fn(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}class vn{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==wn)return yn(this.right);let e=this;for(;e.parent!==wn&&e.parent.left!==e;)e=e.parent;return e.parent===wn?wn:e.parent}prev(){if(this.left!==wn)return Cn(this.left);let e=this;for(;e.parent!==wn&&e.parent.right!==e;)e=e.parent;return e.parent===wn?wn:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const wn=new vn(null,0);function yn(e){for(;e.left!==wn;)e=e.left;return e}function Cn(e){for(;e.right!==wn;)e=e.right;return e}function _n(e){return e===wn?0:e.size_left+e.piece.length+_n(e.right)}function kn(e){return e===wn?0:e.lf_left+e.piece.lineFeedCnt+kn(e.right)}function Sn(){wn.parent=wn}function xn(e,t){const n=t.right;n.size_left+=t.size_left+(t.piece?t.piece.length:0),n.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=n.left,n.left!==wn&&(n.left.parent=t),n.parent=t.parent,t.parent===wn?e.root=n:t.parent.left===t?t.parent.left=n:t.parent.right=n,n.left=t,t.parent=n}function En(e,t){const n=t.left;t.left=n.right,n.right!==wn&&(n.right.parent=t),n.parent=t.parent,t.size_left-=n.size_left+(n.piece?n.piece.length:0),t.lf_left-=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),t.parent===wn?e.root=n:t===t.parent.right?t.parent.right=n:t.parent.left=n,n.right=t,t.parent=n}function Fn(e,t){let n,i;if(t.left===wn?(i=t,n=i.right):t.right===wn?(i=t,n=i.left):(i=yn(t.right),n=i.right),i===e.root)return e.root=n,n.color=0,t.detach(),Sn(),void(e.root.parent=wn);const r=1===i.color;if(i===i.parent.left?i.parent.left=n:i.parent.right=n,i===t?(n.parent=i.parent,Nn(e,n)):(i.parent===t?n.parent=i:n.parent=i.parent,Nn(e,n),i.left=t.left,i.right=t.right,i.parent=t.parent,i.color=t.color,t===e.root?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left!==wn&&(i.left.parent=i),i.right!==wn&&(i.right.parent=i),i.size_left=t.size_left,i.lf_left=t.lf_left,Nn(e,i)),t.detach(),n.parent.left===n){const t=_n(n),i=kn(n);if(t!==n.parent.size_left||i!==n.parent.lf_left){const r=t-n.parent.size_left,s=i-n.parent.lf_left;n.parent.size_left=t,n.parent.lf_left=i,Ln(e,n.parent,r,s)}}if(Nn(e,n.parent),r)return void Sn();let s;for(;n!==e.root&&0===n.color;)n===n.parent.left?(s=n.parent.right,1===s.color&&(s.color=0,n.parent.color=1,xn(e,n.parent),s=n.parent.right),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.right.color&&(s.left.color=0,s.color=1,En(e,s),s=n.parent.right),s.color=n.parent.color,n.parent.color=0,s.right.color=0,xn(e,n.parent),n=e.root)):(s=n.parent.left,1===s.color&&(s.color=0,n.parent.color=1,En(e,n.parent),s=n.parent.left),0===s.left.color&&0===s.right.color?(s.color=1,n=n.parent):(0===s.left.color&&(s.right.color=0,s.color=1,xn(e,s),s=n.parent.left),s.color=n.parent.color,n.parent.color=0,s.left.color=0,En(e,n.parent),n=e.root));n.color=0,Sn()}function In(e,t){for(Nn(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){const n=t.parent.parent.right;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&xn(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,En(e,t.parent.parent))}else{const n=t.parent.parent.left;1===n.color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&En(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,xn(e,t.parent.parent))}e.root.color=0}function Ln(e,t,n,i){for(;t!==e.root&&t!==wn;)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}function Nn(e,t){let n=0,i=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(n=_n((t=t.parent).left)-t.size_left,i=kn(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}wn.parent=wn,wn.left=wn,wn.right=wn,wn.color=0;var Tn=n(1832);const Rn=65535;function Dn(e){let t;return t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length),t.set(e,0),t}class An{constructor(e,t,n,i,r){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=r}}function Mn(e,t=!0){const n=[0];let i=1;for(let t=0,r=e.length;t(e!==wn&&this._pieces.push(e.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class Bn{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const n=this._cache;for(let i=0;i=e)&&(n[i]=null,t=!0)}if(t){const e=[];for(const t of n)null!==t&&e.push(t);this._cache=e}}}class Wn{constructor(e,t,n){this.create(e,t,n)}create(e,t,n){this._buffers=[new zn("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=wn,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=n;let i=null;for(let t=0,n=e.length;t0){e[t].lineStarts||(e[t].lineStarts=Mn(e[t].buffer));const n=new On(t+1,{line:0,column:0},{line:e[t].lineStarts.length-1,column:e[t].buffer.length-e[t].lineStarts[e[t].lineStarts.length-1]},e[t].lineStarts.length-1,e[t].buffer.length);this._buffers.push(e[t]),i=this.rbInsertRight(i,n)}this._searchCache=new Bn(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=65535-Math.floor(21845),n=2*t;let i="",r=0;const s=[];if(this.iterate(this.root,(o=>{const a=this.getNodeContent(o),l=a.length;if(r<=t||r+l0){const t=i.replace(/\r\n|\r|\n/g,e);s.push(new zn(t,Mn(t)))}this.create(s,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new Pn(this,e)}getOffsetAt(e,t){let n=0,i=this.root;for(;i!==wn;)if(i.left!==wn&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return n+=i.size_left,n+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,n=0;const i=e;for(;t!==wn;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){const r=this.getIndexOf(t,e-t.size_left);if(n+=t.lf_left+r.index,0===r.index){const e=i-this.getOffsetAt(n+1,1);return new p.L(n+1,e+1)}return new p.L(n+1,r.remainder+1)}if(e-=t.size_left+t.piece.length,n+=t.lf_left+t.piece.lineFeedCnt,t.right===wn){const t=i-e-this.getOffsetAt(n+1,1);return new p.L(n+1,t+1)}t=t.right}return new p.L(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),r=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?r:r.replace(/\r\n|\r|\n/g,t):r}getValueInRange2(e,t){if(e.node===t.node){const n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(r+e.remainder,r+t.remainder)}let n=e.node;const i=this._buffers[n.piece.bufferIndex].buffer,r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);let s=i.substring(r+e.remainder,r+n.piece.length);for(n=n.next();n!==wn;){const e=this._buffers[n.piece.bufferIndex].buffer,i=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);if(n===t.node){s+=e.substring(i,i+t.remainder);break}s+=e.substr(i,n.piece.length),n=n.next()}return s}getLinesContent(){const e=[];let t=0,n="",i=!1;return this.iterate(this.root,(r=>{if(r===wn)return!0;const s=r.piece;let o=s.length;if(0===o)return!0;const a=this._buffers[s.bufferIndex].buffer,l=this._buffers[s.bufferIndex].lineStarts,c=s.start.line,h=s.end.line;let d=l[c]+s.start.column;if(i&&(10===a.charCodeAt(d)&&(d++,o--),e[t++]=n,n="",i=!1,0===o))return!0;if(c===h)return this._EOLNormalized||13!==a.charCodeAt(d+o-1)?n+=a.substr(d,o):(i=!0,n+=a.substr(d,o-1)),!0;n+=this._EOLNormalized?a.substring(d,Math.max(d,l[c+1]-this._EOLLength)):a.substring(d,l[c+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=n;for(let i=c+1;ie+p,t.reset(0)):(v=d.buffer,w=e=>e,t.reset(p));do{if(g=t.next(v),g){if(w(g.index)>=f)return c;this.positionInBuffer(e,w(g.index)-u,b);const t=this.getLineFeedCnt(e.piece.bufferIndex,r,b),s=b.line===r.line?b.column-r.column+i:b.column+1,o=s+g[0].length;if(h[c++]=(0,Tn.iE)(new m.e(n+t,s,n+t,o),g,a),w(g.index)+g[0].length>=f)return c;if(c>=l)return c}}while(g);return c}findMatchesLineByLine(e,t,n,i){const r=[];let s=0;const o=new Tn.sz(t.wordSeparators,t.regex);let a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];const l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let c=this.positionInBuffer(a.node,a.remainder);const h=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,o,e.startLineNumber,e.startColumn,c,h,t,n,i,s,r),r;let d=e.startLineNumber,u=a.node;for(;u!==l.node;){const l=this.getLineFeedCnt(u.piece.bufferIndex,c,u.piece.end);if(l>=1){const a=this._buffers[u.piece.bufferIndex].lineStarts,h=this.offsetInBuffer(u.piece.bufferIndex,u.piece.start),p=a[c.line+l],m=d===e.startLineNumber?e.startColumn:1;if(s=this.findMatchesInNode(u,o,d,m,c,this.positionInBuffer(u,p-h),t,n,i,s,r),s>=i)return r;d+=l}const h=d===e.startLineNumber?e.startColumn-1:0;if(d===e.endLineNumber){const a=this.getLineContent(d).substring(h,e.endColumn-1);return s=this._findMatchesInLine(t,o,a,e.endLineNumber,h,s,r,n,i),r}if(s=this._findMatchesInLine(t,o,this.getLineContent(d).substr(h),d,h,s,r,n,i),s>=i)return r;d++,a=this.nodeAt2(d,1),u=a.node,c=this.positionInBuffer(a.node,a.remainder)}if(d===e.endLineNumber){const a=d===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(d).substring(a,e.endColumn-1);return s=this._findMatchesInLine(t,o,l,e.endLineNumber,a,s,r,n,i),r}const p=d===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(l.node,o,d,p,c,h,t,n,i,s,r),r}_findMatchesInLine(e,t,n,i,r,s,o,a,l){const c=e.wordSeparators;if(!a&&e.simpleSearch){const t=e.simpleSearch,a=t.length,h=n.length;let d=-a;for(;-1!==(d=n.indexOf(t,d+a));)if((!c||(0,Tn.cM)(c,n,h,d,a))&&(o[s++]=new de.tk(new m.e(i,d+1+r,i,d+1+a+r),null),s>=l))return s;return s}let h;t.reset(0);do{if(h=t.next(n),h&&(o[s++]=(0,Tn.iE)(new m.e(i,h.index+1+r,i,h.index+1+h[0].length+r),h,a),s>=l))return s}while(h);return s}insert(e,t,n=!1){if(this._EOLNormalized=this._EOLNormalized&&n,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==wn){const{node:n,remainder:i,nodeStartOffset:r}=this.nodeAt(e),s=n.piece,o=s.bufferIndex,a=this.positionInBuffer(n,i);if(0===n.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&r+s.length===e&&t.lengthe){const e=[];let r=new On(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),this.offsetInBuffer(o,s.end)-this.offsetInBuffer(o,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&10===this.nodeCharCodeAt(n,i)){const e={line:r.start.line+1,column:0};r=new On(r.bufferIndex,e,r.end,this.getLineFeedCnt(r.bufferIndex,e,r.end),r.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(n,i-1)){const r=this.positionInBuffer(n,i-1);this.deleteNodeTail(n,r),t="\r"+t,0===n.piece.length&&e.push(n)}else this.deleteNodeTail(n,a);else this.deleteNodeTail(n,a);const l=this.createNewPieces(t);r.length>0&&this.rbInsertRight(n,r);let c=n;for(let e=0;e=0;e--)r=this.rbInsertLeft(r,i[e]);this.validateCRLFWithPrevNode(r),this.deleteNodes(n)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]);let r=i;for(let e=1;e=h))break;a=c+1}return n?(n.line=c,n.column=o-d,null):{line:c,column:o-d}}getLineFeedCnt(e,t,n){if(0===n.column)return n.line-t.line;const i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;const r=i[n.line+1],s=i[n.line]+n.column;if(r>s+1)return n.line-t.line;const o=s-1;return 13===this._buffers[e].buffer.charCodeAt(o)?n.line-t.line+1:n.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tRn){const t=[];for(;e.length>Rn;){const n=e.charCodeAt(65534);let i;13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,Rn),e=e.substring(Rn));const r=Mn(i);t.push(new On(this._buffers.length,{line:0,column:0},{line:r.length-1,column:i.length-r[r.length-1]},r.length-1,i.length)),this._buffers.push(new zn(i,r))}const n=Mn(e);return t.push(new On(this._buffers.length,{line:0,column:0},{line:n.length-1,column:e.length-n[n.length-1]},n.length-1,e.length)),this._buffers.push(new zn(e,n)),t}let t=this._buffers[0].buffer.length;const n=Mn(e,!1);let i=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},i=this._lastChangeBufferPos;for(let e=0;e=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const i=this.getAccumulatedValue(n,e-n.lf_left-2),o=this.getAccumulatedValue(n,e-n.lf_left-1),a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return r+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:r,nodeStartLineNumber:s-(e-1-n.lf_left)}),a.substring(l+i,l+o-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){const t=this.getAccumulatedValue(n,e-n.lf_left-2),r=this._buffers[n.piece.bufferIndex].buffer,s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=r.substring(s+t,s+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,r+=n.size_left+n.piece.length,n=n.right}}for(n=n.next();n!==wn;){const e=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){const r=this.getAccumulatedValue(n,0),s=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=e.substring(s,s+r-t),i}{const t=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=e.substr(t,n.piece.length)}n=n.next()}return i}computeBufferMetadata(){let e=this.root,t=1,n=0;for(;e!==wn;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=n,this._searchCache.validate(this._length)}getIndexOf(e,t){const n=e.piece,i=this.positionInBuffer(e,t),r=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){const t=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(t!==r)return{index:t,remainder:0}}return{index:r,remainder:i.column}}getAccumulatedValue(e,t){if(t<0)return 0;const n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,r=n.start.line+t+1;return r>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[r]-i[n.start.line]-n.start.column}deleteNodeTail(e,t){const n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.end),s=t,o=this.offsetInBuffer(n.bufferIndex,s),a=this.getLineFeedCnt(n.bufferIndex,n.start,s),l=a-i,c=o-r,h=n.length+c;e.piece=new On(n.bufferIndex,n.start,s,a,h),Ln(this,e,c,l)}deleteNodeHead(e,t){const n=e.piece,i=n.lineFeedCnt,r=this.offsetInBuffer(n.bufferIndex,n.start),s=t,o=this.getLineFeedCnt(n.bufferIndex,s,n.end),a=o-i,l=r-this.offsetInBuffer(n.bufferIndex,s),c=n.length+l;e.piece=new On(n.bufferIndex,s,n.end,o,c),Ln(this,e,l,a)}shrinkNode(e,t,n){const i=e.piece,r=i.start,s=i.end,o=i.length,a=i.lineFeedCnt,l=t,c=this.getLineFeedCnt(i.bufferIndex,i.start,l),h=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,r);e.piece=new On(i.bufferIndex,i.start,l,c,h),Ln(this,e,h-o,c-a);const d=new On(i.bufferIndex,n,s,this.getLineFeedCnt(i.bufferIndex,n,s),this.offsetInBuffer(i.bufferIndex,s)-this.offsetInBuffer(i.bufferIndex,n)),u=this.rbInsertRight(e,d);this.validateCRLFWithPrevNode(u)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const r=Mn(t,!1);for(let e=0;ee)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;const n={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(n),n}e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null}nodeAt2(e,t){let n=this.root,i=0;for(;n!==wn;)if(n.left!==wn&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(r+t-1,s),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){const r=this.getAccumulatedValue(n,e-n.lf_left-2);if(r+t-1<=n.piece.length)return{node:n,remainder:r+t-1,nodeStartOffset:i};t-=n.piece.length-r;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==wn;){if(n.piece.lineFeedCnt>0){const e=this.getAccumulatedValue(n,0),i=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,e),nodeStartOffset:i}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===wn||0===e.piece.lineFeedCnt)return!1;const t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,r=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>r+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(r))}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==wn&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;let r;r=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};const s=e.piece.length-1,o=e.piece.lineFeedCnt-1;e.piece=new On(e.piece.bufferIndex,e.piece.start,r,o,s),Ln(this,e,-1,-1),0===e.piece.length&&n.push(e);const a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new On(t.piece.bufferIndex,a,t.piece.end,c,l),Ln(this,t,-1,-1),0===t.piece.length&&n.push(t);const h=this.createNewPieces("\r\n");this.rbInsertRight(e,h[0]);for(let e=0;ee.sortIndex-t.sortIndex))}this._mightContainRTL=i,this._mightContainUnusualLineTerminators=r,this._mightContainNonBasicASCII=s;const m=this._doApplyEdits(a);let f=null;if(t&&u.length>0){u.sort(((e,t)=>t.lineNumber-e.lineNumber)),f=[];for(let e=0,t=u.length;e0&&u[e-1].lineNumber===t)continue;const n=u[e].oldContent,i=this.getLineContent(t);0!==i.length&&i!==n&&-1===c.LC(i)&&f.push(t)}}return this._onDidChangeContent.fire(),new de.je(p,m,f)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const n=e[0].range,i=e[e.length-1].range,r=new m.e(n.startLineNumber,n.startColumn,i.endLineNumber,i.endColumn);let s=n.startLineNumber,o=n.startColumn;const a=[];for(let n=0,i=e.length;n0&&a.push(i.text),s=r.endLineNumber,o=r.endColumn}const l=a.join(""),[c,h,u]=(0,d.Q)(l);return{sortIndex:0,identifier:e[0].identifier,range:r,rangeOffset:this.getOffsetAt(r.startLineNumber,r.startColumn),rangeLength:this.getValueLengthInRange(r,0),text:l,eolCount:c,firstLineLength:h,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(Vn._sortOpsDescending);const t=[];for(let n=0;n0){const e=o.eolCount+1;c=1===e?new m.e(a,l,a,l+o.firstLineLength):new m.e(a,l,a+e-1,o.lastLineLength+1)}else c=new m.e(a,l,a,l);n=c.endLineNumber,i=c.endColumn,t.push(c),r=o}return t}static _sortOpsAscending(e,t){const n=m.e.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n}static _sortOpsDescending(e,t){const n=m.e.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n}}class Un{constructor(e,t,n,i,r,s,o,a,l){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=r,this._containsRTL=s,this._containsUnusualLineTerminators=o,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){const t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let e=0,i=n.length;e=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=function(e,t){e.length=0,e[0]=0;let n=1,i=0,r=0,s=0,o=!0;for(let a=0,l=t.length;a126)&&(o=!1)}const a=new An(Dn(e),i,r,s,o);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new zn(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=c.Ut(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=c.ab(e)))}finish(e=!0){return this._finish(),new Un(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=Mn(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var $n=n(3627),jn=n(3779),Kn=n(430),Hn=n(7776),Gn=n(5653);const Jn=new class{clone(){return this}equals(e){return this===e}};class Qn{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,n){if(e>=this._store.length)return;if(0===t)return void this.insert(e,n);if(0===n)return void this.delete(e,t);const i=this._store.slice(0,e),r=this._store.slice(e+t),s=function(e,t){const n=[];for(let i=0;i=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;const n=[];for(let e=0;e0){const n=this._tokens[this._tokens.length-1];if(n.endLineNumber+1===e)return void n.appendLineTokens(t)}this._tokens.push(new Xn(e,[t]))}finalize(){return this._tokens}}class Zn{static{this.defaultTokenMetadata=33587200}static createEmpty(e,t){const n=Zn.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=e.length,i[1]=n,new Zn(i,e,t)}static createFromTextAndMetadata(e,t){let n=0,i="";const r=new Array;for(const{text:t,metadata:s}of e)r.push(n+t.length,s),n+=t.length,i+=t;return new Zn(new Uint32Array(r),i,t)}constructor(e,t,n){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}equals(e){return e instanceof Zn&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;const i=t<<1,r=i+(n<<1);for(let t=i;t0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[1+(e<<1)]}getLanguageId(e){const t=this._tokens[1+(e<<1)],n=Ge.N.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){const t=this._tokens[1+(e<<1)];return Ge.N.getTokenType(t)}getForeground(e){const t=this._tokens[1+(e<<1)];return Ge.N.getForeground(t)}getClassName(e){const t=this._tokens[1+(e<<1)];return Ge.N.getClassNameFromMetadata(t)}getInlineStyle(e,t){const n=this._tokens[1+(e<<1)];return Ge.N.getInlineStyleFromMetadata(n,t)}getPresentation(e){const t=this._tokens[1+(e<<1)];return Ge.N.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return Zn.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,n){return new ei(this,e,t,n)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let t=0;t>>1)-1;for(;nt&&(i=r)}return n}withInserted(e){if(0===e.length)return this;let t=0,n=0,i="";const r=new Array;let s=0;for(;;){const o=ts){i+=this._text.substring(s,a.offset);const e=this._tokens[1+(t<<1)];r.push(i.length,e),s=a.offset}i+=a.text,r.push(i.length,a.tokenMetadata),n++}}return new Zn(new Uint32Array(r),i,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){const t=this.getCount();for(let n=0;n=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof ei&&this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){const t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),i=this._source.getEndOffset(t);let r=this._source.getTokenText(t);return nthis._endOffset&&(r=r.substring(0,r.length-(i-this._endOffset))),r}forEach(e){for(let t=0;tt)break;const r=this._textModel.getLineContent(i.lineNumber),s=oi(this._languageIdCodec,n,this.tokenizationSupport,r,!0,i.startState);e.add(i.lineNumber,s.tokens),this.store.setEndState(i.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){const n=this.getStartState(e.lineNumber);if(!n)return 0;const i=this._textModel.getLanguageId(),r=this._textModel.getLineContent(e.lineNumber),s=r.substring(0,e.column-1)+t+r.substring(e.column-1),o=oi(this._languageIdCodec,i,this.tokenizationSupport,s,!0,n),a=new Zn(o.tokens,s,this._languageIdCodec);if(0===a.getCount())return 0;const l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,n){const i=e.lineNumber,r=e.column,s=this.getStartState(i);if(!s)return null;const o=this._textModel.getLineContent(i),a=o.substring(0,r-1)+n+o.substring(r-1+t),l=this._textModel.getLanguageIdAtPosition(i,0),c=oi(this._languageIdCodec,l,this.tokenizationSupport,a,!0,s);return new Zn(c.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e1&&r>=1;r--){const e=this._textModel.getLineFirstNonWhitespaceColumn(r);if(0!==e&&e0&&n>0&&(n--,t--),this._lineEndStates.replace(e.startLineNumber,n,t)}}class si{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex((t=>t.contains(e)));if(-1!==t){const n=this._ranges[t];n.start===e?n.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new Gn.q(e+1,n.endExclusive):n.endExclusive===e+1?this._ranges[t]=new Gn.q(n.start,e):this._ranges.splice(t,1,new Gn.q(n.start,e),new Gn.q(e+1,n.endExclusive))}}addRange(e){Gn.q.addRange(e,this._ranges)}addRangeAndResize(e,t){let n=0;for(;!(n>=this._ranges.length||e.start<=this._ranges[n].endExclusive);)n++;let i=n;for(;!(i>=this._ranges.length||e.endExclusivee.toString())).join(" + ")}}function oi(e,t,n,i,r,s){let o=null;if(n)try{o=n.tokenizeEncoded(i,r,s.clone())}catch(e){(0,l.dL)(e)}return o||(o=function(e,t){const n=new Uint32Array(2);return n[0]=0,n[1]=(32768|e|2<<24)>>>0,new jn.DI(n,null===t?Jn:t)}(e.encodeLanguageId(t),s)),Zn.convertToEndOffset(o.tokens,i.length),o}class ai{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,Kn.jg)((e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)})))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),n=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(t)>=e)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){const t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new $n.z(e,t))}}class li{constructor(){this._onDidChangeVisibleRanges=new i.Q5,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new ci((t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})}));return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class ci{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const n=e.map((e=>new $n.z(e.startLineNumber,e.endLineNumber+1)));this.handleStateChange({visibleLineRanges:n,stabilized:t})}}class hi extends r.JT{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new Kn.pY((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,o.fS)(this._computedLineRanges,this._lineRanges,((e,t)=>e.equals(t)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class di extends r.JT{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,n){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=n,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new i.Q5),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new i.Q5),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class ui extends di{constructor(e,t,n,i){super(t,n,i),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=jn.A3.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const n=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(n)return new Zn(n,t,this._languageIdCodec)}return Zn.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,n){return 0}tokenizeLineWithEdit(e,t,n){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var pi=n(4282);const mi=new Uint32Array(0).buffer;class fi{static deleteBeginning(e,t){return null===e||e===mi?e:fi.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===mi)return e;const n=gi(e),i=n[n.length-2];return fi.delete(e,t,i)}static delete(e,t,n){if(null===e||e===mi||t===n)return e;const i=gi(e),r=i.length>>>1;if(0===t&&i[i.length-2]===n)return mi;const s=Zn.findIndexInTokensArray(i,t),o=s>0?i[s-1<<1]:0;if(nl&&(i[a++]=t,i[a++]=i[1+(e<<1)],l=t)}if(a===i.length)return e;const h=new Uint32Array(a);return h.set(i.subarray(0,a),0),h.buffer}static append(e,t){if(t===mi)return e;if(e===mi)return t;if(null===e)return e;if(null===t)return null;const n=gi(e),i=gi(t),r=i.length>>>1,s=new Uint32Array(n.length+i.length);s.set(n,0);let o=n.length;const a=n[n.length-2];for(let e=0;e>>1;let s=Zn.findIndexInTokensArray(i,t);s>0&&i[s-1<<1]===t&&s--;for(let e=s;e0}getTokens(e,t,n){let i=null;if(t1&&(t=Ge.N.getLanguageId(i[1])!==e),!t)return mi}if(!i||0===i.length){const n=new Uint32Array(2);return n[0]=t,n[1]=vi(e),n.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;const n=[];for(let e=0;e=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;return void(this._lineTokens[t]=fi.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1))}this._lineTokens[t]=fi.deleteEnding(this._lineTokens[t],e.startColumn-1);const n=e.endLineNumber-1;let i=null;n=this._len||(0!==t?(this._lineTokens[i]=fi.deleteEnding(this._lineTokens[i],e.column-1),this._lineTokens[i]=fi.insert(this._lineTokens[i],e.column-1,n),this._insertLines(e.lineNumber,t)):this._lineTokens[i]=fi.insert(this._lineTokens[i],e.column-1,n))}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};const n=[];for(let i=0,r=e.length;i>>0}class wi{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let n=e;if(t.length>0){const i=t[0].getRange(),r=t[t.length-1].getRange();if(!i||!r)return e;n=e.plusRange(i).plusRange(r)}let i=null;for(let e=0,t=this._pieces.length;en.endLineNumber){i=i||{index:e};break}if(r.removeTokens(n),r.isEmpty()){this._pieces.splice(e,1),e--,t--;continue}if(r.endLineNumbern.endLineNumber){i=i||{index:e};continue}const[s,o]=r.split(n);s.isEmpty()?i=i||{index:e}:o.isEmpty()||(this._pieces.splice(e,1,s,o),e++,t++,i=i||{index:e})}return i=i||{index:this._pieces.length},t.length>0&&(this._pieces=o.Zv(this._pieces,i.index,t)),n}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;const n=this._pieces;if(0===n.length)return t;const i=n[wi._findFirstPieceWithLine(n,e)].getLineTokens(e);if(!i)return t;const r=t.getCount(),s=i.getCount();let o=0;const a=[];let l=0,c=0;const h=(e,t)=>{e!==c&&(c=e,a[l++]=e,a[l++]=t)};for(let e=0;e>>0,c=~l>>>0;for(;ot)){for(;r>n&&e[r-1].startLineNumber<=t&&t<=e[r-1].endLineNumber;)r--;return r}i=r-1}}return n}acceptEdit(e,t,n,i,r){for(const s of this._pieces)s.acceptEdit(e,t,n,i,r)}}var yi,Ci=function(e,t){return function(n,i){t(n,i,e)}};let _i=yi=class extends Wt{constructor(e,t,n,s,o,a,l){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=n,this._attachedViews=s,this._languageService=o,this._languageConfigurationService=a,this._treeSitterService=l,this._semanticTokens=new wi(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new i.Q5),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new i.Q5),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new i.Q5),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new r.SL),this._register(this._languageConfigurationService.onDidChange((e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(i.ju.filter(jn.A3.onDidChange,(e=>e.changedLanguages.includes(this._languageId)))((()=>{this.createPreferredTokenProvider()}))),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new ki(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews))}createTreeSitterTokens(){return this._register(new ui(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,(()=>this._languageId)))}createTokens(e){const t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)}))),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){jn.A3.get(this._languageId)?this._tokens instanceof ui||this.createTokens(!0):this._tokens instanceof ki||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[e,n,i]=(0,d.Q)(t.text);this._semanticTokens.acceptEdit(t.range,e,n,i,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new l.he("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,n){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,n)}tokenizeLineWithEdit(e,t,n){return this._tokens.tokenizeLineWithEdit(e,t,n)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const n=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:n.startLineNumber,toLineNumber:n.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),n=this._textModel.getLineContent(t.lineNumber),i=this.getLineTokens(t.lineNumber),r=i.findTokenIndexAtOffset(t.column-1),[s,o]=yi._findLanguageBoundaries(i,r),a=(0,w.t2)(t.column,this.getLanguageConfiguration(i.getLanguageId(r)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a;if(r>0&&s===t.column-1){const[s,o]=yi._findLanguageBoundaries(i,r-1),a=(0,w.t2)(t.column,this.getLanguageConfiguration(i.getLanguageId(r-1)).getWordDefinition(),n.substring(s,o),s);if(a&&a.startColumn<=e.column&&e.column<=a.endColumn)return a}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const n=e.getLanguageId(t);let i=0;for(let r=t;r>=0&&e.getLanguageId(r)===n;r--)i=e.getStartOffset(r);let r=e.getLineContent().length;for(let i=t,s=e.getCount();i=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([Ci(4,v.O),Ci(5,te),Ci(6,pi.ITreeSitterParserService)],_i);class ki extends di{constructor(e,t,n,i){super(e,t,n),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new r.XK),this._tokens=new bi(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new r.XK),this._attachedViewStates=this._register(new r.b2),this._register(jn.RW.onDidChange((e=>{const t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()}))),this.resetTokenization(),this._register(i.onDidChangeVisibleRanges((({view:e,state:t})=>{if(t){let n=this._attachedViewStates.get(e);n||(n=new hi((()=>this.refreshRanges(n.lineRanges))),this._attachedViewStates.set(e,n)),n.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)})))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new ii(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[t,n]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const e=jn.RW.get(this.getLanguageId());if(!e)return[null,null];let t;try{t=e.getInitialState()}catch(e){return(0,l.dL)(e),[null,null]}return[e,t]})();if(this._tokenizer=t&&n?new ni(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(e,t)=>{if(!this._tokenizer)return;const n=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==n&&e>=n&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new ai(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new bi(this._languageIdCodec),this._debugBackgroundStates=new ii(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const t of e.changes){const[e,n]=(0,d.Q)(t.text);this._tokens.acceptEdit(t.range,e,n),this._debugBackgroundTokens?.acceptEdit(t.range,e,n)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=$n.z.joinMany([...this._attachedViewStates].map((([e,t])=>t.lineRanges)));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const n=new Yn,{heuristicTokens:i}=this._tokenizer.tokenizeHeuristically(n,e,t),r=this.setTokens(n.finalize());if(i)for(const e of r.changes)this._backgroundTokenizer.value?.requestTokens(e.fromLineNumber,e.toLineNumber+1);this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){const t=new Yn;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){const t=this._textModel.getLineContent(e),n=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const i=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!n.equals(i)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return n}getTokenTypeIfInsertingCharacter(e,t,n){if(!this._tokenizer)return 0;const i=this._textModel.validatePosition(new p.L(e,t));return this.forceTokenization(i.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(i,n)}tokenizeLineWithEdit(e,t,n){if(!this._tokenizer)return null;const i=this._textModel.validatePosition(e);return this.forceTokenization(i.lineNumber),this._tokenizer.tokenizeLineWithEdit(i,t,n)}get hasTokens(){return this._tokens.hasTokens}}class Si{constructor(){this.changeType=1}}class xi{static applyInjectedText(e,t){if(!t||0===t.length)return e;let n="",i=0;for(const r of t)n+=e.substring(i,r.column-1),i=r.column-1,n+=r.options.content;return n+=e.substring(i),n}static fromDecorations(e){const t=[];for(const n of e)n.options.before&&n.options.before.content.length>0&&t.push(new xi(n.ownerId,n.range.startLineNumber,n.range.startColumn,n.options.before,0)),n.options.after&&n.options.after.content.length>0&&t.push(new xi(n.ownerId,n.range.endLineNumber,n.range.endColumn,n.options.after,1));return t.sort(((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber)),t}constructor(e,t,n,i,r){this.ownerId=e,this.lineNumber=t,this.column=n,this.options=i,this.order=r}}class Ei{constructor(e,t,n){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=n}}class Fi{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class Ii{constructor(e,t,n,i){this.changeType=4,this.injectedTexts=i,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n}}class Li{constructor(){this.changeType=5}}class Ni{constructor(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i,this.resultingSelection=null}containsEvent(e){for(let t=0,n=this.changes.length;t0&&(e[t++]=i,n+=i.length),n>=65536)return e.join("")}}}const Vi=()=>{throw new Error("Invalid change accessor")};let Ui=class extends r.JT{static{Oi=this}static{this._MODEL_SYNC_LIMIT=52428800}static{this.LARGE_FILE_SIZE_THRESHOLD=20971520}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:g.tabSize,indentSize:g.indentSize,insertSpaces:g.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:g.trimAutoWhitespace,largeFileOptimizations:g.largeFileOptimizations,bracketPairColorizationOptions:g.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){const n=Ht(e,t.tabSize,t.insertSpaces);return new de.dJ({tabSize:n.tabSize,indentSize:"tabSize",insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new de.dJ(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent((t=>e(t.contentChangedEvent)))}onDidChangeContentOrInjectedText(e){return(0,r.F8)(this._eventEmitter.fastEvent((t=>e(t))),this._onDidChangeInjectedText.event((t=>e(t))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,n,s=null,o,a,l,d){super(),this._undoRedoService=o,this._languageService=a,this._languageConfigurationService=l,this.instantiationService=d,this._onWillDispose=this._register(new i.Q5),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new tr((e=>this.handleBeforeFireDecorationsChangedEvent(e)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new i.Q5),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new i.Q5),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new i.Q5),this._eventEmitter=this._register(new nr),this._languageSelectionListener=this._register(new r.XK),this._deltaDecorationCallCnt=0,this._attachedViews=new li,Bi++,this.id="$model"+Bi,this.isForSimpleWidget=n.isForSimpleWidget,this._associatedResource=null==s?h.o.parse("inmemory://model/"+Bi):s,this._attachedEditorCount=0;const{textBuffer:u,disposable:p}=Pi(e,n.defaultEOL);this._buffer=u,this._bufferDisposable=p,this._options=Oi.resolveOptions(this._buffer,n);const f="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange((()=>this._setLanguage(t.languageId)))),this._bracketPairs=this._register(new vt(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new qt(this,this._languageConfigurationService)),this._decorationProvider=this._register(new St(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(_i,this,this._bracketPairs,f,this._attachedViews);const g=this._buffer.getLineCount(),b=this._buffer.getValueLengthInRange(new m.e(1,1,g,this._buffer.getLineLength(g)+1),0);n.largeFileOptimizations?(this._isTooLargeForTokenization=b>Oi.LARGE_FILE_SIZE_THRESHOLD||g>Oi.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=b>Oi.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=b>Oi._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=c.PJ(Bi),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new ji,this._commandManager=new zt(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._languageService.requestRichLanguageFeatures(f),this._register(this._languageConfigurationService.onDidChange((e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)})))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new Vn([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=r.JT.None}_assertNotDisposed(){if(this._isDisposed)throw new l.he("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new Ri(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,l.b1)();const{textBuffer:t,disposable:n}=Pi(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,n)}_createContentChanged2(e,t,n,i,r,s,o,a){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:r,isRedoing:s,isFlush:o}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new ji,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new Ni([new Si],this._versionId,!1,!1),this._createContentChanged2(new m.e(1,1,r,s),0,i,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const n=this.getFullModelRange(),i=this.getValueLengthInRange(n),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new Ni([new Li],this._versionId,!1,!1),this._createContentChanged2(new m.e(1,1,r,s),0,i,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let n=0,i=t.length;n0}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 e=0,t=0;const n=this._buffer.getLineCount();for(let i=1;i<=n;i++){const n=this._buffer.getLineLength(i);n>=1e4?t+=n:e+=n}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,r=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,o=new de.dJ({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:r,bracketPairColorizationOptions:s});if(this._options.equals(o))return;const a=this._options.createChangeEvent(o);this._options=o,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();const n=Ht(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),function(e,t,n){let i=c.LC(e);return-1===i&&(i=e.length),function(e,t,n){let i=0;for(let n=0;n({range:e.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.he("Operation would exceed heap memory limits");const n=this.getFullModelRange(),i=this.getValueInRange(n,e);return t?this._buffer.getBOM()+i:i}createSnapshot(e=!1){return new Wi(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const n=this.getFullModelRange(),i=this.getValueLengthInRange(n,e);return t?this._buffer.getBOM().length+i:i}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.he("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.he("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new l.he("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.he("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.he("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new l.he("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),n=e.startLineNumber,i=e.startColumn;let r=Math.floor("number"!=typeof n||isNaN(n)?1:n),s=Math.floor("number"!=typeof i||isNaN(i)?1:i);if(r<1)r=1,s=1;else if(r>t)r=t,s=this.getLineMaxColumn(r);else if(s<=1)s=1;else{const e=this.getLineMaxColumn(r);s>=e&&(s=e)}const o=e.endLineNumber,a=e.endColumn;let l=Math.floor("number"!=typeof o||isNaN(o)?1:o),c=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,c=1;else if(l>t)l=t,c=this.getLineMaxColumn(l);else if(c<=1)c=1;else{const e=this.getLineMaxColumn(l);c>=e&&(c=e)}return n===r&&i===s&&o===l&&a===c&&e instanceof m.e&&!(e instanceof f.Y)?e:new m.e(r,s,l,c)}_isValidPosition(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===n){const n=this._buffer.getLineCharCode(e,t-2);if(c.ZG(n))return!1}return!0}_validatePosition(e,t,n){const i=Math.floor("number"!=typeof e||isNaN(e)?1:e),r=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(i<1)return new p.L(1,1);if(i>s)return new p.L(s,this.getLineMaxColumn(s));if(r<=1)return new p.L(i,1);const o=this.getLineMaxColumn(i);if(r>=o)return new p.L(i,o);if(1===n){const e=this._buffer.getLineCharCode(i,r-2);if(c.ZG(e))return new p.L(i,r-1)}return new p.L(i,r)}validatePosition(e){return this._assertNotDisposed(),e instanceof p.L&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(n,i,0))return!1;if(!this._isValidPosition(r,s,0))return!1;if(1===t){const e=i>1?this._buffer.getLineCharCode(n,i-2):0,t=s>1&&s<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,s-2):0,o=c.ZG(e),a=c.ZG(t);return!o&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof m.e&&!(e instanceof f.Y)&&this._isValidRange(e,1))return e;const t=this._validatePosition(e.startLineNumber,e.startColumn,0),n=this._validatePosition(e.endLineNumber,e.endColumn,0),i=t.lineNumber,r=t.column,s=n.lineNumber,o=n.column;{const e=r>1?this._buffer.getLineCharCode(i,r-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,n=c.ZG(e),a=c.ZG(t);return n||a?i===s&&r===o?new m.e(i,r-1,s,o-1):n&&a?new m.e(i,r-1,s,o+1):n?new m.e(i,r-1,s,o):new m.e(i,r,s,o+1):new m.e(i,r,s,o)}}modifyPosition(e,t){this._assertNotDisposed();const n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new m.e(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)}findMatches(e,t,n,i,r,s,o=999){this._assertNotDisposed();let a=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every((e=>m.e.isIRange(e)))&&(a=t.map((e=>this.validateRange(e))))),null===a&&(a=[this.getFullModelRange()]),a=a.sort(((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn));const l=[];let c;if(l.push(a.reduce(((e,t)=>m.e.areIntersecting(e,t)?e.plusRange(t):(l.push(e),t)))),!n&&e.indexOf("\n")<0){const t=new Tn.bc(e,n,i,r).parseSearchRequest();if(!t)return[];c=e=>this.findMatchesLineByLine(e,t,s,o)}else c=t=>Tn.pM.findMatches(this,new Tn.bc(e,n,i,r),t,s,o);return l.map(c).reduce(((e,t)=>e.concat(t)),[])}findNextMatch(e,t,n,i,r,s){this._assertNotDisposed();const o=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){const t=new Tn.bc(e,n,i,r).parseSearchRequest();if(!t)return null;const a=this.getLineCount();let l=new m.e(o.lineNumber,o.column,a,this.getLineMaxColumn(a)),c=this.findMatchesLineByLine(l,t,s,1);return Tn.pM.findNextMatch(this,new Tn.bc(e,n,i,r),o,s),c.length>0?c[0]:(l=new m.e(1,1,o.lineNumber,this.getLineMaxColumn(o.lineNumber)),c=this.findMatchesLineByLine(l,t,s,1),c.length>0?c[0]:null)}return Tn.pM.findNextMatch(this,new Tn.bc(e,n,i,r),o,s)}findPreviousMatch(e,t,n,i,r,s){this._assertNotDisposed();const o=this.validatePosition(t);return Tn.pM.findPreviousMatch(this,new Tn.bc(e,n,i,r),o,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof de.Qi?e:new de.Qi(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let n=0,i=e.length;n({range:this.validateRange(e.range),text:e.text})));let i=!0;if(e)for(let t=0,r=e.length;tr.endLineNumber,o=r.startLineNumber>t.endLineNumber;if(!i&&!o){s=!0;break}}if(!s){i=!1;break}}if(i)for(let e=0,i=this._trimAutoWhitespaceLines.length;et.endLineNumber||i===t.startLineNumber&&t.startColumn===r&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(0)||i===t.startLineNumber&&1===t.startColumn&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(o.length-1))){s=!1;break}}if(s){const e=new m.e(i,1,i,r);t.push(new de.Qi(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,i)}_applyUndo(e,t,n,i){const r=e.map((e=>{const t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new m.e(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}}));this._applyUndoRedoEdits(r,t,!0,!1,n,i)}_applyRedo(e,t,n,i){const r=e.map((e=>{const t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new m.e(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}}));this._applyUndoRedoEdits(r,t,!1,!0,n,i)}_applyUndoRedoEdits(e,t,n,i,r,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=i,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(r)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const n=this._validateEditOperations(e);return this._doApplyEdits(n,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const n=this._buffer.getLineCount(),i=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),r=this._buffer.getLineCount(),s=i.changes;if(this._trimAutoWhitespaceLines=i.trimAutoWhitespaceLineNumbers,0!==s.length){for(let e=0,t=s.length;e=0;t--){const n=l+t,i=g+t;C.takeFromEndWhile((e=>e.lineNumber>i));const r=C.takeFromEndWhile((e=>e.lineNumber===i));e.push(new Ei(n,this.getLineContent(i),r))}if(me.lineNumbere.lineNumber===t))}e.push(new Ii(i+1,l+u,h,c))}t+=f}this._emitContentChangedEvent(new Ni(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===i.reverseEdits?void 0:i.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(e){if(null===e||0===e.size)return;const t=Array.from(e).map((e=>new Ei(e,this.getLineContent(e),this._getInjectedTextInLine(e))));this._onDidChangeInjectedText.fire(new Ti(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,er(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>0===t.length&&0===n.length?[]:this._deltaDecorationsImpl(e,t,n)};let i=null;try{i=t(n)}catch(e){(0,l.dL)(e)}return n.addDecoration=Vi,n.changeDecoration=Vi,n.changeDecorationOptions=Vi,n.removeDecoration=Vi,n.deltaDecorations=Vi,i}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,l.dL)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){const i=e?this._decorations[e]:null;if(!i)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Zi[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(i),delete this._decorations[i.id],null;const r=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),o=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);return this._decorationsTree.delete(i),i.reset(this.getVersionId(),s,o,r),i.setOptions(Zi[n]),this._decorationsTree.insert(i),i.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;ethis.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)}getLinesDecorations(e,t,n=0,i=!1,r=!1){const s=this.getLineCount(),a=Math.min(s,Math.max(1,e)),l=Math.min(s,Math.max(1,t)),c=this.getLineMaxColumn(l),h=new m.e(a,1,l,c),d=this._getDecorationsInRange(h,n,i,r);return(0,o.vA)(d,this._decorationProvider.getDecorationsInRange(h,n,i)),d}getDecorationsInRange(e,t=0,n=!1,i=!1,r=!1){const s=this.validateRange(e),a=this._getDecorationsInRange(s,t,n,r);return(0,o.vA)(a,this._decorationProvider.getDecorationsInRange(s,t,n,i)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return xi.fromDecorations(i).filter((t=>t.lineNumber===e))}getAllDecorations(e=0,t=!1){let n=this._decorationsTree.getAll(this,e,t,!1,!1);return n=n.concat(this._decorationProvider.getAllDecorations(e,t)),n}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,n,i){const r=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,r,s,t,n,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const n=this._decorations[e];if(!n)return;if(n.options.after){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(n.options.before){const t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}const i=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(n),n.reset(this.getVersionId(),r,s,i),this._decorationsTree.insert(n),this._onDidChangeDecorations.checkAffectedAndFire(n.options),n.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),n.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}_changeDecorationOptionsImpl(e,t){const n=this._decorations[e];if(!n)return;const i=!(!n.options.overviewRuler||!n.options.overviewRuler.color),r=!(!t.overviewRuler||!t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){const e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}const s=i!==r,o=function(e){return!!e.after||!!e.before}(t)!==$i(n);s||o?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,n,i=!1){const r=this.getVersionId(),s=t.length;let o=0;const a=n.length;let l=0;this._onDidChangeDecorations.beginDeferredEmit();try{const c=new Array(a);for(;othis._setLanguage(e.languageId,t))),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return function(e){let t=0;for(const n of e){if(" "!==n&&"\t"!==n)break;t++}return t}(this.getLineContent(e))+1}};function qi(e){return!(!e.options.overviewRuler||!e.options.overviewRuler.color)}function $i(e){return!!e.options.after||!!e.options.before}Ui=Oi=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([zi(4,Di),zi(5,v.O),zi(6,te),zi(7,q.TG)],Ui);class ji{constructor(){this._decorationsTree0=new an,this._decorationsTree1=new an,this._injectedTextDecorationsTree=new an}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const n of t)null===n.range&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,i,r,s){const o=e.getVersionId(),a=this._intervalSearch(t,n,i,r,o,s);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,n,i,r,s){const o=this._decorationsTree0.intervalSearch(e,t,n,i,r,s),a=this._decorationsTree1.intervalSearch(e,t,n,i,r,s),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,i,r,s);return o.concat(a).concat(l)}getInjectedTextInInterval(e,t,n,i){const r=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,n,i,!1,r,!1);return this._ensureNodesHaveRanges(e,s).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAllInjectedText(e,t){const n=e.getVersionId(),i=this._injectedTextDecorationsTree.search(t,!1,n,!1);return this._ensureNodesHaveRanges(e,i).filter((e=>e.options.showIfCollapsed||!e.range.isEmpty()))}getAll(e,t,n,i,r){const s=e.getVersionId(),o=this._search(t,n,i,s,r);return this._ensureNodesHaveRanges(e,o)}_search(e,t,n,i,r){if(n)return this._decorationsTree1.search(e,t,i,r);{const n=this._decorationsTree0.search(e,t,i,r),s=this._decorationsTree1.search(e,t,i,r),o=this._injectedTextDecorationsTree.search(e,t,i,r);return n.concat(s).concat(o)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),i=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(i)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){$i(e)?this._injectedTextDecorationsTree.insert(e):qi(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){$i(e)?this._injectedTextDecorationsTree.delete(e):qi(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){$i(e)?this._injectedTextDecorationsTree.resolveNode(e,t):qi(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,i){this._decorationsTree0.acceptReplace(e,t,n,i),this._decorationsTree1.acceptReplace(e,t,n,i),this._injectedTextDecorationsTree.acceptReplace(e,t,n,i)}}function Ki(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class Hi{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class Gi extends Hi{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:de.sh.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;const n=e?t.getColor(e.id):null;return n?n.toString():""}}class Ji{constructor(e){this.position=e?.position??de.U.Center,this.persistLane=e?.persistLane}}class Qi extends Hi{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?a.Il.fromHex(e):t.getColor(e.id)}}class Xi{static from(e){return e instanceof Xi?e:new Xi(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class Yi{static register(e){return new Yi(e)}static createDynamic(e){return new Yi(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?Ki(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?Ki(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new Gi(e.overviewRuler):null,this.minimap=e.minimap?new Qi(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new Ji(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?Ki(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Ki(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?Ki(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?c.fA(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Ki(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Ki(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Ki(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Ki(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Ki(e.afterContentClassName):null,this.after=e.after?Xi.from(e.after):null,this.before=e.before?Xi.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}Yi.EMPTY=Yi.register({description:"empty"});const Zi=[Yi.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Yi.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Yi.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Yi.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function er(e){return e instanceof Yi?e:Yi.createDynamic(e)}class tr extends r.JT{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new i.Q5),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={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(e)}}class nr extends r.JT{constructor(){super(),this._fastEmitter=this._register(new i.Q5),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new i.Q5),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))}}var ir,rr=n(9869),sr=n(1252),or=n(73),ar=n(2961),lr=function(e,t){return function(n,i){t(n,i,e)}};function cr(e){return e.toString()}class hr{constructor(e,t,n){this.model=e,this._modelEventListeners=new r.SL,this.model=e,this._modelEventListeners.add(e.onWillDispose((()=>t(e)))),this._modelEventListeners.add(e.onDidChangeLanguage((t=>n(e,t))))}dispose(){this._modelEventListeners.dispose()}}const dr=s.IJ||s.dz?1:2;class ur{constructor(e,t,n,i,r,s,o,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=i,this.heapSize=r,this.sha1=s,this.versionId=o,this.alternativeVersionId=a}}let pr=class extends r.JT{static{ir=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520}constructor(e,t,n,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=r,this._onModelAdded=this._register(new i.Q5),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new i.Q5),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new i.Q5),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e)))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=g.tabSize;if(e.editor&&void 0!==e.editor.tabSize){const t=parseInt(e.editor.tabSize,10);isNaN(t)||(n=t),n<1&&(n=1)}let i="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){const t=parseInt(e.editor.indentSize,10);isNaN(t)||(i=Math.max(t,1))}let r=g.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(r="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));let s=dr;const o=e.eol;"\r\n"===o?s=2:"\n"===o&&(s=1);let a=g.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));let l=g.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));let c=g.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(c="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations));let h=g.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(h={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:n,indentSize:i,insertSpaces:r,detectIndentation:l,defaultEOL:s,trimAutoWhitespace:a,largeFileOptimizations:c,bracketPairColorizationOptions:h}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const n=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return n&&"string"==typeof n&&"auto"!==n?n:3===s.OS||2===s.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,n){const i="string"==typeof e?e:e.languageId;let r=this._modelCreationOptionsByLanguageAndResource[i+t];if(!r){const e=this._configurationService.getValue("editor",{overrideIdentifier:i,resource:t}),s=this._getEOL(t,i);r=ir._readModelOptions({editor:e,eol:s},n),this._modelCreationOptionsByLanguageAndResource[i+t]=r}return r}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const n=Object.keys(this._models);for(let i=0,r=n.length;ie){const t=[];for(this._disposedModels.forEach((e=>{e.sharesUndoRedoStack||t.push(e)})),t.sort(((e,t)=>e.time-t.time));t.length>0&&this._disposedModelsHeapSize>e;){const e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,i){const r=this.getCreationOptions(t,n,i),s=this._instantiationService.createInstance(Ui,e,t,r,n);if(n&&this._disposedModels.has(cr(n))){const e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),i=this._getSHA1Computer(),r=!!i.canComputeSHA1(s)&&i.computeSHA1(s)===e.sha1;if(r||e.sharesUndoRedoStack){for(const e of t.past)Ot(e)&&e.matchesResource(n)&&e.setModel(s);for(const e of t.future)Ot(e)&&e.matchesResource(n)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(n,!0,(e=>Ot(e)&&e.matchesResource(n))),r&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}const o=cr(s.uri);if(this._models[o])throw new Error("ModelService: Cannot add model because it already exists!");const a=new hr(s,(e=>this._onWillDispose(e)),((e,t)=>this._onDidChangeLanguage(e,t)));return this._models[o]=a,a}createModel(e,t,n,i=!1){let r;return r=t?this._createModelData(e,t,n,i):this._createModelData(e,K.bd,n,i),this._onModelAdded.fire(r.model),r.model}getModels(){const e=[],t=Object.keys(this._models);for(let n=0,i=t.length;n0||t.future.length>0){for(const n of t.past)Ot(n)&&n.matchesResource(e.uri)&&(r=!0,s+=n.heapSize(e.uri),n.setModel(e.uri));for(const n of t.future)Ot(n)&&n.matchesResource(e.uri)&&(r=!0,s+=n.heapSize(e.uri),n.setModel(e.uri))}}const o=ir.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,a=this._getSHA1Computer();if(r)if(i||!(s>o)&&a.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(o-s),this._undoRedoService.setElementsValidFlag(e.uri,!1,(t=>Ot(t)&&t.matchesResource(e.uri))),this._insertDisposedModel(new ur(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),i,s,a.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!i){const e=n.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const n=t.oldLanguage,i=e.getLanguageId(),r=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),s=this.getCreationOptions(i,e.uri,e.isForSimpleWidget);ir._setModelOptionsForModel(e,s,r),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new mr}};pr=ir=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([lr(0,$.Ui),lr(1,rr.ITextResourcePropertiesService),lr(2,Di),lr(3,q.TG)],pr);class mr{static{this.MAX_MODEL_SIZE=10485760}canComputeSHA1(e){return e.getValueLength()<=mr.MAX_MODEL_SIZE}computeSHA1(e){const t=new sr.yP,n=e.createSnapshot();let i;for(;i=n.read();)t.update(i);return t.digest()}}},9409:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextModelService:()=>i});const i=(0,n(6574).yh)("textModelService")},105:(e,t,n)=>{"use strict";n.r(t),n.d(t,{encodeSemanticTokensDto:()=>s});var i=n(80),r=n(3883);function s(e){const t=new Uint32Array(function(e){let t=0;if(t+=2,"full"===e.type)t+=1+e.data.length;else{t+=1,t+=3*e.deltas.length;for(const n of e.deltas)n.data&&(t+=n.data.length)}return t}(e));let n=0;if(t[n++]=e.id,"full"===e.type)t[n++]=1,t[n++]=e.data.length,t.set(e.data,n),n+=e.data.length;else{t[n++]=2,t[n++]=e.deltas.length;for(const i of e.deltas)t[n++]=i.start,t[n++]=i.deleteCount,i.data?(t[n++]=i.data.length,t.set(i.data,n),n+=i.data.length):t[n++]=0}return function(e){const t=new Uint8Array(e.buffer,e.byteOffset,4*e.length);return r.r()||function(e){for(let t=0,n=e.length;t{"use strict";n.r(t),n.d(t,{SemanticTokensProviderStyling:()=>p,toMultilineTokens2:()=>m}),n(6394);var i=n(3620),r=n(7598),s=n(4985),o=n(4117),a=n(8235);class l{static create(e,t){return new l(e,new c(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e?new o.e(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn):e}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,n,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber,[i,r,s]=this._tokens.split(t,e.startColumn-1,n,e.endColumn-1);return[new l(this._startLineNumber,i),new l(this._startLineNumber+s,r)]}applyEdit(e,t){const[n,i,r]=(0,a.Q)(t);this.acceptEdit(e,n,i,r,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,n,i,r){this._acceptDeleteRange(e),this._acceptInsertText(new s.L(e.startLineNumber,e.startColumn),t,n,i,r),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,n=e.endLineNumber-this._startLineNumber;if(n<0){const e=n-t;return void(this._startLineNumber-=e)}const i=this._tokens.getMaxDeltaLine();if(!(t>=i+1)){if(t<0&&n>=i+1)return this._startLineNumber=0,void this._tokens.clear();if(t<0){const i=-t;this._startLineNumber-=i,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}_acceptInsertText(e,t,n,i,r){if(0===t&&0===n)return;const s=e.lineNumber-this._startLineNumber;s<0?this._startLineNumber+=t:s>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(s,e.column-1,t,n,i,r)}}class c{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let n=0;ne)){let r=i;for(;r>t&&this._getDeltaLine(r-1)===e;)r--;let s=i;for(;se||h===e&&u>=t)&&(he||c===e&&p>=t){if(cr?m-=r-n:m=n;else if(u===t&&p===n){if(!(u===i&&m>r)){c=!0;continue}m-=r-n}else if(ur)){c=!0;continue}u=t,p=n,m=p+(m-r)}else if(u>i){if(0===a&&!c){l=o;break}u-=a}else{if(!(u===i&&p>=r))throw new Error("Not possible!");e&&0===u&&(p+=e,m+=e),u-=a,p-=r-n,m-=r-n}const g=4*l;s[g]=u,s[g+1]=p,s[g+2]=m,s[g+3]=f,l++}this._tokenCount=l}acceptInsertText(e,t,n,i,r,s){const o=0===n&&1===i&&(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122),a=this._tokens,l=this._tokenCount;for(let s=0;s0&&t>=1;const i=this._themeService.getColorTheme().getTokenStyleMetadata(r,o,n);void 0===i?s=2147483647:(s=0,void 0!==i.italic&&(s|=1|(i.italic?1:0)<<11),void 0!==i.bold&&(s|=2|(i.bold?2:0)<<11),void 0!==i.underline&&(s|=4|(i.underline?4:0)<<11),void 0!==i.strikethrough&&(s|=8|(i.strikethrough?8:0)<<11),i.foreground&&(s|=16|i.foreground<<15),0===s&&(s=2147483647))}else s=2147483647,r="not-in-legend";this._hashTable.add(e,t,i,s)}return s}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${e}, column ${t}`))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${e}, column ${t}`))}warnInvalidEditStart(e,t,n,i,r){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${e}, resultId: ${t}) at edit #${n}: The provided start offset ${i} is outside the previous data (length ${r}).`))}};function m(e,t,n){const i=e.data,r=e.data.length/5|0,s=Math.max(Math.ceil(r/1024),400),o=[];let a=0,c=1,h=0;for(;ae&&0===i[5*t];)t--;if(t-1===e){let e=d;for(;e+1l)t.warnOverlappingSemanticTokens(o,l+1);else{const e=t.getMetadata(b,v,n);2147483647!==e&&(0===m&&(m=o),u[p]=o-m,u[p+1]=l,u[p+2]=d,u[p+3]=e,p+=4,f=o,g=d)}c=o,h=l,a++}p!==u.length&&(u=u.subarray(0,p));const b=l.create(m,u);o.push(b)}return o}p=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([u(1,i.XE),u(2,d.O),u(3,r.VZ)],p);class f{constructor(e,t,n,i){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=n,this.metadata=i,this.next=null}}class g{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=g._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const e=this._elements;this._currentLengthIndex++,this._currentLength=g._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{"use strict";n.r(t),n.d(t,{ISemanticTokensStylingService:()=>i});const i=(0,n(6574).yh)("semanticTokensStylingService")},3611:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SemanticTokensStylingService:()=>d});var i=n(6263),r=n(2969),s=n(3620),o=n(7598),a=n(1275),l=n(4507),c=n(4726),h=function(e,t){return function(n,i){t(n,i,e)}};let d=class extends i.JT{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new a.SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};d=function(e,t,n,i){var r,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,n,o):r(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o}([h(0,s.XE),h(1,o.VZ),h(2,r.O)],d),(0,c.z)(l.ISemanticTokensStylingService,d,1)},4190:(e,t,n)=>{"use strict";n.r(t),n.d(t,{MirrorModel:()=>b,STOP_SYNC_MODEL_DELTA_TIME_MS:()=>m,WorkerTextModelSyncClient:()=>f,WorkerTextModelSyncServer:()=>g});var i=n(430),r=n(6263),s=n(7002),o=n(4985),a=n(4117),l=n(9980),c=n(8810),h=(n(4750),n(8635));class d{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=(0,h.A)(e);const n=this.values,i=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(n.length+r),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+r),this.values.set(t,e),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=(0,h.A)(e),t=(0,h.A)(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;const r=n.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=(0,h.A)(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,i=0,r=0,s=0;for(;t<=n;)if(i=t+(n-t)/2|0,r=this.prefixSum[i],s=r-this.values[i],e=r))break;t=i+1}return new u(i,e-s)}}class u{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class p{constructor(e,t,n,i){this._uri=e,this._lines=t,this._eol=n,this._versionId=i,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new o.L(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let i=0;ithis._checkStopModelSync()),Math.round(m/2)),this._register(e)}}dispose(){for(const e in this._syncedModels)(0,r.B9)(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const n of e){const e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=(new Date).getTime())}}_checkStopModelSync(){const e=(new Date).getTime(),t=[];for(const n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>m&&t.push(n);for(const e of t)this._stopModelSync(e)}_beginModelSync(e,t){const n=this._modelService.getModel(e);if(!n)return;if(!t&&n.isTooLargeForSyncing())return;const i=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});const s=new r.SL;s.add(n.onDidChangeContent((e=>{this._proxy.$acceptModelChanged(i.toString(),e)}))),s.add(n.onWillDispose((()=>{this._stopModelSync(i)}))),s.add((0,r.OF)((()=>{this._proxy.$acceptRemovedModel(i)}))),this._syncedModels[i]=s}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],(0,r.B9)(t)}}class g{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}$acceptNewModel(e){this._models[e.url]=new b(s.o.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}class b extends p{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;nthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{const e=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>e&&(n=e,i=!0)}return i?{lineNumber:t,column:n}:e}}},184:(e,t,n)=>{"use strict";n.r(t)},9869:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITextResourceConfigurationService:()=>r,ITextResourcePropertiesService:()=>s});var i=n(6574);const r=(0,i.yh)("textResourceConfigurationService"),s=(0,i.yh)("textResourcePropertiesService")},4282:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeSitterParserService:()=>i});const i=(0,n(6574).yh)("treeSitterParserService")},3068:(e,t,n)=>{"use strict";n.r(t),n.d(t,{DraggedTreeItemsIdentifier:()=>r,TreeViewsDnDService:()=>i});class i{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class r{constructor(e){this.identifier=e}}},4851:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ITreeViewsDnDService:()=>o});var i=n(4726),r=n(6574),s=n(3068);const o=(0,r.yh)("treeViewsDndService");(0,i.z)(o,s.TreeViewsDnDService,1)},6823:(e,t,n)=>{"use strict";n.r(t),n.d(t,{UnicodeTextModelHighlighter:()=>l});var i=n(4117),r=n(1832),s=n(8810),o=n(6517),a=n(9980);class l{static computeUnicodeHighlights(e,t,n){const l=n?n.startLineNumber:1,h=n?n.endLineNumber:e.getLineCount(),d=new c(t),u=d.getCandidateCodePoints();let p;var m;p="allNonBasicAscii"===u?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp((m=Array.from(u),`[${s.ec(m.map((e=>String.fromCodePoint(e))).join(""))}]`),"g");const f=new r.sz(null,p),g=[];let b,v=!1,w=0,y=0,C=0;e:for(let t=l,n=h;t<=n;t++){const n=e.getLineContent(t),r=n.length;f.reset(0);do{if(b=f.next(n),b){let e=b.index,l=b.index+b[0].length;if(e>0){const t=n.charCodeAt(e-1);s.ZG(t)&&e--}if(l+1=n){v=!0;break e}g.push(new i.e(t,e+1,t,l+1))}}}while(b)}return{ranges:g,hasMore:v,ambiguousCharacterCount:w,invisibleCharacterCount:y,nonBasicAsciiCharacterCount:C}}static computeUnicodeHighlightReason(e,t){const n=new c(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const i=e.codePointAt(0),r=n.ambiguousCharacters.getPrimaryConfusable(i),o=s.ZK.getLocales().filter((e=>!s.ZK.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(i)));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class c{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=s.ZK.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of s.vU.codePoints)h(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let i=!1,r=!1;if(t)for(const e of t){const t=e.codePointAt(0),n=s.$i(e);i=i||n,n||this.ambiguousCharacters.isAmbiguous(t)||s.vU.isInvisibleCharacter(t)||(r=!0)}return!i&&r?0:this.options.invisibleCharacters&&!h(e)&&s.vU.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function h(e){return" "===e||"\n"===e||"\t"===e}},2067:(e,t,n)=>{var i={"./editorBaseApi":[5192],"./editorBaseApi.js":[5192],"./editorSimpleWorker":[2766],"./editorSimpleWorker.js":[2766],"./editorWorker":[2525,179],"./editorWorker.js":[2525,179],"./editorWorkerHost":[9042],"./editorWorkerHost.js":[9042],"./findSectionHeaders":[7080],"./findSectionHeaders.js":[7080],"./getIconClasses":[9184,179],"./getIconClasses.js":[9184,179],"./languageFeatureDebounce":[6320,179],"./languageFeatureDebounce.js":[6320,179],"./languageFeatures":[5363,179],"./languageFeatures.js":[5363,179],"./languageFeaturesService":[4958,179],"./languageFeaturesService.js":[4958,179],"./languageService":[3839,179],"./languageService.js":[3839,179],"./languagesAssociations":[3305,179],"./languagesAssociations.js":[3305,179],"./languagesRegistry":[7752,179],"./languagesRegistry.js":[7752,179],"./markerDecorations":[2587,179],"./markerDecorations.js":[2587,179],"./markerDecorationsService":[777,179],"./markerDecorationsService.js":[777,179],"./model":[7408,179],"./model.js":[7408,179],"./modelService":[1018,179],"./modelService.js":[1018,179],"./resolverService":[9409,179],"./resolverService.js":[9409,179],"./semanticTokensDto":[105,179],"./semanticTokensDto.js":[105,179],"./semanticTokensProviderStyling":[1275,179],"./semanticTokensProviderStyling.js":[1275,179],"./semanticTokensStyling":[4507,179],"./semanticTokensStyling.js":[4507,179],"./semanticTokensStylingService":[3611,179],"./semanticTokensStylingService.js":[3611,179],"./textModelSync/textModelSync.impl":[4190],"./textModelSync/textModelSync.impl.js":[4190],"./textModelSync/textModelSync.protocol":[184,179],"./textModelSync/textModelSync.protocol.js":[184,179],"./textResourceConfiguration":[9869,179],"./textResourceConfiguration.js":[9869,179],"./treeSitterParserService":[4282,179],"./treeSitterParserService.js":[4282,179],"./treeViewsDnd":[3068,179],"./treeViewsDnd.js":[3068,179],"./treeViewsDndService":[4851,179],"./treeViewsDndService.js":[4851,179],"./unicodeTextModelHighlighter":[6823],"./unicodeTextModelHighlighter.js":[6823]};function r(e){if(!n.o(i,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=i[e],r=t[0];return Promise.all(t.slice(1).map(n.e)).then((()=>n(r)))}r.keys=()=>Object.keys(i),r.id=2067,e.exports=r},2074:(e,t,n)=>{var i={"./editorBaseApi":5192,"./editorBaseApi.js":5192,"./editorSimpleWorker":2766,"./editorSimpleWorker.js":2766,"./editorWorker":2525,"./editorWorker.js":2525,"./editorWorkerHost":9042,"./editorWorkerHost.js":9042,"./findSectionHeaders":7080,"./findSectionHeaders.js":7080,"./getIconClasses":9184,"./getIconClasses.js":9184,"./languageFeatureDebounce":6320,"./languageFeatureDebounce.js":6320,"./languageFeatures":5363,"./languageFeatures.js":5363,"./languageFeaturesService":4958,"./languageFeaturesService.js":4958,"./languageService":3839,"./languageService.js":3839,"./languagesAssociations":3305,"./languagesAssociations.js":3305,"./languagesRegistry":7752,"./languagesRegistry.js":7752,"./markerDecorations":2587,"./markerDecorations.js":2587,"./markerDecorationsService":777,"./markerDecorationsService.js":777,"./model":7408,"./model.js":7408,"./modelService":1018,"./modelService.js":1018,"./resolverService":9409,"./resolverService.js":9409,"./semanticTokensDto":105,"./semanticTokensDto.js":105,"./semanticTokensProviderStyling":1275,"./semanticTokensProviderStyling.js":1275,"./semanticTokensStyling":4507,"./semanticTokensStyling.js":4507,"./semanticTokensStylingService":3611,"./semanticTokensStylingService.js":3611,"./textModelSync/textModelSync.impl":4190,"./textModelSync/textModelSync.impl.js":4190,"./textModelSync/textModelSync.protocol":184,"./textModelSync/textModelSync.protocol.js":184,"./textResourceConfiguration":9869,"./textResourceConfiguration.js":9869,"./treeSitterParserService":4282,"./treeSitterParserService.js":4282,"./treeViewsDnd":3068,"./treeViewsDnd.js":3068,"./treeViewsDndService":4851,"./treeViewsDndService.js":4851,"./unicodeTextModelHighlighter":6823,"./unicodeTextModelHighlighter.js":6823};function r(e){var t=s(e);return n(t)}function s(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}r.keys=function(){return Object.keys(i)},r.resolve=s,e.exports=r,r.id=2074},2174:(e,t,n)=>{"use strict";function i(){return globalThis._VSCODE_NLS_LANGUAGE}n.d(t,{fq:()=>i,NC:()=>o});const r="pseudo"===i()||"undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function s(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const i=n[0],r=t[i];let s=e;return"string"==typeof r?s=r:"number"!=typeof r&&"boolean"!=typeof r&&null!=r||(s=String(r)),s})),r&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function o(e,t,...n){if("number"==typeof e)return s(function(e,t){const n=globalThis._VSCODE_NLS_MESSAGES?.[e];if("string"!=typeof n){if("string"==typeof t)return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return n}(e,t),n);{let n="";n=function(e){const t=globalThis?.monacoI18N?.[e];return t}("object"==typeof e?e.key:e),n&&(t=n)}return s(t,n)}},838:(e,t,n)=>{"use strict";n.d(t,{UI:()=>r,Ui:()=>i});const i=(0,n(6574).yh)("configurationService");function r(e){return e.replace(/[\[\]]/g,"")}},1e3:(e,t,n)=>{"use strict";n.d(t,{IP:()=>h});var i=n(4750),r=n(5718),s=n(3870),o=n(2174),a=n(838),l=n(2510),c=n(1430);const h={Configuration:"base.contributions.configuration"},d={properties:{},patternProperties:{}},u={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},m={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},b="vscode://schemas/settings/resourceLanguage",v=c.B.as(l.I.JSONContribution),w="\\[([^\\]]+)\\]",y=new RegExp(w,"g"),C=`^(${w})+$`,_=new RegExp(C);function k(e){const t=[];if(_.test(e)){let n=y.exec(e);for(;n?.length;){const i=n[1].trim();i&&t.push(i),n=y.exec(e)}}return(0,i.EB)(t)}const S=new class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new r.Q5,this._onDidUpdateConfiguration=new r.Q5,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:o.NC("defaultLanguageConfigurationOverrides.title","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.excludedConfigurationProperties={},v.registerSchema(b,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const n=new Set;this.doRegisterConfigurations(e,t,n),v.registerSchema(b,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);const n=[];for(const{overrides:i,source:r}of e)for(const e in i){t.add(e);const s=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),o=i[e];if(s.configurationDefaultOverrides.push({value:o,source:r}),_.test(e)){const t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,o,r,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,r),n.push(...k(e))}else{const t=this.mergeDefaultConfigurationsForConfigurationProperty(e,o,r,s.configurationDefaultOverrideValue);if(!t)continue;s.configurationDefaultOverrideValue=t;const n=this.configurationProperties[e];n&&(this.updatePropertyDefaultValue(e,n),this.updateSchema(e,n))}}this.doRegisterOverrideIdentifiers(n)}updateDefaultOverrideProperty(e,t,n){const i={type:"object",default:t.value,description:o.NC("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",(0,a.UI)(e)),$ref:b,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=i,this.defaultLanguageConfigurationOverridesNode.properties[e]=i}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,i){const r=i?.value||{},o=i?.source??new Map;if(o instanceof Map){for(const e of Object.keys(t)){const i=t[e];if(s.Kn(i)&&(s.o8(r[e])||s.Kn(r[e]))){if(r[e]={...r[e]??{},...i},n)for(const t in i)o.set(`${e}.${t}`,n)}else r[e]=i,n?o.set(e,n):o.delete(e)}return{value:r,source:o}}console.error("objectConfigurationSources is not a Map")}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,i){const r=this.configurationProperties[e],o=i?.value??r?.defaultDefaultValue;let a=n;if(s.Kn(t)&&(void 0!==r&&"object"===r.type||void 0===r&&(s.o8(o)||s.Kn(o)))){if(a=i?.source??new Map,!(a instanceof Map))return void console.error("defaultValueSource is not a Map");for(const i in t)n&&a.set(`${e}.${i}`,n);t={...s.Kn(o)?o:{},...t}}return{value:t,source:a}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach((e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)}))}validateAndRegisterProperties(e,t=!0,n,i,r=3,o){r=s.Jp(e.scope)?r:e.scope;const a=e.properties;if(a)for(const e in a){const l=a[e];t&&x(e,l)?delete a[e]:(l.source=n,l.defaultDefaultValue=a[e].default,this.updatePropertyDefaultValue(e,l),_.test(e)?l.scope=void 0:(l.scope=s.Jp(l.scope)?r:l.scope,l.restricted=s.Jp(l.restricted)?!!i?.includes(e):l.restricted),!a[e].hasOwnProperty("included")||a[e].included?(this.configurationProperties[e]=a[e],a[e].policy?.name&&this.policyConfigurations.set(a[e].policy.name,e),!a[e].deprecationMessage&&a[e].markdownDeprecationMessage&&(a[e].deprecationMessage=a[e].markdownDeprecationMessage),o.add(e)):(this.excludedConfigurationProperties[e]=a[e],delete a[e]))}const l=e.allOf;if(l)for(const e of l)this.validateAndRegisterProperties(e,t,n,i,r,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=e=>{const n=e.properties;if(n)for(const e in n)this.updateSchema(e,n[e]);const i=e.allOf;i?.forEach(t)};t(e)}updateSchema(e,t){switch(d.properties[e]=t,t.scope){case 1:u.properties[e]=t;break;case 2:p.properties[e]=t;break;case 6:m.properties[e]=t;break;case 3:f.properties[e]=t;break;case 4:g.properties[e]=t;break;case 5:g.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,n={type:"object",description:o.NC("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.NC("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:b};this.updatePropertyDefaultValue(t,n),d.properties[t]=n,u.properties[t]=n,p.properties[t]=n,m.properties[t]=n,f.properties[t]=n,g.properties[t]=n}}registerOverridePropertyPatternKey(){const e={type:"object",description:o.NC("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:o.NC("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:b};d.patternProperties[C]=e,u.patternProperties[C]=e,p.patternProperties[C]=e,m.patternProperties[C]=e,f.patternProperties[C]=e,g.patternProperties[C]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue;let i,r;!n||t.disallowConfigurationDefault&&n.source||(i=n.value,r=n.source),s.o8(i)&&(i=t.defaultDefaultValue,r=void 0),s.o8(i)&&(i=function(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(t.type)),t.default=i,t.defaultValueSource=r}};function x(e,t){return e.trim()?_.test(e)?o.NC("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==S.getConfigurationProperties()[e]?o.NC("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):t.policy?.name&&void 0!==S.getPolicyConfigurations().get(t.policy?.name)?o.NC("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",e,t.policy?.name,S.getPolicyConfigurations().get(t.policy?.name)):null:o.NC("config.property.empty","Cannot register an empty property")}c.B.add(h.Configuration,S)},4726:(e,t,n)=>{"use strict";n.d(t,{z:()=>s});class i{constructor(e,t=[],n=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=n}}const r=[];function s(e,t,n){t instanceof i||(t=new i(t,[],Boolean(n))),r.push([e,t])}},6574:(e,t,n)=>{"use strict";var i;n.d(t,{TG:()=>r,yh:()=>s}),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(i||(i={}));const r=s("instantiationService");function s(e){if(i.serviceIds.has(e))return i.serviceIds.get(e);const t=function(e,n,r){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,n){t[i.DI_TARGET]===t?t[i.DI_DEPENDENCIES].push({id:e,index:n}):(t[i.DI_DEPENDENCIES]=[{id:e,index:n}],t[i.DI_TARGET]=t)}(t,e,r)};return t.toString=()=>e,i.serviceIds.set(e,t),t}},2510:(e,t,n)=>{"use strict";n.d(t,{I:()=>s});var i=n(5718),r=n(1430);const s={JSONContribution:"base.contributions.json"},o=new class{constructor(){this._onDidChangeSchema=new i.Q5,this.schemasById={}}registerSchema(e,t){var n;this.schemasById[(n=e,n.length>0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};r.B.add(s.JSONContribution,o)},7598:(e,t,n)=>{"use strict";n.d(t,{VZ:()=>G,in:()=>J}),n(5718),n(6263);var i=n(3883),r=n(8810),s=n(8177),o=n(2174);function a(...e){switch(e.length){case 1:return(0,o.NC)("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",e[0]);case 2:return(0,o.NC)("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",e[0],e[1]);case 3:return(0,o.NC)("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",e[0],e[1],e[2]);default:return}}const l=(0,o.NC)("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),c=(0,o.NC)("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class h{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw(0,s.L6)(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map((e=>e.charCodeAt(0))))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!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)){const e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(a("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(a("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(a("||"));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(e){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===e&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,n=this._input.substring(this._start,this._current),i={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(i)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),n=h._keywords.get(t);n?this._addToken(n):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(l):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let e=this._current,t=!1,n=!1;for(;;){if(e>=this._input.length)return this._current=e,void this._error(c);const i=this._input.charCodeAt(e);if(t)t=!1;else{if(47===i&&!n){e++;break}91===i?n=!0:92===i?t=!0:93===i&&(n=!1)}e++}for(;e=this._input.length}}var d=n(6574);const u=new Map;u.set("false",!1),u.set("true",!0),u.set("isMac",i.dz),u.set("isLinux",i.IJ),u.set("isWindows",i.ED),u.set("isWeb",i.$L),u.set("isMacNative",i.dz&&!i.$L),u.set("isEdge",i.un),u.set("isFirefox",i.vU),u.set("isChrome",i.i7),u.set("isSafari",i.G6);const p=Object.prototype.hasOwnProperty,m={regexParsingWithErrorRecovery:!0},f=(0,o.NC)("contextkey.parser.error.emptyString","Empty context key expression"),g=(0,o.NC)("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),b=(0,o.NC)("contextkey.parser.error.noInAfterNot","'in' after 'not'."),v=(0,o.NC)("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),w=(0,o.NC)("contextkey.parser.error.unexpectedToken","Unexpected token"),y=(0,o.NC)("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),C=(0,o.NC)("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),_=(0,o.NC)("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");class k{static{this._parseError=new Error}constructor(e=m){this._config=e,this._scanner=new h,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(""!==e){this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const e=this._expr();if(!this._isAtEnd()){const e=this._peek(),t=17===e.type?y:void 0;throw this._parsingErrors.push({message:w,offset:e.offset,lexeme:h.getLexeme(e),additionalInfo:t}),k._parseError}return e}catch(e){if(e!==k._parseError)throw e;return}}else this._parsingErrors.push({message:f,offset:0,lexeme:"",additionalInfo:g})}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return 1===e.length?e[0]:S.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return 1===e.length?e[0]:S.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),E.INSTANCE;case 12:return this._advance(),F.INSTANCE;case 0:{this._advance();const e=this._expr();return this._consume(1,v),e?.negate()}case 17:return this._advance(),D.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),S.true();case 12:return this._advance(),S.false();case 0:{this._advance();const e=this._expr();return this._consume(1,v),e}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const e=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==e.type)throw this._errExpectedButGot("REGEX",e);const n=e.lexeme,i=n.lastIndexOf("/"),r=i===n.length-1?void 0:this._removeFlagsGY(n.substring(i+1));let s;try{s=new RegExp(n.substring(1,i),r)}catch(t){throw this._errExpectedButGot("REGEX",e)}return B.create(t,s)}switch(e.type){case 10:case 19:{const n=[e.lexeme];this._advance();let i=this._peek(),r=0;for(let t=0;t=0){const s=n.slice(t+1,r),o="i"===n[r+1]?"i":"";try{i=new RegExp(s,o)}catch(t){throw this._errExpectedButGot("REGEX",e)}}}if(null===i)throw this._errExpectedButGot("REGEX",e);return B.create(t,i)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,b);const e=this._value();return S.notIn(t,e)}switch(this._peek().type){case 3:{this._advance();const e=this._value();if(18===this._previous().type)return S.equals(t,e);switch(e){case"true":return S.has(t);case"false":return S.not(t);default:return S.equals(t,e)}}case 4:{this._advance();const e=this._value();if(18===this._previous().type)return S.notEquals(t,e);switch(e){case"true":return S.not(t);case"false":return S.has(t);default:return S.notEquals(t,e)}}case 5:return this._advance(),z.create(t,this._value());case 6:return this._advance(),P.create(t,this._value());case 7:return this._advance(),M.create(t,this._value());case 8:return this._advance(),O.create(t,this._value());case 13:return this._advance(),S.in(t,this._value());default:return S.has(t)}}case 20:throw this._parsingErrors.push({message:C,offset:e.offset,lexeme:"",additionalInfo:_}),k._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return!!this._check(e)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,n){const i=(0,o.NC)("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,h.getLexeme(t)),r=t.offset,s=h.getLexeme(t);return this._parsingErrors.push({message:i,offset:r,lexeme:s,additionalInfo:n}),k._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}class S{static false(){return E.INSTANCE}static true(){return F.INSTANCE}static has(e){return I.create(e)}static equals(e,t){return L.create(e,t)}static notEquals(e,t){return R.create(e,t)}static regex(e,t){return B.create(e,t)}static in(e,t){return N.create(e,t)}static notIn(e,t){return T.create(e,t)}static not(e){return D.create(e)}static and(...e){return U.create(e,null,!0)}static or(...e){return q.create(e,null,!0)}static{this._parser=new k({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(null!=e)return this._parser.parse(e)}}function x(e,t){return e.cmp(t)}class E{static{this.INSTANCE=new E}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return F.INSTANCE}}class F{static{this.INSTANCE=new F}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return E.INSTANCE}}class I{static create(e,t=null){const n=u.get(e);return"boolean"==typeof n?n?F.INSTANCE:E.INSTANCE:new I(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:j(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=u.get(this.key);return"boolean"==typeof e?e?F.INSTANCE:E.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=D.create(this.key,this)),this.negated}}class L{static create(e,t,n=null){if("boolean"==typeof t)return t?I.create(e,n):D.create(e,n);const i=u.get(e);return"boolean"==typeof i?t===(i?"true":"false")?F.INSTANCE:E.INSTANCE:new L(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=u.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?F.INSTANCE:E.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=R.create(this.key,this.value,this)),this.negated}}class N{static create(e,t){return new N(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type&&this.key===e.key&&this.valueKey===e.valueKey}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):"string"==typeof n&&"object"==typeof t&&null!==t&&p.call(t,n)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=T.create(this.key,this.valueKey)),this.negated}}class T{static create(e,t){return new T(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=N.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type&&this._negated.equals(e._negated)}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class R{static create(e,t,n=null){if("boolean"==typeof t)return t?D.create(e,n):I.create(e,n);const i=u.get(e);return"boolean"==typeof i?t===(i?"true":"false")?E.INSTANCE:F.INSTANCE:new R(e,t,n)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){const e=u.get(this.key);if("boolean"==typeof e){const t=e?"true":"false";return this.value===t?E.INSTANCE:F.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=L.create(this.key,this.value,this)),this.negated}}class D{static create(e,t=null){const n=u.get(e);return"boolean"==typeof n?n?E.INSTANCE:F.INSTANCE:new D(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:j(this.key,e.key)}equals(e){return e.type===this.type&&this.key===e.key}substituteConstants(){const e=u.get(this.key);return"boolean"==typeof e?e?E.INSTANCE:F.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=I.create(this.key,this)),this.negated}}function A(e,t){if("string"==typeof e){const t=parseFloat(e);isNaN(t)||(e=t)}return"string"==typeof e||"number"==typeof e?t(e):E.INSTANCE}class M{static create(e,t,n=null){return A(t,(t=>new M(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=P.create(this.key,this.value,this)),this.negated}}class O{static create(e,t,n=null){return A(t,(t=>new O(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=z.create(this.key,this.value,this)),this.negated}}class z{static create(e,t,n=null){return A(t,(t=>new z(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))new P(e,t,n)))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:K(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type&&this.key===e.key&&this.value===e.value}substituteConstants(){return this}evaluate(e){return"string"!=typeof this.value&&parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=M.create(this.key,this.value,this)),this.negated}}class B{static create(e,t){return new B(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=W.create(this)),this.negated}}class W{static create(e){return new W(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type&&this._actual.equals(e._actual)}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function V(e){let t=null;for(let n=0,i=e.length;ne.expr.length)return 1;for(let t=0,n=this.expr.length;t1;){const e=i[i.length-1];if(9!==e.type)break;i.pop();const t=i.pop(),r=0===i.length,s=q.create(e.expr.map((e=>U.create([e,t],null,n))),null,r);s&&(i.push(s),i.sort(x))}if(1===i.length)return i[0];if(n){for(let e=0;ee.serialize())).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=q.create(e,this,!0)}return this.negated}}class q{static create(e,t,n){return q._normalizeArr(e,t,n)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,n=this.expr.length;te.serialize())).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),n=e.shift(),i=[];for(const e of H(t))for(const t of H(n))i.push(U.create([e,t],null,!1));e.unshift(q.create(i,null,!1))}this.negated=q.create(e,this,!0)}return this.negated}}class $ extends I{static{this._info=[]}static all(){return $._info.values()}constructor(e,t,n){super(e,null),this._defaultValue=t,"object"==typeof n?$._info.push({...n,key:e}):!0!==n&&$._info.push({key:e,description:n,type:null!=t?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return L.create(this.key,e)}}function j(e,t){return et?1:0}function K(e,t,n,i){return en?1:ti?1:0}function H(e){return 9===e.type?e.expr:[e]}(0,d.yh)("contextKeyService");const G=(0,d.yh)("logService");var J;!function(e){e[e.Off=0]="Off",e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warning=4]="Warning",e[e.Error=5]="Error"}(J||(J={})),J.Info,new $("logLevel",function(e){switch(e){case J.Trace:return"trace";case J.Debug:return"debug";case J.Info:return"info";case J.Warning:return"warn";case J.Error:return"error";case J.Off:return"off"}}(J.Info))},1430:(e,t,n)=>{"use strict";n.d(t,{B:()=>s});var i=n(6517),r=n(3870);const s=new class{constructor(){this.data=new Map}add(e,t){i.ok(r.HD(e)),i.ok(r.Kn(t)),i.ok(!this.data.has(e),"There is already an extension with this id"),this.data.set(e,t)}as(e){return this.data.get(e)||null}}},7443:(e,t,n)=>{"use strict";n.d(t,{xL1:()=>x,lRK:()=>S,cvW:()=>T,MUv:()=>U,T83:()=>W,c63:()=>B,gpD:()=>O,pW3:()=>P,uoC:()=>z,Gj_:()=>le,Gvr:()=>oe,Ivo:()=>ae,P6G:()=>d});var i=n(6517),r=n(430),s=n(9263),o=n(5718),a=n(2510),l=n(1430),c=n(2174);const h=new class{constructor(){this._onDidChangeSchema=new o.Q5,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,i=!1,r){const s={id:e,description:n,defaults:t,needsTransparency:i,deprecationMessage:r};this.colorsById[e]=s;const o={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return r&&(o.deprecationMessage=r),i&&(o.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",o.patternErrorMessage=c.NC("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:"string",const:"default",description:c.NC("useDefault","Use the default color.")}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(n),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map((e=>this.colorsById[e]))}resolveDefaultColor(e,t){const n=this.colorsById[e];if(n?.defaults)return b(null!==(i=n.defaults)&&"object"==typeof i&&"light"in i&&"dark"in i?n.defaults[t.type]:n.defaults,t);var i}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((e,t)=>{const n=-1===e.indexOf(".")?0:1,i=-1===t.indexOf(".")?0:1;return n!==i?n-i:e.localeCompare(t)})).map((e=>`- \`${e}\`: ${this.colorsById[e].description}`)).join("\n")}};function d(e,t,n,i,r){return h.registerColor(e,t,n,i,r)}function u(e,t){return{op:0,value:e,factor:t}}function p(e,t){return{op:1,value:e,factor:t}}function m(e,t){return{op:2,value:e,factor:t}}function f(...e){return{op:4,values:e}}function g(e,t,n,i){return{op:5,value:e,background:t,factor:n,transparency:i}}function b(e,t){if(null!==e)return"string"==typeof e?"#"===e[0]?s.Il.fromHex(e):t.getColor(e):e instanceof s.Il?e:"object"==typeof e?function(e,t){switch(e.op){case 0:return b(e.value,t)?.darken(e.factor);case 1:return b(e.value,t)?.lighten(e.factor);case 2:return b(e.value,t)?.transparent(e.factor);case 3:{const n=b(e.background,t);return n?b(e.value,t)?.makeOpaque(n):b(e.value,t)}case 4:for(const n of e.values){const e=b(n,t);if(e)return e}return;case 6:return b(t.defines(e.if)?e.then:e.else,t);case 5:{const n=b(e.value,t);if(!n)return;const i=b(e.background,t);return i?n.isDarkerThan(i)?s.Il.getLighterColor(n,i,e.factor).transparent(e.transparency):s.Il.getDarkerColor(n,i,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw(0,i.vE)(e)}}(e,t):void 0}l.B.add("base.contributions.colors",h);const v="vscode://schemas/workbench-colors",w=l.B.as(a.I.JSONContribution);w.registerSchema(v,h.getColorSchema());const y=new r.pY((()=>w.notifySchemaChanged(v)),200);h.onDidChangeSchema((()=>{y.isScheduled()||y.schedule()}));const C=d("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},c.NC("foreground","Overall foreground color. This color is only used if not overridden by a component.")),_=(d("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},c.NC("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component.")),d("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},c.NC("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),d("descriptionForeground",{light:"#717171",dark:m(C,.7),hcDark:m(C,.7),hcLight:m(C,.7)},c.NC("descriptionForeground","Foreground color for description text providing additional information, for example for a label.")),d("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},c.NC("iconForeground","The default color for icons in the workbench."))),k=d("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},c.NC("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),S=d("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},c.NC("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),x=d("contrastActiveBorder",{light:null,dark:null,hcDark:k,hcLight:k},c.NC("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),E=(d("selection.background",null,c.NC("selectionBackground","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.")),d("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},c.NC("textLinkForeground","Foreground color for links in text.")),d("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},c.NC("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover.")),d("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:s.Il.black,hcLight:"#292929"},c.NC("textSeparatorForeground","Color for text separators.")),d("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},c.NC("textPreformatForeground","Foreground color for preformatted text segments.")),d("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},c.NC("textPreformatBackground","Background color for preformatted text segments.")),d("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},c.NC("textBlockQuoteBackground","Background color for block quotes in text.")),d("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:s.Il.white,hcLight:"#292929"},c.NC("textBlockQuoteBorder","Border color for block quotes in text.")),d("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:s.Il.black,hcLight:"#F2F2F2"},c.NC("textCodeBlockBackground","Background color for code blocks in text.")),d("sash.hoverBorder",k,c.NC("sashActiveBorder","Border color of active sashes.")),d("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:s.Il.black,hcLight:"#0F4A85"},c.NC("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."))),F=(d("badge.foreground",{dark:s.Il.white,light:"#333",hcDark:s.Il.white,hcLight:s.Il.white},c.NC("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),d("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},c.NC("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled."))),I=d("scrollbarSlider.background",{dark:s.Il.fromHex("#797979").transparent(.4),light:s.Il.fromHex("#646464").transparent(.4),hcDark:m(S,.6),hcLight:m(S,.4)},c.NC("scrollbarSliderBackground","Scrollbar slider background color.")),L=d("scrollbarSlider.hoverBackground",{dark:s.Il.fromHex("#646464").transparent(.7),light:s.Il.fromHex("#646464").transparent(.7),hcDark:m(S,.8),hcLight:m(S,.8)},c.NC("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),N=d("scrollbarSlider.activeBackground",{dark:s.Il.fromHex("#BFBFBF").transparent(.4),light:s.Il.fromHex("#000000").transparent(.6),hcDark:S,hcLight:S},c.NC("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),T=(d("progressBar.background",{dark:s.Il.fromHex("#0E70C0"),light:s.Il.fromHex("#0E70C0"),hcDark:S,hcLight:S},c.NC("progressBarBackground","Background color of the progress bar that can show for long running operations.")),d("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:s.Il.black,hcLight:s.Il.white},c.NC("editorBackground","Editor background color."))),R=(d("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:s.Il.white,hcLight:C},c.NC("editorForeground","Editor default foreground color.")),d("editorStickyScroll.background",T,c.NC("editorStickyScrollBackground","Background color of sticky scroll in the editor")),d("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:s.Il.fromHex("#0F4A85").transparent(.1)},c.NC("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor")),d("editorStickyScroll.border",{dark:null,light:null,hcDark:S,hcLight:S},c.NC("editorStickyScrollBorder","Border color of sticky scroll in the editor")),d("editorStickyScroll.shadow",F,c.NC("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor")),d("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:s.Il.white},c.NC("editorWidgetBackground","Background color of editor widgets, such as find/replace."))),D=d("editorWidget.foreground",C,c.NC("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),A=d("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:S,hcLight:S},c.NC("editorWidgetBorder","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.")),M=(d("editorWidget.resizeBorder",null,c.NC("editorWidgetResizeBorder","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.")),d("editorError.background",null,c.NC("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),d("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},c.NC("editorError.foreground","Foreground color of error squigglies in the editor."))),O=(d("editorError.border",{dark:null,light:null,hcDark:s.Il.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},c.NC("errorBorder","If set, color of double underlines for errors in the editor.")),d("editorWarning.background",null,c.NC("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0)),z=d("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},c.NC("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),P=d("editorWarning.border",{dark:null,light:null,hcDark:s.Il.fromHex("#FFCC00").transparent(.8),hcLight:s.Il.fromHex("#FFCC00").transparent(.8)},c.NC("warningBorder","If set, color of double underlines for warnings in the editor.")),B=(d("editorInfo.background",null,c.NC("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),d("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},c.NC("editorInfo.foreground","Foreground color of info squigglies in the editor."))),W=d("editorInfo.border",{dark:null,light:null,hcDark:s.Il.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},c.NC("infoBorder","If set, color of double underlines for infos in the editor.")),V=(d("editorHint.foreground",{dark:s.Il.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},c.NC("editorHint.foreground","Foreground color of hint squigglies in the editor.")),d("editorHint.border",{dark:null,light:null,hcDark:s.Il.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},c.NC("hintBorder","If set, color of double underlines for hints in the editor.")),d("editorLink.activeForeground",{dark:"#4E94CE",light:s.Il.blue,hcDark:s.Il.cyan,hcLight:"#292929"},c.NC("activeLinkForeground","Color of active links.")),d("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},c.NC("editorSelectionBackground","Color of the editor selection."))),U=(d("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:s.Il.white},c.NC("editorSelectionForeground","Color of the selected text for high contrast.")),d("editor.inactiveSelectionBackground",{light:m(V,.5),dark:m(V,.5),hcDark:m(V,.7),hcLight:m(V,.5)},c.NC("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),d("editor.selectionHighlightBackground",{light:g(V,T,.3,.6),dark:g(V,T,.3,.6),hcDark:null,hcLight:null},c.NC("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0),d("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:x,hcLight:x},c.NC("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),d("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},c.NC("editorFindMatch","Color of the current search match.")),d("editor.findMatchForeground",null,c.NC("editorFindMatchForeground","Text color of the current search match.")),d("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},c.NC("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0)),q=(d("editor.findMatchHighlightForeground",null,c.NC("findMatchHighlightForeground","Foreground color of the other search matches."),!0),d("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},c.NC("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),d("editor.findMatchBorder",{light:null,dark:null,hcDark:x,hcLight:x},c.NC("editorFindMatchBorder","Border color of the current search match.")),d("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:x,hcLight:x},c.NC("findMatchHighlightBorder","Border color of the other search matches."))),$=(d("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:m(x,.4),hcLight:m(x,.4)},c.NC("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),d("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},c.NC("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0),d("editorHoverWidget.background",R,c.NC("hoverBackground","Background color of the editor hover."))),j=(d("editorHoverWidget.foreground",D,c.NC("hoverForeground","Foreground color of the editor hover.")),d("editorHoverWidget.border",A,c.NC("hoverBorder","Border color of the editor hover.")),d("editorHoverWidget.statusBarBackground",{dark:p($,.2),light:u($,.05),hcDark:R,hcLight:R},c.NC("statusBarBackground","Background color of the editor hover status bar.")),d("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:s.Il.white,hcLight:s.Il.black},c.NC("editorInlayHintForeground","Foreground color of inline hints"))),K=d("editorInlayHint.background",{dark:m(E,.1),light:m(E,.1),hcDark:m(s.Il.white,.1),hcLight:m(E,.1)},c.NC("editorInlayHintBackground","Background color of inline hints")),H=(d("editorInlayHint.typeForeground",j,c.NC("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),d("editorInlayHint.typeBackground",K,c.NC("editorInlayHintBackgroundTypes","Background color of inline hints for types")),d("editorInlayHint.parameterForeground",j,c.NC("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),d("editorInlayHint.parameterBackground",K,c.NC("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),d("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},c.NC("editorLightBulbForeground","The color used for the lightbulb actions icon."))),G=(d("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},c.NC("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon.")),d("editorLightBulbAi.foreground",H,c.NC("editorLightBulbAiForeground","The color used for the lightbulb AI icon.")),d("editor.snippetTabstopHighlightBackground",{dark:new s.Il(new s.VS(124,124,124,.3)),light:new s.Il(new s.VS(10,50,100,.2)),hcDark:new s.Il(new s.VS(124,124,124,.3)),hcLight:new s.Il(new s.VS(10,50,100,.2))},c.NC("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop.")),d("editor.snippetTabstopHighlightBorder",null,c.NC("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop.")),d("editor.snippetFinalTabstopHighlightBackground",null,c.NC("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet.")),d("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new s.Il(new s.VS(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},c.NC("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet.")),new s.Il(new s.VS(155,185,85,.2))),J=new s.Il(new s.VS(255,0,0,.2)),Q=(d("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},c.NC("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),d("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},c.NC("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),d("diffEditor.insertedLineBackground",{dark:G,light:G,hcDark:null,hcLight:null},c.NC("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),d("diffEditor.removedLineBackground",{dark:J,light:J,hcDark:null,hcLight:null},c.NC("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),d("diffEditorGutter.insertedLineBackground",null,c.NC("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted.")),d("diffEditorGutter.removedLineBackground",null,c.NC("diffEditorRemovedLineGutter","Background color for the margin where lines got removed.")),d("diffEditorOverview.insertedForeground",null,c.NC("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),d("diffEditorOverview.removedForeground",null,c.NC("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content.")),d("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},c.NC("diffEditorInsertedOutline","Outline color for the text that got inserted.")),d("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},c.NC("diffEditorRemovedOutline","Outline color for text that got removed.")),d("diffEditor.border",{dark:null,light:null,hcDark:S,hcLight:S},c.NC("diffEditorBorder","Border color between the two text editors.")),d("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},c.NC("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),d("diffEditor.unchangedRegionBackground","sideBar.background",c.NC("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor.")),d("diffEditor.unchangedRegionForeground","foreground",c.NC("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor.")),d("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},c.NC("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor.")),d("widget.shadow",{dark:m(s.Il.black,.36),light:m(s.Il.black,.16),hcDark:null,hcLight:null},c.NC("widgetShadow","Shadow color of widgets such as find/replace inside the editor."))),X=(d("widget.border",{dark:null,light:null,hcDark:S,hcLight:S},c.NC("widgetBorder","Border color of widgets such as find/replace inside the editor.")),d("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},c.NC("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"))),Y=(d("toolbar.hoverOutline",{dark:null,light:null,hcDark:x,hcLight:x},c.NC("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse")),d("toolbar.activeBackground",{dark:p(X,.1),light:u(X,.1),hcDark:null,hcLight:null},c.NC("toolbarActiveBackground","Toolbar background when holding the mouse over actions")),d("breadcrumb.foreground",m(C,.8),c.NC("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),d("breadcrumb.background",T,c.NC("breadcrumbsBackground","Background color of breadcrumb items.")),d("breadcrumb.focusForeground",{light:u(C,.2),dark:p(C,.1),hcDark:p(C,.1),hcLight:p(C,.1)},c.NC("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),d("breadcrumb.activeSelectionForeground",{light:u(C,.2),dark:p(C,.1),hcDark:p(C,.1),hcLight:p(C,.1)},c.NC("breadcrumbsSelectedForeground","Color of selected breadcrumb items.")),d("breadcrumbPicker.background",R,c.NC("breadcrumbsSelectedBackground","Background color of breadcrumb item picker.")),s.Il.fromHex("#40C8AE").transparent(.5)),Z=s.Il.fromHex("#40A6FF").transparent(.5),ee=s.Il.fromHex("#606060").transparent(.4),te=d("merge.currentHeaderBackground",{dark:Y,light:Y,hcDark:null,hcLight:null},c.NC("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),ne=(d("merge.currentContentBackground",m(te,.4),c.NC("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),d("merge.incomingHeaderBackground",{dark:Z,light:Z,hcDark:null,hcLight:null},c.NC("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),ie=(d("merge.incomingContentBackground",m(ne,.4),c.NC("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),d("merge.commonHeaderBackground",{dark:ee,light:ee,hcDark:null,hcLight:null},c.NC("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0)),re=(d("merge.commonContentBackground",m(ie,.4),c.NC("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0),d("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},c.NC("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."))),se=(d("editorOverviewRuler.currentContentForeground",{dark:m(te,1),light:m(te,1),hcDark:re,hcLight:re},c.NC("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts.")),d("editorOverviewRuler.incomingContentForeground",{dark:m(ne,1),light:m(ne,1),hcDark:re,hcLight:re},c.NC("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts.")),d("editorOverviewRuler.commonContentForeground",{dark:m(ie,1),light:m(ie,1),hcDark:re,hcLight:re},c.NC("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts.")),d("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},c.NC("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),d("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",c.NC("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),d("problemsErrorIcon.foreground",M,c.NC("problemsErrorIconForeground","The color used for the problems error icon.")),d("problemsWarningIcon.foreground",z,c.NC("problemsWarningIconForeground","The color used for the problems warning icon.")),d("problemsInfoIcon.foreground",B,c.NC("problemsInfoIconForeground","The color used for the problems info icon.")),d("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},c.NC("minimapFindMatchHighlight","Minimap marker color for find matches."),!0)),oe=(d("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},c.NC("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),d("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},c.NC("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),d("minimap.infoHighlight",{dark:B,light:B,hcDark:W,hcLight:W},c.NC("minimapInfo","Minimap marker color for infos."))),ae=d("minimap.warningHighlight",{dark:z,light:z,hcDark:P,hcLight:P},c.NC("overviewRuleWarning","Minimap marker color for warnings.")),le=d("minimap.errorHighlight",{dark:new s.Il(new s.VS(255,18,18,.7)),light:new s.Il(new s.VS(255,18,18,.7)),hcDark:new s.Il(new s.VS(255,50,50,1)),hcLight:"#B5200D"},c.NC("minimapError","Minimap marker color for errors.")),ce=(d("minimap.background",null,c.NC("minimapBackground","Minimap background color.")),d("minimap.foregroundOpacity",s.Il.fromHex("#000f"),c.NC("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.')),d("minimapSlider.background",m(I,.5),c.NC("minimapSliderBackground","Minimap slider background color.")),d("minimapSlider.hoverBackground",m(L,.5),c.NC("minimapSliderHoverBackground","Minimap slider background color when hovering.")),d("minimapSlider.activeBackground",m(N,.5),c.NC("minimapSliderActiveBackground","Minimap slider background color when clicked on.")),d("charts.foreground",C,c.NC("chartsForeground","The foreground color used in charts.")),d("charts.lines",m(C,.5),c.NC("chartsLines","The color used for horizontal lines in charts.")),d("charts.red",M,c.NC("chartsRed","The red color used in chart visualizations.")),d("charts.blue",B,c.NC("chartsBlue","The blue color used in chart visualizations.")),d("charts.yellow",z,c.NC("chartsYellow","The yellow color used in chart visualizations.")),d("charts.orange",se,c.NC("chartsOrange","The orange color used in chart visualizations.")),d("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},c.NC("chartsGreen","The green color used in chart visualizations.")),d("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},c.NC("chartsPurple","The purple color used in chart visualizations.")),d("input.background",{dark:"#3C3C3C",light:s.Il.white,hcDark:s.Il.black,hcLight:s.Il.white},c.NC("inputBoxBackground","Input box background.")),d("input.foreground",C,c.NC("inputBoxForeground","Input box foreground.")),d("input.border",{dark:null,light:null,hcDark:S,hcLight:S},c.NC("inputBoxBorder","Input box border.")),d("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:S,hcLight:S},c.NC("inputBoxActiveOptionBorder","Border color of activated options in input fields."))),he=d("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},c.NC("inputOption.hoverBackground","Background color of activated options in input fields.")),de=d("inputOption.activeBackground",{dark:m(k,.4),light:m(k,.2),hcDark:s.Il.transparent,hcLight:s.Il.transparent},c.NC("inputOption.activeBackground","Background hover color of options in input fields.")),ue=d("inputOption.activeForeground",{dark:s.Il.white,light:s.Il.black,hcDark:C,hcLight:C},c.NC("inputOption.activeForeground","Foreground color of activated options in input fields.")),pe=(d("input.placeholderForeground",{light:m(C,.5),dark:m(C,.5),hcDark:m(C,.7),hcLight:m(C,.7)},c.NC("inputPlaceholderForeground","Input box foreground color for placeholder text.")),d("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:s.Il.black,hcLight:s.Il.white},c.NC("inputValidationInfoBackground","Input validation background color for information severity.")),d("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.NC("inputValidationInfoForeground","Input validation foreground color for information severity.")),d("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:S,hcLight:S},c.NC("inputValidationInfoBorder","Input validation border color for information severity.")),d("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:s.Il.black,hcLight:s.Il.white},c.NC("inputValidationWarningBackground","Input validation background color for warning severity.")),d("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.NC("inputValidationWarningForeground","Input validation foreground color for warning severity.")),d("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:S,hcLight:S},c.NC("inputValidationWarningBorder","Input validation border color for warning severity.")),d("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:s.Il.black,hcLight:s.Il.white},c.NC("inputValidationErrorBackground","Input validation background color for error severity.")),d("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:C},c.NC("inputValidationErrorForeground","Input validation foreground color for error severity.")),d("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:S,hcLight:S},c.NC("inputValidationErrorBorder","Input validation border color for error severity.")),d("dropdown.background",{dark:"#3C3C3C",light:s.Il.white,hcDark:s.Il.black,hcLight:s.Il.white},c.NC("dropdownBackground","Dropdown background."))),me=(d("dropdown.listBackground",{dark:null,light:null,hcDark:s.Il.black,hcLight:s.Il.white},c.NC("dropdownListBackground","Dropdown list background.")),d("dropdown.foreground",{dark:"#F0F0F0",light:C,hcDark:s.Il.white,hcLight:C},c.NC("dropdownForeground","Dropdown foreground."))),fe=d("dropdown.border",{dark:pe,light:"#CECECE",hcDark:S,hcLight:S},c.NC("dropdownBorder","Dropdown border.")),ge=d("button.foreground",s.Il.white,c.NC("buttonForeground","Button foreground color.")),be=(d("button.separator",m(ge,.4),c.NC("buttonSeparator","Button separator color.")),d("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},c.NC("buttonBackground","Button background color."))),ve=(d("button.hoverBackground",{dark:p(be,.2),light:u(be,.2),hcDark:be,hcLight:be},c.NC("buttonHoverBackground","Button background color when hovering.")),d("button.border",S,c.NC("buttonBorder","Button border color.")),d("button.secondaryForeground",{dark:s.Il.white,light:s.Il.white,hcDark:s.Il.white,hcLight:C},c.NC("buttonSecondaryForeground","Secondary button foreground color.")),d("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:s.Il.white},c.NC("buttonSecondaryBackground","Secondary button background color."))),we=(d("button.secondaryHoverBackground",{dark:p(ve,.2),light:u(ve,.2),hcDark:null,hcLight:null},c.NC("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),d("radio.activeForeground",ue,c.NC("radioActiveForeground","Foreground color of active radio option."))),ye=(d("radio.activeBackground",de,c.NC("radioBackground","Background color of active radio option.")),d("radio.activeBorder",ce,c.NC("radioActiveBorder","Border color of the active radio option.")),d("radio.inactiveForeground",null,c.NC("radioInactiveForeground","Foreground color of inactive radio option.")),d("radio.inactiveBackground",null,c.NC("radioInactiveBackground","Background color of inactive radio option.")),d("radio.inactiveBorder",{light:m(we,.2),dark:m(we,.2),hcDark:m(we,.4),hcLight:m(we,.2)},c.NC("radioInactiveBorder","Border color of the inactive radio option.")),d("radio.inactiveHoverBackground",he,c.NC("radioHoverBackground","Background color of inactive active radio option when hovering.")),d("checkbox.background",pe,c.NC("checkbox.background","Background color of checkbox widget.")),d("checkbox.selectBackground",R,c.NC("checkbox.select.background","Background color of checkbox widget when the element it's in is selected.")),d("checkbox.foreground",me,c.NC("checkbox.foreground","Foreground color of checkbox widget.")),d("checkbox.border",fe,c.NC("checkbox.border","Border color of checkbox widget.")),d("checkbox.selectBorder",_,c.NC("checkbox.select.border","Border color of checkbox widget when the element it's in is selected.")),d("keybindingLabel.background",{dark:new s.Il(new s.VS(128,128,128,.17)),light:new s.Il(new s.VS(221,221,221,.4)),hcDark:s.Il.transparent,hcLight:s.Il.transparent},c.NC("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),d("keybindingLabel.foreground",{dark:s.Il.fromHex("#CCCCCC"),light:s.Il.fromHex("#555555"),hcDark:s.Il.white,hcLight:C},c.NC("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),d("keybindingLabel.border",{dark:new s.Il(new s.VS(51,51,51,.6)),light:new s.Il(new s.VS(204,204,204,.4)),hcDark:new s.Il(new s.VS(111,195,223)),hcLight:S},c.NC("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),d("keybindingLabel.bottomBorder",{dark:new s.Il(new s.VS(68,68,68,.6)),light:new s.Il(new s.VS(187,187,187,.4)),hcDark:new s.Il(new s.VS(111,195,223)),hcLight:C},c.NC("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),d("list.focusBackground",null,c.NC("listFocusBackground","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.")),d("list.focusForeground",null,c.NC("listFocusForeground","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.")),d("list.focusOutline",{dark:k,light:k,hcDark:x,hcLight:x},c.NC("listFocusOutline","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.")),d("list.focusAndSelectionOutline",null,c.NC("listFocusAndSelectionOutline","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.")),d("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:s.Il.fromHex("#0F4A85").transparent(.1)},c.NC("listActiveSelectionBackground","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."))),Ce=d("list.activeSelectionForeground",{dark:s.Il.white,light:s.Il.white,hcDark:null,hcLight:null},c.NC("listActiveSelectionForeground","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.")),_e=d("list.activeSelectionIconForeground",null,c.NC("listActiveSelectionIconForeground","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.")),ke=(d("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:s.Il.fromHex("#0F4A85").transparent(.1)},c.NC("listInactiveSelectionBackground","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.")),d("list.inactiveSelectionForeground",null,c.NC("listInactiveSelectionForeground","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.")),d("list.inactiveSelectionIconForeground",null,c.NC("listInactiveSelectionIconForeground","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.")),d("list.inactiveFocusBackground",null,c.NC("listInactiveFocusBackground","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.")),d("list.inactiveFocusOutline",null,c.NC("listInactiveFocusOutline","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.")),d("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:s.Il.white.transparent(.1),hcLight:s.Il.fromHex("#0F4A85").transparent(.1)},c.NC("listHoverBackground","List/Tree background when hovering over items using the mouse.")),d("list.hoverForeground",null,c.NC("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),d("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},c.NC("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),d("list.dropBetweenBackground",{dark:_,light:_,hcDark:null,hcLight:null},c.NC("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),d("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:k,hcLight:k},c.NC("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")));var Se,xe;d("list.focusHighlightForeground",{dark:ke,light:(Se=ye,xe=ke,{op:6,if:Se,then:xe,else:"#BBE7FF"}),hcDark:ke,hcLight:ke},c.NC("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.")),d("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},c.NC("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),d("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},c.NC("listErrorForeground","Foreground color of list items containing errors.")),d("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},c.NC("listWarningForeground","Foreground color of list items containing warnings.")),d("listFilterWidget.background",{light:u(R,0),dark:p(R,0),hcDark:R,hcLight:R},c.NC("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),d("listFilterWidget.outline",{dark:s.Il.transparent,light:s.Il.transparent,hcDark:"#f38518",hcLight:"#007ACC"},c.NC("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),d("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:S,hcLight:S},c.NC("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),d("listFilterWidget.shadow",Q,c.NC("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees.")),d("list.filterMatchBackground",{dark:U,light:U,hcDark:null,hcLight:null},c.NC("listFilterMatchHighlight","Background color of the filtered match.")),d("list.filterMatchBorder",{dark:q,light:q,hcDark:S,hcLight:x},c.NC("listFilterMatchHighlightBorder","Border color of the filtered match.")),d("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},c.NC("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const Ee=d("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},c.NC("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),Fe=(d("tree.inactiveIndentGuidesStroke",m(Ee,.4),c.NC("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),d("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},c.NC("tableColumnsBorder","Table border color between columns.")),d("tree.tableOddRowsBackground",{dark:m(C,.04),light:m(C,.04),hcDark:null,hcLight:null},c.NC("tableOddRowsBackgroundColor","Background color for odd table rows.")),d("editorActionList.background",R,c.NC("editorActionListBackground","Action List background color.")),d("editorActionList.foreground",D,c.NC("editorActionListForeground","Action List foreground color.")),d("editorActionList.focusForeground",Ce,c.NC("editorActionListFocusForeground","Action List foreground color for the focused item.")),d("editorActionList.focusBackground",ye,c.NC("editorActionListFocusBackground","Action List background color for the focused item.")),d("menu.border",{dark:null,light:null,hcDark:S,hcLight:S},c.NC("menuBorder","Border color of menus.")),d("menu.foreground",me,c.NC("menuForeground","Foreground color of menu items.")),d("menu.background",pe,c.NC("menuBackground","Background color of menu items.")),d("menu.selectionForeground",Ce,c.NC("menuSelectionForeground","Foreground color of the selected menu item in menus.")),d("menu.selectionBackground",ye,c.NC("menuSelectionBackground","Background color of the selected menu item in menus.")),d("menu.selectionBorder",{dark:null,light:null,hcDark:x,hcLight:x},c.NC("menuSelectionBorder","Border color of the selected menu item in menus.")),d("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:S,hcLight:S},c.NC("menuSeparatorBackground","Color of a separator menu item in menus.")),d("quickInput.background",R,c.NC("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),d("quickInput.foreground",D,c.NC("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),d("quickInputTitle.background",{dark:new s.Il(new s.VS(255,255,255,.105)),light:new s.Il(new s.VS(0,0,0,.06)),hcDark:"#000000",hcLight:s.Il.white},c.NC("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),d("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:s.Il.white,hcLight:"#0F4A85"},c.NC("pickerGroupForeground","Quick picker color for grouping labels.")),d("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:s.Il.white,hcLight:"#0F4A85"},c.NC("pickerGroupBorder","Quick picker color for grouping borders.")),d("quickInput.list.focusBackground",null,"",void 0,c.NC("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")));d("quickInputList.focusForeground",Ce,c.NC("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),d("quickInputList.focusIconForeground",_e,c.NC("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),d("quickInputList.focusBackground",{dark:f(Fe,ye),light:f(Fe,ye),hcDark:null,hcLight:null},c.NC("quickInput.listFocusBackground","Quick picker background color for the focused item.")),d("search.resultsInfoForeground",{light:C,dark:m(C,.65),hcDark:C,hcLight:C},c.NC("search.resultsInfoForeground","Color of the text in the search viewlet's completion message.")),d("searchEditor.findMatchBackground",{light:m(U,.66),dark:m(U,.66),hcDark:U,hcLight:U},c.NC("searchEditor.queryMatch","Color of the Search Editor query matches.")),d("searchEditor.findMatchBorder",{light:m(q,.66),dark:m(q,.66),hcDark:q,hcLight:q},c.NC("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."))},3620:(e,t,n)=>{"use strict";n.d(t,{XE:()=>c,Ic:()=>u,EN:()=>h});var i,r,s=n(5718),o=n(6263),a=n(6574),l=n(1430);(r=i||(i={})).DARK="dark",r.LIGHT="light",r.HIGH_CONTRAST_DARK="hcDark",r.HIGH_CONTRAST_LIGHT="hcLight";const c=(0,a.yh)("themeService");function h(e){return{id:e}}const d=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new s.Q5}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),(0,o.OF)((()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)}))}getThemingParticipants(){return this.themingParticipants}};function u(e){return d.onColorThemeChange(e)}l.B.add("base.contributions.theming",d)}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.e=()=>Promise.resolve(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=n(8321),t=n(2766),i=n(9042);let r=!1;function s(n){if(r)return;r=!0;const s=new e.SimpleWorkerServer((e=>{globalThis.postMessage(e)}),(e=>new t.EditorSimpleWorker(i.EditorWorkerHost.getChannel(e),n)));globalThis.onmessage=e=>{s.onmessage(e.data)}}var o,a;globalThis.onmessage=e=>{r||s(null)},(a=o||(o={}))[a.Ident=0]="Ident",a[a.AtKeyword=1]="AtKeyword",a[a.String=2]="String",a[a.BadString=3]="BadString",a[a.UnquotedString=4]="UnquotedString",a[a.Hash=5]="Hash",a[a.Num=6]="Num",a[a.Percentage=7]="Percentage",a[a.Dimension=8]="Dimension",a[a.UnicodeRange=9]="UnicodeRange",a[a.CDO=10]="CDO",a[a.CDC=11]="CDC",a[a.Colon=12]="Colon",a[a.SemiColon=13]="SemiColon",a[a.CurlyL=14]="CurlyL",a[a.CurlyR=15]="CurlyR",a[a.ParenthesisL=16]="ParenthesisL",a[a.ParenthesisR=17]="ParenthesisR",a[a.BracketL=18]="BracketL",a[a.BracketR=19]="BracketR",a[a.Whitespace=20]="Whitespace",a[a.Includes=21]="Includes",a[a.Dashmatch=22]="Dashmatch",a[a.SubstringOperator=23]="SubstringOperator",a[a.PrefixOperator=24]="PrefixOperator",a[a.SuffixOperator=25]="SuffixOperator",a[a.Delim=26]="Delim",a[a.EMS=27]="EMS",a[a.EXS=28]="EXS",a[a.Length=29]="Length",a[a.Angle=30]="Angle",a[a.Time=31]="Time",a[a.Freq=32]="Freq",a[a.Exclamation=33]="Exclamation",a[a.Resolution=34]="Resolution",a[a.Comma=35]="Comma",a[a.Charset=36]="Charset",a[a.EscapedJavaScript=37]="EscapedJavaScript",a[a.BadEscapedJavaScript=38]="BadEscapedJavaScript",a[a.Comment=39]="Comment",a[a.SingleLineComment=40]="SingleLineComment",a[a.EOF=41]="EOF",a[a.ContainerQueryLength=42]="ContainerQueryLength",a[a.CustomToken=43]="CustomToken";var l=class{constructor(e){this.source=e,this.len=e.length,this.position=0}substring(e,t=this.position){return this.source.substring(e,t)}eos(){return this.len<=this.position}pos(){return this.position}goBackTo(e){this.position=e}goBack(e){this.position-=e}advance(e){this.position+=e}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(e=0){return this.source.charCodeAt(this.position+e)||0}lookbackChar(e=0){return this.source.charCodeAt(this.position-e)||0}advanceIfChar(e){return e===this.source.charCodeAt(this.position)&&(this.position++,!0)}advanceIfChars(e){if(this.position+e.length>this.source.length)return!1;let t=0;for(;t".charCodeAt(0),L="@".charCodeAt(0),N="#".charCodeAt(0),T="$".charCodeAt(0),R="\\".charCodeAt(0),D="/".charCodeAt(0),A="\n".charCodeAt(0),M="\r".charCodeAt(0),O="\f".charCodeAt(0),z='"'.charCodeAt(0),P="'".charCodeAt(0),B=" ".charCodeAt(0),W="\t".charCodeAt(0),V=";".charCodeAt(0),U=":".charCodeAt(0),q="{".charCodeAt(0),$="}".charCodeAt(0),j="[".charCodeAt(0),K="]".charCodeAt(0),H=",".charCodeAt(0),G=".".charCodeAt(0),J="!".charCodeAt(0),Q="?".charCodeAt(0),X="+".charCodeAt(0),Y={};Y[V]=o.SemiColon,Y[U]=o.Colon,Y[q]=o.CurlyL,Y[$]=o.CurlyR,Y[K]=o.BracketR,Y[j]=o.BracketL,Y[x]=o.ParenthesisL,Y[E]=o.ParenthesisR,Y[H]=o.Comma;var Z={};Z.em=o.EMS,Z.ex=o.EXS,Z.px=o.Length,Z.cm=o.Length,Z.mm=o.Length,Z.in=o.Length,Z.pt=o.Length,Z.pc=o.Length,Z.deg=o.Angle,Z.rad=o.Angle,Z.grad=o.Angle,Z.ms=o.Time,Z.s=o.Time,Z.hz=o.Freq,Z.khz=o.Freq,Z["%"]=o.Percentage,Z.fr=o.Percentage,Z.dpi=o.Resolution,Z.dpcm=o.Resolution,Z.cqw=o.ContainerQueryLength,Z.cqh=o.ContainerQueryLength,Z.cqi=o.ContainerQueryLength,Z.cqb=o.ContainerQueryLength,Z.cqmin=o.ContainerQueryLength,Z.cqmax=o.ContainerQueryLength;var ee,te,ne,ie,re=class{constructor(){this.stream=new l(""),this.ignoreComment=!0,this.ignoreWhitespace=!0,this.inURL=!1}setSource(e){this.stream=new l(e)}finishToken(e,t,n){return{offset:e,len:this.stream.pos()-e,type:t,text:n||this.stream.substring(e)}}substring(e,t){return this.stream.substring(e,e+t)}pos(){return this.stream.pos()}goBackTo(e){this.stream.goBackTo(e)}scanUnquotedString(){const e=this.stream.pos(),t=[];return this._unquotedString(t)?this.finishToken(e,o.UnquotedString,t.join("")):null}scan(){const e=this.trivia();if(null!==e)return e;const t=this.stream.pos();return this.stream.eos()?this.finishToken(t,o.EOF):this.scanNext(t)}tryScanUnicode(){const e=this.stream.pos();if(!this.stream.eos()&&this._unicodeRange())return this.finishToken(e,o.UnicodeRange);this.stream.goBackTo(e)}scanNext(e){if(this.stream.advanceIfChars([F,J,C,C]))return this.finishToken(e,o.CDO);if(this.stream.advanceIfChars([C,C,I]))return this.finishToken(e,o.CDC);let t=[];if(this.ident(t))return this.finishToken(e,o.Ident,t.join(""));if(this.stream.advanceIfChar(L)){if(t=["@"],this._name(t)){const n=t.join("");return"@charset"===n?this.finishToken(e,o.Charset,n):this.finishToken(e,o.AtKeyword,n)}return this.finishToken(e,o.Delim)}if(this.stream.advanceIfChar(N))return t=["#"],this._name(t)?this.finishToken(e,o.Hash,t.join("")):this.finishToken(e,o.Delim);if(this.stream.advanceIfChar(J))return this.finishToken(e,o.Exclamation);if(this._number()){const n=this.stream.pos();if(t=[this.stream.substring(e,n)],this.stream.advanceIfChar(k))return this.finishToken(e,o.Percentage);if(this.ident(t)){const i=this.stream.substring(n).toLowerCase(),r=Z[i];return void 0!==r?this.finishToken(e,r,t.join("")):this.finishToken(e,o.Dimension,t.join(""))}return this.finishToken(e,o.Num)}t=[];let n=this._string(t);return null!==n?this.finishToken(e,n,t.join("")):(n=Y[this.stream.peekChar()],void 0!==n?(this.stream.advance(1),this.finishToken(e,n)):this.stream.peekChar(0)===b&&this.stream.peekChar(1)===w?(this.stream.advance(2),this.finishToken(e,o.Includes)):this.stream.peekChar(0)===y&&this.stream.peekChar(1)===w?(this.stream.advance(2),this.finishToken(e,o.Dashmatch)):this.stream.peekChar(0)===S&&this.stream.peekChar(1)===w?(this.stream.advance(2),this.finishToken(e,o.SubstringOperator)):this.stream.peekChar(0)===v&&this.stream.peekChar(1)===w?(this.stream.advance(2),this.finishToken(e,o.PrefixOperator)):this.stream.peekChar(0)===T&&this.stream.peekChar(1)===w?(this.stream.advance(2),this.finishToken(e,o.SuffixOperator)):(this.stream.nextChar(),this.finishToken(e,o.Delim)))}trivia(){for(;;){const e=this.stream.pos();if(this._whitespace()){if(!this.ignoreWhitespace)return this.finishToken(e,o.Whitespace)}else{if(!this.comment())return null;if(!this.ignoreComment)return this.finishToken(e,o.Comment)}}}comment(){if(this.stream.advanceIfChars([D,S])){let e=!1,t=!1;return this.stream.advanceWhileChar((n=>t&&n===D?(e=!0,!1):(t=n===S,!0))),e&&this.stream.advance(1),!0}return!1}_number(){let e,t=0;return this.stream.peekChar()===G&&(t=1),e=this.stream.peekChar(t),e>=f&&e<=g&&(this.stream.advance(t+1),this.stream.advanceWhileChar((e=>e>=f&&e<=g||0===t&&e===G)),!0)}_newline(e){const t=this.stream.peekChar();switch(t){case M:case O:case A:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===M&&this.stream.advanceIfChar(A)&&e.push("\n"),!0}return!1}_escape(e,t){let n=this.stream.peekChar();if(n===R){this.stream.advance(1),n=this.stream.peekChar();let i=0;for(;i<6&&(n>=f&&n<=g||n>=c&&n<=h||n>=u&&n<=p);)this.stream.advance(1),n=this.stream.peekChar(),i++;if(i>0){try{const t=parseInt(this.stream.substring(this.stream.pos()-i),16);t&&e.push(String.fromCharCode(t))}catch(e){}return n===B||n===W?this.stream.advance(1):this._newline([]),!0}if(n!==M&&n!==O&&n!==A)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1}_stringChar(e,t){const n=this.stream.peekChar();return 0!==n&&n!==e&&n!==R&&n!==M&&n!==O&&n!==A&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)}_string(e){if(this.stream.peekChar()===P||this.stream.peekChar()===z){const t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),o.String):o.BadString}return null}_unquotedChar(e){const t=this.stream.peekChar();return 0!==t&&t!==R&&t!==P&&t!==z&&t!==x&&t!==E&&t!==B&&t!==W&&t!==A&&t!==O&&t!==M&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)}_unquotedString(e){let t=!1;for(;this._unquotedChar(e)||this._escape(e);)t=!0;return t}_whitespace(){return this.stream.advanceWhileChar((e=>e===B||e===W||e===A||e===O||e===M))>0}_name(e){let t=!1;for(;this._identChar(e)||this._escape(e);)t=!0;return t}ident(e){const t=this.stream.pos();if(this._minus(e)){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1}_identFirstChar(e){const t=this.stream.peekChar();return(t===_||t>=c&&t<=d||t>=u&&t<=m||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)}_minus(e){const t=this.stream.peekChar();return t===C&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)}_identChar(e){const t=this.stream.peekChar();return(t===_||t===C||t>=c&&t<=d||t>=u&&t<=m||t>=f&&t<=g||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)}_unicodeRange(){if(this.stream.advanceIfChar(X)){const e=e=>e>=f&&e<=g||e>=c&&e<=h||e>=u&&e<=p,t=this.stream.advanceWhileChar(e)+this.stream.advanceWhileChar((e=>e===Q));if(t>=1&&t<=6){if(!this.stream.advanceIfChar(C))return!0;{const t=this.stream.advanceWhileChar(e);if(t>=1&&t<=6)return!0}}}return!1}};function se(e,t){if(e.length0?e.lastIndexOf(t)===n:0===n&&e===t}function ae(e,t=!0){return e?e.length<140?e:e.slice(0,140)+(t?"…":""):""}function le(e,t){let n="";for(;t>0;)1&~t||(n+=e),e+=e,t>>>=1;return n}function ce(e,t){let n=null;return!e||te.end?null:(e.accept((e=>-1===e.offset&&-1===e.length||e.offset<=t&&e.end>=t&&(n?e.length<=n.length&&(n=e):n=e,!0))),n)}function he(e,t){let n=ce(e,t);const i=[];for(;n;)i.unshift(n),n=n.parent;return i}(te=ee||(ee={}))[te.Undefined=0]="Undefined",te[te.Identifier=1]="Identifier",te[te.Stylesheet=2]="Stylesheet",te[te.Ruleset=3]="Ruleset",te[te.Selector=4]="Selector",te[te.SimpleSelector=5]="SimpleSelector",te[te.SelectorInterpolation=6]="SelectorInterpolation",te[te.SelectorCombinator=7]="SelectorCombinator",te[te.SelectorCombinatorParent=8]="SelectorCombinatorParent",te[te.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",te[te.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",te[te.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",te[te.Page=12]="Page",te[te.PageBoxMarginBox=13]="PageBoxMarginBox",te[te.ClassSelector=14]="ClassSelector",te[te.IdentifierSelector=15]="IdentifierSelector",te[te.ElementNameSelector=16]="ElementNameSelector",te[te.PseudoSelector=17]="PseudoSelector",te[te.AttributeSelector=18]="AttributeSelector",te[te.Declaration=19]="Declaration",te[te.Declarations=20]="Declarations",te[te.Property=21]="Property",te[te.Expression=22]="Expression",te[te.BinaryExpression=23]="BinaryExpression",te[te.Term=24]="Term",te[te.Operator=25]="Operator",te[te.Value=26]="Value",te[te.StringLiteral=27]="StringLiteral",te[te.URILiteral=28]="URILiteral",te[te.EscapedValue=29]="EscapedValue",te[te.Function=30]="Function",te[te.NumericValue=31]="NumericValue",te[te.HexColorValue=32]="HexColorValue",te[te.RatioValue=33]="RatioValue",te[te.MixinDeclaration=34]="MixinDeclaration",te[te.MixinReference=35]="MixinReference",te[te.VariableName=36]="VariableName",te[te.VariableDeclaration=37]="VariableDeclaration",te[te.Prio=38]="Prio",te[te.Interpolation=39]="Interpolation",te[te.NestedProperties=40]="NestedProperties",te[te.ExtendsReference=41]="ExtendsReference",te[te.SelectorPlaceholder=42]="SelectorPlaceholder",te[te.Debug=43]="Debug",te[te.If=44]="If",te[te.Else=45]="Else",te[te.For=46]="For",te[te.Each=47]="Each",te[te.While=48]="While",te[te.MixinContentReference=49]="MixinContentReference",te[te.MixinContentDeclaration=50]="MixinContentDeclaration",te[te.Media=51]="Media",te[te.Keyframe=52]="Keyframe",te[te.FontFace=53]="FontFace",te[te.Import=54]="Import",te[te.Namespace=55]="Namespace",te[te.Invocation=56]="Invocation",te[te.FunctionDeclaration=57]="FunctionDeclaration",te[te.ReturnStatement=58]="ReturnStatement",te[te.MediaQuery=59]="MediaQuery",te[te.MediaCondition=60]="MediaCondition",te[te.MediaFeature=61]="MediaFeature",te[te.FunctionParameter=62]="FunctionParameter",te[te.FunctionArgument=63]="FunctionArgument",te[te.KeyframeSelector=64]="KeyframeSelector",te[te.ViewPort=65]="ViewPort",te[te.Document=66]="Document",te[te.AtApplyRule=67]="AtApplyRule",te[te.CustomPropertyDeclaration=68]="CustomPropertyDeclaration",te[te.CustomPropertySet=69]="CustomPropertySet",te[te.ListEntry=70]="ListEntry",te[te.Supports=71]="Supports",te[te.SupportsCondition=72]="SupportsCondition",te[te.NamespacePrefix=73]="NamespacePrefix",te[te.GridLine=74]="GridLine",te[te.Plugin=75]="Plugin",te[te.UnknownAtRule=76]="UnknownAtRule",te[te.Use=77]="Use",te[te.ModuleConfiguration=78]="ModuleConfiguration",te[te.Forward=79]="Forward",te[te.ForwardVisibility=80]="ForwardVisibility",te[te.Module=81]="Module",te[te.UnicodeRange=82]="UnicodeRange",te[te.Layer=83]="Layer",te[te.LayerNameList=84]="LayerNameList",te[te.LayerName=85]="LayerName",te[te.PropertyAtRule=86]="PropertyAtRule",te[te.Container=87]="Container",(ie=ne||(ne={}))[ie.Mixin=0]="Mixin",ie[ie.Rule=1]="Rule",ie[ie.Variable=2]="Variable",ie[ie.Function=3]="Function",ie[ie.Keyframe=4]="Keyframe",ie[ie.Unknown=5]="Unknown",ie[ie.Module=6]="Module",ie[ie.Forward=7]="Forward",ie[ie.ForwardVisibility=8]="ForwardVisibility",ie[ie.Property=9]="Property";var de,ue,pe=class{get end(){return this.offset+this.length}constructor(e=-1,t=-1,n){this.parent=null,this.offset=e,this.length=t,n&&(this.nodeType=n)}set type(e){this.nodeType=e}get type(){return this.nodeType||ee.Undefined}getTextProvider(){let e=this;for(;e&&!e.textProvider;)e=e.parent;return e?e.textProvider:()=>"unknown"}getText(){return this.getTextProvider()(this.offset,this.length)}matches(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e}startsWith(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e}endsWith(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e}accept(e){if(e(this)&&this.children)for(const t of this.children)t.accept(e)}acceptVisitor(e){this.accept(e.visitNode.bind(e))}adoptChild(e,t=-1){if(e.parent&&e.parent.children){const t=e.parent.children.indexOf(e);t>=0&&e.parent.children.splice(t,1)}e.parent=this;let n=this.children;return n||(n=this.children=[]),-1!==t?n.splice(t,0,e):n.push(e),e}attachTo(e,t=-1){return e&&e.adoptChild(this,t),this}collectIssues(e){this.issues&&e.push.apply(e,this.issues)}addIssue(e){this.issues||(this.issues=[]),this.issues.push(e)}hasIssue(e){return Array.isArray(this.issues)&&this.issues.some((t=>t.getRule()===e))}isErroneous(e=!1){return!!(this.issues&&this.issues.length>0)||e&&Array.isArray(this.children)&&this.children.some((e=>e.isErroneous(!0)))}setNode(e,t,n=-1){return!!t&&(t.attachTo(this,n),this[e]=t,!0)}addChild(e){return!!e&&(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0)}updateOffsetAndLength(e){(e.offsetthis.end||-1===this.length)&&(this.length=t-this.offset)}hasChildren(){return!!this.children&&this.children.length>0}getChildren(){return this.children?this.children.slice(0):[]}getChild(e){return this.children&&e=0;n--)if(t=this.children[n],t.offset<=e)return t}return null}findChildAtOffset(e,t){const n=this.findFirstChildBeforeOffset(e);return n&&n.end>=e?t&&n.findChildAtOffset(e,!0)||n:null}encloses(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length}getParent(){let e=this.parent;for(;e instanceof me;)e=e.parent;return e}findParent(e){let t=this;for(;t&&t.type!==e;)t=t.parent;return t}findAParent(...e){let t=this;for(;t&&!e.some((e=>t.type===e));)t=t.parent;return t}setData(e,t){this.options||(this.options={}),this.options[e]=t}getData(e){return this.options&&this.options.hasOwnProperty(e)?this.options[e]:null}},me=class extends pe{constructor(e,t=-1){super(-1,-1),this.attachTo(e,t),this.offset=-1,this.length=-1}},fe=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.UnicodeRange}setRangeStart(e){return this.setNode("rangeStart",e)}getRangeStart(){return this.rangeStart}setRangeEnd(e){return this.setNode("rangeEnd",e)}getRangeEnd(){return this.rangeEnd}},ge=class extends pe{constructor(e,t){super(e,t),this.isCustomProperty=!1}get type(){return ee.Identifier}containsInterpolation(){return this.hasChildren()}},be=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Stylesheet}},ve=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Declarations}},we=class extends pe{constructor(e,t){super(e,t)}getDeclarations(){return this.declarations}setDeclarations(e){return this.setNode("declarations",e)}},ye=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Ruleset}getSelectors(){return this.selectors||(this.selectors=new me(this)),this.selectors}isNested(){return!!this.parent&&null!==this.parent.findParent(ee.Declarations)}},Ce=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Selector}},_e=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.SimpleSelector}},ke=class extends pe{constructor(e,t){super(e,t)}},Se=class extends we{constructor(e,t){super(e,t)}get type(){return ee.CustomPropertySet}},xe=class e extends ke{constructor(e,t){super(e,t),this.property=null}get type(){return ee.Declaration}setProperty(e){return this.setNode("property",e)}getProperty(){return this.property}getFullPropertyName(){const t=this.property?this.property.getName():"unknown";if(this.parent instanceof ve&&this.parent.getParent()instanceof We){const n=this.parent.getParent().getParent();if(n instanceof e)return n.getFullPropertyName()+t}return t}getNonPrefixedPropertyName(){const e=this.getFullPropertyName();if(e&&"-"===e.charAt(0)){const t=e.indexOf("-",1);if(-1!==t)return e.substring(t+1)}return e}setValue(e){return this.setNode("value",e)}getValue(){return this.value}setNestedProperties(e){return this.setNode("nestedProperties",e)}getNestedProperties(){return this.nestedProperties}},Ee=class extends xe{constructor(e,t){super(e,t)}get type(){return ee.CustomPropertyDeclaration}setPropertySet(e){return this.setNode("propertySet",e)}getPropertySet(){return this.propertySet}},Fe=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Property}setIdentifier(e){return this.setNode("identifier",e)}getIdentifier(){return this.identifier}getName(){return function(e){const t=/[_\+]+$/.exec(e);return t&&t[0].length?e.substr(0,e.length-t[0].length):e}(this.getText())}isCustomProperty(){return!!this.identifier&&this.identifier.isCustomProperty}},Ie=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Invocation}getArguments(){return this.arguments||(this.arguments=new me(this)),this.arguments}},Le=class extends Ie{constructor(e,t){super(e,t)}get type(){return ee.Function}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():""}},Ne=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.FunctionParameter}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():""}setDefaultValue(e){return this.setNode("defaultValue",e,0)}getDefaultValue(){return this.defaultValue}},Te=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.FunctionArgument}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():""}setValue(e){return this.setNode("value",e,0)}getValue(){return this.value}},Re=class extends we{constructor(e,t){super(e,t)}get type(){return ee.If}setExpression(e){return this.setNode("expression",e,0)}setElseClause(e){return this.setNode("elseClause",e)}},De=class extends we{constructor(e,t){super(e,t)}get type(){return ee.For}setVariable(e){return this.setNode("variable",e,0)}},Ae=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Each}getVariables(){return this.variables||(this.variables=new me(this)),this.variables}},Me=class extends we{constructor(e,t){super(e,t)}get type(){return ee.While}},Oe=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Else}},ze=class extends we{constructor(e,t){super(e,t)}get type(){return ee.FunctionDeclaration}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():""}getParameters(){return this.parameters||(this.parameters=new me(this)),this.parameters}},Pe=class extends we{constructor(e,t){super(e,t)}get type(){return ee.ViewPort}},Be=class extends we{constructor(e,t){super(e,t)}get type(){return ee.FontFace}},We=class extends we{constructor(e,t){super(e,t)}get type(){return ee.NestedProperties}},Ve=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Keyframe}setKeyword(e){return this.setNode("keyword",e,0)}getKeyword(){return this.keyword}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():""}},Ue=class extends we{constructor(e,t){super(e,t)}get type(){return ee.KeyframeSelector}},qe=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Import}setMedialist(e){return!!e&&(e.attachTo(this),!0)}},$e=class extends pe{get type(){return ee.Use}getParameters(){return this.parameters||(this.parameters=new me(this)),this.parameters}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}},je=class extends pe{get type(){return ee.ModuleConfiguration}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}getName(){return this.identifier?this.identifier.getText():""}setValue(e){return this.setNode("value",e,0)}getValue(){return this.value}},Ke=class extends pe{get type(){return ee.Forward}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}getMembers(){return this.members||(this.members=new me(this)),this.members}getParameters(){return this.parameters||(this.parameters=new me(this)),this.parameters}},He=class extends pe{get type(){return ee.ForwardVisibility}setIdentifier(e){return this.setNode("identifier",e,0)}getIdentifier(){return this.identifier}},Ge=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Namespace}},Je=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Media}},Qe=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Supports}},Xe=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Layer}setNames(e){return this.setNode("names",e)}getNames(){return this.names}},Ye=class extends we{constructor(e,t){super(e,t)}get type(){return ee.PropertyAtRule}setName(e){return!!e&&(e.attachTo(this),this.name=e,!0)}getName(){return this.name}},Ze=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Document}},et=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Container}},tt=class extends pe{constructor(e,t){super(e,t)}},nt=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.MediaQuery}},it=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.MediaCondition}},rt=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.MediaFeature}},st=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.SupportsCondition}},ot=class extends we{constructor(e,t){super(e,t)}get type(){return ee.Page}},at=class extends we{constructor(e,t){super(e,t)}get type(){return ee.PageBoxMarginBox}},lt=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Expression}},ct=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.BinaryExpression}setLeft(e){return this.setNode("left",e)}getLeft(){return this.left}setRight(e){return this.setNode("right",e)}getRight(){return this.right}setOperator(e){return this.setNode("operator",e)}getOperator(){return this.operator}},ht=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.Term}setOperator(e){return this.setNode("operator",e)}getOperator(){return this.operator}setExpression(e){return this.setNode("expression",e)}getExpression(){return this.expression}},dt=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.AttributeSelector}setNamespacePrefix(e){return this.setNode("namespacePrefix",e)}getNamespacePrefix(){return this.namespacePrefix}setIdentifier(e){return this.setNode("identifier",e)}getIdentifier(){return this.identifier}setOperator(e){return this.setNode("operator",e)}getOperator(){return this.operator}setValue(e){return this.setNode("value",e)}getValue(){return this.value}},ut=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.HexColorValue}},pt=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.RatioValue}},mt=".".charCodeAt(0),ft="0".charCodeAt(0),gt="9".charCodeAt(0),bt=class extends pe{constructor(e,t){super(e,t)}get type(){return ee.NumericValue}getValue(){const e=this.getText();let t,n=0;for(let i=0,r=e.length;i0&&(n+=`/${Array.isArray(t.comment)?t.comment.join(""):t.comment}`),r=t.args??{}}return s=i,o=r,0===Object.keys(o).length?s:s.replace(At,((e,t)=>o[t]??e));var s,o}var At=/{([^}]+)}/g;var Mt,Ot,zt,Pt,Bt,Wt,Vt,Ut,qt,$t,jt,Kt,Ht,Gt,Jt,Qt,Xt,Yt,Zt,en,tn,nn,rn,sn,on,an,ln,cn,hn,dn,un,pn,mn,fn,gn,bn,vn,wn,yn,Cn,_n,kn,Sn,xn,En,Fn,In,Ln,Nn,Tn,Rn,Dn,An,Mn,On,zn,Pn,Bn,Wn,Vn,Un,qn,$n,jn,Kn,Hn,Gn,Jn,Qn,Xn,Yn,Zn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,hi,di,ui,pi,mi,fi,gi,bi,vi,wi,yi,Ci,_i,ki,Si,xi,Ei,Fi,Ii,Li,Ni,Ti,Ri,Di,Ai,Mi,Oi,zi,Pi,Bi,Wi,Vi,Ui,qi,$i,ji,Ki,Hi,Gi,Ji,Qi,Xi,Yi,Zi,er,tr,nr,ir,rr,sr,or,ar=class{constructor(e,t){this.id=e,this.message=t}},lr={NumberExpected:new ar("css-numberexpected",Dt("number expected")),ConditionExpected:new ar("css-conditionexpected",Dt("condition expected")),RuleOrSelectorExpected:new ar("css-ruleorselectorexpected",Dt("at-rule or selector expected")),DotExpected:new ar("css-dotexpected",Dt("dot expected")),ColonExpected:new ar("css-colonexpected",Dt("colon expected")),SemiColonExpected:new ar("css-semicolonexpected",Dt("semi-colon expected")),TermExpected:new ar("css-termexpected",Dt("term expected")),ExpressionExpected:new ar("css-expressionexpected",Dt("expression expected")),OperatorExpected:new ar("css-operatorexpected",Dt("operator expected")),IdentifierExpected:new ar("css-identifierexpected",Dt("identifier expected")),PercentageExpected:new ar("css-percentageexpected",Dt("percentage expected")),URIOrStringExpected:new ar("css-uriorstringexpected",Dt("uri or string expected")),URIExpected:new ar("css-uriexpected",Dt("URI expected")),VariableNameExpected:new ar("css-varnameexpected",Dt("variable name expected")),VariableValueExpected:new ar("css-varvalueexpected",Dt("variable value expected")),PropertyValueExpected:new ar("css-propertyvalueexpected",Dt("property value expected")),LeftCurlyExpected:new ar("css-lcurlyexpected",Dt("{ expected")),RightCurlyExpected:new ar("css-rcurlyexpected",Dt("} expected")),LeftSquareBracketExpected:new ar("css-rbracketexpected",Dt("[ expected")),RightSquareBracketExpected:new ar("css-lbracketexpected",Dt("] expected")),LeftParenthesisExpected:new ar("css-lparentexpected",Dt("( expected")),RightParenthesisExpected:new ar("css-rparentexpected",Dt(") expected")),CommaExpected:new ar("css-commaexpected",Dt("comma expected")),PageDirectiveOrDeclarationExpected:new ar("css-pagedirordeclexpected",Dt("page directive or declaraton expected")),UnknownAtRule:new ar("css-unknownatrule",Dt("at-rule unknown")),UnknownKeyword:new ar("css-unknownkeyword",Dt("unknown keyword")),SelectorExpected:new ar("css-selectorexpected",Dt("selector expected")),StringLiteralExpected:new ar("css-stringliteralexpected",Dt("string literal expected")),WhitespaceExpected:new ar("css-whitespaceexpected",Dt("whitespace expected")),MediaQueryExpected:new ar("css-mediaqueryexpected",Dt("media query expected")),IdentifierOrWildcardExpected:new ar("css-idorwildcardexpected",Dt("identifier or wildcard expected")),WildcardExpected:new ar("css-wildcardexpected",Dt("wildcard expected")),IdentifierOrVariableExpected:new ar("css-idorvarexpected",Dt("identifier or variable expected"))};(Mt||(Mt={})).is=function(e){return"string"==typeof e},(Ot||(Ot={})).is=function(e){return"string"==typeof e},(Pt=zt||(zt={})).MIN_VALUE=-2147483648,Pt.MAX_VALUE=2147483647,Pt.is=function(e){return"number"==typeof e&&Pt.MIN_VALUE<=e&&e<=Pt.MAX_VALUE},(Wt=Bt||(Bt={})).MIN_VALUE=0,Wt.MAX_VALUE=2147483647,Wt.is=function(e){return"number"==typeof e&&Wt.MIN_VALUE<=e&&e<=Wt.MAX_VALUE},(Ut=Vt||(Vt={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=Bt.MAX_VALUE),t===Number.MAX_VALUE&&(t=Bt.MAX_VALUE),{line:e,character:t}},Ut.is=function(e){let t=e;return cr.objectLiteral(t)&&cr.uinteger(t.line)&&cr.uinteger(t.character)},($t=qt||(qt={})).create=function(e,t,n,i){if(cr.uinteger(e)&&cr.uinteger(t)&&cr.uinteger(n)&&cr.uinteger(i))return{start:Vt.create(e,t),end:Vt.create(n,i)};if(Vt.is(e)&&Vt.is(t))return{start:e,end:t};throw new Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${i}]`)},$t.is=function(e){let t=e;return cr.objectLiteral(t)&&Vt.is(t.start)&&Vt.is(t.end)},(Kt=jt||(jt={})).create=function(e,t){return{uri:e,range:t}},Kt.is=function(e){let t=e;return cr.objectLiteral(t)&&qt.is(t.range)&&(cr.string(t.uri)||cr.undefined(t.uri))},(Gt=Ht||(Ht={})).create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},Gt.is=function(e){let t=e;return cr.objectLiteral(t)&&qt.is(t.targetRange)&&cr.string(t.targetUri)&&qt.is(t.targetSelectionRange)&&(qt.is(t.originSelectionRange)||cr.undefined(t.originSelectionRange))},(Qt=Jt||(Jt={})).create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},Qt.is=function(e){const t=e;return cr.objectLiteral(t)&&cr.numberRange(t.red,0,1)&&cr.numberRange(t.green,0,1)&&cr.numberRange(t.blue,0,1)&&cr.numberRange(t.alpha,0,1)},(Yt=Xt||(Xt={})).create=function(e,t){return{range:e,color:t}},Yt.is=function(e){const t=e;return cr.objectLiteral(t)&&qt.is(t.range)&&Jt.is(t.color)},(en=Zt||(Zt={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},en.is=function(e){const t=e;return cr.objectLiteral(t)&&cr.string(t.label)&&(cr.undefined(t.textEdit)||bn.is(t))&&(cr.undefined(t.additionalTextEdits)||cr.typedArray(t.additionalTextEdits,bn.is))},(nn=tn||(tn={})).Comment="comment",nn.Imports="imports",nn.Region="region",(sn=rn||(rn={})).create=function(e,t,n,i,r,s){const o={startLine:e,endLine:t};return cr.defined(n)&&(o.startCharacter=n),cr.defined(i)&&(o.endCharacter=i),cr.defined(r)&&(o.kind=r),cr.defined(s)&&(o.collapsedText=s),o},sn.is=function(e){const t=e;return cr.objectLiteral(t)&&cr.uinteger(t.startLine)&&cr.uinteger(t.startLine)&&(cr.undefined(t.startCharacter)||cr.uinteger(t.startCharacter))&&(cr.undefined(t.endCharacter)||cr.uinteger(t.endCharacter))&&(cr.undefined(t.kind)||cr.string(t.kind))},(an=on||(on={})).create=function(e,t){return{location:e,message:t}},an.is=function(e){let t=e;return cr.defined(t)&&jt.is(t.location)&&cr.string(t.message)},(cn=ln||(ln={})).Error=1,cn.Warning=2,cn.Information=3,cn.Hint=4,(dn=hn||(hn={})).Unnecessary=1,dn.Deprecated=2,(un||(un={})).is=function(e){const t=e;return cr.objectLiteral(t)&&cr.string(t.href)},(mn=pn||(pn={})).create=function(e,t,n,i,r,s){let o={range:e,message:t};return cr.defined(n)&&(o.severity=n),cr.defined(i)&&(o.code=i),cr.defined(r)&&(o.source=r),cr.defined(s)&&(o.relatedInformation=s),o},mn.is=function(e){var t;let n=e;return cr.defined(n)&&qt.is(n.range)&&cr.string(n.message)&&(cr.number(n.severity)||cr.undefined(n.severity))&&(cr.integer(n.code)||cr.string(n.code)||cr.undefined(n.code))&&(cr.undefined(n.codeDescription)||cr.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(cr.string(n.source)||cr.undefined(n.source))&&(cr.undefined(n.relatedInformation)||cr.typedArray(n.relatedInformation,on.is))},(gn=fn||(fn={})).create=function(e,t,...n){let i={title:e,command:t};return cr.defined(n)&&n.length>0&&(i.arguments=n),i},gn.is=function(e){let t=e;return cr.defined(t)&&cr.string(t.title)&&cr.string(t.command)},(vn=bn||(bn={})).replace=function(e,t){return{range:e,newText:t}},vn.insert=function(e,t){return{range:{start:e,end:e},newText:t}},vn.del=function(e){return{range:e,newText:""}},vn.is=function(e){const t=e;return cr.objectLiteral(t)&&cr.string(t.newText)&&qt.is(t.range)},(yn=wn||(wn={})).create=function(e,t,n){const i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},yn.is=function(e){const t=e;return cr.objectLiteral(t)&&cr.string(t.label)&&(cr.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(cr.string(t.description)||void 0===t.description)},(Cn||(Cn={})).is=function(e){const t=e;return cr.string(t)},(kn=_n||(_n={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},kn.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},kn.del=function(e,t){return{range:e,newText:"",annotationId:t}},kn.is=function(e){const t=e;return bn.is(t)&&(wn.is(t.annotationId)||Cn.is(t.annotationId))},(xn=Sn||(Sn={})).create=function(e,t){return{textDocument:e,edits:t}},xn.is=function(e){let t=e;return cr.defined(t)&&zn.is(t.textDocument)&&Array.isArray(t.edits)},(Fn=En||(En={})).create=function(e,t,n){let i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},Fn.is=function(e){let t=e;return t&&"create"===t.kind&&cr.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||cr.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||cr.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Cn.is(t.annotationId))},(Ln=In||(In={})).create=function(e,t,n,i){let r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},Ln.is=function(e){let t=e;return t&&"rename"===t.kind&&cr.string(t.oldUri)&&cr.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||cr.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||cr.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Cn.is(t.annotationId))},(Tn=Nn||(Nn={})).create=function(e,t,n){let i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},Tn.is=function(e){let t=e;return t&&"delete"===t.kind&&cr.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||cr.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||cr.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||Cn.is(t.annotationId))},(Rn||(Rn={})).is=function(e){let t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((e=>cr.string(e.kind)?En.is(e)||In.is(e)||Nn.is(e):Sn.is(e))))},(An=Dn||(Dn={})).create=function(e){return{uri:e}},An.is=function(e){let t=e;return cr.defined(t)&&cr.string(t.uri)},(On=Mn||(Mn={})).create=function(e,t){return{uri:e,version:t}},On.is=function(e){let t=e;return cr.defined(t)&&cr.string(t.uri)&&cr.integer(t.version)},(Pn=zn||(zn={})).create=function(e,t){return{uri:e,version:t}},Pn.is=function(e){let t=e;return cr.defined(t)&&cr.string(t.uri)&&(null===t.version||cr.integer(t.version))},(Wn=Bn||(Bn={})).create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},Wn.is=function(e){let t=e;return cr.defined(t)&&cr.string(t.uri)&&cr.string(t.languageId)&&cr.integer(t.version)&&cr.string(t.text)},(Un=Vn||(Vn={})).PlainText="plaintext",Un.Markdown="markdown",Un.is=function(e){const t=e;return t===Un.PlainText||t===Un.Markdown},(qn||(qn={})).is=function(e){const t=e;return cr.objectLiteral(e)&&Vn.is(t.kind)&&cr.string(t.value)},(jn=$n||($n={})).Text=1,jn.Method=2,jn.Function=3,jn.Constructor=4,jn.Field=5,jn.Variable=6,jn.Class=7,jn.Interface=8,jn.Module=9,jn.Property=10,jn.Unit=11,jn.Value=12,jn.Enum=13,jn.Keyword=14,jn.Snippet=15,jn.Color=16,jn.File=17,jn.Reference=18,jn.Folder=19,jn.EnumMember=20,jn.Constant=21,jn.Struct=22,jn.Event=23,jn.Operator=24,jn.TypeParameter=25,(Hn=Kn||(Kn={})).PlainText=1,Hn.Snippet=2,(Gn||(Gn={})).Deprecated=1,(Qn=Jn||(Jn={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},Qn.is=function(e){const t=e;return t&&cr.string(t.newText)&&qt.is(t.insert)&&qt.is(t.replace)},(Yn=Xn||(Xn={})).asIs=1,Yn.adjustIndentation=2,(Zn||(Zn={})).is=function(e){const t=e;return t&&(cr.string(t.detail)||void 0===t.detail)&&(cr.string(t.description)||void 0===t.description)},(ei||(ei={})).create=function(e){return{label:e}},(ti||(ti={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(ii=ni||(ni={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},ii.is=function(e){const t=e;return cr.string(t)||cr.objectLiteral(t)&&cr.string(t.language)&&cr.string(t.value)},(ri||(ri={})).is=function(e){let t=e;return!!t&&cr.objectLiteral(t)&&(qn.is(t.contents)||ni.is(t.contents)||cr.typedArray(t.contents,ni.is))&&(void 0===e.range||qt.is(e.range))},(si||(si={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(oi||(oi={})).create=function(e,t,...n){let i={label:e};return cr.defined(t)&&(i.documentation=t),cr.defined(n)?i.parameters=n:i.parameters=[],i},(li=ai||(ai={})).Text=1,li.Read=2,li.Write=3,(ci||(ci={})).create=function(e,t){let n={range:e};return cr.number(t)&&(n.kind=t),n},(di=hi||(hi={})).File=1,di.Module=2,di.Namespace=3,di.Package=4,di.Class=5,di.Method=6,di.Property=7,di.Field=8,di.Constructor=9,di.Enum=10,di.Interface=11,di.Function=12,di.Variable=13,di.Constant=14,di.String=15,di.Number=16,di.Boolean=17,di.Array=18,di.Object=19,di.Key=20,di.Null=21,di.EnumMember=22,di.Struct=23,di.Event=24,di.Operator=25,di.TypeParameter=26,(ui||(ui={})).Deprecated=1,(pi||(pi={})).create=function(e,t,n,i,r){let s={name:e,kind:t,location:{uri:i,range:n}};return r&&(s.containerName=r),s},(mi||(mi={})).create=function(e,t,n,i){return void 0!==i?{name:e,kind:t,location:{uri:n,range:i}}:{name:e,kind:t,location:{uri:n}}},(gi=fi||(fi={})).create=function(e,t,n,i,r,s){let o={name:e,detail:t,kind:n,range:i,selectionRange:r};return void 0!==s&&(o.children=s),o},gi.is=function(e){let t=e;return t&&cr.string(t.name)&&cr.number(t.kind)&&qt.is(t.range)&&qt.is(t.selectionRange)&&(void 0===t.detail||cr.string(t.detail))&&(void 0===t.deprecated||cr.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))},(vi=bi||(bi={})).Empty="",vi.QuickFix="quickfix",vi.Refactor="refactor",vi.RefactorExtract="refactor.extract",vi.RefactorInline="refactor.inline",vi.RefactorRewrite="refactor.rewrite",vi.Source="source",vi.SourceOrganizeImports="source.organizeImports",vi.SourceFixAll="source.fixAll",(yi=wi||(wi={})).Invoked=1,yi.Automatic=2,(_i=Ci||(Ci={})).create=function(e,t,n){let i={diagnostics:e};return null!=t&&(i.only=t),null!=n&&(i.triggerKind=n),i},_i.is=function(e){let t=e;return cr.defined(t)&&cr.typedArray(t.diagnostics,pn.is)&&(void 0===t.only||cr.typedArray(t.only,cr.string))&&(void 0===t.triggerKind||t.triggerKind===wi.Invoked||t.triggerKind===wi.Automatic)},(Si=ki||(ki={})).create=function(e,t,n){let i={title:e},r=!0;return"string"==typeof t?(r=!1,i.kind=t):fn.is(t)?i.command=t:i.edit=t,r&&void 0!==n&&(i.kind=n),i},Si.is=function(e){let t=e;return t&&cr.string(t.title)&&(void 0===t.diagnostics||cr.typedArray(t.diagnostics,pn.is))&&(void 0===t.kind||cr.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||fn.is(t.command))&&(void 0===t.isPreferred||cr.boolean(t.isPreferred))&&(void 0===t.edit||Rn.is(t.edit))},(Ei=xi||(xi={})).create=function(e,t){let n={range:e};return cr.defined(t)&&(n.data=t),n},Ei.is=function(e){let t=e;return cr.defined(t)&&qt.is(t.range)&&(cr.undefined(t.command)||fn.is(t.command))},(Ii=Fi||(Fi={})).create=function(e,t){return{tabSize:e,insertSpaces:t}},Ii.is=function(e){let t=e;return cr.defined(t)&&cr.uinteger(t.tabSize)&&cr.boolean(t.insertSpaces)},(Ni=Li||(Li={})).create=function(e,t,n){return{range:e,target:t,data:n}},Ni.is=function(e){let t=e;return cr.defined(t)&&qt.is(t.range)&&(cr.undefined(t.target)||cr.string(t.target))},(Ri=Ti||(Ti={})).create=function(e,t){return{range:e,parent:t}},Ri.is=function(e){let t=e;return cr.objectLiteral(t)&&qt.is(t.range)&&(void 0===t.parent||Ri.is(t.parent))},(Ai=Di||(Di={})).namespace="namespace",Ai.type="type",Ai.class="class",Ai.enum="enum",Ai.interface="interface",Ai.struct="struct",Ai.typeParameter="typeParameter",Ai.parameter="parameter",Ai.variable="variable",Ai.property="property",Ai.enumMember="enumMember",Ai.event="event",Ai.function="function",Ai.method="method",Ai.macro="macro",Ai.keyword="keyword",Ai.modifier="modifier",Ai.comment="comment",Ai.string="string",Ai.number="number",Ai.regexp="regexp",Ai.operator="operator",Ai.decorator="decorator",(Oi=Mi||(Mi={})).declaration="declaration",Oi.definition="definition",Oi.readonly="readonly",Oi.static="static",Oi.deprecated="deprecated",Oi.abstract="abstract",Oi.async="async",Oi.modification="modification",Oi.documentation="documentation",Oi.defaultLibrary="defaultLibrary",(zi||(zi={})).is=function(e){const t=e;return cr.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(Bi=Pi||(Pi={})).create=function(e,t){return{range:e,text:t}},Bi.is=function(e){const t=e;return null!=t&&qt.is(t.range)&&cr.string(t.text)},(Vi=Wi||(Wi={})).create=function(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},Vi.is=function(e){const t=e;return null!=t&&qt.is(t.range)&&cr.boolean(t.caseSensitiveLookup)&&(cr.string(t.variableName)||void 0===t.variableName)},(qi=Ui||(Ui={})).create=function(e,t){return{range:e,expression:t}},qi.is=function(e){const t=e;return null!=t&&qt.is(t.range)&&(cr.string(t.expression)||void 0===t.expression)},(ji=$i||($i={})).create=function(e,t){return{frameId:e,stoppedLocation:t}},ji.is=function(e){const t=e;return cr.defined(t)&&qt.is(e.stoppedLocation)},(Hi=Ki||(Ki={})).Type=1,Hi.Parameter=2,Hi.is=function(e){return 1===e||2===e},(Ji=Gi||(Gi={})).create=function(e){return{value:e}},Ji.is=function(e){const t=e;return cr.objectLiteral(t)&&(void 0===t.tooltip||cr.string(t.tooltip)||qn.is(t.tooltip))&&(void 0===t.location||jt.is(t.location))&&(void 0===t.command||fn.is(t.command))},(Xi=Qi||(Qi={})).create=function(e,t,n){const i={position:e,label:t};return void 0!==n&&(i.kind=n),i},Xi.is=function(e){const t=e;return cr.objectLiteral(t)&&Vt.is(t.position)&&(cr.string(t.label)||cr.typedArray(t.label,Gi.is))&&(void 0===t.kind||Ki.is(t.kind))&&void 0===t.textEdits||cr.typedArray(t.textEdits,bn.is)&&(void 0===t.tooltip||cr.string(t.tooltip)||qn.is(t.tooltip))&&(void 0===t.paddingLeft||cr.boolean(t.paddingLeft))&&(void 0===t.paddingRight||cr.boolean(t.paddingRight))},(Yi||(Yi={})).createSnippet=function(e){return{kind:"snippet",value:e}},(Zi||(Zi={})).create=function(e,t,n,i){return{insertText:e,filterText:t,range:n,command:i}},(er||(er={})).create=function(e){return{items:e}},(nr=tr||(tr={})).Invoked=0,nr.Automatic=1,(ir||(ir={})).create=function(e,t){return{range:e,text:t}},(rr||(rr={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(sr||(sr={})).is=function(e){const t=e;return cr.objectLiteral(t)&&Ot.is(t.uri)&&cr.string(t.name)},function(e){function t(e,n){if(e.length<=1)return e;const i=e.length/2|0,r=e.slice(0,i),s=e.slice(i);t(r,n),t(s,n);let o=0,a=0,l=0;for(;o{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),s=i.length;for(let t=r.length-1;t>=0;t--){let n=r[t],o=e.offsetAt(n.range.start),a=e.offsetAt(n.range.end);if(!(a<=s))throw new Error("Overlapping edit");i=i.substring(0,o)+n.newText+i.substring(a,i.length),s=o}return i}}(or||(or={}));var cr,hr=class{constructor(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,n=!0;for(let i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return Vt.create(0,e);for(;ne?i=r:n=r+1}let r=n-1;return Vt.create(r,e-t[r])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1e?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function yr(e){const t=wr(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(ur=dr||(dr={})).create=function(e,t,n,i){return new gr(e,t,n,i)},ur.update=function(e,t,n){if(e instanceof gr)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},ur.applyEdits=function(e,t){let n=e.getText(),i=br(t.map(yr),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")},(pr||(pr={})).LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Vn.Markdown,Vn.PlainText]}},hover:{contentFormat:[Vn.Markdown,Vn.PlainText]}}},(fr=mr||(mr={}))[fr.Unknown=0]="Unknown",fr[fr.File=1]="File",fr[fr.Directory=2]="Directory",fr[fr.SymbolicLink=64]="SymbolicLink";var Cr={E:"Edge",FF:"Firefox",S:"Safari",C:"Chrome",IE:"IE",O:"Opera"};function _r(e){switch(e){case"experimental":return"⚠️ Property is experimental. Be cautious when using it.️\n\n";case"nonstandard":return"🚨️ Property is nonstandard. Avoid using it.\n\n";case"obsolete":return"🚨️️️ Property is obsolete. Avoid using it.\n\n";default:return""}}function kr(e,t,n){let i;if(i=t?{kind:"markdown",value:Er(e,n)}:{kind:"plaintext",value:xr(e,n)},""!==i.value)return i}function Sr(e){return(e=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")).replace(//g,">")}function xr(e,t){if(!e.description||""===e.description)return"";if("string"!=typeof e.description)return e.description.value;let n="";if(!1!==t?.documentation){e.status&&(n+=_r(e.status)),n+=e.description;const t=Fr(e.browsers);t&&(n+="\n("+t+")"),"syntax"in e&&(n+=`\n\nSyntax: ${e.syntax}`)}return e.references&&e.references.length>0&&!1!==t?.references&&(n.length>0&&(n+="\n\n"),n+=e.references.map((e=>`${e.name}: ${e.url}`)).join(" | ")),n}function Er(e,t){if(!e.description||""===e.description)return"";let n="";if(!1!==t?.documentation){e.status&&(n+=_r(e.status)),"string"==typeof e.description?n+=Sr(e.description):n+=e.description.kind===Vn.Markdown?e.description.value:Sr(e.description.value);const t=Fr(e.browsers);t&&(n+="\n\n("+Sr(t)+")"),"syntax"in e&&e.syntax&&(n+=`\n\nSyntax: ${Sr(e.syntax)}`)}return e.references&&e.references.length>0&&!1!==t?.references&&(n.length>0&&(n+="\n\n"),n+=e.references.map((e=>`[${e.name}](${e.url})`)).join(" | ")),n}function Fr(e=[]){return 0===e.length?null:e.map((e=>{let t="";const n=e.match(/([A-Z]+)(\d+)?/),i=n[1],r=n[2];return i in Cr&&(t+=Cr[i]),r&&(t+=" "+r),t})).join(", ")}var Ir=/(^#([0-9A-F]{3}){1,2}$)|(^#([0-9A-F]{4}){1,2}$)/i,Lr=[{label:"rgb",func:"rgb($red, $green, $blue)",insertText:"rgb(${1:red}, ${2:green}, ${3:blue})",desc:Dt("Creates a Color from red, green, and blue values.")},{label:"rgba",func:"rgba($red, $green, $blue, $alpha)",insertText:"rgba(${1:red}, ${2:green}, ${3:blue}, ${4:alpha})",desc:Dt("Creates a Color from red, green, blue, and alpha values.")},{label:"rgb relative",func:"rgb(from $color $red $green $blue)",insertText:"rgb(from ${1:color} ${2:r} ${3:g} ${4:b})",desc:Dt("Creates a Color from the red, green, and blue values of another Color.")},{label:"hsl",func:"hsl($hue, $saturation, $lightness)",insertText:"hsl(${1:hue}, ${2:saturation}, ${3:lightness})",desc:Dt("Creates a Color from hue, saturation, and lightness values.")},{label:"hsla",func:"hsla($hue, $saturation, $lightness, $alpha)",insertText:"hsla(${1:hue}, ${2:saturation}, ${3:lightness}, ${4:alpha})",desc:Dt("Creates a Color from hue, saturation, lightness, and alpha values.")},{label:"hsl relative",func:"hsl(from $color $hue $saturation $lightness)",insertText:"hsl(from ${1:color} ${2:h} ${3:s} ${4:l})",desc:Dt("Creates a Color from the hue, saturation, and lightness values of another Color.")},{label:"hwb",func:"hwb($hue $white $black)",insertText:"hwb(${1:hue} ${2:white} ${3:black})",desc:Dt("Creates a Color from hue, white, and black values.")},{label:"hwb relative",func:"hwb(from $color $hue $white $black)",insertText:"hwb(from ${1:color} ${2:h} ${3:w} ${4:b})",desc:Dt("Creates a Color from the hue, white, and black values of another Color.")},{label:"lab",func:"lab($lightness $a $b)",insertText:"lab(${1:lightness} ${2:a} ${3:b})",desc:Dt("Creates a Color from lightness, a, and b values.")},{label:"lab relative",func:"lab(from $color $lightness $a $b)",insertText:"lab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:Dt("Creates a Color from the lightness, a, and b values of another Color.")},{label:"oklab",func:"oklab($lightness $a $b)",insertText:"oklab(${1:lightness} ${2:a} ${3:b})",desc:Dt("Creates a Color from lightness, a, and b values.")},{label:"oklab relative",func:"oklab(from $color $lightness $a $b)",insertText:"oklab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:Dt("Creates a Color from the lightness, a, and b values of another Color.")},{label:"lch",func:"lch($lightness $chroma $hue)",insertText:"lch(${1:lightness} ${2:chroma} ${3:hue})",desc:Dt("Creates a Color from lightness, chroma, and hue values.")},{label:"lch relative",func:"lch(from $color $lightness $chroma $hue)",insertText:"lch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:Dt("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"oklch",func:"oklch($lightness $chroma $hue)",insertText:"oklch(${1:lightness} ${2:chroma} ${3:hue})",desc:Dt("Creates a Color from lightness, chroma, and hue values.")},{label:"oklch relative",func:"oklch(from $color $lightness $chroma $hue)",insertText:"oklch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:Dt("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"color",func:"color($color-space $red $green $blue)",insertText:"color(${1|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${2:red} ${3:green} ${4:blue})",desc:Dt("Creates a Color in a specific color space from red, green, and blue values.")},{label:"color relative",func:"color(from $color $color-space $red $green $blue)",insertText:"color(from ${1:color} ${2|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${3:r} ${4:g} ${5:b})",desc:Dt("Creates a Color in a specific color space from the red, green, and blue values of another Color.")},{label:"color-mix",func:"color-mix(in $color-space, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|srgb,srgb-linear,lab,oklab,xyz,xyz-d50,xyz-d65|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:Dt("Mix two colors together in a rectangular color space.")},{label:"color-mix hue",func:"color-mix(in $color-space $interpolation-method hue, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|hsl,hwb,lch,oklch|} ${2|shorter hue,longer hue,increasing hue,decreasing hue|}, ${3:color} ${4:percentage}, ${5:color} ${6:percentage})",desc:Dt("Mix two colors together in a polar color space.")}],Nr=/^(rgb|rgba|hsl|hsla|hwb)$/i,Tr={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Rr=new RegExp(`^(${Object.keys(Tr).join("|")})$`,"i"),Dr={currentColor:"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.",transparent:"Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value."},Ar=new RegExp(`^(${Object.keys(Dr).join("|")})$`,"i");function Mr(e,t){const n=e.getText().match(/^([-+]?[0-9]*\.?[0-9]+)(%?)$/);if(n){n[2]&&(t=100);const e=parseFloat(n[1])/t;if(e>=0&&e<=1)return e}throw new Error}function Or(e){const t=e.getText(),n=t.match(/^([-+]?[0-9]*\.?[0-9]+)(deg|rad|grad|turn)?$/);if(n)switch(n[2]){case"deg":return parseFloat(t)%360;case"rad":return 180*parseFloat(t)/Math.PI%360;case"grad":return.9*parseFloat(t)%360;case"turn":return 360*parseFloat(t)%360;default:if(void 0===n[2])return parseFloat(t)%360}throw new Error}function zr(e){return Ir.test(e)||Rr.test(e)||Ar.test(e)}function Pr(e){return e<48?0:e<=57?e-48:(e<97&&(e+=32),e>=97&&e<=102?e-97+10:0)}function Br(e){if("#"!==e[0])return null;switch(e.length){case 4:return{red:17*Pr(e.charCodeAt(1))/255,green:17*Pr(e.charCodeAt(2))/255,blue:17*Pr(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*Pr(e.charCodeAt(1))/255,green:17*Pr(e.charCodeAt(2))/255,blue:17*Pr(e.charCodeAt(3))/255,alpha:17*Pr(e.charCodeAt(4))/255};case 7:return{red:(16*Pr(e.charCodeAt(1))+Pr(e.charCodeAt(2)))/255,green:(16*Pr(e.charCodeAt(3))+Pr(e.charCodeAt(4)))/255,blue:(16*Pr(e.charCodeAt(5))+Pr(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*Pr(e.charCodeAt(1))+Pr(e.charCodeAt(2)))/255,green:(16*Pr(e.charCodeAt(3))+Pr(e.charCodeAt(4)))/255,blue:(16*Pr(e.charCodeAt(5))+Pr(e.charCodeAt(6)))/255,alpha:(16*Pr(e.charCodeAt(7))+Pr(e.charCodeAt(8)))/255}}return null}function Wr(e,t,n,i=1){if(0===t)return{red:n,green:n,blue:n,alpha:i};{const r=(e,t,n)=>{for(;n<0;)n+=6;for(;n>=6;)n-=6;return n<1?(t-e)*n+e:n<3?t:n<4?(t-e)*(4-n)+e:e},s=n<=.5?n*(t+1):n+t-n*t,o=2*n-s;return{red:r(o,s,2+(e/=60)),green:r(o,s,e),blue:r(o,s,e-2),alpha:i}}}function Vr(e){const t=e.red,n=e.green,i=e.blue,r=e.alpha,s=Math.max(t,n,i),o=Math.min(t,n,i);let a=0,l=0;const c=(o+s)/2,h=s-o;if(h>0){switch(l=Math.min(c<=.5?h/(2*c):h/(2-2*c),1),s){case t:a=(n-i)/h+(ne[t]))}function rs(e){return void 0!==e}var ss=class{constructor(e=new re){this.keyframeRegex=/^@(\-(webkit|ms|moz|o)\-)?keyframes$/i,this.scanner=e,this.token={type:o.EOF,offset:-1,len:0,text:""},this.prevToken=void 0}peekIdent(e){return o.Ident===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()}peekKeyword(e){return o.AtKeyword===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()}peekDelim(e){return o.Delim===this.token.type&&e===this.token.text}peek(e){return e===this.token.type}peekOne(...e){return-1!==e.indexOf(this.token.type)}peekRegExp(e,t){return e===this.token.type&&t.test(this.token.text)}hasWhitespace(){return!!this.prevToken&&this.prevToken.offset+this.prevToken.len!==this.token.offset}consumeToken(){this.prevToken=this.token,this.token=this.scanner.scan()}acceptUnicodeRange(){const e=this.scanner.tryScanUnicode();return!!e&&(this.prevToken=e,this.token=this.scanner.scan(),!0)}mark(){return{prev:this.prevToken,curr:this.token,pos:this.scanner.pos()}}restoreAtMark(e){this.prevToken=e.prev,this.token=e.curr,this.scanner.goBackTo(e.pos)}try(e){const t=this.mark();return e()||(this.restoreAtMark(t),null)}acceptOneKeyword(e){if(o.AtKeyword===this.token.type)for(const t of e)if(t.length===this.token.text.length&&t===this.token.text.toLowerCase())return this.consumeToken(),!0;return!1}accept(e){return e===this.token.type&&(this.consumeToken(),!0)}acceptIdent(e){return!!this.peekIdent(e)&&(this.consumeToken(),!0)}acceptKeyword(e){return!!this.peekKeyword(e)&&(this.consumeToken(),!0)}acceptDelim(e){return!!this.peekDelim(e)&&(this.consumeToken(),!0)}acceptRegexp(e){return!!e.test(this.token.text)&&(this.consumeToken(),!0)}_parseRegexp(e){let t=this.createNode(ee.Identifier);do{}while(this.acceptRegexp(e));return this.finish(t)}acceptUnquotedString(){const e=this.scanner.pos();this.scanner.goBackTo(this.token.offset);const t=this.scanner.scanUnquotedString();return t?(this.token=t,this.consumeToken(),!0):(this.scanner.goBackTo(e),!1)}resync(e,t){for(;;){if(e&&-1!==e.indexOf(this.token.type))return this.consumeToken(),!0;if(t&&-1!==t.indexOf(this.token.type))return!0;if(this.token.type===o.EOF)return!1;this.token=this.scanner.scan()}}createNode(e){return new pe(this.token.offset,this.token.len,e)}create(e){return new e(this.token.offset,this.token.len)}finish(e,t,n,i){if(!(e instanceof me)&&(t&&this.markError(e,t,n,i),this.prevToken)){const t=this.prevToken.offset+this.prevToken.len;e.length=t>e.offset?t-e.offset:0}return e}markError(e,t,n,i){this.token!==this.lastErrorToken&&(e.addIssue(new Tt(e,t,de.Error,void 0,this.token.offset,this.token.len)),this.lastErrorToken=this.token),(n||i)&&this.resync(n,i)}parseStylesheet(e){const t=e.version,n=e.getText();return this.internalParse(n,this._parseStylesheet,((i,r)=>{if(e.version!==t)throw new Error("Underlying model has changed, AST is no longer valid");return n.substr(i,r)}))}internalParse(e,t,n){this.scanner.setSource(e),this.token=this.scanner.scan();const i=t.bind(this)();return i&&(i.textProvider=n||((t,n)=>e.substr(t,n))),i}_parseStylesheet(){const e=this.create(be);for(;e.addChild(this._parseStylesheetStart()););let t=!1;do{let n=!1;do{n=!1;const i=this._parseStylesheetStatement();for(i&&(e.addChild(i),n=!0,t=!1,this.peek(o.EOF)||!this._needsSemicolonAfter(i)||this.accept(o.SemiColon)||this.markError(e,lr.SemiColonExpected));this.accept(o.SemiColon)||this.accept(o.CDO)||this.accept(o.CDC);)n=!0,t=!1}while(n);if(this.peek(o.EOF))break;t||(this.peek(o.AtKeyword)?this.markError(e,lr.UnknownAtRule):this.markError(e,lr.RuleOrSelectorExpected),t=!0),this.consumeToken()}while(!this.peek(o.EOF));return this.finish(e)}_parseStylesheetStart(){return this._parseCharset()}_parseStylesheetStatement(e=!1){return this.peek(o.AtKeyword)?this._parseStylesheetAtStatement(e):this._parseRuleset(e)}_parseStylesheetAtStatement(e=!1){return this._parseImport()||this._parseMedia(e)||this._parsePage()||this._parseFontFace()||this._parseKeyframe()||this._parseSupports(e)||this._parseLayer(e)||this._parsePropertyAtRule()||this._parseViewPort()||this._parseNamespace()||this._parseDocument()||this._parseContainer(e)||this._parseUnknownAtRule()}_tryParseRuleset(e){const t=this.mark();if(this._parseSelector(e)){for(;this.accept(o.Comma)&&this._parseSelector(e););if(this.accept(o.CurlyL))return this.restoreAtMark(t),this._parseRuleset(e)}return this.restoreAtMark(t),null}_parseRuleset(e=!1){const t=this.create(ye),n=t.getSelectors();if(!n.addChild(this._parseSelector(e)))return null;for(;this.accept(o.Comma);)if(!n.addChild(this._parseSelector(e)))return this.finish(t,lr.SelectorExpected);return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))}_parseRuleSetDeclarationAtStatement(){return this._parseMedia(!0)||this._parseSupports(!0)||this._parseLayer(!0)||this._parseContainer(!0)||this._parseUnknownAtRule()}_parseRuleSetDeclaration(){return this.peek(o.AtKeyword)?this._parseRuleSetDeclarationAtStatement():this.peek(o.Ident)?this._tryParseRuleset(!0)||this._parseDeclaration():this._parseRuleset(!0)}_needsSemicolonAfter(e){switch(e.type){case ee.Keyframe:case ee.ViewPort:case ee.Media:case ee.Ruleset:case ee.Namespace:case ee.If:case ee.For:case ee.Each:case ee.While:case ee.MixinDeclaration:case ee.FunctionDeclaration:case ee.MixinContentDeclaration:return!1;case ee.ExtendsReference:case ee.MixinContentReference:case ee.ReturnStatement:case ee.MediaQuery:case ee.Debug:case ee.Import:case ee.AtApplyRule:case ee.CustomPropertyDeclaration:return!0;case ee.VariableDeclaration:return e.needsSemicolon;case ee.MixinReference:return!e.getContent();case ee.Declaration:return!e.getNestedProperties()}return!1}_parseDeclarations(e){const t=this.create(ve);if(!this.accept(o.CurlyL))return null;let n=e();for(;t.addChild(n)&&!this.peek(o.CurlyR);){if(this._needsSemicolonAfter(n)&&!this.accept(o.SemiColon))return this.finish(t,lr.SemiColonExpected,[o.SemiColon,o.CurlyR]);for(n&&this.prevToken&&this.prevToken.type===o.SemiColon&&(n.semicolonPosition=this.prevToken.offset);this.accept(o.SemiColon););n=e()}return this.accept(o.CurlyR)?this.finish(t):this.finish(t,lr.RightCurlyExpected,[o.CurlyR,o.SemiColon])}_parseBody(e,t){return e.setDeclarations(this._parseDeclarations(t))?this.finish(e):this.finish(e,lr.LeftCurlyExpected,[o.CurlyR,o.SemiColon])}_parseSelector(e){const t=this.create(Ce);let n=!1;for(e&&(n=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());)n=!0,t.addChild(this._parseCombinator());return n?this.finish(t):null}_parseDeclaration(e){const t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;const n=this.create(xe);return n.setProperty(this._parseProperty())?this.accept(o.Colon)?(this.prevToken&&(n.colonPosition=this.prevToken.offset),n.setValue(this._parseExpr())?(n.addChild(this._parsePrio()),this.peek(o.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)):this.finish(n,lr.PropertyValueExpected)):this.finish(n,lr.ColonExpected,[o.Colon],e||[o.SemiColon]):null}_tryParseCustomPropertyDeclaration(e){if(!this.peekRegExp(o.Ident,/^--/))return null;const t=this.create(Ee);if(!t.setProperty(this._parseProperty()))return null;if(!this.accept(o.Colon))return this.finish(t,lr.ColonExpected,[o.Colon]);this.prevToken&&(t.colonPosition=this.prevToken.offset);const n=this.mark();if(this.peek(o.CurlyL)){const e=this.create(Se),i=this._parseDeclarations(this._parseRuleSetDeclaration.bind(this));if(e.setDeclarations(i)&&!i.isErroneous(!0)&&(e.addChild(this._parsePrio()),this.peek(o.SemiColon)))return this.finish(e),t.setPropertySet(e),t.semicolonPosition=this.token.offset,this.finish(t);this.restoreAtMark(n)}const i=this._parseExpr();return i&&!i.isErroneous(!0)&&(this._parsePrio(),this.peekOne(...e||[],o.SemiColon,o.EOF))?(t.setValue(i),this.peek(o.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)):(this.restoreAtMark(n),t.addChild(this._parseCustomPropertyValue(e)),t.addChild(this._parsePrio()),rs(t.colonPosition)&&this.token.offset===t.colonPosition+1?this.finish(t,lr.PropertyValueExpected):this.finish(t))}_parseCustomPropertyValue(e=[o.CurlyR]){const t=this.create(pe),n=()=>-1!==e.indexOf(this.token.type);let i=0,r=0,s=0;e:for(;;){switch(this.token.type){case o.SemiColon:case o.Exclamation:if(0===i&&0===r&&0===s)break e;break;case o.CurlyL:i++;break;case o.CurlyR:if(i--,i<0){if(n()&&0===r&&0===s)break e;return this.finish(t,lr.LeftCurlyExpected)}break;case o.ParenthesisL:r++;break;case o.ParenthesisR:if(r--,r<0){if(n()&&0===s&&0===i)break e;return this.finish(t,lr.LeftParenthesisExpected)}break;case o.BracketL:s++;break;case o.BracketR:if(s--,s<0)return this.finish(t,lr.LeftSquareBracketExpected);break;case o.BadString:break e;case o.EOF:let e=lr.RightCurlyExpected;return s>0?e=lr.RightSquareBracketExpected:r>0&&(e=lr.RightParenthesisExpected),this.finish(t,e)}this.consumeToken()}return this.finish(t)}_tryToParseDeclaration(e){const t=this.mark();return this._parseProperty()&&this.accept(o.Colon)?(this.restoreAtMark(t),this._parseDeclaration(e)):(this.restoreAtMark(t),null)}_parseProperty(){const e=this.create(Fe),t=this.mark();return(this.acceptDelim("*")||this.acceptDelim("_"))&&this.hasWhitespace()?(this.restoreAtMark(t),null):e.setIdentifier(this._parsePropertyIdentifier())?this.finish(e):null}_parsePropertyIdentifier(){return this._parseIdent()}_parseCharset(){if(!this.peek(o.Charset))return null;const e=this.create(pe);return this.consumeToken(),this.accept(o.String)?this.accept(o.SemiColon)?this.finish(e):this.finish(e,lr.SemiColonExpected):this.finish(e,lr.IdentifierExpected)}_parseImport(){if(!this.peekKeyword("@import"))return null;const e=this.create(qe);return this.consumeToken(),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?this._completeParseImport(e):this.finish(e,lr.URIOrStringExpected)}_completeParseImport(e){if(this.acceptIdent("layer")&&this.accept(o.ParenthesisL)){if(!e.addChild(this._parseLayerName()))return this.finish(e,lr.IdentifierExpected,[o.SemiColon]);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[o.ParenthesisR],[])}return this.acceptIdent("supports")&&this.accept(o.ParenthesisL)&&(e.addChild(this._tryToParseDeclaration()||this._parseSupportsCondition()),!this.accept(o.ParenthesisR))?this.finish(e,lr.RightParenthesisExpected,[o.ParenthesisR],[]):(this.peek(o.SemiColon)||this.peek(o.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e))}_parseNamespace(){if(!this.peekKeyword("@namespace"))return null;const e=this.create(Ge);return this.consumeToken(),e.addChild(this._parseURILiteral())||(e.addChild(this._parseIdent()),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral()))?this.accept(o.SemiColon)?this.finish(e):this.finish(e,lr.SemiColonExpected):this.finish(e,lr.URIExpected,[o.SemiColon])}_parseFontFace(){if(!this.peekKeyword("@font-face"))return null;const e=this.create(Be);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parseViewPort(){if(!this.peekKeyword("@-ms-viewport")&&!this.peekKeyword("@-o-viewport")&&!this.peekKeyword("@viewport"))return null;const e=this.create(Pe);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parseKeyframe(){if(!this.peekRegExp(o.AtKeyword,this.keyframeRegex))return null;const e=this.create(Ve),t=this.create(pe);return this.consumeToken(),e.setKeyword(this.finish(t)),t.matches("@-ms-keyframes")&&this.markError(t,lr.UnknownKeyword),e.setIdentifier(this._parseKeyframeIdent())?this._parseBody(e,this._parseKeyframeSelector.bind(this)):this.finish(e,lr.IdentifierExpected,[o.CurlyR])}_parseKeyframeIdent(){return this._parseIdent([ne.Keyframe])}_parseKeyframeSelector(){const e=this.create(Ue);let t=!1;if(e.addChild(this._parseIdent())&&(t=!0),this.accept(o.Percentage)&&(t=!0),!t)return null;for(;this.accept(o.Comma);)if(t=!1,e.addChild(this._parseIdent())&&(t=!0),this.accept(o.Percentage)&&(t=!0),!t)return this.finish(e,lr.PercentageExpected);return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_tryParseKeyframeSelector(){const e=this.create(Ue),t=this.mark();let n=!1;if(e.addChild(this._parseIdent())&&(n=!0),this.accept(o.Percentage)&&(n=!0),!n)return null;for(;this.accept(o.Comma);)if(n=!1,e.addChild(this._parseIdent())&&(n=!0),this.accept(o.Percentage)&&(n=!0),!n)return this.restoreAtMark(t),null;return this.peek(o.CurlyL)?this._parseBody(e,this._parseRuleSetDeclaration.bind(this)):(this.restoreAtMark(t),null)}_parsePropertyAtRule(){if(!this.peekKeyword("@property"))return null;const e=this.create(Ye);return this.consumeToken(),this.peekRegExp(o.Ident,/^--/)&&e.setName(this._parseIdent([ne.Property]))?this._parseBody(e,this._parseDeclaration.bind(this)):this.finish(e,lr.IdentifierExpected)}_parseLayer(e=!1){if(!this.peekKeyword("@layer"))return null;const t=this.create(Xe);this.consumeToken();const n=this._parseLayerNameList();return n&&t.setNames(n),n&&1!==n.getChildren().length||!this.peek(o.CurlyL)?this.accept(o.SemiColon)?this.finish(t):this.finish(t,lr.SemiColonExpected):this._parseBody(t,this._parseLayerDeclaration.bind(this,e))}_parseLayerDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseLayerNameList(){const e=this.createNode(ee.LayerNameList);if(!e.addChild(this._parseLayerName()))return null;for(;this.accept(o.Comma);)if(!e.addChild(this._parseLayerName()))return this.finish(e,lr.IdentifierExpected);return this.finish(e)}_parseLayerName(){const e=this.createNode(ee.LayerName);if(!e.addChild(this._parseIdent()))return null;for(;!this.hasWhitespace()&&this.acceptDelim(".");)if(this.hasWhitespace()||!e.addChild(this._parseIdent()))return this.finish(e,lr.IdentifierExpected);return this.finish(e)}_parseSupports(e=!1){if(!this.peekKeyword("@supports"))return null;const t=this.create(Qe);return this.consumeToken(),t.addChild(this._parseSupportsCondition()),this._parseBody(t,this._parseSupportsDeclaration.bind(this,e))}_parseSupportsDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseSupportsCondition(){const e=this.create(st);if(this.acceptIdent("not"))e.addChild(this._parseSupportsConditionInParens());else if(e.addChild(this._parseSupportsConditionInParens()),this.peekRegExp(o.Ident,/^(and|or)$/i)){const t=this.token.text.toLowerCase();for(;this.acceptIdent(t);)e.addChild(this._parseSupportsConditionInParens())}return this.finish(e)}_parseSupportsConditionInParens(){const e=this.create(st);if(this.accept(o.ParenthesisL))return this.prevToken&&(e.lParent=this.prevToken.offset),e.addChild(this._tryToParseDeclaration([o.ParenthesisR]))||this._parseSupportsCondition()?this.accept(o.ParenthesisR)?(this.prevToken&&(e.rParent=this.prevToken.offset),this.finish(e)):this.finish(e,lr.RightParenthesisExpected,[o.ParenthesisR],[]):this.finish(e,lr.ConditionExpected);if(this.peek(o.Ident)){const t=this.mark();if(this.consumeToken(),!this.hasWhitespace()&&this.accept(o.ParenthesisL)){let t=1;for(;this.token.type!==o.EOF&&0!==t;)this.token.type===o.ParenthesisL?t++:this.token.type===o.ParenthesisR&&t--,this.consumeToken();return this.finish(e)}this.restoreAtMark(t)}return this.finish(e,lr.LeftParenthesisExpected,[],[o.ParenthesisL])}_parseMediaDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseMedia(e=!1){if(!this.peekKeyword("@media"))return null;const t=this.create(Je);return this.consumeToken(),t.addChild(this._parseMediaQueryList())?this._parseBody(t,this._parseMediaDeclaration.bind(this,e)):this.finish(t,lr.MediaQueryExpected)}_parseMediaQueryList(){const e=this.create(tt);if(!e.addChild(this._parseMediaQuery()))return this.finish(e,lr.MediaQueryExpected);for(;this.accept(o.Comma);)if(!e.addChild(this._parseMediaQuery()))return this.finish(e,lr.MediaQueryExpected);return this.finish(e)}_parseMediaQuery(){const e=this.create(nt),t=this.mark();if(this.acceptIdent("not"),this.peek(o.ParenthesisL))this.restoreAtMark(t),e.addChild(this._parseMediaCondition());else{if(this.acceptIdent("only"),!e.addChild(this._parseIdent()))return null;this.acceptIdent("and")&&e.addChild(this._parseMediaCondition())}return this.finish(e)}_parseRatio(){const e=this.mark(),t=this.create(pt);return this._parseNumeric()?this.acceptDelim("/")?this._parseNumeric()?this.finish(t):this.finish(t,lr.NumberExpected):(this.restoreAtMark(e),null):null}_parseMediaCondition(){const e=this.create(it);this.acceptIdent("not");let t=!0;for(;t;){if(!this.accept(o.ParenthesisL))return this.finish(e,lr.LeftParenthesisExpected,[],[o.CurlyL]);if(this.peek(o.ParenthesisL)||this.peekIdent("not")?e.addChild(this._parseMediaCondition()):e.addChild(this._parseMediaFeature()),!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[],[o.CurlyL]);t=this.acceptIdent("and")||this.acceptIdent("or")}return this.finish(e)}_parseMediaFeature(){const e=[o.ParenthesisR],t=this.create(rt);if(t.addChild(this._parseMediaFeatureName())){if(this.accept(o.Colon)){if(!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,lr.TermExpected,[],e)}else if(this._parseMediaFeatureRangeOperator()){if(!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,lr.TermExpected,[],e);if(this._parseMediaFeatureRangeOperator()&&!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,lr.TermExpected,[],e)}}else{if(!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,lr.IdentifierExpected,[],e);if(!this._parseMediaFeatureRangeOperator())return this.finish(t,lr.OperatorExpected,[],e);if(!t.addChild(this._parseMediaFeatureName()))return this.finish(t,lr.IdentifierExpected,[],e);if(this._parseMediaFeatureRangeOperator()&&!t.addChild(this._parseMediaFeatureValue()))return this.finish(t,lr.TermExpected,[],e)}return this.finish(t)}_parseMediaFeatureRangeOperator(){return this.acceptDelim("<")||this.acceptDelim(">")?(this.hasWhitespace()||this.acceptDelim("="),!0):!!this.acceptDelim("=")}_parseMediaFeatureName(){return this._parseIdent()}_parseMediaFeatureValue(){return this._parseRatio()||this._parseTermExpression()}_parseMedium(){const e=this.create(pe);return e.addChild(this._parseIdent())?this.finish(e):null}_parsePageDeclaration(){return this._parsePageMarginBox()||this._parseRuleSetDeclaration()}_parsePage(){if(!this.peekKeyword("@page"))return null;const e=this.create(ot);if(this.consumeToken(),e.addChild(this._parsePageSelector()))for(;this.accept(o.Comma);)if(!e.addChild(this._parsePageSelector()))return this.finish(e,lr.IdentifierExpected);return this._parseBody(e,this._parsePageDeclaration.bind(this))}_parsePageMarginBox(){if(!this.peek(o.AtKeyword))return null;const e=this.create(at);return this.acceptOneKeyword(ns)||this.markError(e,lr.UnknownAtRule,[],[o.CurlyL]),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parsePageSelector(){if(!this.peek(o.Ident)&&!this.peek(o.Colon))return null;const e=this.create(pe);return e.addChild(this._parseIdent()),this.accept(o.Colon)&&!e.addChild(this._parseIdent())?this.finish(e,lr.IdentifierExpected):this.finish(e)}_parseDocument(){if(!this.peekKeyword("@-moz-document"))return null;const e=this.create(Ze);return this.consumeToken(),this.resync([],[o.CurlyL]),this._parseBody(e,this._parseStylesheetStatement.bind(this))}_parseContainerDeclaration(e=!1){return e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)}_parseContainer(e=!1){if(!this.peekKeyword("@container"))return null;const t=this.create(et);return this.consumeToken(),t.addChild(this._parseIdent()),t.addChild(this._parseContainerQuery()),this._parseBody(t,this._parseContainerDeclaration.bind(this,e))}_parseContainerQuery(){const e=this.create(pe);if(this.acceptIdent("not"))e.addChild(this._parseContainerQueryInParens());else if(e.addChild(this._parseContainerQueryInParens()),this.peekIdent("and"))for(;this.acceptIdent("and");)e.addChild(this._parseContainerQueryInParens());else if(this.peekIdent("or"))for(;this.acceptIdent("or");)e.addChild(this._parseContainerQueryInParens());return this.finish(e)}_parseContainerQueryInParens(){const e=this.create(pe);if(this.accept(o.ParenthesisL)){if(this.peekIdent("not")||this.peek(o.ParenthesisL)?e.addChild(this._parseContainerQuery()):e.addChild(this._parseMediaFeature()),!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[],[o.CurlyL])}else{if(!this.acceptIdent("style"))return this.finish(e,lr.LeftParenthesisExpected,[],[o.CurlyL]);if(this.hasWhitespace()||!this.accept(o.ParenthesisL))return this.finish(e,lr.LeftParenthesisExpected,[],[o.CurlyL]);if(e.addChild(this._parseStyleQuery()),!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[],[o.CurlyL])}return this.finish(e)}_parseStyleQuery(){const e=this.create(pe);if(this.acceptIdent("not"))e.addChild(this._parseStyleInParens());else if(this.peek(o.ParenthesisL)){if(e.addChild(this._parseStyleInParens()),this.peekIdent("and"))for(;this.acceptIdent("and");)e.addChild(this._parseStyleInParens());else if(this.peekIdent("or"))for(;this.acceptIdent("or");)e.addChild(this._parseStyleInParens())}else e.addChild(this._parseDeclaration([o.ParenthesisR]));return this.finish(e)}_parseStyleInParens(){const e=this.create(pe);return this.accept(o.ParenthesisL)?(e.addChild(this._parseStyleQuery()),this.accept(o.ParenthesisR)?this.finish(e):this.finish(e,lr.RightParenthesisExpected,[],[o.CurlyL])):this.finish(e,lr.LeftParenthesisExpected,[],[o.CurlyL])}_parseUnknownAtRule(){if(!this.peek(o.AtKeyword))return null;const e=this.create(Et);e.addChild(this._parseUnknownAtRuleName());let t=0,n=0,i=0,r=0;e:for(;;){switch(this.token.type){case o.SemiColon:if(0===n&&0===i&&0===r)break e;break;case o.EOF:return n>0?this.finish(e,lr.RightCurlyExpected):r>0?this.finish(e,lr.RightSquareBracketExpected):i>0?this.finish(e,lr.RightParenthesisExpected):this.finish(e);case o.CurlyL:t++,n++;break;case o.CurlyR:if(n--,t>0&&0===n){if(this.consumeToken(),r>0)return this.finish(e,lr.RightSquareBracketExpected);if(i>0)return this.finish(e,lr.RightParenthesisExpected);break e}if(n<0){if(0===i&&0===r)break e;return this.finish(e,lr.LeftCurlyExpected)}break;case o.ParenthesisL:i++;break;case o.ParenthesisR:if(i--,i<0)return this.finish(e,lr.LeftParenthesisExpected);break;case o.BracketL:r++;break;case o.BracketR:if(r--,r<0)return this.finish(e,lr.LeftSquareBracketExpected)}this.consumeToken()}return e}_parseUnknownAtRuleName(){const e=this.create(pe);return this.accept(o.AtKeyword)?this.finish(e):e}_parseOperator(){if(this.peekDelim("/")||this.peekDelim("*")||this.peekDelim("+")||this.peekDelim("-")||this.peek(o.Dashmatch)||this.peek(o.Includes)||this.peek(o.SubstringOperator)||this.peek(o.PrefixOperator)||this.peek(o.SuffixOperator)||this.peekDelim("=")){const e=this.createNode(ee.Operator);return this.consumeToken(),this.finish(e)}return null}_parseUnaryOperator(){if(!this.peekDelim("+")&&!this.peekDelim("-"))return null;const e=this.create(pe);return this.consumeToken(),this.finish(e)}_parseCombinator(){if(this.peekDelim(">")){const e=this.create(pe);this.consumeToken();const t=this.mark();if(!this.hasWhitespace()&&this.acceptDelim(">")){if(!this.hasWhitespace()&&this.acceptDelim(">"))return e.type=ee.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return e.type=ee.SelectorCombinatorParent,this.finish(e)}if(this.peekDelim("+")){const e=this.create(pe);return this.consumeToken(),e.type=ee.SelectorCombinatorSibling,this.finish(e)}if(this.peekDelim("~")){const e=this.create(pe);return this.consumeToken(),e.type=ee.SelectorCombinatorAllSiblings,this.finish(e)}if(this.peekDelim("/")){const e=this.create(pe);this.consumeToken();const t=this.mark();if(!this.hasWhitespace()&&this.acceptIdent("deep")&&!this.hasWhitespace()&&this.acceptDelim("/"))return e.type=ee.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return null}_parseSimpleSelector(){const e=this.create(_e);let t=0;for(e.addChild(this._parseElementName()||this._parseNestingSelector())&&t++;(0===t||!this.hasWhitespace())&&e.addChild(this._parseSimpleSelectorBody());)t++;return t>0?this.finish(e):null}_parseNestingSelector(){if(this.peekDelim("&")){const e=this.createNode(ee.SelectorCombinator);return this.consumeToken(),this.finish(e)}return null}_parseSimpleSelectorBody(){return this._parsePseudo()||this._parseHash()||this._parseClass()||this._parseAttrib()}_parseSelectorIdent(){return this._parseIdent()}_parseHash(){if(!this.peek(o.Hash)&&!this.peekDelim("#"))return null;const e=this.createNode(ee.IdentifierSelector);if(this.acceptDelim("#")){if(this.hasWhitespace()||!e.addChild(this._parseSelectorIdent()))return this.finish(e,lr.IdentifierExpected)}else this.consumeToken();return this.finish(e)}_parseClass(){if(!this.peekDelim("."))return null;const e=this.createNode(ee.ClassSelector);return this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseSelectorIdent())?this.finish(e,lr.IdentifierExpected):this.finish(e)}_parseElementName(){const e=this.mark(),t=this.createNode(ee.ElementNameSelector);return t.addChild(this._parseNamespacePrefix()),t.addChild(this._parseSelectorIdent())||this.acceptDelim("*")?this.finish(t):(this.restoreAtMark(e),null)}_parseNamespacePrefix(){const e=this.mark(),t=this.createNode(ee.NamespacePrefix);return!t.addChild(this._parseIdent())&&this.acceptDelim("*"),this.acceptDelim("|")?this.finish(t):(this.restoreAtMark(e),null)}_parseAttrib(){if(!this.peek(o.BracketL))return null;const e=this.create(dt);return this.consumeToken(),e.setNamespacePrefix(this._parseNamespacePrefix()),e.setIdentifier(this._parseIdent())?(e.setOperator(this._parseOperator())&&(e.setValue(this._parseBinaryExpr()),this.acceptIdent("i"),this.acceptIdent("s")),this.accept(o.BracketR)?this.finish(e):this.finish(e,lr.RightSquareBracketExpected)):this.finish(e,lr.IdentifierExpected)}_parsePseudo(){const e=this._tryParsePseudoIdentifier();if(e){if(!this.hasWhitespace()&&this.accept(o.ParenthesisL)){const t=()=>{const e=this.create(pe);if(!e.addChild(this._parseSelector(!0)))return null;for(;this.accept(o.Comma)&&e.addChild(this._parseSelector(!0)););return this.peek(o.ParenthesisR)?this.finish(e):null};if(!e.addChild(this.try(t))&&e.addChild(this._parseBinaryExpr())&&this.acceptIdent("of")&&!e.addChild(this.try(t)))return this.finish(e,lr.SelectorExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected)}return this.finish(e)}return null}_tryParsePseudoIdentifier(){if(!this.peek(o.Colon))return null;const e=this.mark(),t=this.createNode(ee.PseudoSelector);return this.consumeToken(),this.hasWhitespace()?(this.restoreAtMark(e),null):(this.accept(o.Colon),this.hasWhitespace()||!t.addChild(this._parseIdent())?this.finish(t,lr.IdentifierExpected):this.finish(t))}_tryParsePrio(){const e=this.mark();return this._parsePrio()||(this.restoreAtMark(e),null)}_parsePrio(){if(!this.peek(o.Exclamation))return null;const e=this.createNode(ee.Prio);return this.accept(o.Exclamation)&&this.acceptIdent("important")?this.finish(e):null}_parseExpr(e=!1){const t=this.create(lt);if(!t.addChild(this._parseBinaryExpr()))return null;for(;;){if(this.peek(o.Comma)){if(e)return this.finish(t);this.consumeToken()}if(!t.addChild(this._parseBinaryExpr()))break}return this.finish(t)}_parseUnicodeRange(){if(!this.peekIdent("u"))return null;const e=this.create(fe);return this.acceptUnicodeRange()?this.finish(e):null}_parseNamedLine(){if(!this.peek(o.BracketL))return null;const e=this.createNode(ee.GridLine);for(this.consumeToken();e.addChild(this._parseIdent()););return this.accept(o.BracketR)?this.finish(e):this.finish(e,lr.RightSquareBracketExpected)}_parseBinaryExpr(e,t){let n=this.create(ct);if(!n.setLeft(e||this._parseTerm()))return null;if(!n.setOperator(t||this._parseOperator()))return this.finish(n);if(!n.setRight(this._parseTerm()))return this.finish(n,lr.TermExpected);n=this.finish(n);const i=this._parseOperator();return i&&(n=this._parseBinaryExpr(n,i)),this.finish(n)}_parseTerm(){let e=this.create(ht);return e.setOperator(this._parseUnaryOperator()),e.setExpression(this._parseTermExpression())?this.finish(e):null}_parseTermExpression(){return this._parseURILiteral()||this._parseUnicodeRange()||this._parseFunction()||this._parseIdent()||this._parseStringLiteral()||this._parseNumeric()||this._parseHexColor()||this._parseOperation()||this._parseNamedLine()}_parseOperation(){if(!this.peek(o.ParenthesisL))return null;const e=this.create(pe);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(o.ParenthesisR)?this.finish(e):this.finish(e,lr.RightParenthesisExpected)}_parseNumeric(){if(this.peek(o.Num)||this.peek(o.Percentage)||this.peek(o.Resolution)||this.peek(o.Length)||this.peek(o.EMS)||this.peek(o.EXS)||this.peek(o.Angle)||this.peek(o.Time)||this.peek(o.Dimension)||this.peek(o.ContainerQueryLength)||this.peek(o.Freq)){const e=this.create(bt);return this.consumeToken(),this.finish(e)}return null}_parseStringLiteral(){if(!this.peek(o.String)&&!this.peek(o.BadString))return null;const e=this.createNode(ee.StringLiteral);return this.consumeToken(),this.finish(e)}_parseURILiteral(){if(!this.peekRegExp(o.Ident,/^url(-prefix)?$/i))return null;const e=this.mark(),t=this.createNode(ee.URILiteral);return this.accept(o.Ident),this.hasWhitespace()||!this.peek(o.ParenthesisL)?(this.restoreAtMark(e),null):(this.scanner.inURL=!0,this.consumeToken(),t.addChild(this._parseURLArgument()),this.scanner.inURL=!1,this.accept(o.ParenthesisR)?this.finish(t):this.finish(t,lr.RightParenthesisExpected))}_parseURLArgument(){const e=this.create(pe);return this.accept(o.String)||this.accept(o.BadString)||this.acceptUnquotedString()?this.finish(e):null}_parseIdent(e){if(!this.peek(o.Ident))return null;const t=this.create(ge);return e&&(t.referenceTypes=e),t.isCustomProperty=this.peekRegExp(o.Ident,/^--/),this.consumeToken(),this.finish(t)}_parseFunction(){const e=this.mark(),t=this.create(Le);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(o.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)t.getArguments().addChild(this._parseFunctionArgument())||this.markError(t,lr.ExpressionExpected);return this.accept(o.ParenthesisR)?this.finish(t):this.finish(t,lr.RightParenthesisExpected)}_parseFunctionIdentifier(){if(!this.peek(o.Ident))return null;const e=this.create(ge);if(e.referenceTypes=[ne.Function],this.acceptIdent("progid")){if(this.accept(o.Colon))for(;this.accept(o.Ident)&&this.acceptDelim("."););return this.finish(e)}return this.consumeToken(),this.finish(e)}_parseFunctionArgument(){const e=this.create(Te);return e.setValue(this._parseExpr(!0))?this.finish(e):null}_parseHexColor(){if(this.peekRegExp(o.Hash,/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g)){const e=this.create(ut);return this.consumeToken(),this.finish(e)}return null}};function os(e,t){return-1!==e.indexOf(t)}function as(...e){const t=[];for(const n of e)for(const e of n)os(t,e)||t.push(e);return t}var ls,cs=class{constructor(e,t){this.offset=e,this.length=t,this.symbols=[],this.parent=null,this.children=[]}addChild(e){this.children.push(e),e.setParent(this)}setParent(e){this.parent=e}findScope(e,t=0){return this.offset<=e&&this.offset+this.length>e+t||this.offset===e&&this.length===t?this.findInScope(e,t):null}findInScope(e,t=0){const n=e+t,i=function(e){let t=0,i=e.length;if(0===i)return 0;for(;tn?i=r:t=r+1}return t}(this.children);if(0===i)return this;const r=this.children[i-1];return r.offset<=e&&r.offset+r.length>=e+t?r.findInScope(e,t):this}addSymbol(e){this.symbols.push(e)}getSymbol(e,t){for(let n=0;n{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+d))return n.slice(a+d+1);if(0===d)return n.slice(a+d)}else o>c&&(47===e.charCodeAt(r+d)?h=d:0===d&&(h=0));break}var u=e.charCodeAt(r+d);if(u!==n.charCodeAt(a+d))break;47===u&&(h=d)}var p="";for(d=r+h+1;d<=s;++d)d!==s&&47!==e.charCodeAt(d)||(0===p.length?p+="..":p+="/..");return p.length>0?p+n.slice(a+h):(a+=h,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return n=(t=e).dir||t.root,i=t.base||(t.name||"")+(t.ext||""),n?n===t.root?n+i:n+"/"+i:i;var t,n,i},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,h=e.length-1,d=0;h>=i;--h)if(47!==(r=e.charCodeAt(h)))-1===l&&(c=!1,l=h+1),46===r?-1===o?o=h:1!==d&&(d=1):-1!==o&&(d=-1);else if(!c){a=h+1;break}return-1===o||-1===l||0===d||1===d&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};(()=>{let e;if(n.r(i),n.d(i,{URI:()=>h,Utils:()=>S}),"object"==typeof process)e="win32"===process.platform;else if("object"==typeof navigator){let t=navigator.userAgent;e=t.indexOf("Windows")>=0}const t=/^\w[\w\d+.-]*$/,r=/^\//,s=/^\/\//;function o(e,n){if(!e.scheme&&n)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!r.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(s.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}const a="",l="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static isUri(e){return e instanceof h||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,n,i,r,s=!1){"object"==typeof e?(this.scheme=e.scheme||a,this.authority=e.authority||a,this.path=e.path||a,this.query=e.query||a,this.fragment=e.fragment||a):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||a,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==l&&(t=l+t):t=l}return t}(this.scheme,n||a),this.query=i||a,this.fragment=r||a,o(this,s))}get fsPath(){return g(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:i,query:r,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=a),void 0===n?n=this.authority:null===n&&(n=a),void 0===i?i=this.path:null===i&&(i=a),void 0===r?r=this.query:null===r&&(r=a),void 0===s?s=this.fragment:null===s&&(s=a),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new u(t,n,i,r,s)}static parse(e,t=!1){const n=c.exec(e);return n?new u(n[2]||a,y(n[4]||a),y(n[5]||a),y(n[7]||a),y(n[9]||a),t):new u(a,a,a,a,a)}static file(t){let n=a;if(e&&(t=t.replace(/\\/g,l)),t[0]===l&&t[1]===l){const e=t.indexOf(l,2);-1===e?(n=t.substring(2),t=l):(n=t.substring(2,e),t=t.substring(e)||l)}return new u("file",n,t,a,a)}static from(e){const t=new u(e.scheme,e.authority,e.path,e.query,e.fragment);return o(t,!0),t}toString(e=!1){return b(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof h)return e;{const t=new u(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}const d=e?1:void 0;class u extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=g(this,!1)),this._fsPath}toString(e=!1){return e?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const p={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 m(e,t,n){let i,r=-1;for(let s=0;s=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),void 0!==i&&(i+=e.charAt(s));else{void 0===i&&(i=e.substr(0,s));const t=p[o];void 0!==t?(-1!==r&&(i+=encodeURIComponent(e.substring(r,s)),r=-1),i+=t):-1===r&&(r=s)}}return-1!==r&&(i+=encodeURIComponent(e.substring(r))),void 0!==i?i:e}function f(e){let t;for(let n=0;n1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?n?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(i=i.replace(/\//g,"\\")),i}function b(e,t){const n=t?f:m;let i="",{scheme:r,authority:s,path:o,query:a,fragment:c}=e;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=l,i+=l),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?i+=n(t,!1,!1):(i+=n(t.substr(0,e),!1,!1),i+=":",i+=n(t.substr(e+1),!1,!0)),i+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?i+=n(s,!1,!0):(i+=n(s.substr(0,e),!1,!0),i+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}i+=n(o,!0,!1)}return a&&(i+="?",i+=n(a,!1,!1)),c&&(i+="#",i+=t?c:m(c,!1,!1)),i}function v(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+v(e.substr(3)):e}}const w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function y(e){return e.match(w)?e.replace(w,(e=>v(e))):e}var C=n(470);const _=C.posix||C,k="/";var S,x;(x=S||(S={})).joinPath=function(e,...t){return e.with({path:_.join(e.path,...t)})},x.resolvePath=function(e,...t){let n=e.path,i=!1;n[0]!==k&&(n=k+n,i=!0);let r=_.resolve(n,...t);return i&&r[0]===k&&!e.authority&&(r=r.substring(1)),e.with({path:r})},x.dirname=function(e){if(0===e.path.length||e.path===k)return e;let t=_.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},x.basename=function(e){return _.basename(e.path)},x.extname=function(e){return _.extname(e.path)}})(),ls=i})();var{URI:ms,Utils:fs}=ls;function gs(e){return fs.dirname(ms.parse(e)).toString(!0)}function bs(e,...t){return fs.joinPath(ms.parse(e),...t).toString(!0)}var vs=class{constructor(e){this.readDirectory=e,this.literalCompletions=[],this.importCompletions=[]}onCssURILiteralValue(e){this.literalCompletions.push(e)}onCssImportPath(e){this.importCompletions.push(e)}async computeCompletions(e,t){const n={items:[],isIncomplete:!1};for(const i of this.literalCompletions){const r=i.uriValue,s=ys(r);if("."===s||".."===s)n.isIncomplete=!0;else{const s=await this.providePathSuggestions(r,i.position,i.range,e,t);for(let e of s)n.items.push(e)}}for(const i of this.importCompletions){const r=i.pathValue,s=ys(r);if("."===s||".."===s)n.isIncomplete=!0;else{let s=await this.providePathSuggestions(r,i.position,i.range,e,t);"scss"===e.languageId&&s.forEach((e=>{se(e.label,"_")&&oe(e.label,".scss")&&(e.textEdit?e.textEdit.newText=e.label.slice(1,-5):e.label=e.label.slice(1,-5))}));for(let e of s)n.items.push(e)}}return n}async providePathSuggestions(e,t,n,i,r){const s=ys(e),o=se(e,"'")||se(e,'"'),a=o?s.slice(0,t.character-(n.start.character+1)):s.slice(0,t.character-n.start.character),l=i.uri,c=function(e,t,n){let i;const r=e.lastIndexOf("/");if(-1===r)i=n;else{const e=t.slice(r+1),s=ks(n.end,-e.length),o=e.indexOf(" ");let a;a=-1!==o?ks(s,o):n.end,i=qt.create(s,a)}return i}(a,s,o?function(e){const t=ks(e.start,1),n=ks(e.end,-1);return qt.create(t,n)}(n):n),h=a.substring(0,a.lastIndexOf("/")+1);let d=r.resolveReference(h||".",l);if(d)try{const e=[],t=await this.readDirectory(d);for(const[n,i]of t)n.charCodeAt(0)===ws||i!==mr.Directory&&bs(d,n)===l||e.push(Cs(n,i===mr.Directory,c));return e}catch(e){}return[]}},ws=".".charCodeAt(0);function ys(e){return se(e,"'")||se(e,'"')?e.slice(1,-1):e}function Cs(e,t,n){return t?{label:_s(e+="/"),kind:$n.Folder,textEdit:bn.replace(n,_s(e)),command:{title:"Suggest",command:"editor.action.triggerSuggest"}}:{label:_s(e),kind:$n.File,textEdit:bn.replace(n,_s(e))}}function _s(e){return e.replace(/(\s|\(|\)|,|"|')/g,"\\$1")}function ks(e,t){return Vt.create(e.line,e.character+t)}var Ss,xs,Es=Kn.Snippet,Fs={title:"Suggest",command:"editor.action.triggerSuggest"};(xs=Ss||(Ss={})).Enums=" ",xs.Normal="d",xs.VendorPrefixed="x",xs.Term="y",xs.Variable="z";var Is=class{constructor(e=null,t,n){this.variablePrefix=e,this.lsOptions=t,this.cssDataManager=n,this.completionParticipants=[]}configure(e){this.defaultSettings=e}getSymbolContext(){return this.symbolContext||(this.symbolContext=new ps(this.styleSheet)),this.symbolContext}setCompletionParticipants(e){this.completionParticipants=e||[]}async doComplete2(e,t,n,i,r=this.defaultSettings){if(!this.lsOptions.fileSystemProvider||!this.lsOptions.fileSystemProvider.readDirectory)return this.doComplete(e,t,n,r);const s=new vs(this.lsOptions.fileSystemProvider.readDirectory),o=this.completionParticipants;this.completionParticipants=[s].concat(o);const a=this.doComplete(e,t,n,r);try{const t=await s.computeCompletions(e,i);return{isIncomplete:a.isIncomplete||t.isIncomplete,itemDefaults:a.itemDefaults,items:t.items.concat(a.items)}}finally{this.completionParticipants=o}}doComplete(e,t,n,i){this.offset=e.offsetAt(t),this.position=t,this.currentWord=function(e,t){let n=t-1;const i=e.getText();for(;n>=0&&-1===' \t\n\r":{[()]},*>+'.indexOf(i.charAt(n));)n--;return i.substring(n+1,t)}(e,this.offset),this.defaultReplaceRange=qt.create(Vt.create(this.position.line,this.position.character-this.currentWord.length),this.position),this.textDocument=e,this.styleSheet=n,this.documentSettings=i;try{const e={isIncomplete:!1,itemDefaults:{editRange:{start:{line:t.line,character:t.character-this.currentWord.length},end:t}},items:[]};this.nodePath=he(this.styleSheet,this.offset);for(let t=this.nodePath.length-1;t>=0;t--){const n=this.nodePath[t];if(n instanceof Fe)this.getCompletionsForDeclarationProperty(n.getParent(),e);else if(n instanceof lt)n.parent instanceof wt?this.getVariableProposals(null,e):this.getCompletionsForExpression(n,e);else if(n instanceof _e){const t=n.findAParent(ee.ExtendsReference,ee.Ruleset);if(t)if(t.type===ee.ExtendsReference)this.getCompletionsForExtendsReference(t,n,e);else{const n=t;this.getCompletionsForSelector(n,n&&n.isNested(),e)}}else if(n instanceof Te)this.getCompletionsForFunctionArgument(n,n.getParent(),e);else if(n instanceof ve)this.getCompletionsForDeclarations(n,e);else if(n instanceof vt)this.getCompletionsForVariableDeclaration(n,e);else if(n instanceof ye)this.getCompletionsForRuleSet(n,e);else if(n instanceof wt)this.getCompletionsForInterpolation(n,e);else if(n instanceof ze)this.getCompletionsForFunctionDeclaration(n,e);else if(n instanceof St)this.getCompletionsForMixinReference(n,e);else if(n instanceof Le)this.getCompletionsForFunctionArgument(null,n,e);else if(n instanceof Qe)this.getCompletionsForSupports(n,e);else if(n instanceof st)this.getCompletionsForSupportsCondition(n,e);else if(n instanceof Ct)this.getCompletionsForExtendsReference(n,null,e);else if(n.type===ee.URILiteral)this.getCompletionForUriLiteralValue(n,e);else if(null===n.parent)this.getCompletionForTopLevel(e);else{if(n.type!==ee.StringLiteral||!this.isImportPathParent(n.parent.type))continue;this.getCompletionForImportPath(n,e)}if(e.items.length>0||this.offset>n.offset)return this.finalize(e)}return this.getCompletionsForStylesheet(e),0===e.items.length&&this.variablePrefix&&0===this.currentWord.indexOf(this.variablePrefix)&&this.getVariableProposals(null,e),this.finalize(e)}finally{this.position=null,this.currentWord=null,this.textDocument=null,this.styleSheet=null,this.symbolContext=null,this.defaultReplaceRange=null,this.nodePath=null}}isImportPathParent(e){return e===ee.Import}finalize(e){return e}findInNodePath(...e){for(let t=this.nodePath.length-1;t>=0;t--){const n=this.nodePath[t];if(-1!==e.indexOf(n.type))return n}return null}getCompletionsForDeclarationProperty(e,t){return this.getPropertyProposals(e,t)}getPropertyProposals(e,t){const n=this.isTriggerPropertyValueCompletionEnabled,i=this.isCompletePropertyWithSemicolonEnabled;return this.cssDataManager.getProperties().forEach((r=>{let s,o,a=!1;e?(s=this.getCompletionRange(e.getProperty()),o=r.name,rs(e.colonPosition)||(o+=": ",a=!0)):(s=this.getCompletionRange(null),o=r.name+": ",a=!0),!e&&i&&(o+="$0;"),e&&!e.semicolonPosition&&i&&this.offset>=this.textDocument.offsetAt(s.end)&&(o+="$0;");const l={label:r.name,documentation:kr(r,this.doesSupportMarkdown()),tags:Ls(r)?[Gn.Deprecated]:[],textEdit:bn.replace(s,o),insertTextFormat:Kn.Snippet,kind:$n.Property};r.restrictions||(a=!1),n&&a&&(l.command=Fs);const c=(255-("number"==typeof r.relevance?Math.min(Math.max(r.relevance,0),99):50)).toString(16),h=se(r.name,"-")?Ss.VendorPrefixed:Ss.Normal;l.sortText=h+"_"+c,t.items.push(l)})),this.completionParticipants.forEach((e=>{e.onCssProperty&&e.onCssProperty({propertyName:this.currentWord,range:this.defaultReplaceRange})})),t}get isTriggerPropertyValueCompletionEnabled(){return this.documentSettings?.triggerPropertyValueCompletion??!0}get isCompletePropertyWithSemicolonEnabled(){return this.documentSettings?.completePropertyWithSemicolon??!0}getCompletionsForDeclarationValue(e,t){const n=e.getFullPropertyName(),i=this.cssDataManager.getProperty(n);let r=e.getValue()||null;for(;r&&r.hasChildren();)r=r.findChildAtOffset(this.offset,!1);if(this.completionParticipants.forEach((e=>{e.onCssPropertyValue&&e.onCssPropertyValue({propertyName:n,propertyValue:this.currentWord,range:this.getCompletionRange(r)})})),i){if(i.restrictions)for(const e of i.restrictions)switch(e){case"color":this.getColorProposals(i,r,t);break;case"position":this.getPositionProposals(i,r,t);break;case"repeat":this.getRepeatStyleProposals(i,r,t);break;case"line-style":this.getLineStyleProposals(i,r,t);break;case"line-width":this.getLineWidthProposals(i,r,t);break;case"geometry-box":this.getGeometryBoxProposals(i,r,t);break;case"box":this.getBoxProposals(i,r,t);break;case"image":this.getImageProposals(i,r,t);break;case"timing-function":this.getTimingFunctionProposals(i,r,t);break;case"shape":this.getBasicShapeProposals(i,r,t)}this.getValueEnumProposals(i,r,t),this.getCSSWideKeywordProposals(i,r,t),this.getUnitProposals(i,r,t)}else{const n=function(e,t){const n=t.getFullPropertyName(),i=new Ns;function r(e){return(e instanceof ge||e instanceof bt||e instanceof ut)&&i.add(e.getText()),!0}return e.accept((function(e){if(e instanceof xe&&e!==t&&function(e){const t=e.getFullPropertyName();return n===t}(e)){const t=e.getValue();t&&t.accept(r)}return!0})),i}(this.styleSheet,e);for(const e of n.getEntries())t.items.push({label:e,textEdit:bn.replace(this.getCompletionRange(r),e),kind:$n.Value})}return this.getVariableProposals(r,t),this.getTermProposals(i,r,t),t}getValueEnumProposals(e,t,n){if(e.values)for(const i of e.values){let r,s=i.name;if(oe(s,")")){const e=s.lastIndexOf("(");-1!==e&&(s=s.substring(0,e+1)+"$1"+s.substring(e+1),r=Es)}let o=Ss.Enums;se(i.name,"-")&&(o+=Ss.VendorPrefixed);const a={label:i.name,documentation:kr(i,this.doesSupportMarkdown()),tags:Ls(e)?[Gn.Deprecated]:[],textEdit:bn.replace(this.getCompletionRange(t),s),sortText:o,kind:$n.Value,insertTextFormat:r};n.items.push(a)}return n}getCSSWideKeywordProposals(e,t,n){for(const e in Gr)n.items.push({label:e,documentation:Gr[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});for(const e in Jr){const i=Ts(e);n.items.push({label:e,documentation:Jr[e],textEdit:bn.replace(this.getCompletionRange(t),i),kind:$n.Function,insertTextFormat:Es,command:se(e,"var")?Fs:void 0})}return n}getCompletionsForInterpolation(e,t){return this.offset>=e.offset+2&&this.getVariableProposals(null,t),t}getVariableProposals(e,t){const n=this.getSymbolContext().findSymbolsAtOffset(this.offset,ne.Variable);for(const i of n){const n=se(i.name,"--")?`var(${i.name})`:i.name,r={label:i.name,documentation:i.value?ae(i.value):i.value,textEdit:bn.replace(this.getCompletionRange(e),n),kind:$n.Variable,sortText:Ss.Variable};if("string"==typeof r.documentation&&zr(r.documentation)&&(r.kind=$n.Color),i.node.type===ee.FunctionParameter){const e=i.node.getParent();e.type===ee.MixinDeclaration&&(r.detail=Dt("argument from '{0}'",e.getName()))}t.items.push(r)}return t}getVariableProposalsForCSSVarFunction(e){const t=new Ns;this.styleSheet.acceptVisitor(new As(t,this.offset));let n=this.getSymbolContext().findSymbolsAtOffset(this.offset,ne.Variable);for(const i of n){if(se(i.name,"--")){const t={label:i.name,documentation:i.value?ae(i.value):i.value,textEdit:bn.replace(this.getCompletionRange(null),i.name),kind:$n.Variable};"string"==typeof t.documentation&&zr(t.documentation)&&(t.kind=$n.Color),e.items.push(t)}t.remove(i.name)}for(const n of t.getEntries())if(se(n,"--")){const t={label:n,textEdit:bn.replace(this.getCompletionRange(null),n),kind:$n.Variable};e.items.push(t)}return e}getUnitProposals(e,t,n){let i="0";if(this.currentWord.length>0){const e=this.currentWord.match(/^-?\d[\.\d+]*/);e&&(i=e[0],n.isIncomplete=i.length===this.currentWord.length)}else 0===this.currentWord.length&&(n.isIncomplete=!0);if(t&&t.parent&&t.parent.type===ee.Term&&(t=t.getParent()),e.restrictions)for(const r of e.restrictions){const e=Zr[r];if(e)for(const r of e){const e=i+r;n.items.push({label:e,textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Unit})}}return n}getCompletionRange(e){if(e&&e.offset<=this.offset&&this.offset<=e.end){const t=-1!==e.end?this.textDocument.positionAt(e.end):this.position,n=this.textDocument.positionAt(e.offset);if(n.line===t.line)return qt.create(n,t)}return this.defaultReplaceRange}getColorProposals(e,t,n){for(const e in Tr)n.items.push({label:e,documentation:Tr[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Color});for(const e in Dr)n.items.push({label:e,documentation:Dr[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});const i=new Ns;this.styleSheet.acceptVisitor(new Ds(i,this.offset));for(const e of i.getEntries())n.items.push({label:e,textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Color});for(const e of Lr)n.items.push({label:e.label,detail:e.func,documentation:e.desc,textEdit:bn.replace(this.getCompletionRange(t),e.insertText),insertTextFormat:Es,kind:$n.Function});return n}getPositionProposals(e,t,n){for(const e in Ur)n.items.push({label:e,documentation:Ur[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});return n}getRepeatStyleProposals(e,t,n){for(const e in qr)n.items.push({label:e,documentation:qr[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});return n}getLineStyleProposals(e,t,n){for(const e in $r)n.items.push({label:e,documentation:$r[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});return n}getLineWidthProposals(e,t,n){for(const e of jr)n.items.push({label:e,textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});return n}getGeometryBoxProposals(e,t,n){for(const e in Hr)n.items.push({label:e,documentation:Hr[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});return n}getBoxProposals(e,t,n){for(const e in Kr)n.items.push({label:e,documentation:Kr[e],textEdit:bn.replace(this.getCompletionRange(t),e),kind:$n.Value});return n}getImageProposals(e,t,n){for(const e in Qr){const i=Ts(e);n.items.push({label:e,documentation:Qr[e],textEdit:bn.replace(this.getCompletionRange(t),i),kind:$n.Function,insertTextFormat:e!==i?Es:void 0})}return n}getTimingFunctionProposals(e,t,n){for(const e in Xr){const i=Ts(e);n.items.push({label:e,documentation:Xr[e],textEdit:bn.replace(this.getCompletionRange(t),i),kind:$n.Function,insertTextFormat:e!==i?Es:void 0})}return n}getBasicShapeProposals(e,t,n){for(const e in Yr){const i=Ts(e);n.items.push({label:e,documentation:Yr[e],textEdit:bn.replace(this.getCompletionRange(t),i),kind:$n.Function,insertTextFormat:e!==i?Es:void 0})}return n}getCompletionsForStylesheet(e){const t=this.styleSheet.findFirstChildBeforeOffset(this.offset);return t?t instanceof ye?this.getCompletionsForRuleSet(t,e):t instanceof Qe?this.getCompletionsForSupports(t,e):e:this.getCompletionForTopLevel(e)}getCompletionForTopLevel(e){return this.cssDataManager.getAtDirectives().forEach((t=>{e.items.push({label:t.name,textEdit:bn.replace(this.getCompletionRange(null),t.name),documentation:kr(t,this.doesSupportMarkdown()),tags:Ls(t)?[Gn.Deprecated]:[],kind:$n.Keyword})})),this.getCompletionsForSelector(null,!1,e),e}getCompletionsForRuleSet(e,t){const n=e.getDeclarations();return n&&n.endsWith("}")&&this.offset>=n.end?this.getCompletionForTopLevel(t):!n||this.offset<=n.offset?this.getCompletionsForSelector(e,e.isNested(),t):this.getCompletionsForDeclarations(e.getDeclarations(),t)}getCompletionsForSelector(e,t,n){const i=this.findInNodePath(ee.PseudoSelector,ee.IdentifierSelector,ee.ClassSelector,ee.ElementNameSelector);if(!i&&this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord,this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord),this.defaultReplaceRange=qt.create(Vt.create(this.position.line,this.position.character-this.currentWord.length),this.position)),this.cssDataManager.getPseudoClasses().forEach((e=>{const t=Ts(e.name),r={label:e.name,textEdit:bn.replace(this.getCompletionRange(i),t),documentation:kr(e,this.doesSupportMarkdown()),tags:Ls(e)?[Gn.Deprecated]:[],kind:$n.Function,insertTextFormat:e.name!==t?Es:void 0};se(e.name,":-")&&(r.sortText=Ss.VendorPrefixed),n.items.push(r)})),this.cssDataManager.getPseudoElements().forEach((e=>{const t=Ts(e.name),r={label:e.name,textEdit:bn.replace(this.getCompletionRange(i),t),documentation:kr(e,this.doesSupportMarkdown()),tags:Ls(e)?[Gn.Deprecated]:[],kind:$n.Function,insertTextFormat:e.name!==t?Es:void 0};se(e.name,"::-")&&(r.sortText=Ss.VendorPrefixed),n.items.push(r)})),!t){for(const e of es)n.items.push({label:e,textEdit:bn.replace(this.getCompletionRange(i),e),kind:$n.Keyword});for(const e of ts)n.items.push({label:e,textEdit:bn.replace(this.getCompletionRange(i),e),kind:$n.Keyword})}const r={};r[this.currentWord]=!0;const s=this.textDocument.getText();if(this.styleSheet.accept((e=>{if(e.type===ee.SimpleSelector&&e.length>0){const t=s.substr(e.offset,e.length);return"."!==t.charAt(0)||r[t]||(r[t]=!0,n.items.push({label:t,textEdit:bn.replace(this.getCompletionRange(i),t),kind:$n.Keyword})),!1}return!0})),e&&e.isNested()){const t=e.getSelectors().findFirstChildBeforeOffset(this.offset);t&&0===e.getSelectors().getChildren().indexOf(t)&&this.getPropertyProposals(null,n)}return n}getCompletionsForDeclarations(e,t){if(!e||this.offset===e.offset)return t;const n=e.findFirstChildBeforeOffset(this.offset);if(!n)return this.getCompletionsForDeclarationProperty(null,t);if(n instanceof ke){const e=n;if(!rs(e.colonPosition)||this.offset<=e.colonPosition)return this.getCompletionsForDeclarationProperty(e,t);if(rs(e.semicolonPosition)&&e.semicolonPositione.colonPosition&&this.getVariableProposals(e.getValue()||null,t),t}getCompletionsForExpression(e,t){const n=e.getParent();if(n instanceof Te)return this.getCompletionsForFunctionArgument(n,n.getParent(),t),t;const i=e.findParent(ee.Declaration);if(!i)return this.getTermProposals(void 0,null,t),t;const r=e.findChildAtOffset(this.offset,!0);return r?r instanceof bt||r instanceof ge?this.getCompletionsForDeclarationValue(i,t):t:this.getCompletionsForDeclarationValue(i,t)}getCompletionsForFunctionArgument(e,t,n){const i=t.getIdentifier();return i&&i.matches("var")&&(t.getArguments().hasChildren()&&t.getArguments().getChild(0)!==e||this.getVariableProposalsForCSSVarFunction(n)),n}getCompletionsForFunctionDeclaration(e,t){const n=e.getDeclarations();return n&&this.offset>n.offset&&this.offset{e.onCssMixinReference&&e.onCssMixinReference({mixinName:this.currentWord,range:this.getCompletionRange(i)})})),t}getTermProposals(e,t,n){const i=this.getSymbolContext().findSymbolsAtOffset(this.offset,ne.Function);for(const e of i)e.node instanceof ze&&n.items.push(this.makeTermProposal(e,e.node.getParameters(),t));return n}makeTermProposal(e,t,n){e.node;const i=t.getChildren().map((e=>e instanceof Ne?e.getName():e.getText())),r=e.name+"("+i.map(((e,t)=>"${"+(t+1)+":"+e+"}")).join(", ")+")";return{label:e.name,detail:e.name+"("+i.join(", ")+")",textEdit:bn.replace(this.getCompletionRange(n),r),insertTextFormat:Es,kind:$n.Function,sortText:Ss.Term}}getCompletionsForSupportsCondition(e,t){const n=e.findFirstChildBeforeOffset(this.offset);if(n){if(n instanceof xe)return!rs(n.colonPosition)||this.offset<=n.colonPosition?this.getCompletionsForDeclarationProperty(n,t):this.getCompletionsForDeclarationValue(n,t);if(n instanceof st)return this.getCompletionsForSupportsCondition(n,t)}return rs(e.lParent)&&this.offset>e.lParent&&(!rs(e.rParent)||this.offset<=e.rParent)?this.getCompletionsForDeclarationProperty(null,t):t}getCompletionsForSupports(e,t){const n=e.getDeclarations();if(!n||this.offset<=n.offset){const n=e.findFirstChildBeforeOffset(this.offset);return n instanceof st?this.getCompletionsForSupportsCondition(n,t):t}return this.getCompletionForTopLevel(t)}getCompletionsForExtendsReference(e,t,n){return n}getCompletionForUriLiteralValue(e,t){let n,i,r;if(e.hasChildren()){const t=e.getChild(0);n=t.getText(),i=this.position,r=this.getCompletionRange(t)}else{n="",i=this.position;const t=this.textDocument.positionAt(e.offset+4);r=qt.create(t,t)}return this.completionParticipants.forEach((e=>{e.onCssURILiteralValue&&e.onCssURILiteralValue({uriValue:n,position:i,range:r})})),t}getCompletionForImportPath(e,t){return this.completionParticipants.forEach((t=>{t.onCssImportPath&&t.onCssImportPath({pathValue:e.getText(),position:this.position,range:this.getCompletionRange(e)})})),t}hasCharacterAtPosition(e,t){const n=this.textDocument.getText();return e>=0&&e"),this.writeLine(t,i.join(""))}};!function(e){function t(e){const t=e.match(/^['"](.*)["']$/);return t?t[1]:e}e.ensure=function(e,n){return n+t(e)+n},e.remove=t}(Rs||(Rs={}));var Bs=class{constructor(){this.id=0,this.attr=0,this.tag=0}};function Ws(e,t){let n=new Ms;for(const i of e.getChildren())switch(i.type){case ee.SelectorCombinator:if(t){const e=i.getText().split("&");if(1===e.length){n.addAttr("name",e[0]);break}n=t.cloneWithParent(),e[0]&&n.findRoot().prepend(e[0]);for(let i=1;i1){const e=t.cloneWithParent();n.addChild(e.findRoot()),n=e}n.append(e[i])}}break;case ee.SelectorPlaceholder:if(i.matches("@at-root"))return n;case ee.ElementNameSelector:const e=i.getText();n.addAttr("name","*"===e?"element":Vs(e));break;case ee.ClassSelector:n.addAttr("class",Vs(i.getText().substring(1)));break;case ee.IdentifierSelector:n.addAttr("id",Vs(i.getText().substring(1)));break;case ee.MixinDeclaration:n.addAttr("class",i.getName());break;case ee.PseudoSelector:n.addAttr(Vs(i.getText()),"");break;case ee.AttributeSelector:const r=i,s=r.getIdentifier();if(s){const e=r.getValue(),t=r.getOperator();let i;if(e&&t)switch(Vs(t.getText())){case"|=":i=`${Rs.remove(Vs(e.getText()))}-…`;break;case"^=":i=`${Rs.remove(Vs(e.getText()))}…`;break;case"$=":i=`…${Rs.remove(Vs(e.getText()))}`;break;case"~=":i=` … ${Rs.remove(Vs(e.getText()))} … `;break;case"*=":i=`…${Rs.remove(Vs(e.getText()))}…`;break;default:i=Rs.remove(Vs(e.getText()))}n.addAttr(Vs(s.getText()),i)}}return n}function Vs(e){const t=new re;t.setSource(e);const n=t.scanUnquotedString();return n?n.text:e}var Us=class{constructor(e){this.cssDataManager=e}selectorToMarkedString(e,t){const n=function(e){if(e.matches("@at-root"))return null;const t=new Os,n=[],i=e.getParent();if(i instanceof ye){let e=i.getParent();for(;e&&!$s(e);){if(e instanceof ye){if(e.getSelectors().matches("@at-root"))break;n.push(e)}e=e.getParent()}}const r=new qs(t);for(let e=n.length-1;e>=0;e--){const t=n[e].getSelectors().getChild(0);t&&r.processSelector(t)}return r.processSelector(e),t}(e);if(n){const i=new Ps('"').print(n,t);return i.push(this.selectorToSpecificityMarkedString(e)),i}return[]}simpleSelectorToMarkedString(e){const t=Ws(e),n=new Ps('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}isPseudoElementIdentifier(e){const t=e.match(/^::?([\w-]+)/);return!!t&&!!this.cssDataManager.getPseudoElement("::"+t[1])}selectorToSpecificityMarkedString(e){const t=e=>{const t=new Bs;let i=new Bs;for(const t of e)for(const e of t.getChildren()){const t=n(e);t.id>i.id?i=t:t.idi.attr?i=t:t.attri.tag&&(i=t))}return t.id+=i.id,t.attr+=i.attr,t.tag+=i.tag,t},n=e=>{const i=new Bs;e:for(const r of e.getChildren()){switch(r.type){case ee.IdentifierSelector:i.id++;break;case ee.ClassSelector:case ee.AttributeSelector:i.attr++;break;case ee.ElementNameSelector:if(r.matches("*"))break;i.tag++;break;case ee.PseudoSelector:const e=r.getText(),n=r.getChildren();if(this.isPseudoElementIdentifier(e)){if(e.match(/^::slotted/i)&&n.length>0){i.tag++;let e=t(n);i.id+=e.id,i.attr+=e.attr,i.tag+=e.tag;continue e}i.tag++;continue e}if(e.match(/^:where/i))continue e;if(e.match(/^:(?:not|has|is)/i)&&n.length>0){let e=t(n);i.id+=e.id,i.attr+=e.attr,i.tag+=e.tag;continue e}if(e.match(/^:(?:host|host-context)/i)&&n.length>0){i.attr++;let e=t(n);i.id+=e.id,i.attr+=e.attr,i.tag+=e.tag;continue e}if(e.match(/^:(?:nth-child|nth-last-child)/i)&&n.length>0){if(i.attr++,3===n.length&&23===n[1].type){let e=t(n[2].getChildren());i.id+=e.id,i.attr+=e.attr,i.tag+=e.tag;continue e}const e=new ss,r=n[1].getText();e.scanner.setSource(r);const s=e.scanner.scan(),o=e.scanner.scan();if("n"===s.text||"-n"===s.text&&"of"===o.text){const n=[],s=r.slice(o.offset+2).split(",");for(const t of s){const i=e.internalParse(t,e._parseSelector);i&&n.push(i)}let a=t(n);i.id+=a.id,i.attr+=a.attr,i.tag+=a.tag;continue e}continue e}i.attr++;continue e}if(r.getChildren().length>0){const e=n(r);i.id+=e.id,i.attr+=e.attr,i.tag+=e.tag}}return i},i=n(e);return`[${Dt("Selector Specificity")}](https://developer.mozilla.org/docs/Web/CSS/Specificity): (${i.id}, ${i.attr}, ${i.tag})`}},qs=class{constructor(e){this.prev=null,this.element=e}processSelector(e){let t=null;if(!(this.element instanceof Os)&&e.getChildren().some((e=>e.hasChildren()&&e.getChild(0).type===ee.SelectorCombinator))){const e=this.element.findRoot();e.parent instanceof Os&&(t=this.element,this.element=e.parent,this.element.removeChild(e),this.prev=null)}for(const n of e.getChildren()){if(n instanceof _e){if(this.prev instanceof _e){const e=new zs("…");this.element.addChild(e),this.element=e}else this.prev&&(this.prev.matches("+")||this.prev.matches("~"))&&this.element.parent&&(this.element=this.element.parent);this.prev&&this.prev.matches("~")&&this.element.addChild(new zs("⋮"));const e=Ws(n,t),i=e.findRoot();this.element.addChild(i),this.element=e}(n instanceof _e||n.type===ee.SelectorCombinatorParent||n.type===ee.SelectorCombinatorShadowPiercingDescendant||n.type===ee.SelectorCombinatorSibling||n.type===ee.SelectorCombinatorAllSiblings)&&(this.prev=n)}}};function $s(e){switch(e.type){case ee.MixinDeclaration:case ee.Stylesheet:return!0}return!1}var js=class{constructor(e,t){this.clientCapabilities=e,this.cssDataManager=t,this.selectorPrinting=new Us(t)}configure(e){this.defaultSettings=e}doHover(e,t,n,i=this.defaultSettings){function r(t){return qt.create(e.positionAt(t.offset),e.positionAt(t.end))}const s=he(n,e.offsetAt(t));let o,a=null;for(let e=0;e"string"==typeof e?e:e.value)):e.value}doesSupportMarkdown(){if(!rs(this.supportsMarkdown)){if(!rs(this.clientCapabilities))return this.supportsMarkdown=!0,this.supportsMarkdown;const e=this.clientCapabilities.textDocument&&this.clientCapabilities.textDocument.hover;this.supportsMarkdown=e&&e.contentFormat&&Array.isArray(e.contentFormat)&&-1!==e.contentFormat.indexOf(Vn.Markdown)}return this.supportsMarkdown}},Ks=/^\w+:\/\//,Hs=/^data:/,Gs=class{constructor(e,t){this.fileSystemProvider=e,this.resolveModuleReferences=t}configure(e){this.defaultSettings=e}findDefinition(e,t,n){const i=new ps(n),r=ce(n,e.offsetAt(t));if(!r)return null;const s=i.findSymbolFromNode(r);return s?{uri:e.uri,range:Js(s.node,e)}:null}findReferences(e,t,n){return this.findDocumentHighlights(e,t,n).map((t=>({uri:e.uri,range:t.range})))}getHighlightNode(e,t,n){let i=ce(n,e.offsetAt(t));if(i&&i.type!==ee.Stylesheet&&i.type!==ee.Declarations)return i.type===ee.Identifier&&i.parent&&i.parent.type===ee.ClassSelector&&(i=i.parent),i}findDocumentHighlights(e,t,n){const i=[],r=this.getHighlightNode(e,t,n);if(!r)return i;const s=new ps(n),o=s.findSymbolFromNode(r),a=r.getText();return n.accept((t=>{if(o){if(s.matchesSymbol(t,o))return i.push({kind:Xs(t),range:Js(t,e)}),!1}else r&&r.type===t.type&&t.matches(a)&&i.push({kind:Xs(t),range:Js(t,e)});return!0})),i}isRawStringDocumentLinkNode(e){return e.type===ee.Import}findDocumentLinks(e,t,n){const i=this.findUnresolvedLinks(e,t),r=[];for(let t of i){const i=t.link,s=i.target;if(!s||Hs.test(s));else if(Ks.test(s))r.push(i);else{const t=n.resolveReference(s,e.uri);t&&(i.target=t),r.push(i)}}return r}async findDocumentLinks2(e,t,n){const i=this.findUnresolvedLinks(e,t),r=[];for(let t of i){const i=t.link,s=i.target;if(!s||Hs.test(s));else if(Ks.test(s))r.push(i);else{const o=await this.resolveReference(s,e.uri,n,t.isRawLink);void 0!==o&&(i.target=o,r.push(i))}}return r}findUnresolvedLinks(e,t){const n=[],i=t=>{let i=t.getText();const r=Js(t,e);if(r.start.line===r.end.line&&r.start.character===r.end.character)return;(se(i,"'")||se(i,'"'))&&(i=i.slice(1,-1));const s=!!t.parent&&this.isRawStringDocumentLinkNode(t.parent);n.push({link:{target:i,range:r},isRawLink:s})};return t.accept((e=>{if(e.type===ee.URILiteral){const t=e.getChild(0);return t&&i(t),!1}if(e.parent&&this.isRawStringDocumentLinkNode(e.parent)){const t=e.getText();return(se(t,"'")||se(t,'"'))&&i(e),!1}return!0})),n}findSymbolInformations(e,t){const n=[];return this.collectDocumentSymbols(e,t,((t,i,r)=>{const s=r instanceof pe?Js(r,e):r,o={name:t||Dt(""),kind:i,location:jt.create(e.uri,s)};n.push(o)})),n}findDocumentSymbols(e,t){const n=[],i=[];return this.collectDocumentSymbols(e,t,((t,r,s,o,a)=>{const l=s instanceof pe?Js(s,e):s;let c=o instanceof pe?Js(o,e):o;c&&Qs(l,c)||(c=qt.create(l.start,l.start));const h={name:t||Dt(""),kind:r,range:l,selectionRange:c};let d=i.pop();for(;d&&!Qs(d[1],l);)d=i.pop();if(d){const e=d[0];e.children||(e.children=[]),e.children.push(h),i.push(d)}else n.push(h);a&&i.push([h,Js(a,e)])})),n}collectDocumentSymbols(e,t,n){t.accept((t=>{if(t instanceof ye){for(const i of t.getSelectors().getChildren())if(i instanceof Ce){const r=qt.create(e.positionAt(i.offset),e.positionAt(t.end));n(i.getText(),hi.Class,r,i,t.getDeclarations())}}else if(t instanceof vt)n(t.getName(),hi.Variable,t,t.getVariable(),void 0);else if(t instanceof xt)n(t.getName(),hi.Method,t,t.getIdentifier(),t.getDeclarations());else if(t instanceof ze)n(t.getName(),hi.Function,t,t.getIdentifier(),t.getDeclarations());else if(t instanceof Ve){const e=Dt("@keyframes {0}",t.getName());n(e,hi.Class,t,t.getIdentifier(),t.getDeclarations())}else if(t instanceof Be){const e=Dt("@font-face");n(e,hi.Class,t,void 0,t.getDeclarations())}else if(t instanceof Je){const e=t.getChild(0);if(e instanceof tt){const i="@media "+e.getText();n(i,hi.Module,t,e,t.getDeclarations())}}return!0}))}findDocumentColors(e,t){const n=[];return t.accept((t=>{const i=function(e,t){const n=function(e){if(e.type===ee.HexColorValue)return Br(e.getText());if(e.type===ee.Function){const t=e,n=t.getName();let i=t.getArguments().getChildren();if(1===i.length){const e=i[0].getChildren();if(1===e.length&&e[0].type===ee.Expression&&(i=e[0].getChildren(),3===i.length)){const e=i[2];if(e instanceof ct){const t=e.getLeft(),n=e.getRight(),r=e.getOperator();t&&n&&r&&r.matches("/")&&(i=[i[0],i[1],t,n])}}}if(!n||i.length<3||i.length>4)return null;try{const e=4===i.length?Mr(i[3],1):1;if("rgb"===n||"rgba"===n)return{red:Mr(i[0],255),green:Mr(i[1],255),blue:Mr(i[2],255),alpha:e};if("hsl"===n||"hsla"===n){return Wr(Or(i[0]),Mr(i[1],100),Mr(i[2],100),e)}if("hwb"===n){return function(e,t,n,i=1){if(t+n>=1){const e=t/(t+n);return{red:e,green:e,blue:e,alpha:i}}const r=Wr(e,1,.5,i);let s=r.red;s*=1-t-n,s+=t;let o=r.green;o*=1-t-n,o+=t;let a=r.blue;return a*=1-t-n,a+=t,{red:s,green:o,blue:a,alpha:i}}(Or(i[0]),Mr(i[1],100),Mr(i[2],100),e)}}catch(e){return null}}else if(e.type===ee.Identifier){if(e.parent&&e.parent.type!==ee.Term)return null;const t=e.parent;if(t&&t.parent&&t.parent.type===ee.BinaryExpression){const e=t.parent;if(e.parent&&e.parent.type===ee.ListEntry&&e.parent.key===e)return null}const n=e.getText().toLowerCase();if("none"===n)return null;const i=Tr[n];if(i)return Br(i)}return null}(e);return n?{color:n,range:Js(e,t)}:null}(t,e);return i&&n.push(i),!0})),n}getColorPresentations(e,t,n,i){const r=[],s=Math.round(255*n.red),o=Math.round(255*n.green),a=Math.round(255*n.blue);let l;l=1===n.alpha?`rgb(${s}, ${o}, ${a})`:`rgba(${s}, ${o}, ${a}, ${n.alpha})`,r.push({label:l,textEdit:bn.replace(i,l)}),l=1===n.alpha?`#${Ys(s)}${Ys(o)}${Ys(a)}`:`#${Ys(s)}${Ys(o)}${Ys(a)}${Ys(Math.round(255*n.alpha))}`,r.push({label:l,textEdit:bn.replace(i,l)});const c=Vr(n);l=1===c.a?`hsl(${c.h}, ${Math.round(100*c.s)}%, ${Math.round(100*c.l)}%)`:`hsla(${c.h}, ${Math.round(100*c.s)}%, ${Math.round(100*c.l)}%, ${c.a})`,r.push({label:l,textEdit:bn.replace(i,l)});const h=function(e){const t=Vr(e),n=Math.min(e.red,e.green,e.blue),i=1-Math.max(e.red,e.green,e.blue);return{h:t.h,w:n,b:i,a:t.a}}(n);return l=1===h.a?`hwb(${h.h} ${Math.round(100*h.w)}% ${Math.round(100*h.b)}%)`:`hwb(${h.h} ${Math.round(100*h.w)}% ${Math.round(100*h.b)}% / ${h.a})`,r.push({label:l,textEdit:bn.replace(i,l)}),r}prepareRename(e,t,n){const i=this.getHighlightNode(e,t,n);if(i)return qt.create(e.positionAt(i.offset),e.positionAt(i.end))}doRename(e,t,n,i){const r=this.findDocumentHighlights(e,t,i).map((e=>bn.replace(e.range,n)));return{changes:{[e.uri]:r}}}async resolveModuleReference(e,t,n){if(se(t,"file://")){const i=function(e){const t=e.indexOf("/");if(-1===t)return"";if("@"===e[0]){const n=e.indexOf("/",t+1);return-1===n?e:e.substring(0,n)}return e.substring(0,t)}(e);if(i&&"."!==i&&".."!==i){const r=n.resolveReference("/",t),s=gs(t),o=await this.resolvePathToModule(i,s,r);if(o)return bs(o,e.substring(i.length+1))}}}async mapReference(e,t){return e}async resolveReference(e,t,n,i=!1,r=this.defaultSettings){if("~"===e[0]&&"/"!==e[1]&&this.fileSystemProvider)return e=e.substring(1),this.mapReference(await this.resolveModuleReference(e,t,n),i);const s=await this.mapReference(n.resolveReference(e,t),i);if(this.resolveModuleReferences){if(s&&await this.fileExists(s))return s;const r=await this.mapReference(await this.resolveModuleReference(e,t,n),i);if(r)return r}if(s&&!await this.fileExists(s)){const s=n.resolveReference("/",t);if(r&&s){if(e in r)return this.mapReference(bs(s,r[e]),i);const t=e.indexOf("/"),n=`${e.substring(0,t)}/`;if(n in r){let t=bs(s,r[n].slice(0,-1));return this.mapReference(t=bs(t,e.substring(n.length-1)),i)}}}return s}async resolvePathToModule(e,t,n){const i=bs(t,"node_modules",e,"package.json");return await this.fileExists(i)?gs(i):n&&t.startsWith(n)&&t.length!==n.length?this.resolvePathToModule(e,gs(t),n):void 0}async fileExists(e){if(!this.fileSystemProvider)return!1;try{const t=await this.fileSystemProvider.stat(e);return t.type!==mr.Unknown||-1!==t.size}catch(e){return!1}}};function Js(e,t){return qt.create(t.positionAt(e.offset),t.positionAt(e.end))}function Qs(e,t){const n=t.start.line,i=t.end.line,r=e.start.line,s=e.end.line;return!(ns||i>s||n===r&&t.start.charactere.end.character)}function Xs(e){if(e.type===ee.Selector)return ai.Write;if(e instanceof ge&&e.parent&&e.parent instanceof Fe&&e.isCustomProperty)return ai.Write;if(e.parent)switch(e.parent.type){case ee.FunctionDeclaration:case ee.MixinDeclaration:case ee.Keyframe:case ee.VariableDeclaration:case ee.FunctionParameter:return ai.Write}return ai.Read}function Ys(e){const t=e.toString(16);return 2!==t.length?"0"+t:t}var Zs=de.Warning,eo=de.Error,to=de.Ignore,no=class{constructor(e,t,n){this.id=e,this.message=t,this.defaultValue=n}},io={AllVendorPrefixes:new no("compatibleVendorPrefixes",Dt("When using a vendor-specific prefix make sure to also include all other vendor-specific properties"),to),IncludeStandardPropertyWhenUsingVendorPrefix:new no("vendorPrefix",Dt("When using a vendor-specific prefix also include the standard property"),Zs),DuplicateDeclarations:new no("duplicateProperties",Dt("Do not use duplicate style definitions"),to),EmptyRuleSet:new no("emptyRules",Dt("Do not use empty rulesets"),Zs),ImportStatemement:new no("importStatement",Dt("Import statements do not load in parallel"),to),BewareOfBoxModelSize:new no("boxModel",Dt("Do not use width or height when using padding or border"),to),UniversalSelector:new no("universalSelector",Dt("The universal selector (*) is known to be slow"),to),ZeroWithUnit:new no("zeroUnits",Dt("No unit for zero needed"),to),RequiredPropertiesForFontFace:new no("fontFaceProperties",Dt("@font-face rule must define 'src' and 'font-family' properties"),Zs),HexColorLength:new no("hexColorLength",Dt("Hex colors must consist of three, four, six or eight hex numbers"),eo),ArgsInColorFunction:new no("argumentsInColorFunction",Dt("Invalid number of parameters"),eo),UnknownProperty:new no("unknownProperties",Dt("Unknown property."),Zs),UnknownAtRules:new no("unknownAtRules",Dt("Unknown at-rule."),Zs),IEStarHack:new no("ieHack",Dt("IE hacks are only necessary when supporting IE7 and older"),to),UnknownVendorSpecificProperty:new no("unknownVendorSpecificProperties",Dt("Unknown vendor specific property."),to),PropertyIgnoredDueToDisplay:new no("propertyIgnoredDueToDisplay",Dt("Property is ignored due to the display."),Zs),AvoidImportant:new no("important",Dt("Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored."),to),AvoidFloat:new no("float",Dt("Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes."),to),AvoidIdSelector:new no("idSelector",Dt("Selectors should not contain IDs because these rules are too tightly coupled with the HTML."),to)},ro={ValidProperties:new class{constructor(e,t,n){this.id=e,this.message=t,this.defaultValue=n}}("validProperties",Dt("A list of properties that are not validated against the `unknownProperties` rule."),[])},so=class{constructor(e={}){this.conf=e}getRule(e){if(this.conf.hasOwnProperty(e.id)){const t=function(e){switch(e){case"ignore":return de.Ignore;case"warning":return de.Warning;case"error":return de.Error}return null}(this.conf[e.id]);if(t)return t}return e.defaultValue}getSetting(e){return this.conf[e.id]}},oo=class{constructor(e){this.cssDataManager=e}doCodeActions(e,t,n,i){return this.doCodeActions2(e,t,n,i).map((t=>{const n=t.edit&&t.edit.documentChanges&&t.edit.documentChanges[0];return fn.create(t.title,"_css.applyCodeAction",e.uri,e.version,n&&n.edits)}))}doCodeActions2(e,t,n,i){const r=[];if(n.diagnostics)for(const t of n.diagnostics)this.appendFixesForMarker(e,i,t,r);return r}getFixesForUnknownProperty(e,t,n,i){const r=t.getName(),s=[];this.cssDataManager.getProperties().forEach((e=>{const t=function(e,t,n=4){let i=Math.abs(e.length-t.length);if(i>n)return 0;let r,s,o=[],a=[];for(r=0;r=r.length/2&&s.push({property:e.name,score:t})})),s.sort(((e,t)=>t.score-e.score||e.property.localeCompare(t.property)));let o=3;for(const t of s){const r=t.property,s=Dt("Rename to '{0}'",r),a=bn.replace(n.range,r),l=Mn.create(e.uri,e.version),c={documentChanges:[Sn.create(l,[a])]},h=ki.create(s,c,bi.QuickFix);if(h.diagnostics=[n],i.push(h),--o<=0)return}}appendFixesForMarker(e,t,n,i){if(n.code!==io.UnknownProperty.id)return;const r=e.offsetAt(n.range.start),s=e.offsetAt(n.range.end),o=he(t,r);for(let t=o.length-1;t>=0;t--){const a=o[t];if(a instanceof xe){const t=a.getProperty();if(t&&t.offset===r&&t.end===s)return void this.getFixesForUnknownProperty(e,t,n,i)}}}},ao=class{constructor(e){this.fullPropertyName=e.getFullPropertyName().toLowerCase(),this.node=e}};function lo(e,t,n,i){const r=e[t];r.value=n,n&&(os(r.properties,i)||r.properties.push(i))}function co(e,t,n,i){"top"===t||"right"===t||"bottom"===t||"left"===t?lo(e,t,n,i):function(e,t,n){lo(e,"top",t,n),lo(e,"right",t,n),lo(e,"bottom",t,n),lo(e,"left",t,n)}(e,n,i)}function ho(e,t,n){switch(t.length){case 1:co(e,void 0,t[0],n);break;case 2:co(e,"top",t[0],n),co(e,"bottom",t[0],n),co(e,"right",t[1],n),co(e,"left",t[1],n);break;case 3:co(e,"top",t[0],n),co(e,"right",t[1],n),co(e,"left",t[1],n),co(e,"bottom",t[2],n);break;case 4:co(e,"top",t[0],n),co(e,"right",t[1],n),co(e,"bottom",t[2],n),co(e,"left",t[3],n)}}function uo(e,t){for(let n of t)if(e.matches(n))return!0;return!1}function po(e,t=!0){return!(t&&uo(e,["initial","unset"])||0===parseFloat(e.getText()))}function mo(e,t=!0){return e.map((e=>po(e,t)))}function fo(e,t=!0){return!(uo(e,["none","hidden"])||t&&uo(e,["initial","unset"]))}function go(e,t=!0){return e.map((e=>fo(e,t)))}function bo(e){const t=e.getChildren();if(1===t.length){const e=t[0];return po(e)&&fo(e)}for(const e of t){const t=e;if(!po(t,!1)||!fo(t,!1))return!1}return!0}var vo=class{constructor(){this.data={}}add(e,t,n){let i=this.data[e];i||(i={nodes:[],names:[]},this.data[e]=i),i.names.push(t),n&&i.nodes.push(n)}},wo=class e{static entries(t,n,i,r,s){const o=new e(n,i,r);return t.acceptVisitor(o),o.completeValidations(),o.getEntries(s)}constructor(e,t,n){this.cssDataManager=n,this.warnings=[],this.settings=t,this.documentText=e.getText(),this.keyframes=new vo,this.validProperties={};const i=t.getSetting(ro.ValidProperties);Array.isArray(i)&&i.forEach((e=>{if("string"==typeof e){const t=e.trim().toLowerCase();t.length&&(this.validProperties[t]=!0)}}))}isValidPropertyDeclaration(e){const t=e.fullPropertyName;return this.validProperties[t]}fetch(e,t){const n=[];for(const i of e)i.fullPropertyName===t&&n.push(i);return n}fetchWithValue(e,t,n){const i=[];for(const r of e)if(r.fullPropertyName===t){const e=r.node.getValue();e&&this.findValueInExpression(e,n)&&i.push(r)}return i}findValueInExpression(e,t){let n=!1;return e.accept((e=>(e.type===ee.Identifier&&e.matches(t)&&(n=!0),!n))),n}getEntries(e=de.Warning|de.Error){return this.warnings.filter((t=>!!(t.getLevel()&e)))}addEntry(e,t,n){const i=new Tt(e,t,this.settings.getRule(t),n);this.warnings.push(i)}getMissingNames(e,t){const n=e.slice(0);for(let e=0;e0){const e=this.fetch(i,"float");for(let t=0;t0){const e=this.fetch(i,"vertical-align");for(let t=0;t1)for(let n=0;ne.startsWith(r)))&&a.delete(t)}}const l=[];for(let t=0,n=e.prefixes.length;t!(e instanceof ct&&(i+=1,1)))),i!==n&&this.addEntry(e,io.ArgsInColorFunction)),!0}};wo.prefixes=["-ms-","-moz-","-o-","-webkit-"];var yo=class{constructor(e){this.cssDataManager=e}configure(e){this.settings=e}doValidation(e,t,n=this.settings){if(n&&!1===n.validate)return[];const i=[];i.push.apply(i,Rt.entries(t)),i.push.apply(i,wo.entries(t,e,new so(n&&n.lint),this.cssDataManager));const r=[];for(const e in io)r.push(io[e].id);return i.filter((e=>e.getLevel()!==de.Ignore)).map((function(t){const n=qt.create(e.positionAt(t.getOffset()),e.positionAt(t.getOffset()+t.getLength())),i=e.languageId;return{code:t.getRule().id,source:i,message:t.getMessage(),severity:t.getLevel()===de.Warning?ln.Warning:ln.Error,range:n}}))}},Co="/".charCodeAt(0),_o="\n".charCodeAt(0),ko="\r".charCodeAt(0),So="\f".charCodeAt(0),xo="$".charCodeAt(0),Eo="#".charCodeAt(0),Fo="{".charCodeAt(0),Io="=".charCodeAt(0),Lo="!".charCodeAt(0),No="<".charCodeAt(0),To=">".charCodeAt(0),Ro=".".charCodeAt(0),Do=("@".charCodeAt(0),o.CustomToken),Ao=Do++,Mo=Do++,Oo=(Do++,Do++),zo=Do++,Po=Do++,Bo=Do++,Wo=Do++,Vo=(Do++,class extends re{scanNext(e){if(this.stream.advanceIfChar(xo)){const t=["$"];if(this.ident(t))return this.finishToken(e,Ao,t.join(""));this.stream.goBackTo(e)}return this.stream.advanceIfChars([Eo,Fo])?this.finishToken(e,Mo):this.stream.advanceIfChars([Io,Io])?this.finishToken(e,Oo):this.stream.advanceIfChars([Lo,Io])?this.finishToken(e,zo):this.stream.advanceIfChar(No)?this.stream.advanceIfChar(Io)?this.finishToken(e,Bo):this.finishToken(e,o.Delim):this.stream.advanceIfChar(To)?this.stream.advanceIfChar(Io)?this.finishToken(e,Po):this.finishToken(e,o.Delim):this.stream.advanceIfChars([Ro,Ro,Ro])?this.finishToken(e,Wo):super.scanNext(e)}comment(){return!!super.comment()||!(this.inURL||!this.stream.advanceIfChars([Co,Co]))&&(this.stream.advanceWhileChar((e=>{switch(e){case _o:case ko:case So:return!1;default:return!0}})),!0)}}),Uo=class{constructor(e,t){this.id=e,this.message=t}},qo={FromExpected:new Uo("scss-fromexpected",Dt("'from' expected")),ThroughOrToExpected:new Uo("scss-throughexpected",Dt("'through' or 'to' expected")),InExpected:new Uo("scss-fromexpected",Dt("'in' expected"))},$o=class extends ss{constructor(){super(new Vo)}_parseStylesheetStatement(e=!1){return this.peek(o.AtKeyword)?this._parseWarnAndDebug()||this._parseControlStatement()||this._parseMixinDeclaration()||this._parseMixinContent()||this._parseMixinReference()||this._parseFunctionDeclaration()||this._parseForward()||this._parseUse()||this._parseRuleset(e)||super._parseStylesheetAtStatement(e):this._parseRuleset(!0)||this._parseVariableDeclaration()}_parseImport(){if(!this.peekKeyword("@import"))return null;const e=this.create(qe);if(this.consumeToken(),!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral()))return this.finish(e,lr.URIOrStringExpected);for(;this.accept(o.Comma);)if(!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral()))return this.finish(e,lr.URIOrStringExpected);return this._completeParseImport(e)}_parseVariableDeclaration(e=[]){if(!this.peek(Ao))return null;const t=this.create(vt);if(!t.setVariable(this._parseVariable()))return null;if(!this.accept(o.Colon))return this.finish(t,lr.ColonExpected);if(this.prevToken&&(t.colonPosition=this.prevToken.offset),!t.setValue(this._parseExpr()))return this.finish(t,lr.VariableValueExpected,[],e);for(;this.peek(o.Exclamation);)if(t.addChild(this._tryParsePrio()));else{if(this.consumeToken(),!this.peekRegExp(o.Ident,/^(default|global)$/))return this.finish(t,lr.UnknownKeyword);this.consumeToken()}return this.peek(o.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)}_parseMediaCondition(){return this._parseInterpolation()||super._parseMediaCondition()}_parseMediaFeatureRangeOperator(){return this.accept(Bo)||this.accept(Po)||super._parseMediaFeatureRangeOperator()}_parseMediaFeatureName(){return this._parseModuleMember()||this._parseFunction()||this._parseIdent()||this._parseVariable()}_parseKeyframeSelector(){return this._tryParseKeyframeSelector()||this._parseControlStatement(this._parseKeyframeSelector.bind(this))||this._parseWarnAndDebug()||this._parseMixinReference()||this._parseFunctionDeclaration()||this._parseVariableDeclaration()||this._parseMixinContent()}_parseVariable(){if(!this.peek(Ao))return null;const e=this.create(yt);return this.consumeToken(),e}_parseModuleMember(){const e=this.mark(),t=this.create(Nt);return t.setIdentifier(this._parseIdent([ne.Module]))?this.hasWhitespace()||!this.acceptDelim(".")||this.hasWhitespace()?(this.restoreAtMark(e),null):t.addChild(this._parseVariable()||this._parseFunction())?t:this.finish(t,lr.IdentifierOrVariableExpected):null}_parseIdent(e){if(!this.peek(o.Ident)&&!this.peek(Mo)&&!this.peekDelim("-"))return null;const t=this.create(ge);t.referenceTypes=e,t.isCustomProperty=this.peekRegExp(o.Ident,/^--/);let n=!1;const i=()=>{const e=this.mark();return this.acceptDelim("-")&&(this.hasWhitespace()||this.acceptDelim("-"),this.hasWhitespace())?(this.restoreAtMark(e),null):this._parseInterpolation()};for(;(this.accept(o.Ident)||t.addChild(i())||n&&this.acceptRegexp(/^[\w-]/))&&(n=!0,!this.hasWhitespace()););return n?this.finish(t):null}_parseTermExpression(){return this._parseModuleMember()||this._parseVariable()||this._parseNestingSelector()||super._parseTermExpression()}_parseInterpolation(){if(this.peek(Mo)){const e=this.create(wt);return this.consumeToken(),e.addChild(this._parseExpr())||this._parseNestingSelector()?this.accept(o.CurlyR)?this.finish(e):this.finish(e,lr.RightCurlyExpected):this.accept(o.CurlyR)?this.finish(e):this.finish(e,lr.ExpressionExpected)}return null}_parseOperator(){if(this.peek(Oo)||this.peek(zo)||this.peek(Po)||this.peek(Bo)||this.peekDelim(">")||this.peekDelim("<")||this.peekIdent("and")||this.peekIdent("or")||this.peekDelim("%")){const e=this.createNode(ee.Operator);return this.consumeToken(),this.finish(e)}return super._parseOperator()}_parseUnaryOperator(){if(this.peekIdent("not")){const e=this.create(pe);return this.consumeToken(),this.finish(e)}return super._parseUnaryOperator()}_parseRuleSetDeclaration(){return this.peek(o.AtKeyword)?this._parseKeyframe()||this._parseImport()||this._parseMedia(!0)||this._parseFontFace()||this._parseWarnAndDebug()||this._parseControlStatement()||this._parseFunctionDeclaration()||this._parseExtends()||this._parseMixinReference()||this._parseMixinContent()||this._parseMixinDeclaration()||this._parseRuleset(!0)||this._parseSupports(!0)||this._parseLayer()||this._parsePropertyAtRule()||this._parseContainer(!0)||this._parseRuleSetDeclarationAtStatement():this._parseVariableDeclaration()||this._tryParseRuleset(!0)||this._parseDeclaration()}_parseDeclaration(e){const t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;const n=this.create(xe);if(!n.setProperty(this._parseProperty()))return null;if(!this.accept(o.Colon))return this.finish(n,lr.ColonExpected,[o.Colon],e||[o.SemiColon]);this.prevToken&&(n.colonPosition=this.prevToken.offset);let i=!1;if(n.setValue(this._parseExpr())&&(i=!0,n.addChild(this._parsePrio())),this.peek(o.CurlyL))n.setNestedProperties(this._parseNestedProperties());else if(!i)return this.finish(n,lr.PropertyValueExpected);return this.peek(o.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)}_parseNestedProperties(){const e=this.create(We);return this._parseBody(e,this._parseDeclaration.bind(this))}_parseExtends(){if(this.peekKeyword("@extend")){const e=this.create(Ct);if(this.consumeToken(),!e.getSelectors().addChild(this._parseSimpleSelector()))return this.finish(e,lr.SelectorExpected);for(;this.accept(o.Comma);)e.getSelectors().addChild(this._parseSimpleSelector());return this.accept(o.Exclamation)&&!this.acceptIdent("optional")?this.finish(e,lr.UnknownKeyword):this.finish(e)}return null}_parseSimpleSelectorBody(){return this._parseSelectorPlaceholder()||super._parseSimpleSelectorBody()}_parseNestingSelector(){if(this.peekDelim("&")){const e=this.createNode(ee.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(o.Num)||this.accept(o.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(e)}return null}_parseSelectorPlaceholder(){if(this.peekDelim("%")){const e=this.createNode(ee.SelectorPlaceholder);return this.consumeToken(),this._parseIdent(),this.finish(e)}if(this.peekKeyword("@at-root")){const e=this.createNode(ee.SelectorPlaceholder);if(this.consumeToken(),this.accept(o.ParenthesisL)){if(!this.acceptIdent("with")&&!this.acceptIdent("without"))return this.finish(e,lr.IdentifierExpected);if(!this.accept(o.Colon))return this.finish(e,lr.ColonExpected);if(!e.addChild(this._parseIdent()))return this.finish(e,lr.IdentifierExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[o.CurlyR])}return this.finish(e)}return null}_parseElementName(){const e=this.mark(),t=super._parseElementName();return t&&!this.hasWhitespace()&&this.peek(o.ParenthesisL)?(this.restoreAtMark(e),null):t}_tryParsePseudoIdentifier(){return this._parseInterpolation()||super._tryParsePseudoIdentifier()}_parseWarnAndDebug(){if(!this.peekKeyword("@debug")&&!this.peekKeyword("@warn")&&!this.peekKeyword("@error"))return null;const e=this.createNode(ee.Debug);return this.consumeToken(),e.addChild(this._parseExpr()),this.finish(e)}_parseControlStatement(e=this._parseRuleSetDeclaration.bind(this)){return this.peek(o.AtKeyword)?this._parseIfStatement(e)||this._parseForStatement(e)||this._parseEachStatement(e)||this._parseWhileStatement(e):null}_parseIfStatement(e){return this.peekKeyword("@if")?this._internalParseIfStatement(e):null}_internalParseIfStatement(e){const t=this.create(Re);if(this.consumeToken(),!t.setExpression(this._parseExpr(!0)))return this.finish(t,lr.ExpressionExpected);if(this._parseBody(t,e),this.acceptKeyword("@else"))if(this.peekIdent("if"))t.setElseClause(this._internalParseIfStatement(e));else if(this.peek(o.CurlyL)){const n=this.create(Oe);this._parseBody(n,e),t.setElseClause(n)}return this.finish(t)}_parseForStatement(e){if(!this.peekKeyword("@for"))return null;const t=this.create(De);return this.consumeToken(),t.setVariable(this._parseVariable())?this.acceptIdent("from")?t.addChild(this._parseBinaryExpr())?this.acceptIdent("to")||this.acceptIdent("through")?t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,lr.ExpressionExpected,[o.CurlyR]):this.finish(t,qo.ThroughOrToExpected,[o.CurlyR]):this.finish(t,lr.ExpressionExpected,[o.CurlyR]):this.finish(t,qo.FromExpected,[o.CurlyR]):this.finish(t,lr.VariableNameExpected,[o.CurlyR])}_parseEachStatement(e){if(!this.peekKeyword("@each"))return null;const t=this.create(Ae);this.consumeToken();const n=t.getVariables();if(!n.addChild(this._parseVariable()))return this.finish(t,lr.VariableNameExpected,[o.CurlyR]);for(;this.accept(o.Comma);)if(!n.addChild(this._parseVariable()))return this.finish(t,lr.VariableNameExpected,[o.CurlyR]);return this.finish(n),this.acceptIdent("in")?t.addChild(this._parseExpr())?this._parseBody(t,e):this.finish(t,lr.ExpressionExpected,[o.CurlyR]):this.finish(t,qo.InExpected,[o.CurlyR])}_parseWhileStatement(e){if(!this.peekKeyword("@while"))return null;const t=this.create(Me);return this.consumeToken(),t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,lr.ExpressionExpected,[o.CurlyR])}_parseFunctionBodyDeclaration(){return this._parseVariableDeclaration()||this._parseReturnStatement()||this._parseWarnAndDebug()||this._parseControlStatement(this._parseFunctionBodyDeclaration.bind(this))}_parseFunctionDeclaration(){if(!this.peekKeyword("@function"))return null;const e=this.create(ze);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([ne.Function])))return this.finish(e,lr.IdentifierExpected,[o.CurlyR]);if(!this.accept(o.ParenthesisL))return this.finish(e,lr.LeftParenthesisExpected,[o.CurlyR]);if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,lr.VariableNameExpected);return this.accept(o.ParenthesisR)?this._parseBody(e,this._parseFunctionBodyDeclaration.bind(this)):this.finish(e,lr.RightParenthesisExpected,[o.CurlyR])}_parseReturnStatement(){if(!this.peekKeyword("@return"))return null;const e=this.createNode(ee.ReturnStatement);return this.consumeToken(),e.addChild(this._parseExpr())?this.finish(e):this.finish(e,lr.ExpressionExpected)}_parseMixinDeclaration(){if(!this.peekKeyword("@mixin"))return null;const e=this.create(xt);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([ne.Mixin])))return this.finish(e,lr.IdentifierExpected,[o.CurlyR]);if(this.accept(o.ParenthesisL)){if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,lr.VariableNameExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[o.CurlyR])}return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))}_parseParameterDeclaration(){const e=this.create(Ne);return e.setIdentifier(this._parseVariable())?(this.accept(Wo),this.accept(o.Colon)&&!e.setDefaultValue(this._parseExpr(!0))?this.finish(e,lr.VariableValueExpected,[],[o.Comma,o.ParenthesisR]):this.finish(e)):null}_parseMixinContent(){if(!this.peekKeyword("@content"))return null;const e=this.create(_t);if(this.consumeToken(),this.accept(o.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,lr.ExpressionExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected)}return this.finish(e)}_parseMixinReference(){if(!this.peekKeyword("@include"))return null;const e=this.create(St);this.consumeToken();const t=this._parseIdent([ne.Mixin]);if(!e.setIdentifier(t))return this.finish(e,lr.IdentifierExpected,[o.CurlyR]);if(!this.hasWhitespace()&&this.acceptDelim(".")&&!this.hasWhitespace()){const n=this._parseIdent([ne.Mixin]);if(!n)return this.finish(e,lr.IdentifierExpected,[o.CurlyR]);const i=this.create(Nt);t.referenceTypes=[ne.Module],i.setIdentifier(t),e.setIdentifier(n),e.addChild(i)}if(this.accept(o.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,lr.ExpressionExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected)}return(this.peekIdent("using")||this.peek(o.CurlyL))&&e.setContent(this._parseMixinContentDeclaration()),this.finish(e)}_parseMixinContentDeclaration(){const e=this.create(kt);if(this.acceptIdent("using")){if(!this.accept(o.ParenthesisL))return this.finish(e,lr.LeftParenthesisExpected,[o.CurlyL]);if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,lr.VariableNameExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[o.CurlyL])}return this.peek(o.CurlyL)&&this._parseBody(e,this._parseMixinReferenceBodyStatement.bind(this)),this.finish(e)}_parseMixinReferenceBodyStatement(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_parseFunctionArgument(){const e=this.create(Te),t=this.mark(),n=this._parseVariable();if(n)if(this.accept(o.Colon))e.setIdentifier(n);else{if(this.accept(Wo))return e.setValue(n),this.finish(e);this.restoreAtMark(t)}return e.setValue(this._parseExpr(!0))?(this.accept(Wo),e.addChild(this._parsePrio()),this.finish(e)):e.setValue(this._tryParsePrio())?this.finish(e):null}_parseURLArgument(){const e=this.mark(),t=super._parseURLArgument();if(!t||!this.peek(o.ParenthesisR)){this.restoreAtMark(e);const t=this.create(pe);return t.addChild(this._parseBinaryExpr()),this.finish(t)}return t}_parseOperation(){if(!this.peek(o.ParenthesisL))return null;const e=this.create(pe);for(this.consumeToken();e.addChild(this._parseListElement());)this.accept(o.Comma);return this.accept(o.ParenthesisR)?this.finish(e):this.finish(e,lr.RightParenthesisExpected)}_parseListElement(){const e=this.create(Ft),t=this._parseBinaryExpr();if(!t)return null;if(this.accept(o.Colon)){if(e.setKey(t),!e.setValue(this._parseBinaryExpr()))return this.finish(e,lr.ExpressionExpected)}else e.setValue(t);return this.finish(e)}_parseUse(){if(!this.peekKeyword("@use"))return null;const e=this.create($e);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,lr.StringLiteralExpected);if(!this.peek(o.SemiColon)&&!this.peek(o.EOF)){if(!this.peekRegExp(o.Ident,/as|with/))return this.finish(e,lr.UnknownKeyword);if(this.acceptIdent("as")&&!e.setIdentifier(this._parseIdent([ne.Module]))&&!this.acceptDelim("*"))return this.finish(e,lr.IdentifierOrWildcardExpected);if(this.acceptIdent("with")){if(!this.accept(o.ParenthesisL))return this.finish(e,lr.LeftParenthesisExpected,[o.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,lr.VariableNameExpected);for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,lr.VariableNameExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected)}}return this.accept(o.SemiColon)||this.accept(o.EOF)?this.finish(e):this.finish(e,lr.SemiColonExpected)}_parseModuleConfigDeclaration(){const e=this.create(je);return e.setIdentifier(this._parseVariable())?this.accept(o.Colon)&&e.setValue(this._parseExpr(!0))?!this.accept(o.Exclamation)||!this.hasWhitespace()&&this.acceptIdent("default")?this.finish(e):this.finish(e,lr.UnknownKeyword):this.finish(e,lr.VariableValueExpected,[],[o.Comma,o.ParenthesisR]):null}_parseForward(){if(!this.peekKeyword("@forward"))return null;const e=this.create(Ke);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,lr.StringLiteralExpected);if(this.acceptIdent("as")){const t=this._parseIdent([ne.Forward]);if(!e.setIdentifier(t))return this.finish(e,lr.IdentifierExpected);if(this.hasWhitespace()||!this.acceptDelim("*"))return this.finish(e,lr.WildcardExpected)}if(this.acceptIdent("with")){if(!this.accept(o.ParenthesisL))return this.finish(e,lr.LeftParenthesisExpected,[o.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,lr.VariableNameExpected);for(;this.accept(o.Comma)&&!this.peek(o.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,lr.VariableNameExpected);if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected)}else if((this.peekIdent("hide")||this.peekIdent("show"))&&!e.addChild(this._parseForwardVisibility()))return this.finish(e,lr.IdentifierOrVariableExpected);return this.accept(o.SemiColon)||this.accept(o.EOF)?this.finish(e):this.finish(e,lr.SemiColonExpected)}_parseForwardVisibility(){const e=this.create(He);for(e.setIdentifier(this._parseIdent());e.addChild(this._parseVariable()||this._parseIdent());)this.accept(o.Comma);return e.getChildren().length>1?e:null}_parseSupportsCondition(){return this._parseInterpolation()||super._parseSupportsCondition()}},jo=Dt("Sass documentation"),Ko=class e extends Is{constructor(t,n){super("$",t,n),Ho(e.scssModuleLoaders),Ho(e.scssModuleBuiltIns)}isImportPathParent(e){return e===ee.Forward||e===ee.Use||super.isImportPathParent(e)}getCompletionForImportPath(t,n){const i=t.getParent().type;if(i===ee.Forward||i===ee.Use)for(let i of e.scssModuleBuiltIns){const e={label:i.label,documentation:i.documentation,textEdit:bn.replace(this.getCompletionRange(t),`'${i.label}'`),kind:$n.Module};n.items.push(e)}return super.getCompletionForImportPath(t,n)}createReplaceFunction(){let t=1;return(n,i)=>"\\"+i+": ${"+t+++":"+(e.variableDefaults[i]||"")+"}"}createFunctionProposals(e,t,n,i){for(const r of e){const e=r.func.replace(/\[?(\$\w+)\]?/g,this.createReplaceFunction()),s={label:r.func.substr(0,r.func.indexOf("(")),detail:r.func,documentation:r.desc,textEdit:bn.replace(this.getCompletionRange(t),e),insertTextFormat:Kn.Snippet,kind:$n.Function};n&&(s.sortText="z"),i.items.push(s)}return i}getCompletionsForSelector(t,n,i){return this.createFunctionProposals(e.selectorFuncs,null,!0,i),super.getCompletionsForSelector(t,n,i)}getTermProposals(t,n,i){let r=e.builtInFuncs;return t&&(r=r.filter((e=>!e.type||!t.restrictions||-1!==t.restrictions.indexOf(e.type)))),this.createFunctionProposals(r,n,!0,i),super.getTermProposals(t,n,i)}getColorProposals(t,n,i){return this.createFunctionProposals(e.colorProposals,n,!1,i),super.getColorProposals(t,n,i)}getCompletionsForDeclarationProperty(e,t){return this.getCompletionForAtDirectives(t),this.getCompletionsForSelector(null,!0,t),super.getCompletionsForDeclarationProperty(e,t)}getCompletionsForExtendsReference(e,t,n){const i=this.getSymbolContext().findSymbolsAtOffset(this.offset,ne.Rule);for(const e of i){const i={label:e.name,textEdit:bn.replace(this.getCompletionRange(t),e.name),kind:$n.Function};n.items.push(i)}return n}getCompletionForAtDirectives(t){return t.items.push(...e.scssAtDirectives),t}getCompletionForTopLevel(e){return this.getCompletionForAtDirectives(e),this.getCompletionForModuleLoaders(e),super.getCompletionForTopLevel(e),e}getCompletionForModuleLoaders(t){return t.items.push(...e.scssModuleLoaders),t}};function Ho(e){e.forEach((e=>{if(e.documentation&&e.references&&e.references.length>0){const t="string"==typeof e.documentation?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+="\n\n",t.value+=e.references.map((e=>`[${e.name}](${e.url})`)).join(" | "),e.documentation=t}}))}Ko.variableDefaults={$red:"1",$green:"2",$blue:"3",$alpha:"1.0",$color:"#000000",$weight:"0.5",$hue:"0",$saturation:"0%",$lightness:"0%",$degrees:"0",$amount:"0",$string:'""',$substring:'"s"',$number:"0",$limit:"1"},Ko.colorProposals=[{func:"red($color)",desc:Dt("Gets the red component of a color.")},{func:"green($color)",desc:Dt("Gets the green component of a color.")},{func:"blue($color)",desc:Dt("Gets the blue component of a color.")},{func:"mix($color, $color, [$weight])",desc:Dt("Mixes two colors together.")},{func:"hue($color)",desc:Dt("Gets the hue component of a color.")},{func:"saturation($color)",desc:Dt("Gets the saturation component of a color.")},{func:"lightness($color)",desc:Dt("Gets the lightness component of a color.")},{func:"adjust-hue($color, $degrees)",desc:Dt("Changes the hue of a color.")},{func:"lighten($color, $amount)",desc:Dt("Makes a color lighter.")},{func:"darken($color, $amount)",desc:Dt("Makes a color darker.")},{func:"saturate($color, $amount)",desc:Dt("Makes a color more saturated.")},{func:"desaturate($color, $amount)",desc:Dt("Makes a color less saturated.")},{func:"grayscale($color)",desc:Dt("Converts a color to grayscale.")},{func:"complement($color)",desc:Dt("Returns the complement of a color.")},{func:"invert($color)",desc:Dt("Returns the inverse of a color.")},{func:"alpha($color)",desc:Dt("Gets the opacity component of a color.")},{func:"opacity($color)",desc:"Gets the alpha component (opacity) of a color."},{func:"rgba($color, $alpha)",desc:Dt("Changes the alpha component for a color.")},{func:"opacify($color, $amount)",desc:Dt("Makes a color more opaque.")},{func:"fade-in($color, $amount)",desc:Dt("Makes a color more opaque.")},{func:"transparentize($color, $amount)",desc:Dt("Makes a color more transparent.")},{func:"fade-out($color, $amount)",desc:Dt("Makes a color more transparent.")},{func:"adjust-color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])",desc:Dt("Increases or decreases one or more components of a color.")},{func:"scale-color($color, [$red], [$green], [$blue], [$saturation], [$lightness], [$alpha])",desc:Dt("Fluidly scales one or more properties of a color.")},{func:"change-color($color, [$red], [$green], [$blue], [$hue], [$saturation], [$lightness], [$alpha])",desc:Dt("Changes one or more properties of a color.")},{func:"ie-hex-str($color)",desc:Dt("Converts a color into the format understood by IE filters.")}],Ko.selectorFuncs=[{func:"selector-nest($selectors…)",desc:Dt("Nests selector beneath one another like they would be nested in the stylesheet.")},{func:"selector-append($selectors…)",desc:Dt("Appends selectors to one another without spaces in between.")},{func:"selector-extend($selector, $extendee, $extender)",desc:Dt("Extends $extendee with $extender within $selector.")},{func:"selector-replace($selector, $original, $replacement)",desc:Dt("Replaces $original with $replacement within $selector.")},{func:"selector-unify($selector1, $selector2)",desc:Dt("Unifies two selectors to produce a selector that matches elements matched by both.")},{func:"is-superselector($super, $sub)",desc:Dt("Returns whether $super matches all the elements $sub does, and possibly more.")},{func:"simple-selectors($selector)",desc:Dt("Returns the simple selectors that comprise a compound selector.")},{func:"selector-parse($selector)",desc:Dt("Parses a selector into the format returned by &.")}],Ko.builtInFuncs=[{func:"unquote($string)",desc:Dt("Removes quotes from a string.")},{func:"quote($string)",desc:Dt("Adds quotes to a string.")},{func:"str-length($string)",desc:Dt("Returns the number of characters in a string.")},{func:"str-insert($string, $insert, $index)",desc:Dt("Inserts $insert into $string at $index.")},{func:"str-index($string, $substring)",desc:Dt("Returns the index of the first occurance of $substring in $string.")},{func:"str-slice($string, $start-at, [$end-at])",desc:Dt("Extracts a substring from $string.")},{func:"to-upper-case($string)",desc:Dt("Converts a string to upper case.")},{func:"to-lower-case($string)",desc:Dt("Converts a string to lower case.")},{func:"percentage($number)",desc:Dt("Converts a unitless number to a percentage."),type:"percentage"},{func:"round($number)",desc:Dt("Rounds a number to the nearest whole number.")},{func:"ceil($number)",desc:Dt("Rounds a number up to the next whole number.")},{func:"floor($number)",desc:Dt("Rounds a number down to the previous whole number.")},{func:"abs($number)",desc:Dt("Returns the absolute value of a number.")},{func:"min($numbers)",desc:Dt("Finds the minimum of several numbers.")},{func:"max($numbers)",desc:Dt("Finds the maximum of several numbers.")},{func:"random([$limit])",desc:Dt("Returns a random number.")},{func:"length($list)",desc:Dt("Returns the length of a list.")},{func:"nth($list, $n)",desc:Dt("Returns a specific item in a list.")},{func:"set-nth($list, $n, $value)",desc:Dt("Replaces the nth item in a list.")},{func:"join($list1, $list2, [$separator])",desc:Dt("Joins together two lists into one.")},{func:"append($list1, $val, [$separator])",desc:Dt("Appends a single value onto the end of a list.")},{func:"zip($lists)",desc:Dt("Combines several lists into a single multidimensional list.")},{func:"index($list, $value)",desc:Dt("Returns the position of a value within a list.")},{func:"list-separator(#list)",desc:Dt("Returns the separator of a list.")},{func:"map-get($map, $key)",desc:Dt("Returns the value in a map associated with a given key.")},{func:"map-merge($map1, $map2)",desc:Dt("Merges two maps together into a new map.")},{func:"map-remove($map, $keys)",desc:Dt("Returns a new map with keys removed.")},{func:"map-keys($map)",desc:Dt("Returns a list of all keys in a map.")},{func:"map-values($map)",desc:Dt("Returns a list of all values in a map.")},{func:"map-has-key($map, $key)",desc:Dt("Returns whether a map has a value associated with a given key.")},{func:"keywords($args)",desc:Dt("Returns the keywords passed to a function that takes variable arguments.")},{func:"feature-exists($feature)",desc:Dt("Returns whether a feature exists in the current Sass runtime.")},{func:"variable-exists($name)",desc:Dt("Returns whether a variable with the given name exists in the current scope.")},{func:"global-variable-exists($name)",desc:Dt("Returns whether a variable with the given name exists in the global scope.")},{func:"function-exists($name)",desc:Dt("Returns whether a function with the given name exists.")},{func:"mixin-exists($name)",desc:Dt("Returns whether a mixin with the given name exists.")},{func:"inspect($value)",desc:Dt("Returns the string representation of a value as it would be represented in Sass.")},{func:"type-of($value)",desc:Dt("Returns the type of a value.")},{func:"unit($number)",desc:Dt("Returns the unit(s) associated with a number.")},{func:"unitless($number)",desc:Dt("Returns whether a number has units.")},{func:"comparable($number1, $number2)",desc:Dt("Returns whether two numbers can be added, subtracted, or compared.")},{func:"call($name, $args…)",desc:Dt("Dynamically calls a Sass function.")}],Ko.scssAtDirectives=[{label:"@extend",documentation:Dt("Inherits the styles of another selector."),kind:$n.Keyword},{label:"@at-root",documentation:Dt("Causes one or more rules to be emitted at the root of the document."),kind:$n.Keyword},{label:"@debug",documentation:Dt("Prints the value of an expression to the standard error output stream. Useful for debugging complicated Sass files."),kind:$n.Keyword},{label:"@warn",documentation:Dt("Prints the value of an expression to the standard error output stream. Useful for libraries that need to warn users of deprecations or recovering from minor mixin usage mistakes. Warnings can be turned off with the `--quiet` command-line option or the `:quiet` Sass option."),kind:$n.Keyword},{label:"@error",documentation:Dt("Throws the value of an expression as a fatal error with stack trace. Useful for validating arguments to mixins and functions."),kind:$n.Keyword},{label:"@if",documentation:Dt("Includes the body if the expression does not evaluate to `false` or `null`."),insertText:"@if ${1:expr} {\n\t$0\n}",insertTextFormat:Kn.Snippet,kind:$n.Keyword},{label:"@for",documentation:Dt("For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause."),insertText:"@for \\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\n\t$0\n}",insertTextFormat:Kn.Snippet,kind:$n.Keyword},{label:"@each",documentation:Dt("Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`."),insertText:"@each \\$${1:var} in ${2:list} {\n\t$0\n}",insertTextFormat:Kn.Snippet,kind:$n.Keyword},{label:"@while",documentation:Dt("While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`."),insertText:"@while ${1:condition} {\n\t$0\n}",insertTextFormat:Kn.Snippet,kind:$n.Keyword},{label:"@mixin",documentation:Dt("Defines styles that can be re-used throughout the stylesheet with `@include`."),insertText:"@mixin ${1:name} {\n\t$0\n}",insertTextFormat:Kn.Snippet,kind:$n.Keyword},{label:"@include",documentation:Dt("Includes the styles defined by another mixin into the current rule."),kind:$n.Keyword},{label:"@function",documentation:Dt("Defines complex operations that can be re-used throughout stylesheets."),kind:$n.Keyword}],Ko.scssModuleLoaders=[{label:"@use",documentation:Dt("Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together."),references:[{name:jo,url:"https://sass-lang.com/documentation/at-rules/use"}],insertText:"@use $0;",insertTextFormat:Kn.Snippet,kind:$n.Keyword},{label:"@forward",documentation:Dt("Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule."),references:[{name:jo,url:"https://sass-lang.com/documentation/at-rules/forward"}],insertText:"@forward $0;",insertTextFormat:Kn.Snippet,kind:$n.Keyword}],Ko.scssModuleBuiltIns=[{label:"sass:math",documentation:Dt("Provides functions that operate on numbers."),references:[{name:jo,url:"https://sass-lang.com/documentation/modules/math"}]},{label:"sass:string",documentation:Dt("Makes it easy to combine, search, or split apart strings."),references:[{name:jo,url:"https://sass-lang.com/documentation/modules/string"}]},{label:"sass:color",documentation:Dt("Generates new colors based on existing ones, making it easy to build color themes."),references:[{name:jo,url:"https://sass-lang.com/documentation/modules/color"}]},{label:"sass:list",documentation:Dt("Lets you access and modify values in lists."),references:[{name:jo,url:"https://sass-lang.com/documentation/modules/list"}]},{label:"sass:map",documentation:Dt("Makes it possible to look up the value associated with a key in a map, and much more."),references:[{name:jo,url:"https://sass-lang.com/documentation/modules/map"}]},{label:"sass:selector",documentation:Dt("Provides access to Sass’s powerful selector engine."),references:[{name:jo,url:"https://sass-lang.com/documentation/modules/selector"}]},{label:"sass:meta",documentation:Dt("Exposes the details of Sass’s inner workings."),references:[{name:jo,url:"https://sass-lang.com/documentation/modules/meta"}]}];var Go,Jo="/".charCodeAt(0),Qo="\n".charCodeAt(0),Xo="\r".charCodeAt(0),Yo="\f".charCodeAt(0),Zo="`".charCodeAt(0),ea=".".charCodeAt(0),ta=o.CustomToken,na=ta++,ia=class extends re{scanNext(e){const t=this.escapedJavaScript();return null!==t?this.finishToken(e,t):this.stream.advanceIfChars([ea,ea,ea])?this.finishToken(e,na):super.scanNext(e)}comment(){return!!super.comment()||!(this.inURL||!this.stream.advanceIfChars([Jo,Jo]))&&(this.stream.advanceWhileChar((e=>{switch(e){case Qo:case Xo:case Yo:return!1;default:return!0}})),!0)}escapedJavaScript(){return this.stream.peekChar()===Zo?(this.stream.advance(1),this.stream.advanceWhileChar((e=>e!==Zo)),this.stream.advanceIfChar(Zo)?o.EscapedJavaScript:o.BadEscapedJavaScript):null}},ra=class extends ss{constructor(){super(new ia)}_parseStylesheetStatement(e=!1){return this.peek(o.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||super._parseStylesheetAtStatement(e):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)}_parseImport(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;const e=this.create(qe);if(this.consumeToken(),this.accept(o.ParenthesisL)){if(!this.accept(o.Ident))return this.finish(e,lr.IdentifierExpected,[o.SemiColon]);do{if(!this.accept(o.Comma))break}while(this.accept(o.Ident));if(!this.accept(o.ParenthesisR))return this.finish(e,lr.RightParenthesisExpected,[o.SemiColon])}return e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(o.SemiColon)||this.peek(o.EOF)||e.setMedialist(this._parseMediaQueryList()),this._completeParseImport(e)):this.finish(e,lr.URIOrStringExpected,[o.SemiColon])}_parsePlugin(){if(!this.peekKeyword("@plugin"))return null;const e=this.createNode(ee.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(o.SemiColon)?this.finish(e):this.finish(e,lr.SemiColonExpected):this.finish(e,lr.StringLiteralExpected)}_parseMediaQuery(){const e=super._parseMediaQuery();if(!e){const e=this.create(nt);return e.addChild(this._parseVariable())?this.finish(e):null}return e}_parseMediaDeclaration(e=!1){return this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)}_parseMediaFeatureName(){return this._parseIdent()||this._parseVariable()}_parseVariableDeclaration(e=[]){const t=this.create(vt),n=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(!this.accept(o.Colon))return this.restoreAtMark(n),null;if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,lr.VariableValueExpected,[],e);return t.addChild(this._parsePrio()),this.peek(o.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)}_parseDetachedRuleSet(){let e=this.mark();if(this.peekDelim("#")||this.peekDelim(".")){if(this.consumeToken(),this.hasWhitespace()||!this.accept(o.ParenthesisL))return this.restoreAtMark(e),null;{let t=this.create(xt);if(t.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(o.Comma)||this.accept(o.SemiColon))&&!this.peek(o.ParenthesisR);)t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,lr.IdentifierExpected,[],[o.ParenthesisR]);if(!this.accept(o.ParenthesisR))return this.restoreAtMark(e),null}}if(!this.peek(o.CurlyL))return null;const t=this.create(we);return this._parseBody(t,this._parseDetachedRuleSetBody.bind(this)),this.finish(t)}_parseDetachedRuleSetBody(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_addLookupChildren(e){if(!e.addChild(this._parseLookupValue()))return!1;let t=!1;for(;this.peek(o.BracketL)&&(t=!0),e.addChild(this._parseLookupValue());)t=!1;return!t}_parseLookupValue(){const e=this.create(pe),t=this.mark();return this.accept(o.BracketL)&&((e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(o.BracketR)||this.accept(o.BracketR))?e:(this.restoreAtMark(t),null)}_parseVariable(e=!1,t=!1){const n=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!n&&!this.peek(o.AtKeyword))return null;const i=this.create(yt),r=this.mark();for(;this.acceptDelim("@")||!e&&this.acceptDelim("$");)if(this.hasWhitespace())return this.restoreAtMark(r),null;return!this.accept(o.AtKeyword)&&!this.accept(o.Ident)||!t&&this.peek(o.BracketL)&&!this._addLookupChildren(i)?(this.restoreAtMark(r),null):i}_parseTermExpression(){return this._parseVariable()||this._parseEscaped()||super._parseTermExpression()||this._tryParseMixinReference(!1)}_parseEscaped(){if(this.peek(o.EscapedJavaScript)||this.peek(o.BadEscapedJavaScript)){const e=this.createNode(ee.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim("~")){const e=this.createNode(ee.EscapedValue);return this.consumeToken(),this.accept(o.String)||this.accept(o.EscapedJavaScript)?this.finish(e):this.finish(e,lr.TermExpected)}return null}_parseOperator(){return this._parseGuardOperator()||super._parseOperator()}_parseGuardOperator(){if(this.peekDelim(">")){const e=this.createNode(ee.Operator);return this.consumeToken(),this.acceptDelim("="),e}if(this.peekDelim("=")){const e=this.createNode(ee.Operator);return this.consumeToken(),this.acceptDelim("<"),e}if(this.peekDelim("<")){const e=this.createNode(ee.Operator);return this.consumeToken(),this.acceptDelim("="),e}return null}_parseRuleSetDeclaration(){return this.peek(o.AtKeyword)?this._parseKeyframe()||this._parseMedia(!0)||this._parseImport()||this._parseSupports(!0)||this._parseLayer()||this._parsePropertyAtRule()||this._parseContainer(!0)||this._parseDetachedRuleSetMixin()||this._parseVariableDeclaration()||this._parseRuleSetDeclarationAtStatement():this._tryParseMixinDeclaration()||this._tryParseRuleset(!0)||this._tryParseMixinReference()||this._parseFunction()||this._parseExtend()||this._parseDeclaration()}_parseKeyframeIdent(){return this._parseIdent([ne.Keyframe])||this._parseVariable()}_parseKeyframeSelector(){return this._parseDetachedRuleSetMixin()||super._parseKeyframeSelector()}_parseSelector(e){const t=this.create(Ce);let n=!1;for(e&&(n=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());){n=!0;const e=this.mark();if(t.addChild(this._parseGuard())&&this.peek(o.CurlyL))break;this.restoreAtMark(e),t.addChild(this._parseCombinator())}return n?this.finish(t):null}_parseNestingSelector(){if(this.peekDelim("&")){const e=this.createNode(ee.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(o.Num)||this.accept(o.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(e)}return null}_parseSelectorIdent(){if(!this.peekInterpolatedIdent())return null;const e=this.createNode(ee.SelectorInterpolation);return this._acceptInterpolatedIdent(e)?this.finish(e):null}_parsePropertyIdentifier(e=!1){const t=/^[\w-]+/;if(!this.peekInterpolatedIdent()&&!this.peekRegExp(this.token.type,t))return null;const n=this.mark(),i=this.create(ge);i.isCustomProperty=this.acceptDelim("-")&&this.acceptDelim("-");let r=!1;return r=e?i.isCustomProperty?i.addChild(this._parseIdent()):i.addChild(this._parseRegexp(t)):i.isCustomProperty?this._acceptInterpolatedIdent(i):this._acceptInterpolatedIdent(i,t),r?(e||this.hasWhitespace()||(this.acceptDelim("+"),this.hasWhitespace()||this.acceptIdent("_")),this.finish(i)):(this.restoreAtMark(n),null)}peekInterpolatedIdent(){return this.peek(o.Ident)||this.peekDelim("@")||this.peekDelim("$")||this.peekDelim("-")}_acceptInterpolatedIdent(e,t){let n=!1;const i=()=>{const e=this.mark();return this.acceptDelim("-")&&(this.hasWhitespace()||this.acceptDelim("-"),this.hasWhitespace())?(this.restoreAtMark(e),null):this._parseInterpolation()},r=t?()=>this.acceptRegexp(t):()=>this.accept(o.Ident);for(;(r()||e.addChild(this._parseInterpolation()||this.try(i)))&&(n=!0,!this.hasWhitespace()););return n}_parseInterpolation(){const e=this.mark();if(this.peekDelim("@")||this.peekDelim("$")){const t=this.createNode(ee.Interpolation);return this.consumeToken(),this.hasWhitespace()||!this.accept(o.CurlyL)?(this.restoreAtMark(e),null):t.addChild(this._parseIdent())?this.accept(o.CurlyR)?this.finish(t):this.finish(t,lr.RightCurlyExpected):this.finish(t,lr.IdentifierExpected)}return null}_tryParseMixinDeclaration(){const e=this.mark(),t=this.create(xt);if(!t.setIdentifier(this._parseMixinDeclarationIdentifier())||!this.accept(o.ParenthesisL))return this.restoreAtMark(e),null;if(t.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(o.Comma)||this.accept(o.SemiColon))&&!this.peek(o.ParenthesisR);)t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,lr.IdentifierExpected,[],[o.ParenthesisR]);return this.accept(o.ParenthesisR)?(t.setGuard(this._parseGuard()),this.peek(o.CurlyL)?this._parseBody(t,this._parseMixInBodyDeclaration.bind(this)):(this.restoreAtMark(e),null)):(this.restoreAtMark(e),null)}_parseMixInBodyDeclaration(){return this._parseFontFace()||this._parseRuleSetDeclaration()}_parseMixinDeclarationIdentifier(){let e;if(this.peekDelim("#")||this.peekDelim(".")){if(e=this.create(ge),this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseIdent()))return null}else{if(!this.peek(o.Hash))return null;e=this.create(ge),this.consumeToken()}return e.referenceTypes=[ne.Mixin],this.finish(e)}_parsePseudo(){if(!this.peek(o.Colon))return null;const e=this.mark(),t=this.create(Ct);return this.consumeToken(),this.acceptIdent("extend")?this._completeExtends(t):(this.restoreAtMark(e),super._parsePseudo())}_parseExtend(){if(!this.peekDelim("&"))return null;const e=this.mark(),t=this.create(Ct);return this.consumeToken(),!this.hasWhitespace()&&this.accept(o.Colon)&&this.acceptIdent("extend")?this._completeExtends(t):(this.restoreAtMark(e),null)}_completeExtends(e){if(!this.accept(o.ParenthesisL))return this.finish(e,lr.LeftParenthesisExpected);const t=e.getSelectors();if(!t.addChild(this._parseSelector(!0)))return this.finish(e,lr.SelectorExpected);for(;this.accept(o.Comma);)if(!t.addChild(this._parseSelector(!0)))return this.finish(e,lr.SelectorExpected);return this.accept(o.ParenthesisR)?this.finish(e):this.finish(e,lr.RightParenthesisExpected)}_parseDetachedRuleSetMixin(){if(!this.peek(o.AtKeyword))return null;const e=this.mark(),t=this.create(St);return!t.addChild(this._parseVariable(!0))||!this.hasWhitespace()&&this.accept(o.ParenthesisL)?this.accept(o.ParenthesisR)?this.finish(t):this.finish(t,lr.RightParenthesisExpected):(this.restoreAtMark(e),null)}_tryParseMixinReference(e=!0){const t=this.mark(),n=this.create(St);let i=this._parseMixinDeclarationIdentifier();for(;i;){this.acceptDelim(">");const e=this._parseMixinDeclarationIdentifier();if(!e)break;n.getNamespaces().addChild(i),i=e}if(!n.setIdentifier(i))return this.restoreAtMark(t),null;let r=!1;if(this.accept(o.ParenthesisL)){if(r=!0,n.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(o.Comma)||this.accept(o.SemiColon))&&!this.peek(o.ParenthesisR);)if(!n.getArguments().addChild(this._parseMixinArgument()))return this.finish(n,lr.ExpressionExpected);if(!this.accept(o.ParenthesisR))return this.finish(n,lr.RightParenthesisExpected);i.referenceTypes=[ne.Mixin]}else i.referenceTypes=[ne.Mixin,ne.Rule];return this.peek(o.BracketL)?e||this._addLookupChildren(n):n.addChild(this._parsePrio()),r||this.peek(o.SemiColon)||this.peek(o.CurlyR)||this.peek(o.EOF)?this.finish(n):(this.restoreAtMark(t),null)}_parseMixinArgument(){const e=this.create(Te),t=this.mark(),n=this._parseVariable();return n&&(this.accept(o.Colon)?e.setIdentifier(n):this.restoreAtMark(t)),e.setValue(this._parseDetachedRuleSet()||this._parseExpr(!0))?this.finish(e):(this.restoreAtMark(t),null)}_parseMixinParameter(){const e=this.create(Ne);if(this.peekKeyword("@rest")){const t=this.create(pe);return this.consumeToken(),this.accept(na)?(e.setIdentifier(this.finish(t)),this.finish(e)):this.finish(e,lr.DotExpected,[],[o.Comma,o.ParenthesisR])}if(this.peek(na)){const t=this.create(pe);return this.consumeToken(),e.setIdentifier(this.finish(t)),this.finish(e)}let t=!1;return e.setIdentifier(this._parseVariable())&&(this.accept(o.Colon),t=!0),e.setDefaultValue(this._parseDetachedRuleSet()||this._parseExpr(!0))||t?this.finish(e):null}_parseGuard(){if(!this.peekIdent("when"))return null;const e=this.create(It);if(this.consumeToken(),!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,lr.ConditionExpected);for(;this.acceptIdent("and")||this.accept(o.Comma);)if(!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,lr.ConditionExpected);return this.finish(e)}_parseGuardCondition(){const e=this.create(Lt);return e.isNegated=this.acceptIdent("not"),this.accept(o.ParenthesisL)?(e.addChild(this._parseExpr()),this.accept(o.ParenthesisR)?this.finish(e):this.finish(e,lr.RightParenthesisExpected)):e.isNegated?this.finish(e,lr.LeftParenthesisExpected):null}_parseFunction(){const e=this.mark(),t=this.create(Le);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(o.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(o.Comma)||this.accept(o.SemiColon))&&!this.peek(o.ParenthesisR);)if(!t.getArguments().addChild(this._parseMixinArgument()))return this.finish(t,lr.ExpressionExpected);return this.accept(o.ParenthesisR)?this.finish(t):this.finish(t,lr.RightParenthesisExpected)}_parseFunctionIdentifier(){if(this.peekDelim("%")){const e=this.create(ge);return e.referenceTypes=[ne.Function],this.consumeToken(),this.finish(e)}return super._parseFunctionIdentifier()}_parseURLArgument(){const e=this.mark(),t=super._parseURLArgument();if(!t||!this.peek(o.ParenthesisR)){this.restoreAtMark(e);const t=this.create(pe);return t.addChild(this._parseBinaryExpr()),this.finish(t)}return t}},sa=class e extends Is{constructor(e,t){super("@",e,t)}createFunctionProposals(e,t,n,i){for(const r of e){const e={label:r.name,detail:r.example,documentation:r.description,textEdit:bn.replace(this.getCompletionRange(t),r.name+"($0)"),insertTextFormat:Kn.Snippet,kind:$n.Function};n&&(e.sortText="z"),i.items.push(e)}return i}getTermProposals(t,n,i){let r=e.builtInProposals;return t&&(r=r.filter((e=>!e.type||!t.restrictions||-1!==t.restrictions.indexOf(e.type)))),this.createFunctionProposals(r,n,!0,i),super.getTermProposals(t,n,i)}getColorProposals(t,n,i){return this.createFunctionProposals(e.colorProposals,n,!1,i),super.getColorProposals(t,n,i)}getCompletionsForDeclarationProperty(e,t){return this.getCompletionsForSelector(null,!0,t),super.getCompletionsForDeclarationProperty(e,t)}};function oa(e,t){const n=function(e){function t(t){return e.positionAt(t.offset).line}function n(t){return e.positionAt(t.offset+t.len).line}function i(e,i){const r=t(e),s=n(e);return r!==s?{startLine:r,endLine:s,kind:i}:null}const r=[],s=[],a=function(){switch(e.languageId){case"scss":return new Vo;case"less":return new ia;default:return new re}}();a.ignoreComment=!1,a.setSource(e.getText());let l=a.scan(),c=null;for(;l.type!==o.EOF;){switch(l.type){case o.CurlyL:case Mo:s.push({line:t(l),type:"brace",isStart:!0});break;case o.CurlyR:if(0!==s.length){const e=aa(s,"brace");if(!e)break;let t=n(l);"brace"===e.type&&(c&&n(c)!==t&&t--,e.line!==t&&r.push({startLine:e.line,endLine:t,kind:void 0}))}break;case o.Comment:{const o=e=>"#region"===e?{line:t(l),type:"comment",isStart:!0}:{line:n(l),type:"comment",isStart:!1},a=(t=>{const n=t.text.match(/^\s*\/\*\s*(#region|#endregion)\b\s*(.*?)\s*\*\//);if(n)return o(n[1]);if("scss"===e.languageId||"less"===e.languageId){const e=t.text.match(/^\s*\/\/\s*(#region|#endregion)\b\s*(.*?)\s*/);if(e)return o(e[1])}return null})(l);if(a)if(a.isStart)s.push(a);else{const e=aa(s,"comment");if(!e)break;"comment"===e.type&&e.line!==a.line&&r.push({startLine:e.line,endLine:a.line,kind:"region"})}else{const e=i(l,"comment");e&&r.push(e)}break}}c=l,l=a.scan()}return r}(e);return function(e,t){const n=t&&t.rangeLimit||Number.MAX_VALUE,i=e.sort(((e,t)=>{let n=e.startLine-t.startLine;return 0===n&&(n=e.endLine-t.endLine),n})),r=[];let s=-1;return i.forEach((e=>{e.startLine=0;n--)if(e[n].type===t&&e[n].isStart)return e.splice(n,1)[0];return null}sa.builtInProposals=[{name:"if",example:"if(condition, trueValue [, falseValue]);",description:Dt("returns one of two values depending on a condition.")},{name:"boolean",example:"boolean(condition);",description:Dt('"store" a boolean test for later evaluation in a guard or if().')},{name:"length",example:"length(@list);",description:Dt("returns the number of elements in a value list")},{name:"extract",example:"extract(@list, index);",description:Dt("returns a value at the specified position in the list")},{name:"range",example:"range([start, ] end [, step]);",description:Dt("generate a list spanning a range of values")},{name:"each",example:"each(@list, ruleset);",description:Dt("bind the evaluation of a ruleset to each member of a list.")},{name:"escape",example:"escape(@string);",description:Dt("URL encodes a string")},{name:"e",example:"e(@string);",description:Dt("escape string content")},{name:"replace",example:"replace(@string, @pattern, @replacement[, @flags]);",description:Dt("string replace")},{name:"unit",example:"unit(@dimension, [@unit: '']);",description:Dt("remove or change the unit of a dimension")},{name:"color",example:"color(@string);",description:Dt("parses a string to a color"),type:"color"},{name:"convert",example:"convert(@value, unit);",description:Dt("converts numbers from one type into another")},{name:"data-uri",example:"data-uri([mimetype,] url);",description:Dt("inlines a resource and falls back to `url()`"),type:"url"},{name:"abs",description:Dt("absolute value of a number"),example:"abs(number);"},{name:"acos",description:Dt("arccosine - inverse of cosine function"),example:"acos(number);"},{name:"asin",description:Dt("arcsine - inverse of sine function"),example:"asin(number);"},{name:"ceil",example:"ceil(@number);",description:Dt("rounds up to an integer")},{name:"cos",description:Dt("cosine function"),example:"cos(number);"},{name:"floor",description:Dt("rounds down to an integer"),example:"floor(@number);"},{name:"percentage",description:Dt("converts to a %, e.g. 0.5 > 50%"),example:"percentage(@number);",type:"percentage"},{name:"round",description:Dt("rounds a number to a number of places"),example:"round(number, [places: 0]);"},{name:"sqrt",description:Dt("calculates square root of a number"),example:"sqrt(number);"},{name:"sin",description:Dt("sine function"),example:"sin(number);"},{name:"tan",description:Dt("tangent function"),example:"tan(number);"},{name:"atan",description:Dt("arctangent - inverse of tangent function"),example:"atan(number);"},{name:"pi",description:Dt("returns pi"),example:"pi();"},{name:"pow",description:Dt("first argument raised to the power of the second argument"),example:"pow(@base, @exponent);"},{name:"mod",description:Dt("first argument modulus second argument"),example:"mod(number, number);"},{name:"min",description:Dt("returns the lowest of one or more values"),example:"min(@x, @y);"},{name:"max",description:Dt("returns the lowest of one or more values"),example:"max(@x, @y);"}],sa.colorProposals=[{name:"argb",example:"argb(@color);",description:Dt("creates a #AARRGGBB")},{name:"hsl",example:"hsl(@hue, @saturation, @lightness);",description:Dt("creates a color")},{name:"hsla",example:"hsla(@hue, @saturation, @lightness, @alpha);",description:Dt("creates a color")},{name:"hsv",example:"hsv(@hue, @saturation, @value);",description:Dt("creates a color")},{name:"hsva",example:"hsva(@hue, @saturation, @value, @alpha);",description:Dt("creates a color")},{name:"hue",example:"hue(@color);",description:Dt("returns the `hue` channel of `@color` in the HSL space")},{name:"saturation",example:"saturation(@color);",description:Dt("returns the `saturation` channel of `@color` in the HSL space")},{name:"lightness",example:"lightness(@color);",description:Dt("returns the `lightness` channel of `@color` in the HSL space")},{name:"hsvhue",example:"hsvhue(@color);",description:Dt("returns the `hue` channel of `@color` in the HSV space")},{name:"hsvsaturation",example:"hsvsaturation(@color);",description:Dt("returns the `saturation` channel of `@color` in the HSV space")},{name:"hsvvalue",example:"hsvvalue(@color);",description:Dt("returns the `value` channel of `@color` in the HSV space")},{name:"red",example:"red(@color);",description:Dt("returns the `red` channel of `@color`")},{name:"green",example:"green(@color);",description:Dt("returns the `green` channel of `@color`")},{name:"blue",example:"blue(@color);",description:Dt("returns the `blue` channel of `@color`")},{name:"alpha",example:"alpha(@color);",description:Dt("returns the `alpha` channel of `@color`")},{name:"luma",example:"luma(@color);",description:Dt("returns the `luma` value (perceptual brightness) of `@color`")},{name:"saturate",example:"saturate(@color, 10%);",description:Dt("return `@color` 10% points more saturated")},{name:"desaturate",example:"desaturate(@color, 10%);",description:Dt("return `@color` 10% points less saturated")},{name:"lighten",example:"lighten(@color, 10%);",description:Dt("return `@color` 10% points lighter")},{name:"darken",example:"darken(@color, 10%);",description:Dt("return `@color` 10% points darker")},{name:"fadein",example:"fadein(@color, 10%);",description:Dt("return `@color` 10% points less transparent")},{name:"fadeout",example:"fadeout(@color, 10%);",description:Dt("return `@color` 10% points more transparent")},{name:"fade",example:"fade(@color, 50%);",description:Dt("return `@color` with 50% transparency")},{name:"spin",example:"spin(@color, 10);",description:Dt("return `@color` with a 10 degree larger in hue")},{name:"mix",example:"mix(@color1, @color2, [@weight: 50%]);",description:Dt("return a mix of `@color1` and `@color2`")},{name:"greyscale",example:"greyscale(@color);",description:Dt("returns a grey, 100% desaturated color")},{name:"contrast",example:"contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);",description:Dt("return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes")},{name:"multiply",example:"multiply(@color1, @color2);"},{name:"screen",example:"screen(@color1, @color2);"},{name:"overlay",example:"overlay(@color1, @color2);"},{name:"softlight",example:"softlight(@color1, @color2);"},{name:"hardlight",example:"hardlight(@color1, @color2);"},{name:"difference",example:"difference(@color1, @color2);"},{name:"exclusion",example:"exclusion(@color1, @color2);"},{name:"average",example:"average(@color1, @color2);"},{name:"negation",example:"negation(@color1, @color2);"}],function(){var e=[,,function(e){function t(e){this.__parent=e,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}function n(e,t){this.__cache=[""],this.__indent_size=e.indent_size,this.__indent_string=e.indent_char,e.indent_with_tabs||(this.__indent_string=new Array(e.indent_size+1).join(e.indent_char)),t=t||"",e.indent_level>0&&(t=new Array(e.indent_level+1).join(this.__indent_string)),this.__base_string=t,this.__base_string_length=t.length}function i(e,i){this.__indent_cache=new n(e,i),this.raw=!1,this._end_with_newline=e.end_with_newline,this.indent_size=e.indent_size,this.wrap_line_length=e.wrap_line_length,this.indent_empty_lines=e.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new t(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}t.prototype.clone_empty=function(){var e=new t(this.__parent);return e.set_indent(this.__indent_count,this.__alignment_count),e},t.prototype.item=function(e){return e<0?this.__items[this.__items.length+e]:this.__items[e]},t.prototype.has_match=function(e){for(var t=this.__items.length-1;t>=0;t--)if(this.__items[t].match(e))return!0;return!1},t.prototype.set_indent=function(e,t){this.is_empty()&&(this.__indent_count=e||0,this.__alignment_count=t||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},t.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},t.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},t.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var e=this.__parent.current_line;return e.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),e.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),e.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===e.__items[0]&&(e.__items.splice(0,1),e.__character_count-=1),!0}return!1},t.prototype.is_empty=function(){return 0===this.__items.length},t.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},t.prototype.push=function(e){this.__items.push(e);var t=e.lastIndexOf("\n");-1!==t?this.__character_count=e.length-t:this.__character_count+=e.length},t.prototype.pop=function(){var e=null;return this.is_empty()||(e=this.__items.pop(),this.__character_count-=e.length),e},t.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},t.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},t.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},t.prototype.toString=function(){var e="";return this.is_empty()?this.__parent.indent_empty_lines&&(e=this.__parent.get_indent_string(this.__indent_count)):(e=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),e+=this.__items.join("")),e},n.prototype.get_indent_size=function(e,t){var n=this.__base_string_length;return t=t||0,e<0&&(n=0),(n+=e*this.__indent_size)+t},n.prototype.get_indent_string=function(e,t){var n=this.__base_string;return t=t||0,e<0&&(e=0,n=""),t+=e*this.__indent_size,this.__ensure_cache(t),n+this.__cache[t]},n.prototype.__ensure_cache=function(e){for(;e>=this.__cache.length;)this.__add_column()},n.prototype.__add_column=function(){var e=this.__cache.length,t=0,n="";this.__indent_size&&e>=this.__indent_size&&(e-=(t=Math.floor(e/this.__indent_size))*this.__indent_size,n=new Array(t+1).join(this.__indent_string)),e&&(n+=new Array(e+1).join(" ")),this.__cache.push(n)},i.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},i.prototype.get_line_number=function(){return this.__lines.length},i.prototype.get_indent_string=function(e,t){return this.__indent_cache.get_indent_string(e,t)},i.prototype.get_indent_size=function(e,t){return this.__indent_cache.get_indent_size(e,t)},i.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},i.prototype.add_new_line=function(e){return!(this.is_empty()||!e&&this.just_added_newline()||(this.raw||this.__add_outputline(),0))},i.prototype.get_code=function(e){this.trim(!0);var t=this.current_line.pop();t&&("\n"===t[t.length-1]&&(t=t.replace(/\n+$/g,"")),this.current_line.push(t)),this._end_with_newline&&this.__add_outputline();var n=this.__lines.join("\n");return"\n"!==e&&(n=n.replace(/[\n]/g,e)),n},i.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},i.prototype.set_indent=function(e,t){return e=e||0,t=t||0,this.next_line.set_indent(e,t),this.__lines.length>1?(this.current_line.set_indent(e,t),!0):(this.current_line.set_indent(),!1)},i.prototype.add_raw_token=function(e){for(var t=0;t1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},i.prototype.just_added_newline=function(){return this.current_line.is_empty()},i.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},i.prototype.ensure_empty_line_above=function(e,n){for(var i=this.__lines.length-2;i>=0;){var r=this.__lines[i];if(r.is_empty())break;if(0!==r.item(0).indexOf(e)&&r.item(-1)!==n){this.__lines.splice(i+1,0,new t(this)),this.previous_line=this.__lines[this.__lines.length-2];break}i--}},e.exports.Output=i},,,,function(e){function t(e,t){this.raw_options=n(e,t),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs","\t"===this.indent_char),this.indent_with_tabs&&(this.indent_char="\t",1===this.indent_size&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}function n(e,t){var n,r={};for(n in e=i(e))n!==t&&(r[n]=e[n]);if(t&&e[t])for(n in e[t])r[n]=e[t][n];return r}function i(e){var t,n={};for(t in e)n[t.replace(/-/g,"_")]=e[t];return n}t.prototype._get_array=function(e,t){var n=this.raw_options[e],i=t||[];return"object"==typeof n?null!==n&&"function"==typeof n.concat&&(i=n.concat()):"string"==typeof n&&(i=n.split(/[^a-zA-Z0-9_\/\-]+/)),i},t.prototype._get_boolean=function(e,t){var n=this.raw_options[e];return void 0===n?!!t:!!n},t.prototype._get_characters=function(e,t){var n=this.raw_options[e],i=t||"";return"string"==typeof n&&(i=n.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),i},t.prototype._get_number=function(e,t){var n=this.raw_options[e];t=parseInt(t,10),isNaN(t)&&(t=0);var i=parseInt(n,10);return isNaN(i)&&(i=t),i},t.prototype._get_selection=function(e,t,n){var i=this._get_selection_list(e,t,n);if(1!==i.length)throw new Error("Invalid Option Value: The option '"+e+"' can only be one of the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return i[0]},t.prototype._get_selection_list=function(e,t,n){if(!t||0===t.length)throw new Error("Selection list cannot be empty.");if(n=n||[t[0]],!this._is_valid_selection(n,t))throw new Error("Invalid Default Value!");var i=this._get_array(e,n);if(!this._is_valid_selection(i,t))throw new Error("Invalid Option Value: The option '"+e+"' can contain only the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return i},t.prototype._is_valid_selection=function(e,t){return e.length&&t.length&&!e.some((function(e){return-1===t.indexOf(e)}))},e.exports.Options=t,e.exports.normalizeOpts=i,e.exports.mergeOpts=n},,function(e){var t=RegExp.prototype.hasOwnProperty("sticky");function n(e){this.__input=e||"",this.__input_length=this.__input.length,this.__position=0}n.prototype.restart=function(){this.__position=0},n.prototype.back=function(){this.__position>0&&(this.__position-=1)},n.prototype.hasNext=function(){return this.__position=0&&e=0&&t=e.length&&this.__input.substring(t-e.length,t).toLowerCase()===e},e.exports.InputScanner=n},,,,,function(e){function t(e,t){e="string"==typeof e?e:e.source,t="string"==typeof t?t:t.source,this.__directives_block_pattern=new RegExp(e+/ beautify( \w+[:]\w+)+ /.source+t,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(e+/\sbeautify\signore:end\s/.source+t,"g")}t.prototype.get_directives=function(e){if(!e.match(this.__directives_block_pattern))return null;var t={};this.__directive_pattern.lastIndex=0;for(var n=this.__directive_pattern.exec(e);n;)t[n[1]]=n[2],n=this.__directive_pattern.exec(e);return t},t.prototype.readIgnored=function(e){return e.readUntilAfter(this.__directives_end_ignore_pattern)},e.exports.Directives=t},,function(e,t,n){var i=n(16).Beautifier,r=n(17).Options;e.exports=function(e,t){return new i(e,t).beautify()},e.exports.defaultOptions=function(){return new r}},function(e,t,n){var i=n(17).Options,r=n(2).Output,s=n(8).InputScanner,o=new(0,n(13).Directives)(/\/\*/,/\*\//),a=/\r\n|[\r\n]/,l=/\r\n|[\r\n]/g,c=/\s/,h=/(?:\s|\n)+/g,d=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,u=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function p(e,t){this._source_text=e||"",this._options=new i(t),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}p.prototype.eatString=function(e){var t="";for(this._ch=this._input.next();this._ch;){if(t+=this._ch,"\\"===this._ch)t+=this._input.next();else if(-1!==e.indexOf(this._ch)||"\n"===this._ch)break;this._ch=this._input.next()}return t},p.prototype.eatWhitespace=function(e){for(var t=c.test(this._input.peek()),n=0;c.test(this._input.peek());)this._ch=this._input.next(),e&&"\n"===this._ch&&(0===n||n0&&this._indentLevel--},p.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,t=this._options.eol;"auto"===t&&(t="\n",e&&a.test(e||"")&&(t=e.match(a)[0]));var n=(e=e.replace(l,"\n")).match(/^[\t ]*/)[0];this._output=new r(this._options,n),this._input=new s(e),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var i,p,m=0,f=!1,g=!1,b=!1,v=!1,w=!1,y=this._ch,C=!1;i=""!==this._input.read(h),p=y,this._ch=this._input.next(),"\\"===this._ch&&this._input.hasNext()&&(this._ch+=this._input.next()),y=this._ch,this._ch;)if("/"===this._ch&&"*"===this._input.peek()){this._output.add_new_line(),this._input.back();var _=this._input.read(d),k=o.get_directives(_);k&&"start"===k.ignore&&(_+=o.readIgnored(this._input)),this.print_string(_),this.eatWhitespace(!0),this._output.add_new_line()}else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(u)),this.eatWhitespace(!0);else if("$"===this._ch){this.preserveSingleSpace(i),this.print_string(this._ch);var S=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);S.match(/[ :]$/)&&(S=this.eatString(": ").replace(/\s+$/,""),this.print_string(S),this._output.space_before_token=!0),0===m&&-1!==S.indexOf(":")&&(g=!0,this.indent())}else if("@"===this._ch)if(this.preserveSingleSpace(i),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var x=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);x.match(/[ :]$/)&&(x=this.eatString(": ").replace(/\s+$/,""),this.print_string(x),this._output.space_before_token=!0),0===m&&-1!==x.indexOf(":")?(g=!0,this.indent()):x in this.NESTED_AT_RULE?(this._nestedLevel+=1,x in this.CONDITIONAL_GROUP_RULE&&(b=!0)):0!==m||g||(v=!0)}else if("#"===this._ch&&"{"===this._input.peek())this.preserveSingleSpace(i),this.print_string(this._ch+this.eatString("}"));else if("{"===this._ch)g&&(g=!1,this.outdent()),v=!1,b?(b=!1,f=this._indentLevel>=this._nestedLevel):f=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&f&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,"expand"===this._options.brace_style?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):("("===p?this._output.space_before_token=!1:","!==p&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if("}"===this._ch)this.outdent(),this._output.add_new_line(),"{"===p&&this._output.trim(!0),g&&(this.outdent(),g=!1),this.print_string(this._ch),f=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0),")"===this._input.peek()&&(this._output.trim(!0),"expand"===this._options.brace_style&&this._output.add_new_line(!0));else if(":"===this._ch){for(var E=0;E"!==this._ch&&"+"!==this._ch&&"~"!==this._ch||g||0!==m)if("]"===this._ch)this.print_string(this._ch);else if("["===this._ch)this.preserveSingleSpace(i),this.print_string(this._ch);else if("="===this._ch)this.eatWhitespace(),this.print_string("="),c.test(this._ch)&&(this._ch="");else if("!"!==this._ch||this._input.lookBack("\\")){var L='"'===p||"'"===p;this.preserveSingleSpace(L||i),this.print_string(this._ch),!this._output.just_added_newline()&&"\n"===this._input.peek()&&C&&this._output.add_new_line()}else this._output.space_before_token=!0,this.print_string(this._ch);else this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&c.test(this._ch)&&(this._ch=""));return this._output.get_code(t)},e.exports.Beautifier=p},function(e,t,n){var i=n(6).Options;function r(e){i.call(this,e,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var t=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||t;var n=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var r=0;r0&&fa(i,l-1);)l--;0===l||ma(i,l-1)?a=l:l=0;){const n=e.charCodeAt(t);if(n===da)return!0;if(n===ua)return!1;t--}return!1}(i,a),r=c===i.length,i=i.substring(a,c),0!==a){const i=e.offsetAt(Vt.create(t.start.line,0));s=function(e,t,n){let i=t,r=0;const s=n.tabSize||4;for(;i0){const e=n.insertSpaces?le(" ",a*s):le("\t",s);c=c.split("\n").join("\n"+e),0===t.start.character&&(c=e+c)}return[{range:t,newText:c}]}function ha(e){return e.replace(/^\s+/,"")}var da="{".charCodeAt(0),ua="}".charCodeAt(0);function pa(e,t,n){if(e&&e.hasOwnProperty(t)){const n=e[t];if(null!==n)return n}return n}function ma(e,t){return-1!=="\r\n".indexOf(e.charAt(t))}function fa(e,t){return-1!==" \t".indexOf(e.charAt(t))}var ga={version:1.1,properties:[{name:"additive-symbols",browsers:["FF33"],atRule:"@counter-style",syntax:"[ && ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",browsers:["E12","FF28","S9","C29","IE11","O16"],values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."},{name:"start"},{name:"end"},{name:"normal"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"space-around"},{name:"space-between"},{name:"space-evenly"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | | | ? ",relevance:66,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-content"}],description:"Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",browsers:["E12","FF20","S9","C29","IE11","O16"],values:[{name:"baseline",description:"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item's margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"normal"},{name:"start"},{name:"end"},{name:"self-start"},{name:"self-end"},{name:"first baseline"},{name:"last baseline"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | stretch | | [ ? ]",relevance:87,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-items"}],description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",browsers:["E12","FF20","S9","C52","IE11","O12.1"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"safe"},{name:"unsafe"},{name:"legacy"}],syntax:"normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]",relevance:53,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/justify-items"}],description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",browsers:["E16","FF45","S10.1","C57","IE10","O44"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"}],syntax:"auto | normal | stretch | | ? [ | left | right ]",relevance:55,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/justify-self"}],description:"Defines the way of justifying a box inside its container along the appropriate axis.",restrictions:["enum"]},{name:"align-self",browsers:["E12","FF20","S9","C29","IE10","O12.1"],values:[{name:"auto",description:"Computes to the value of 'align-items' on the element's parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself."},{name:"normal"},{name:"self-end"},{name:"self-start"},{name:"baseline",description:"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item's margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"safe"},{name:"unsafe"}],syntax:"auto | normal | stretch | | ? ",relevance:73,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-self"}],description:"Allows the default alignment along the cross axis to be overridden for individual flex items.",restrictions:["enum"]},{name:"all",browsers:["E79","FF27","S9.1","C37","O24"],values:[],syntax:"initial | inherit | unset | revert | revert-layer",relevance:53,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/all"}],description:"Shorthand that resets all properties except 'direction' and 'unicode-bidi'.",restrictions:["enum"]},{name:"alt",browsers:["S9"],values:[],relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/alt"}],description:"Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.",restrictions:["string","enum"]},{name:"animation",browsers:["E12","FF16","S9","C43","IE10","O30"],values:[{name:"alternate",description:"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction."},{name:"alternate-reverse",description:"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction."},{name:"backwards",description:"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'."},{name:"both",description:"Both forwards and backwards fill modes are applied."},{name:"forwards",description:"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes."},{name:"infinite",description:"Causes the animation to repeat forever."},{name:"none",description:"No animation is performed"},{name:"normal",description:"Normal playback."},{name:"reverse",description:"All iterations of the animation are played in the reverse direction from the way they were specified."}],syntax:"#",relevance:82,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation"}],description:"Shorthand property combines six of the animation properties into a single property.",restrictions:["time","timing-function","enum","identifier","number"]},{name:"animation-delay",browsers:["E12","FF16","S9","C43","IE10","O30"],syntax:"